X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=deploy%2Fcluster%2Ftemplates%2Fkubeadmcontrolplane.yaml;h=60134a4ee97b83a59062449cc4800f15e13361c3;hb=refs%2Fchanges%2F04%2F4804%2F1;hp=a05377f14c83d8830d1b6a46d41730d865c29e30;hpb=d84eac96a51a1647ea59d26b73ee812c2ed303f5;p=icn.git diff --git a/deploy/cluster/templates/kubeadmcontrolplane.yaml b/deploy/cluster/templates/kubeadmcontrolplane.yaml index a05377f..60134a4 100644 --- a/deploy/cluster/templates/kubeadmcontrolplane.yaml +++ b/deploy/cluster/templates/kubeadmcontrolplane.yaml @@ -12,6 +12,7 @@ spec: initConfiguration: nodeRegistration: kubeletExtraArgs: + {{- include "cluster.nodeIP" .Values.networkData | nindent 10 }} node-labels: metal3.io/uuid={{ "{{" }} ds.meta_data.uuid {{ "}}" }} cpu-manager-policy: static topology-manager-policy: best-effort @@ -27,16 +28,14 @@ spec: kube-reserved: cpu=200m,memory=512Mi name: '{{ "{{" }} ds.meta_data.name {{ "}}" }}' preKubeadmCommands: -{{- if .Values.networks }} - # Without touching up /etc/hosts, kubeadm may pick the wrong - # (i.e. provisioning network) address for the node IP - - sed -i "1i $(ip -4 addr show dev {{ .Values.networks.baremetal.interface }} | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | head -1) $(hostname)" /etc/hosts +{{- if .Values.preKubeadmCommands }} +{{ toYaml .Values.preKubeadmCommands | indent 4 }} {{- end }} - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" - curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - - add-apt-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main" - - apt update -y + - apt-get update -y - apt-get install -y ca-certificates {{- if .Values.keepalived }} - apt-get install -y keepalived @@ -56,6 +55,11 @@ spec: # ClusterResourceSet. However instead of apply, replace must be # used to harden K8s. - /usr/local/bin/harden_k8s.sh +{{- if eq (int .Values.numWorkerMachines) 0 }} + # Allow scheduling Pods on the control plane when there are no + # workers. + - kubectl --kubeconfig=/etc/kubernetes/admin.conf taint nodes --all node-role.kubernetes.io/master- +{{- end }} # This must be done after kubeadm as the cabpk provider relies on # files in /var/run, which won't persist after a reboot - /usr/local/bin/set_kernel_cmdline.sh @@ -77,6 +81,12 @@ spec: permissions: '0777' content: | {{ $.Files.Get "resources/set_kernel_cmdline.sh" | indent 8 }} +{{- if eq .Values.cni "calico" }} + - path: /etc/NetworkManager/conf.d/calico.conf + content: | +{{ $.Files.Get "resources/calico.conf" | indent 8 }} +{{- end }} +{{- if .Values.userData }} users: - name: {{ .Values.userData.name }} shell: /bin/bash @@ -89,6 +99,7 @@ spec: - name: root sshAuthorizedKeys: - {{ .Values.userData.sshAuthorizedKey }} +{{- end }} machineTemplate: infrastructureRef: apiVersion: infrastructure.cluster.x-k8s.io/v1alpha5