From 276ff274db6d95779de9fd87afbdcd56465fe36e Mon Sep 17 00:00:00 2001 From: Julio Rivera Date: Fri, 11 Oct 2019 13:02:12 -0500 Subject: [PATCH] Kustomize kubeadm.yaml config file (#193) Signed-off-by: Rivera Gonzalez, Julio C --- clr-k8s-examples/create_stack.sh | 22 ++++++++----------- .../{ => kubeadm/base}/kubeadm.yaml | 6 +++++ .../kubeadm/base/kustomization.yaml | 2 ++ .../high-pod-count/cluster-config.json | 3 +++ .../high-pod-count/kubelet-config.json | 4 ++++ .../kubeadm/high-pod-count/kustomization.yaml | 17 ++++++++++++++ 6 files changed, 41 insertions(+), 13 deletions(-) rename clr-k8s-examples/{ => kubeadm/base}/kubeadm.yaml (83%) create mode 100644 clr-k8s-examples/kubeadm/base/kustomization.yaml create mode 100644 clr-k8s-examples/kubeadm/high-pod-count/cluster-config.json create mode 100644 clr-k8s-examples/kubeadm/high-pod-count/kubelet-config.json create mode 100644 clr-k8s-examples/kubeadm/high-pod-count/kustomization.yaml diff --git a/clr-k8s-examples/create_stack.sh b/clr-k8s-examples/create_stack.sh index 21b7c73..d6d3ebe 100755 --- a/clr-k8s-examples/create_stack.sh +++ b/clr-k8s-examples/create_stack.sh @@ -43,23 +43,19 @@ function finish() { trap finish EXIT function cluster_init() { + # Config replacements if ! [ -z ${TOKEN} ]; then - sed -i "/InitConfiguration/a bootstrapTokens:\\n- token: ${TOKEN}" ./kubeadm.yaml + sed -i "/InitConfiguration/a bootstrapTokens:\\n- token: ${TOKEN}" ./kubeadm/base/kubeadm.yaml fi if ! [ -z ${MASTER_IP} ]; then - sed -i "/InitConfiguration/a localAPIEndpoint:\\n advertiseAddress: ${MASTER_IP}" ./kubeadm.yaml + sed -i "/InitConfiguration/a localAPIEndpoint:\\n advertiseAddress: ${MASTER_IP}" ./kubeadm/base/kubeadm.yaml fi - + if [[ -n "$K8S_VER" && $(grep -c kubernetesVersion ./kubeadm/base/kubeadm.yaml) -eq 0 ]]; then + sed -i "s/ClusterConfiguration/ClusterConfiguration\nkubernetesVersion: ${K8S_VER}/g" ./kubeadm/base/kubeadm.yaml + fi + # Config patches if [[ -n "${HIGH_POD_COUNT}" ]]; then - # increase limits in kubelet - sed -i "/KubeletConfiguration/a maxOpenFiles\: 1048576" ./kubeadm.yaml - sed -i "/KubeletConfiguration/a maxPods\: 5000" ./kubeadm.yaml - # increase the address range per node - sed -i "/ClusterConfiguration/a controllerManager:\\n extraArgs:\\n node-cidr-mask-size: \"20\"" ./kubeadm.yaml - fi - - if [[ -n "$K8S_VER" && $(grep -c kubernetesVersion kubeadm.yaml) -eq 0 ]]; then - sed -i "s/ClusterConfiguration/ClusterConfiguration\nkubernetesVersion: ${K8S_VER}/g" kubeadm.yaml + echo "$(kubectl kustomize ./kubeadm/high-pod-count/)" > ./kubeadm/base/kubeadm.yaml fi #This only works with kubernetes 1.12+. The kubeadm.yaml is setup #to enable the RuntimeClass featuregate @@ -67,7 +63,7 @@ function cluster_init() { echo "/var/lib/etcd exists! skipping init." return fi - sudo -E kubeadm init --config=./kubeadm.yaml + sudo -E kubeadm init --config=./kubeadm/base/kubeadm.yaml rm -rf "${HOME}/.kube" mkdir -p "${HOME}/.kube" diff --git a/clr-k8s-examples/kubeadm.yaml b/clr-k8s-examples/kubeadm/base/kubeadm.yaml similarity index 83% rename from clr-k8s-examples/kubeadm.yaml rename to clr-k8s-examples/kubeadm/base/kubeadm.yaml index 2888eba..af6661e 100644 --- a/clr-k8s-examples/kubeadm.yaml +++ b/clr-k8s-examples/kubeadm/base/kubeadm.yaml @@ -1,8 +1,12 @@ apiVersion: kubeadm.k8s.io/v1beta1 kind: InitConfiguration +metadata: + name: init-config --- apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration +metadata: + name: kubelet-config cgroupDriver: systemd # Allowing for CPU pinning and isolation in case of guaranteed QoS class cpuManagerPolicy: static @@ -15,6 +19,8 @@ kubeReserved: --- apiVersion: kubeadm.k8s.io/v1beta1 kind: ClusterConfiguration +metadata: + name: cluster-config networking: dnsDomain: cluster.local podSubnet: 10.244.0.0/16 diff --git a/clr-k8s-examples/kubeadm/base/kustomization.yaml b/clr-k8s-examples/kubeadm/base/kustomization.yaml new file mode 100644 index 0000000..ea44d70 --- /dev/null +++ b/clr-k8s-examples/kubeadm/base/kustomization.yaml @@ -0,0 +1,2 @@ +resources: +- kubeadm.yaml diff --git a/clr-k8s-examples/kubeadm/high-pod-count/cluster-config.json b/clr-k8s-examples/kubeadm/high-pod-count/cluster-config.json new file mode 100644 index 0000000..6f63200 --- /dev/null +++ b/clr-k8s-examples/kubeadm/high-pod-count/cluster-config.json @@ -0,0 +1,3 @@ +[ + {"op": "add", "path": "/controllerManager", "value": {"extraArgs": {"node-cidr-mask-size": "20"}}} +] diff --git a/clr-k8s-examples/kubeadm/high-pod-count/kubelet-config.json b/clr-k8s-examples/kubeadm/high-pod-count/kubelet-config.json new file mode 100644 index 0000000..75e8a16 --- /dev/null +++ b/clr-k8s-examples/kubeadm/high-pod-count/kubelet-config.json @@ -0,0 +1,4 @@ +[ + {"op": "add", "path": "/maxOpenFiles", "value": 1048576}, + {"op": "add", "path": "/maxPods", "value": 5000} +] diff --git a/clr-k8s-examples/kubeadm/high-pod-count/kustomization.yaml b/clr-k8s-examples/kubeadm/high-pod-count/kustomization.yaml new file mode 100644 index 0000000..a4c6b01 --- /dev/null +++ b/clr-k8s-examples/kubeadm/high-pod-count/kustomization.yaml @@ -0,0 +1,17 @@ +bases: +- ../base/ +patchesJson6902: +# increase limits in kubelet +- target: + group: kubelet.config.k8s.io + version: v1beta1 + kind: KubeletConfiguration + name: kubelet-config + path: kubelet-config.json +# increase the address range per node +- target: + group: kubeadm.k8s.io + version: v1beta1 + kind: ClusterConfiguration + name: cluster-config + path: cluster-config.json