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.