From 9876ddbe71b6dfa761c207109d07a17444574719 Mon Sep 17 00:00:00 2001 From: Bryan Shelton Date: Sat, 7 Jul 2018 14:18:25 -0700 Subject: [PATCH 1/3] Add a worker_groups option to define kubelet --node-labels --- data.tf | 1 + templates/userdata.sh.tpl | 4 ++++ variables.tf | 1 + 3 files changed, 6 insertions(+) diff --git a/data.tf b/data.tf index c47075f..8cb312b 100644 --- a/data.tf +++ b/data.tf @@ -94,5 +94,6 @@ data template_file userdata { max_pod_count = "${lookup(local.max_pod_per_node, lookup(var.worker_groups[count.index], "instance_type", lookup(var.workers_group_defaults, "instance_type")))}" pre_userdata = "${lookup(var.worker_groups[count.index], "pre_userdata",lookup(var.workers_group_defaults, "pre_userdata"))}" additional_userdata = "${lookup(var.worker_groups[count.index], "additional_userdata",lookup(var.workers_group_defaults, "additional_userdata"))}" + kubelet_node_labels = "${lookup(var.worker_groups[count.index], "kubelet_node_labels",lookup(var.workers_group_defaults, "kubelet_node_labels"))}" } } diff --git a/templates/userdata.sh.tpl b/templates/userdata.sh.tpl index 024652a..a2abc94 100644 --- a/templates/userdata.sh.tpl +++ b/templates/userdata.sh.tpl @@ -9,6 +9,10 @@ CA_CERTIFICATE_FILE_PATH=$CA_CERTIFICATE_DIRECTORY/ca.crt mkdir -p $CA_CERTIFICATE_DIRECTORY echo "${cluster_auth_base64}" | base64 -d >$CA_CERTIFICATE_FILE_PATH +# Set kubelet --node-labels if kubelet_node_labels were set +KUBELET_NODE_LABELS=${kubelet_node_labels} +if [[ $KUBELET_NODE_LABELS != "" ]]; then sed -i '/INTERNAL_IP/a \ \ --node-labels='"$KUBELET_NODE_LABELS"'\ \\' /etc/systemd/system/kubelet.service; fi + # Authenticatoin INTERNAL_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4) sed -i s,MASTER_ENDPOINT,${endpoint},g /var/lib/kubelet/kubeconfig diff --git a/variables.tf b/variables.tf index 4bfb415..f5dd3b9 100644 --- a/variables.tf +++ b/variables.tf @@ -66,6 +66,7 @@ variable "workers_group_defaults" { additional_userdata = "" # userdata to append to the default userdata. ebs_optimized = true # sets whether to use ebs optimization on supported types. public_ip = false # Associate a public ip address with a worker + kubelet_node_labels = "" # This string is passed directly to kubelet via --node-lables= if set. It should be comma delimited with no spaces. If left empty no --node-labels switch is added. } } From f9e8f73403463d7b976332315452bb489ba776af Mon Sep 17 00:00:00 2001 From: Bryan Shelton Date: Sat, 7 Jul 2018 17:26:23 -0700 Subject: [PATCH 2/3] Fix authentication typo --- templates/userdata.sh.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/userdata.sh.tpl b/templates/userdata.sh.tpl index a2abc94..d5445e0 100644 --- a/templates/userdata.sh.tpl +++ b/templates/userdata.sh.tpl @@ -13,7 +13,7 @@ echo "${cluster_auth_base64}" | base64 -d >$CA_CERTIFICATE_FILE_PATH KUBELET_NODE_LABELS=${kubelet_node_labels} if [[ $KUBELET_NODE_LABELS != "" ]]; then sed -i '/INTERNAL_IP/a \ \ --node-labels='"$KUBELET_NODE_LABELS"'\ \\' /etc/systemd/system/kubelet.service; fi -# Authenticatoin +# Authentication INTERNAL_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4) sed -i s,MASTER_ENDPOINT,${endpoint},g /var/lib/kubelet/kubeconfig sed -i s,CLUSTER_NAME,${cluster_name},g /var/lib/kubelet/kubeconfig From 3ebf879032561325672b4e6bd53a10c7340ecbc1 Mon Sep 17 00:00:00 2001 From: Bryan Shelton Date: Sat, 7 Jul 2018 17:44:07 -0700 Subject: [PATCH 3/3] Add entry to CHANGELOG --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3614d76..2b2d754 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ project adheres to [Semantic Versioning](http://semver.org/). ### Added -- your excellent addition. (Hat-tip, @self 👒) +- kubelet_node_labels worker group option allows setting --node-labels= in kubelet. (Hat-tip, @bshelton229 👒) ### Changed