Centos 8 üzerine Kubernete Kurulumu
Tavsiyeler
Öncelikle OS ve Data disk bölümünü eğer mümkünse disk olarak değilse partition oalrak ayırmanızı tavsiye ederim daha sonra olurda başka bir sunucuya taşınmak durumunda kalırsanız sadece image veya mount işlemi ile taşınabilirsiniz. Data bölümünü küçük partitionlar halinde tutabilirseniz yine yeni ortama taşınma aşamasında işleri kolaylaştıracaktır.
Kubernete kurulumu yapmak isteyenler minikube, kubernete kurulumu şeklinde 2 farklı kubernete sürümü ile karşılaşacaklardır. mini kube tamamen bilgisayarınızda sanal bir makina oluşturarark size hazır ortam sunacaktır eğer ki basit test vs ile uğraşacaksanız localinizde çalıştıracaksanız bu kurulumu tavsiye ederim fakt burada ben 1 node kubernete kurulumunun adımlarını yazacağım
eğer deneme vs yaptıysanız daha önceden ilk adım mevcut docker sürümlerini kaldırmak olacaktır.
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum için gerekli utility kurulumu
sudo yum install -y yum-utils
sanal bellek miktarını artıralım bu komutu suncuuyu reboot ettiğinizde tekrar uygulaması için /etc/sysctl.conf
içine eklmeyi unutmayın
sysctl -w vm.max_map_count=262144
repoyu ekleyelim
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
docker kuralım
sudo yum-config-manager --disable docker-ce-stable
Eğer diskimizi LVM olarak kullanacaksak buradaki ayarları yapmalısınız /etc/docker/daemon.json olarak kaydetmemiz gerekiyor. Docker başlatıyoruz
sudo systemctl start docker
Docker kurulumunu test ediyoruz
sudo docker run hello-world
Otomatik başlaması için servisi aktif hale getiriyoruz.
sudo systemctl enable docker
kubeadm, kubelet, kubectl komutlarını kuruyoruz.
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF
# Set SELinux in permissive mode (effectively disabling it)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet
Şimdi kubernete kurulumuna başlayabiliriz😊 evet şimdi başlıyoruz aşağıdaki komutu çalıştırıyoruz sonrasında bize çıktı veriyor kubeadm init
Sonuç içinden alınan komutlar buna benzer oalcaktır. bu komutlar kubernetesi yönetebilmemiz için ihtiyacımız olan kubeconfig dosyalarını oluşturuyor. eğer birden fazla node kuracaksak join bilgilerini paylaşıyor biz tek node kuracağımız için onlara bakmıyoruz
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Kubernete network plugin kuruyoruz burada weawe kurduk
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
Master tainti kaldırıyoruz.
kubectl taint nodes --all node-role.kubernetes.io/master-
kubernete kurulumunu test ediyoruz aşağıdaki komutu çalıştırınca node karşısında ready görmemiz lazım ama centos 8 de bunu ready oalrak görebilmek için aşağıdaki adıma devam ediyoruz
kubectl get nodes
centos 8 de iptables kaldırılıp yerine nftables kullanmaya başladı kubernete nftables ile çalışmıyor bu sebepten biz nftables kapatıp yerine iptables aktif hale getirmeliyiz. bu kısım için normalde aşağıdaki komutlar ile değişiklik işe yarıyor ama bazen duruma göre farklı müdahaleler gerekebiliyor ilk olarak firewall kapatıyoruz
systemctl disable --now firewalld
systemctl mask firewalld
sonra reboot edip iptables kuruyoruz ekstradan biz bunuda yaptık ama hack işlemi olduğu için güncellemeler ile değişecektir o yüzdne mantığı anlayıp o anki sürüme göre yöntem belirlemek en iyisi olacaktır.
sudo yum install iptables-services
systemctl start iptables
systemctl enable iptables
bu işlemlerden sonra node read gördüğümüzde kubernete kurulumumuz tamamlanmıştır. storage deployment işlemlerinizi yapabilirsiniz.
Katkıları için Kazım Sarıkaya‘ya teşekkür ederim