Post

Egyszerveres k8s telepítése

Amiket találtam StepByStep leírásokat, mindegyikbe bele kellett piszkálnom, mert volt pár nagyobb változás, szóval összeírtam egy akutálisat, ami ma működik :)

Kiindulási alap Ubunutu 20.04 alap telepítés

Alapok létrehozása

1
2
3
4
# Váltás root jogra
sudo su
#swap Tiltása
swapoff -a

Swap részt fstab-ból is szedjük ki

1
2
3
nano /etc/fstab
#commenteljük ki
#/swap.img      none    swap    sw      0       0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#Hálózati változtatások
cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables  = 1
net.ipv4.ip_forward                 = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

# restart nélkül aktiváljuk
sudo sysctl --system

#Kubernetes telepítés induhat
apt-get update && apt-get install -y apt-transport-https
#kubernetes repo key
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
#kubernetes repo hozzáadása
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
#Install kubeadm and docker
apt-get update && apt-get install -y kubelet kubeadm kubectl docker.io

Cgroup gondok

Ellenőrizni kell a Cgroup driver-t

1
docker info | grep Cgroup

Ha ezt látod

1
Cgroup Driver: cgroupfs

Akkor meg kell változtatni itt

1
nano /usr/lib/systemd/system/docker.service

ExecStart sort ki kell egészíteni

1
ExecStart=/usr/bin/dockerd --exec-opt native.cgroupdriver=systemd

Service indítsuk újra

1
2
systemctl daemon-reload
systemctl restart docker

Ellenőrizzük újra

1
docker info | grep Cgroup

Remélhetőleg ez lesz

1
Cgroup Driver: systemd

Cluster létrehozása

Folytathatjuk is a telepítést a cluster létrehozásával

1
kubeadm init --pod-network-cidr=192.168.0.0/16

Pár perc és valami hasonlót kell látnunk

1
2
3
4
5
6
7
8
9
10
11
12
Your Kubernetes master has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://docs.projectcalico.org/v3.21/manifests/calico.yaml  
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/
You can now join any number of machines by running the following on each node
as root:
kubeadm join 10.91.4.105:6443 --token alpia1.8cjyfv5ezganq7 --discovery-token-ca-cert-hash sha256:3f2da2fa1967b8e974b9097fcdd15c66e0d6db5b1f08b3db7fe45c3e2b790b

Telepítsük a calico-t

1
kubectl apply -f https://docs.projectcalico.org/v3.21/manifests/calico.yaml  

Végül

1
2
3
4
5
6
7
8
9
10
11
#lépjünk ki root-ból
exit
#hogy normal user alól is elérhető legyen a kube
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

#engedélyezzük, hogy master lehet worker
kubectl taint nodes --all node-role.kubernetes.io/master-
#teszteljük
kubectl get node

Ha minden jól ment, valami hasonlót kellene látnunk:

NAME   STATUS   ROLES                  AGE   VERSION
k8s    Ready    control-plane,master   1h   v1.23.2

Gratulálok, kész is a cluster, amit persze csak fejlesztésre/tesztelésre szabad használni.

This post is licensed under CC BY 4.0 by the author.