Kustomize kubeadm.yaml config file (#193)

Signed-off-by: Rivera Gonzalez, Julio C <julio.c.rivera.gonzalez@intel.com>
This commit is contained in:
Julio Rivera
2019-10-11 13:02:12 -05:00
committed by Justin Scott
parent a7f92a918b
commit 276ff274db
6 changed files with 41 additions and 13 deletions
+9 -13
View File
@@ -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"
@@ -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
@@ -0,0 +1,2 @@
resources:
- kubeadm.yaml
@@ -0,0 +1,3 @@
[
{"op": "add", "path": "/controllerManager", "value": {"extraArgs": {"node-cidr-mask-size": "20"}}}
]
@@ -0,0 +1,4 @@
[
{"op": "add", "path": "/maxOpenFiles", "value": 1048576},
{"op": "add", "path": "/maxPods", "value": 5000}
]
@@ -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