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:



CentOS 7de Tavşan Kümesini Kümeleme

CentOS 7de Tavşan Kümesini Kümeleme

RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir

Pagekit CMSyi CentOS 7ye Yükleme

Pagekit CMSyi CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b

CentOS 6da ModSecurity ile NGINX kurulumu

CentOS 6da ModSecurity ile NGINX kurulumu

Bu makalede, ModSecurity tarafından korunan bir LEMP yığını oluşturmayı açıklayacağım. ModSecurity faydalı bir açık kaynaklı web uygulaması güvenlik duvarıdır.

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

Giriş LAMP, Linux, Apache, MySQL ve PHPnin kısaltmasıdır. Bu yazılım yığını, kurulum için en popüler açık kaynaklı çözümdür.

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Chamilo, çevrimiçi eğitim ve takım işbirliği için yaygın olarak kullanılan ücretsiz ve açık kaynaklı bir öğrenme yönetim sistemidir (LMS).

CentOS 7ye Odoo 9 Topluluğunu Yükleme

CentOS 7ye Odoo 9 Topluluğunu Yükleme

Eskiden OpenERP olarak bilinen Odoo, iyi bilinen bir açık kaynaklı ERP iş platformudur. Her büyüklükteki işletme, bol miktarda lis sayesinde Odoodan yararlanabilir

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2 güçlü bir izleme sistemidir ve bir ana istemci modelinde kullanıldığında, NRPE tabanlı izleme kontrollerine olan ihtiyacın yerini alabilir. Master-Clien

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Couch CMS, web tasarımcılarının tasarlamalarını sağlayan basit ve esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)

NetOSu CentOS 7ye Yükleme

NetOSu CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Netdata, gerçek zamanlı sistem ölçümleri izleme alanında yükselen bir yıldızdır. Aynı türdeki diğer araçlarla karşılaştırıldığında, Netdata:

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? ERP veya Kurumsal Kaynak Planlaması, temel iş süreçlerini yönetmek için kullanılan bir kurumsal uygulama paketidir. ERPNext ücretsizdir

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

Başka bir Vultr eğitimine hoş geldiniz. Burada, bir SAMP sunucusunun nasıl kurulacağını ve çalıştırılacağını öğreneceksiniz. Bu kılavuz CentOS 6 için yazılmıştır. Önkoşullar

CentOS 7de Geliştirme için Sails.jsyi kurun

CentOS 7de Geliştirme için Sails.jsyi kurun

Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sails.js, Ruby on Railse benzer şekilde Node.js için bir MVC çerçevesidir. Modern uygulamalar geliştirmek için yapar

CentOS 6da Half Life 2 Sunucusu Kurma

CentOS 6da Half Life 2 Sunucusu Kurma

Bu eğitimde, CentOS 6 Sistemine Half Life 2 oyun sunucusu kurma süreci ele alınacaktır. 1. Adım: Önkoşulları kurma

PrestaShopu CentOS 7ye Yükleme

PrestaShopu CentOS 7ye Yükleme

PrestaShop popüler bir açık kaynaklı e-ticaret çözümüdür. Kendi çevrimiçi mağazanızı ücretsiz oluşturmak için kullanabilirsiniz. Bu eğitimde, size

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

Farklı Bir Sistem mi Kullanıyorsunuz? MODX Revolution hızlı, esnek, ölçeklenebilir, ücretsiz ve açık kaynaklı, kurumsal düzeyde bir İçerik Yönetim Sistemi (CMS)

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Giriş Linux sistemleri, süreçleri ve disk alanını izlemeye yardımcı olan varsayılan olarak top, df ve du gibi izleme araçlarıyla birlikte gelir. Çoğu zaman, onlar ar

CentOS 7de Kolab Groupware Kurulumu

CentOS 7de Kolab Groupware Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Kolab Groupware, ücretsiz ve açık kaynaklı bir web tabanlı grup yazılımı uygulamasıdır. Özellikleri e-posta iletişiminden, olaylardan oluşur

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?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun