KubOSM ile Kubernetesi CentOS 7de dağıtın

genel bakış

Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmayı amaçlamaktadır. Bu kılavuz, bir ana sunucu ve bir çalışan olmak üzere iki sunucu dağıtacaktır, ancak istediğiniz sayıda sunucuyu dağıtabilirsiniz.

Kubeadm nedir?

Kubeadm, Kubernetes tarafından geliştirilen ve en iyi uygulamaları izleyerek minimum uygulanabilir küme kurmanıza ve çalıştırmanıza olanak tanıyan bir araçtır. Yalnızca küme önyükleme yapar, sağlama makineleri değil. Eklentiler, Kubernetes panosu, izleme çözümleri ve benzeri şeyler kubeadm'in sizin için yapacağı bir şey değildir.

Ön şartlar

Dağıtacağımız sunucular için birkaç gereksinim vardır. Deb / rpm uyumlu bir işletim sistemi çalıştıran bir veya daha fazla makine. CentOS kullanacağız.

  • Makine başına 2 GB veya daha fazla RAM
  • Master üzerinde 2 veya daha fazla CPU

Kümedeki tüm makineler arasında tam ağ bağlantısı

Bu kılavuzda konuşlandırılan iki sunucu şunlardır: - CentOS 7 (Çalışan düğümü) ile 1 CPU 2GB RAM - CentOS 7 ile 2 CPU 4GB RAM (Ana düğüm)

Her iki sunucudaki bu RAM miktarı ile Kubernetes'in nefes alması için bolca alan olacaktır.

Çalışanı ve yöneticisi yapılandırma

Hem ana hem de çalışan düğümü üzerinde atmamız gereken adımlar şunlardır:

  • Yum güncelleme ve paketleri
  • Bağlantı birimini yükle
  • Selinux'u devre dışı bırak
  • Değiştirmeyi devre dışı bırak
  • Güvenlik Duvarını Devre Dışı Bırak
  • IPTable'ları Güncelle
  • Kubelet / kubeadm / kubectl'i yükleyin

Docker'ı Yükleme

1.14Bu derste Kubernetes sürümünü kullanacağız. Bu sürüm için Kubernetes, Docker sürümünü çalıştırmanızı önerir 18.06.2. Kuberenetes sürümünüz için önerilen Docker sürümünü kontrol ettiğinizden emin olun.

Yum'a Docker deposunu ekleyeceğiz ve özellikle kuracağız 18.06.2. Docker kurulduktan sonra, docker arka plan programını Kubernetes tarafından önerilen ayarlara yapılandırmamız gerekir.

###Add yum-utils, if not installed already
yum install yum-utils

###Add Docker repository.
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

###Install Docker CE.
yum update && yum install docker-ce-18.06.2.ce

###Create /etc/docker directory.
mkdir /etc/docker

###Setup daemon.
cat > /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF

mkdir -p /etc/systemd/system/docker.service.d

###Restart Docker
systemctl daemon-reload
systemctl enable docker.service
systemctl restart docker

SELinux'u devre dışı bırak

CentOS kullandığımız için SELinux'u devre dışı bırakmamız gerekiyor. Kapsayıcıların ana bilgisayar dosya sistemine erişmesine izin vermek için bu gereklidir.

setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=disable/' /etc/selinux/config

Değiştirmeyi Devre Dışı Bırak

Kubelet'in düzgün çalışabilmesi için değiştirmenin devre dışı bırakılması gerekir.

sed -i '/swap/d' /etc/fstab
swapoff -a

Güvenlik Duvarını Devre Dışı Bırak

Kubernetes, gelen ve giden trafiği işlemek için IPTable'ları kullanır; böylece herhangi bir sorunu önlemek için firewalld'i devre dışı bırakırız.

systemctl disable firewalld
systemctl stop firewalld

IPTable'ları Güncelle

Kubernetes net.bridge.bridge-nf-call-iptables, 1 olarak ayarlandığımızdan emin olmanızı önerir . Bu, REHL / CentOS 7'nin iptables'ları atlaması nedeniyle trafiğin yanlış yönlendirilmesi ile ilgili sorunlardan kaynaklanmaktadır.

cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

Kubelet / kubeadm / kubectl'i yükleyin

Yum için kubernetes repo eklememiz gerekecek. Bunu yaptıktan sonra sadece install komutunu çalıştırmalı ve kubelet'i etkinleştirmeliyiz.

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
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=kube*
EOF

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now kubelet

Şimdi hem ana hem de çalışan düğümümüzü tamamen yapılandırdık. Artık ana düğümümüzü başlatabilir ve çalışan düğümlerimize ana verilere katılabiliriz!

Not Daha fazla çalışan düğüm eklemek istiyorsanız, yukarıdaki işlemin tüm bu düğümlerde de yapılması gerekir.

Ana Düğüm kurulumu

Aşağıdaki komutu çalıştırarak ana düğümümüzü başlatmak istiyoruz. Aşağıdaki komutta ana düğümünüzün IP adresini değiştirmek isteyeceksiniz. Ayrıca, daha sonra Flannel ağ kaplamasını yüklediğimizde bizim için daha kolay hale getirmek için pod-network-cidr'yi geçireceğiz.

kubeadm init --apiserver-advertise-address=YOUR_IP_HERE --pod-network-cidr=10.244.0.0/16

Bu işlemin tamamlanması biraz zaman alabilir, ancak tamamlandığında, çıktının sonunda aşağıdaki gibi benzer bir şey görürsünüz.

kubeadm join YOUR_IP:6443 --token 4if8c2.pbqh82zxcg8rswui \
--discovery-token-ca-cert-hash sha256:a0b2bb2b31bf7b06bb5058540f02724240fc9447b0e457e049e59d2ce19fcba2

Bu komut, çalışan düğümlerin kümeye katılmak için yürütmesi gereken şeydir, bu nedenle not alın.

Sırada Flannel var. Pazen, kapsülün kapsülü iletişimine izin veren şeydir. Yükleyebileceğiniz çeşitli ağ yerleşimi türleri vardır, ancak basit olması için bu kılavuz Flannel'i kullanacaktır.

Komutları yürütebilmeniz için kube/configdosyayı üzerine kopyalayın .$Homekubectl

mkdir $HOME/.kube
cp /etc/kubernetes/admin.conf $HOME/.kube/config

Ana düğüm üzerindeki son bir adım Flannel'i kurmaktır. Aşağıdaki komutu çalıştırın.

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Kopyalanan bu yapılandırma ile çalıştırabilir kubectl get csve bir yanıt alabilirsiniz.

NAME                 STATUS    MESSAGE             ERROR
scheduler            Healthy   ok
controller-manager   Healthy   ok
etcd-0               Healthy   {"health":"true"}

Ana düğümünüz ayarlandı ve kullanıma hazır. İşçi düğümü üzerine!

Çalışan Düğümü

Bu noktada, işçi düğümünde gerekli olan ek bir çalışma yoktur. Tek yapmamız gereken çıktılarımızdan kubeadm joinaldığımız komutu çalıştırmak kubeadm init.

Eğer şans eseri kubeadm join komutunu yanlış yerleştirmişseniz, ana düğümde çalıştırarak başka bir tane oluşturabilirsiniz. kubeadm token create --print-join-command

Kubeadm join komutunu çalıştırdığınızda kubectl get nodes, master üzerinde çalışırsanız aşağıdakine benzer bir çıktı görürsünüz.

NAME          STATUS   ROLES    AGE    VERSION
k8-master   Ready    master   107m   v1.14.2
k8-worker   Ready    <none>   45m    v1.14.2

Paketleme

Tıpkı kubeadm kullanarak bir Kubernetes kümesini önyüklemiş olduğunuz gibi. Bunu özel ağlarla da yapabilirsiniz. Vultr ve diğer bulut sağlayıcıları özel ağlara izin verir. Ayrıca, yerel makinenizden kümenize karşı kubectl komutlarını yürütmek istiyorsanız, bunu kubectl'i yerel olarak yükleyerek ve .kube/configdosyayı kümeden yerel makinenize çekerek yapabilirsiniz $HOME/.kube/config.

Umarım bu rehber kubeadm'den geçmenize yardımcı olur ve hiçbir zaman kubernet'lerle oynamanızı sağlar!

Kullanışlı bağlantılar:



Leave a Comment

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?