Skip to main content

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