Skip to content

Commit 5bf3975

Browse files
committed
Allow cloud_provider variable to be set
* Add a cloud_provider variable so that external cloud controller managers can be used by setting the flag to "external". Note that nodes will be tainted until they are initialized by a cloud-specific controller manager (various implementations)
1 parent d8a499d commit 5bf3975

3 files changed

Lines changed: 10 additions & 2 deletions

File tree

manifests.tf

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ locals {
1515
service_cidr = var.service_cidr
1616

1717
service_account_issuer = var.service_account_issuer
18+
cloud_provider_flag = var.cloud_provider == null ? "" : indent(4, local.cloud_provider_flag)
1819
aggregation_flags = var.enable_aggregation ? indent(4, local.aggregation_flags) : ""
1920
}
2021
)
@@ -64,6 +65,8 @@ locals {
6465
}
6566

6667
locals {
68+
cloud_provider_flag = "\n- --cloud-provider=${var.cloud_provider}"
69+
6770
aggregation_flags = <<EOF
6871
6972
- --proxy-client-cert-file=/etc/kubernetes/pki/aggregation-client.crt
@@ -74,4 +77,3 @@ locals {
7477
- --requestheader-username-headers=X-Remote-User
7578
EOF
7679
}
77-

resources/static-manifests/kube-controller-manager.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ spec:
2222
- --authentication-kubeconfig=/etc/kubernetes/pki/controller-manager.conf
2323
- --authorization-kubeconfig=/etc/kubernetes/pki/controller-manager.conf
2424
- --allocate-node-cidrs=true
25-
- --client-ca-file=/etc/kubernetes/pki/ca.crt
25+
- --client-ca-file=/etc/kubernetes/pki/ca.crt${cloud_provider_flag}
2626
- --cluster-cidr=${pod_cidr}
2727
- --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt
2828
- --cluster-signing-key-file=/etc/kubernetes/pki/ca.key

variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,9 @@ variable "service_account_issuer" {
138138
description = "kube-apiserver service account token issuer (used as an identifier in 'iss' claims)"
139139
default = "https://kubernetes.default.svc.cluster.local"
140140
}
141+
142+
variable "cloud_provider" {
143+
type = string
144+
description = "Cloud provider to set on Kubernetes components (e.g. external)"
145+
default = null
146+
}

0 commit comments

Comments
 (0)