k8s-node
avahi-daemon
github.com/rwxrob/dot
install-kubectl
install-kubeadm
install-kubelet
install-containerd
containerd
containerd.service
runc
/etc/containerd/config.toml
/opt/cli/bin
(plugins)jq
(already installed)yq
(from apt
)(forgot to do these before templating)
install-kubeadm
(for swap, socat
, and ip_forward
)k8s-node
control planes (k8s-control-{1,2,3}
)install-kubevip
sudo kubeadm init \
--control-plane-endpoint 192.168.1.200 \
--pod-network-cidr 10.98.0.0/12 \
--upload-certs
Copy the join command in the output to save time.
sudo kubeadm join 192.168.1.200:6443 --token lnsp3y.roc52nu49xwswvqq \
--discovery-token-ca-cert-hash \
sha256:b462f7e4b85217fc8da0b4b7de831912ec0ff440cc69edf8e50886057c1e34c6 \
--certificate-key \ 5034f880c08e58644ec9c31302d7213b789a56d0a2b19700b88981a454b13fc3 \
--control-plane
(Don’t need both, second doesn’t have --control-plane
and --certificate-key
, otherwise identical.)
Note that CoreDNS will be broken until the CNI is setup
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml
Or install-calico
instead.
Related:
k8s-node
imagesudo rm /etc/ssh/ssh_host*
sudo ssh-keygen -A
sudo systemctl restart ssh
kubeadm reset
kube-vip.yaml
super-admin.yaml
is needed only on first control plane kubeadm
call, after that leave as admin.yaml
in kube-vip.yaml
/etc/kubernetes/pki
copied overcloud-init
(again, and for multiple different OSes)podman
(more)runc
crictl
ctr
kubeadm
phases