Skip to content

Latest commit

 

History

History
85 lines (65 loc) · 3.29 KB

README.md

File metadata and controls

85 lines (65 loc) · 3.29 KB

Linkerd Installtion into Kubernetes

This repo contains Terraform code to install the linkerd service mesh into Kubernetes. It creates the certificates required by linkerd and installs using helm charts Cert-Manager in the cluster is required.

Example

module "service_mesh" {
  source = "https://github.com/Azure-Terraform/terraform-helm-linkerd"

  # required values
  chart_version               = "2.10.1"
  ca_cert_expiration_hours    = 8760  # 1 year
  trust_anchor_validity_hours = 17520 # 2 years
  issuer_validity_hours       = 8760  # 1 year (must be shorter than the trusted anchor)

  # optional value for linkerd config (in this case, override the default 'clockSkewAllowance' of 20s (for example purposes))
  additional_yaml_config = yamlencode({ "identity" : { "issuer" : { "clockSkewAllowance" : "30s" } } })
}

Quick start

  1. Install Terraform.
  2. Confirm you are running required/pinned version of terraform
terraform version
  1. Deploy the code:
terraform init
terraform plan -out config.plan
terraform apply config.plan

Notes:

Requirements

Name Version
terraform >= 0.14.0
helm >= 2.1.0
kubernetes >= 1.13.3
local >= 2.0.0
null >= 3.0.0
tls >= 3.0.0

Providers

Name Version
helm >= 2.1.0
kubernetes >= 1.13.3
tls >= 3.0.0

Inputs

Name Description Type Default Required
additional_yaml_config used for additional customization of the linkerd helm chart values string "" no
ca_cert_expiration_hours Number of hours added to installation time to calculate trust anchor certification expiration date number 8760 no
certificate_controlplane_duration Number of hours for controlplane certification expiration string "1440h" no
certificate_controlplane_renewbefore Number of hours before the control plane certification expiration to request for certificate renewal string "48h" no
certificate_webhook_duration Number of hours for webhook certification expiration string "1440h" no
certificate_webhook_renewbefore Number of hours before the webhook certification expiration to request for certificate renewal string "48h" no
chart_repository Helm chart repository string "https://helm.linkerd.io/stable" no
chart_version Helm chart version string "2.10.1" no
issuer_validity_hours Number of hours for which the issuer certification is valid (must be shorter than the trust anchor) number 8760 no
jaeger_additional_yaml_config used for additional customization of the linkerd-jaeger helm chart values string "" no
namespaces Namespaces for linkerd and optional extensions set(string)
[
"linkerd",
"linkerd-viz"
]
no
trust_anchor_validity_hours Number of hours for which the trust anchor certification is valid number 17520 no
viz_additional_yaml_config used for additional customization of the linkerd-viz helm chart values string "" no

Outputs

No output.