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
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
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
- name: root
sshAuthorizedKeys:
- {{ .Values.userData.sshAuthorizedKey }}
+{{- end }}
machineTemplate:
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha5