Split up common/init.sls into kubernetes common/util.sls type of file - Switch out containerd for cri-o - add nftables - make the blocks consistent by using `-require:` appropriately Signed-off-by: Pratyush Desai <pratyush.desai@liberta.casa>
37 lines
1.1 KiB
Plaintext
37 lines
1.1 KiB
Plaintext
# This state file contains configurations specific to a Kubernetes worker node.
|
|
|
|
include:
|
|
- common.init
|
|
|
|
# Initialize the Kubernetes control plane using kubeadm.
|
|
# --pod-network-cidr is required for CNI, but we stop before installing CNI.
|
|
# --ignore-preflight-errors=NumCPU is added as per original request.
|
|
kubeadm_init:
|
|
cmd.run:
|
|
- name: 'kubeadm init --pod-network-cidr={{ pillar["pod_cidr"] }} --ignore-preflight-errors=NumCPU'
|
|
- unless: 'test -f /etc/kubernetes/admin.conf'
|
|
- require:
|
|
- service: kubelet_service
|
|
- service: crio_service # Ensure CRI-O is running before kubeadm init
|
|
|
|
# Create .kube directory for the root user.
|
|
kubeconfig_dir:
|
|
file.directory:
|
|
- name: /root/.kube
|
|
- mode: 755
|
|
- makedirs: True
|
|
- require:
|
|
- cmd: kubeadm_init
|
|
|
|
# Copy the kubeconfig file to the root user's home directory for kubectl access.
|
|
kubeconfig_file:
|
|
file.managed:
|
|
- name: /root/.kube/config
|
|
- source: file:///etc/kubernetes/admin.conf
|
|
- user: root
|
|
- group: root
|
|
- mode: 600
|
|
- require:
|
|
- cmd: kubeadm_init
|
|
- file: kubeconfig_dir
|