Uploaded by OĞUZHAN Karahan

Kubernetes Kurulum Talimatları

advertisement
Hostname Kontrolü:
Makinanın hostname’I farklıysa mater için;
 hostnamectl set-hostname master
Worker için;
 hostnamectl set-hostname worker1
Sunucu Saati Kontrolü:
 date (check date and time)
 timedatectl set-ntp yes/no (if u need local timezone aktif/pasif ayarı)
 timedatectl set-time 21:45:53
 timedatectl (check date timezone etc)
 sudo timedatectl set-timezone your_time_zone
Kubeadm Kurulumu:
 sudo swapoff -a -> tüm pod’larda uygula. Bu komut, Linux
sistemlerindeki swap alanını devre dışı bırakmak için kullanılır. Swap
alanı, bilgisayarın RAM'inin dolu olduğu durumlarda kullanılan bir
sanal bellek alanıdır. Swap, RAM dolu olduğunda sistem performansını
artırmak için kullanılır, ancak bu durumda genellikle disk üzerinde bir
swap bölümü veya dosyası bulunur.
 sudo swapon --show -> bi çıktı gözükmemesi lazım. Linux sistemlerinde mevcut olan ve
aktif olan swap alanlarını göstermek için kullanılır.
 nano /etc/fstab -> swap kontrolü
 systemctl disable --now ufw Firewall disable hale getirmek için
 systemctl status ufw Firewall’ın disable olduğunu görmek için.
Containerd Kurulumu:

İşlemleri tüm node’lar için yapıyoruz.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o
/usr/share/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg]
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list >
/dev/null
$ sudo apt update
$ sudo apt install containerd.io
$ sudo systemctl daemon-reload
$ sudo systemctl enable --now containerd
$ sudo systemctl start containerd
$ sudo mkdir -p /etc/containerd
$ sudo su $ containerd config default | tee /etc/containerd/config.toml
$ exit
$ sudo sed -i 's/
SystemdCgroup = false/
/etc/containerd/config.toml
$ sudo systemctl restart containerd
SystemdCgroup = true/'
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward
= 1
EOF
sudo sysctl
--system
lsmod | grep br_netfilter
lsmod | grep overlay
sysctl net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-callip6tables net.ipv4.ip_forward
sudo systemctl restart containerd
Kubeadm Kurulumu:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.27/deb/Release.key | sudo
gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg]
https://pkgs.k8s.io/core:/stable:/v1.27/deb/ /' | sudo tee
/etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
Cluster Kurulumu: (master node)
sudo kubeadm config images pull
Birden fazla master olursa;
sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --control-plane-endpoint="WHEREVER
YOUR ENDPOINT IS AS IN TERMS OF IP ADDRESS" --upload-certs
Tek master olursa;
sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=<ip> --controlplane-endpoint=<ip>
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Calico:
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.1/manifests/tigeraoperator.yaml
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.1/manifests/customresources.yaml
Nginx-Ingress:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingressnginx/main/deploy/static/provider/baremetal/deploy.yaml
Download