From 931134880e694b84e9d1859789be427d12bb3111 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Fri, 30 May 2025 23:50:20 +1000 Subject: [PATCH] feat: setup k8s-control nodes - manage repos for k8s and containerd - install kublet, kubectl, kubeadm and containerd --- hieradata/roles/infra/k8s/control.yaml | 23 +++++++++++++++++++++++ site/profiles/manifests/k8s/node.pp | 26 ++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 site/profiles/manifests/k8s/node.pp diff --git a/hieradata/roles/infra/k8s/control.yaml b/hieradata/roles/infra/k8s/control.yaml index 007f267..66abd77 100644 --- a/hieradata/roles/infra/k8s/control.yaml +++ b/hieradata/roles/infra/k8s/control.yaml @@ -40,3 +40,26 @@ networking::interfaces: forwarding: true dhcp: true mtu: 1500 + +# package management +profiles::packages::include: + containerd.io: {} + kubeadm: {} + kubectl: {} + kubelet: {} + +profiles::yum::global::repos: + k8s: + name: k8s + descr: k8s repository + target: /etc/yum.repos.d/k8s.repo + baseurl: https://packagerepo.service.consul/k8s/1.32/1.32-daily/%{facts.os.architecture}/os/ + gpgkey: https://packagerepo.service.consul/k8s/1.32/1.32-daily/%{facts.os.architecture}/os/repomd.xml.key + mirrorlist: absent + containerd: + name: containerd + descr: containerd repository + target: /etc/yum.repos.d/containerd.repo + baseurl: https://packagerepo.service.consul/docker/el%{facts.os.release.major}/stable-daily/%{facts.os.architecture}/os + gpgkey: https://packagerepo.service.consul/docker/el%{facts.os.release.major}/stable-daily/%{facts.os.architecture}/os/gpg + mirrorlist: absent diff --git a/site/profiles/manifests/k8s/node.pp b/site/profiles/manifests/k8s/node.pp new file mode 100644 index 0000000..4d5b098 --- /dev/null +++ b/site/profiles/manifests/k8s/node.pp @@ -0,0 +1,26 @@ +class profiles::k8s::node (){ + + # require Package['containerd.io'] + # sudo mkdir -p /etc/containerd + # sudo containerd config default | sudo tee /etc/containerd/config.toml + # sudo systemctl restart containerd + # sudo systemctl enable containerd + # + # sudo systemctl start kubelet + # sudo systemctl enable kubelet + # + # sudo kubeadm config images pull + # # check output for images first: + # [sysadmin@ausyd1nxvm2053 ~]$ sudo kubeadm config images list + # I0531 00:29:40.968381 6672 version.go:261] remote version is much newer: v1.33.1; falling back to: stable-1.32 + # registry.k8s.io/kube-apiserver:v1.32.5 + # registry.k8s.io/kube-controller-manager:v1.32.5 + # registry.k8s.io/kube-scheduler:v1.32.5 + # registry.k8s.io/kube-proxy:v1.32.5 + # registry.k8s.io/coredns/coredns:v1.11.3 + # registry.k8s.io/pause:3.10 + # registry.k8s.io/etcd:3.5.16-0 + + + #Environment="KUBELET_EXTRA_ARGS=--feature-gates=KubeletInUserNamespace=true" +}