master
apt-get update
apt-get dist-upgrade
reboot
sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg -> add:
network: {config: disabled}
sudo rm /etc/netplan/50-cloud-init.yaml
sudo nano /etc/netplan/60-custom.yaml -> add:
network:
version: 2
ethernets:
eth0:
dhcp4: true
addresses: []
routes: []
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
optional: true
additionalAddresses:
- 159.69.0.1/32
sudo netplan apply
sudo chmod 644 /etc/netplan/60-custom.yaml
step.3
sudo mkdir -p /etc/systemd/system/kubelet.service.d/
sudo vim /etc/systemd/system/kubelet.service.d/20-hetzner-cloud.conf -> add:
[Service]
Environment="KUBELET_EXTRA_ARGS=--cloud-provider=external"
step.4
wget https://raw.githubusercontent.com/containerd/containerd/main/containerd.service
mv containerd.service /usr/lib/systemd/system/
systemctl daemon-reload
dpkg --print-architecture if amd then
wget https://github.com/containerd/containerd/releases/download/v1.6.2/containerd-1.6.2-linux-amd64.tar.gz
tar Czxvf /usr/local containerd-1.6.2-linux-amd64.tar.gz
systemctl enable --now containerd
systemctl status containerd
wget https://github.com/opencontainers/runc/releases/download/v1.1.6/runc.amd64
install -m 755 runc.amd64 /usr/local/sbin/runc
wget https://github.com/containernetworking/plugins/releases/download/v1.2.0/cni-plugins-linux-amd64-v1.2.0.tgz
mkdir -p /opt/cni/bin
tar Czxvf /opt/cni/bin cni-plugins-linux-amd64-v1.2.0.tgz
mkdir -p /etc/containerd/
containerd config default | sudo tee /etc/containerd/config.toml
sudo vim /etc/containerd/config.toml -> change:
SystemdCgroup = change from false on true
systemctl restart containerd
curl -fsSL https://pkgs.k8s.io/core:/stable:/version( change v1.30)/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /
EOF
apt-get update
apt-get install kubeadm kubectl kubelet
cat <<EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
modprobe overlay
modprobe br_netfilter
cat <<EOF | tee /etc/sysctl.d/k8s.conf
# Allow IP forwarding for kubernetes
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
EOF
sysctl --system
step.5
kubeadm config images pull
master$ kubeadm init \
--pod-network-cidr=10.244.0.0/16 \
--kubernetes-version=v1.27.1 \
--ignore-preflight-errors=NumCPU \
--upload-certs \
--apiserver-cert-extra-sans 10.0.0.1
kubeadm token create --print-join-command
for local admin pannel
scp root@<116.203.0.1>:/etc/kubernetes/admin.conf ${HOME}/.kube/config