Cara Memasang Kluster Kubernet di CentOS 8

Cara Memasang Kluster Kubernet di CentOS 8

Proses memasang a Kluster Kubernet pada Centos 8 hampir serupa dengan Centos 7 (yang boleh anda lalui di sini), tetapi proses di sini mempunyai beberapa perubahan. Perubahan ini, kebanyakannya berputar di sekitar pemasangan Docker.

Bermula dari Centos 8 (dan dengan lanjutan RHEL 8), Docker kini telah digantikan oleh Podman dan Buildah yang merupakan alat dari Topi merah. Sebenarnya, pakej Docker kini telah dikeluarkan dari repositori pakej lalai.

Dengan langkah ini, Topi merah Pasukan bertujuan untuk memudahkan proses membuat dan menggunakan bekas, tanpa memerlukan kebenaran khas, sementara pada masa yang sama, mengekalkan keserasian dengan imej docker dan mengendalikannya tanpa memerlukan daemon. Podman berjanji untuk menawarkan lebih banyak fleksibiliti ketika berjalan Kubernet persekitaran, tetapi juri kekal di luar sana.

Untuk artikel ini, kami akan melalui proses memasang Kubernet di atas Centos 8 platform, berjalan Docker-ce (Edisi Komuniti). Dalam artikel kemudian, kami juga akan melalui pemasangan yang sama, menggunakan Podman untuk bekas kami.

Prasyarat

  1. Tiga pelayan yang menjalankan CentOS 8 - 1 nod induk dan 2 nod pekerja.
  2. Adalah disyorkan bahawa nod anda harus mempunyai sekurang -kurangnya 2 CPU dengan RAM 2GB atau lebih setiap mesin. Ini bukan keperluan yang ketat tetapi sebahagian besarnya didorong oleh keperluan aplikasi yang anda ingin jalankan.
  3. Sambungan internet pada semua nod anda. Kami akan mengambil Kubernet dan Docker pakej dari repositori. Begitu juga, anda perlu memastikan bahawa Pengurus Pakej DNF dipasang secara lalai dan boleh mengambil pakej dari jauh.
  4. Semua nod anda juga boleh menyambung antara satu sama lain, sama ada di rangkaian swasta atau awam, yang mana ada.
  5. Anda juga memerlukan akses ke akaun dengan keistimewaan sudo atau akar. Dalam tutorial ini, saya akan menggunakan akaun root saya.

Langkah berjaga -jaga

Kebanyakan nod biasanya dilengkapi dengan unik MAC Alamat, bagaimanapun, dalam beberapa kes yang unik, beberapa Mesin maya mungkin mempunyai alamat MAC yang sama. Oleh itu, disyorkan bahawa anda mengesahkan bahawa Product_uuid dan juga MAC Alamat tidak sama dalam mana -mana nod.

Kubernet menggunakan nilai -nilai ini untuk mengenal pasti nod secara unik dalam kelompok. Sekiranya nilai ini tidak unik untuk setiap nod, proses pemasangan mungkin gagal.

Untuk memeriksa alamat MAC antara muka rangkaian dan membandingkannya.

# pautan ip 

Untuk memeriksa Product_uuid dan bandingkan, jalankan arahan berikut.

# kucing/sys/class/dmi/id/product_uuid 

Senibina logik

Pemasangan kami direka untuk mempunyai Master-node mengawal Nod pekerja. Pada akhir pemasangan ini, seni bina logik kami akan kelihatan seperti ini.

Nod induk - Mesin ini biasanya bertindak sebagai satah kawalan dan menjalankan pangkalan data kluster dan pelayan API (yang CLI Kubectl berkomunikasi dengan).

3-nod kami Kluster Kubernet akan kelihatan seperti ini:

Gambar rajah kluster Kubernet

Pemasangan Kluster Kubernet pada Node Master

Untuk Kubernet untuk bekerja, anda memerlukan enjin kontena. Seperti yang disebutkan, kami akan menggunakan Docker-ce.

Institusi berikut akan dilakukan Centos 8 Master-node.

Langkah 1: Sediakan nama host, firewall, dan selinux

Pada anda Centos 8 Master-node, Tetapkan nama hos sistem dan kemas kini DNS di anda /etc/hos fail.

# hostnamectl set-hostname master-node # Cat <> /etc /host 192.168.0.47 Master-Node 192.168.0.48 Node-1 Worker-node-1 192.168.0.49 Node-2 Pekerja-Node-2 EOF 

Seterusnya, ping anda Pekerja-node-1 dan Pekerja-Node-2 untuk memeriksa sama ada fail hos yang dikemas kini berfungsi dengan betul menggunakan arahan ping.

# Ping 192.168.0.48 # ping 192.168.0.49 

Seterusnya, lumpuhkan Selinux, kerana ini diperlukan untuk membolehkan bekas mengakses sistem fail hos, yang diperlukan oleh rangkaian POD dan perkhidmatan lain.

# Setenforce 0 

Menetapkan Setenforce ke 0 secara berkesan menetapkan selinux untuk permisif, yang secara efektif melumpuhkan selinux sehingga reboot seterusnya. Untuk sepenuhnya melumpuhkannya, gunakan arahan di bawah dan reboot.

# sed -I -follow -symlinks 's/selinux = menguatkuasakan/selinux = dilumpuhkan/g'/etc/sysconfig/selinux # reboot 

Kubernet menggunakan pelbagai pelabuhan untuk komunikasi dan akses dan pelabuhan ini perlu diakses oleh kubernet dan tidak terhad oleh firewall.

Pelabuhan Kubernet

Konfigurasikan peraturan firewall di pelabuhan.

# Firewall-CMD --Panent --Add-Port = 6443/TCP # Firewall-CMD --ParManent --Add-Port = 2379-2380/TCP # Firewall-CMD --ParManent --Add-Port = 10250/TCP # firewall-cmd --permanent --add-port = 10251/tcp # firewall-cmd --permanent --add-port = 10252/tcp # firewall-cmd --permanent --add-port = 10255/tcp # firewall -CMD-Reload # ModProbe Br_Netfilter # echo '1'>/proc/sys/net/jambatan/jambatan-nf-call-upstables 

Langkah 2: Pasang Docker-CE di CentOS 8

Anda perlu menambah Docker repositori terlebih dahulu kerana tidak lagi dalam senarai pakej lalai menggunakan yang berikut DNF Config-Manager perintah.

# dnf config-manager --add-repo = https: // muat turun.Docker.com/linux/centos/docker-ce.repo 

Juga pasang containerd.io pakej yang tersedia sebagai daemon yang menguruskan kitaran hayat kontena lengkap sistem tuan rumahnya, dari pemindahan imej dan penyimpanan ke pelaksanaan kontena dan pengawasan ke penyimpanan peringkat rendah ke lampiran rangkaian dan seterusnya.

# DNF Pasang https: // muat turun.Docker.com/linux/centos/7/x86_64/stabil/pakej/kontena.io-1.2.6-3.3.EL7.x86_64.rpm 

Sekarang pasang versi terkini a Docker-ce pakej.

# DNF memasang docker-ce 

Anda kini boleh mengaktifkan dan memulakan perkhidmatan Docker.

# Systemctl Dayakan Docker # Systemctl Mula Docker 

Langkah 3: Pasang Kubernet (Kubeadm) pada CentOS 8

Seterusnya, anda perlu menambah Kubernet repositori secara manual kerana mereka tidak dipasang secara lalai Centos 8.

# kucing < /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 EOF 

Kubeadm Membantu anda bootstrap cluster kubernet minimum yang sesuai dengan amalan terbaik. Dengan Kubeadm, Kelompok anda harus lulus ujian pematuhan Kubernet.

Kubeadm juga menyokong fungsi kitaran hayat kluster lain, seperti peningkatan, penurunan, dan menguruskan token bootstrap. Kubeadm juga mesra integrasi dengan alat orkestra lain seperti Ansible dan Terraform.

Dengan repo pakej sekarang siap, anda boleh teruskan dan memasang Kubeadm pakej.

# DNF Pasang Kubeadm -y 

Apabila pemasangan selesai, aktifkan dan mulakan perkhidmatan.

# Systemctl Dayakan Kubelet # Systemctl Mula Kubelet 

Langkah 4: Buat tuan pesawat kawalan dengan Kubeadm

Tuan kubernet yang bertindak sebagai Kawalan satah untuk kelompok menjalankan beberapa perkhidmatan kritikal yang diperlukan untuk kelompok. Oleh itu, proses permulaan akan melakukan satu siri prechecks untuk memastikan bahawa mesin sudah bersedia untuk menjalankan kubernet. Prechecks ini mendedahkan amaran dan keluar pada kesilapan. Kubeadm init Kemudian memuat turun dan memasang komponen Kawalan Kluster Kawalan.

Sekarang sudah tiba masanya untuk memulakan master Kubernet, tetapi sebelum itu, anda mesti melumpuhkan pertukaran untuk dijalankan "Kubeadm init"Perintah.

# swapoff -a 

Memulakan Kubernet Sarjana adalah proses sepenuhnya automatik yang dikawal oleh "Kubeadm init"Perintah seperti yang ditunjukkan.

# Kubeadm init 
Inisialisasi Master Kubernet

Seterusnya, salin arahan berikut dan simpan di suatu tempat, seperti yang kita perlukan untuk menjalankan arahan ini pada nod pekerja kemudian.

Kubeadm menyertai 192.168.0.47: 6443 -Nu06lu.XRSUX0SSS0ixtNMS5 \--Discovery-Token-Cert-Hash HA256: F996EA35R4353D342FDEA29997A1CF8CAEDDAFD6D4360D606DBC82314683478HJMF7

Petua: Kadang -kadang perintah di atas mungkin membuang kesilapan mengenai hujah -hujah yang diluluskan, jadi untuk mengelakkan kesilapan, anda perlu membuang '\' watak dan arahan akhir anda akan kelihatan seperti ini.

# Kubeadm Sertai 192.168.0.47: 6443 -Nu06lu.XRSUX0SSS0ixtNMS5 -Discovery Token-Cert-Hash Sha256: F996EA35R4353D342FDEA29997A1CF8CAEDDAFD6D4360D606DBC82314683478HJMF7 

Sekali Kubernet Diasaskan dengan jayanya, anda mesti membolehkan pengguna anda mula menggunakan kelompok. Dalam senario kami, kami akan menggunakan pengguna root. Anda juga boleh memulakan kluster menggunakan pengguna sudo seperti yang ditunjukkan.

Untuk menggunakan akar, Jalankan:

# mkdir -p $ home/.KUBE # CP -I/ETC/Kubernet/Admin.conf $ home/.Kube/config # chown $ (id -u): $ (id -g) $ home/.Kube/Config 

Untuk menggunakan a SUDO membolehkan pengguna, Jalankan:

$ mkdir -p $ home/.Kube $ sudo cp -i/etc/kubernet/admin.conf $ home/.KUBE/CONFIG $ SUDO CHOWN $ (ID -U): $ (ID -G) $ HOME/.Kube/Config 

Sekarang sahkan bahawa Perintah KUBECTL diaktifkan.

# Kubectl Dapatkan nod 
Periksa status nod

Pada masa ini, anda akan melihat status nod induk adalah 'Tidak bersedia'. Ini kerana kita belum menggunakan rangkaian pod ke kelompok.

Rangkaian POD adalah rangkaian overlay untuk kluster, yang digunakan di atas rangkaian nod sekarang. Ia direka untuk membolehkan sambungan merentasi pod.

Langkah 5: Setup Rangkaian Pod Anda

Menggunakan kluster rangkaian adalah proses yang sangat fleksibel bergantung kepada keperluan anda dan terdapat banyak pilihan yang ada. Oleh kerana kami ingin menyimpan pemasangan kami semudah mungkin, kami akan menggunakan Wavenet plugin yang tidak memerlukan sebarang konfigurasi atau kod tambahan dan menyediakan satu alamat IP setiap pod yang bagus untuk kami. Sekiranya anda ingin melihat lebih banyak pilihan, sila semak di sini.

Perintah ini akan menjadi penting untuk mendapatkan persediaan rangkaian pod.

# Eksport Kubever = $ (versi Kubectl | Base64 | Tr -d '\ n') # Kubectl Apply -F "https: // Cloud.menenun.kerja/k8/bersih?K8S-versi = $ Kubever " 
Rangkaian Pod Persediaan

Sekarang jika anda memeriksa status nod induk anda, ia sepatutnya 'Bersedia'.

# Kubectl Dapatkan nod 
Periksa status nod induk

Seterusnya, kami menambah nod pekerja ke kluster.

Menambah nod pekerja ke kluster Kubernet

Arahan berikut akan dilakukan pada setiap satu Node Pekerja Semasa menyertai kluster Kubernet.

Langkah 1: Sediakan nama host, firewall, dan selinux

Mula -mula tetapkan nama hos pada anda Pekerja-node-1 dan Pekerja-Node-2, dan kemudian tambahkan entri tuan rumah ke /etc/hos fail.

# hostnamectl set-hostname 'node-1' # Cat <> /etc /host 192.168.0.47 Master-Node 192.168.0.48 Node-1 Worker-node-1 192.168.0.49 Node-2 Pekerja-Node-2 EOF 

Seterusnya, ping anda nod induk dari anda nod pekerja Untuk mengesahkan bahawa fail hos yang dikemas kini berfungsi dengan baik menggunakan arahan ping.

# 192.168.0.47 

Seterusnya, lumpuhkan Selinux dan kemas kini peraturan firewall anda.

# setenforce 0 # sed -i--follow-simlinks 's/selinux = menguatkuasakan/selinux = dilumpuhkan/g'/etc/sysconfig/selinux # firewall-cmd --permanent --add-port = 6783/tcp # firewall- cmd --permanent --add-port = 10250/tcp # firewall-cmd --permanent --add-port = 10255/tcp # firewall-cmd --permanent --add-port = 30000-32767/tcp # firewall- CMD-Reload # Echo '1'>/Proc/SYS/Net/Bridge/Bridge-NF-Call-Apples 

Langkah 2: Setup Docker-CE dan Kubernet Repo

Tambahkan repositori Docker terlebih dahulu menggunakan DNF Config-Manager.

# dnf config-manager --add-repo = https: // muat turun.Docker.com/linux/centos/docker-ce.repo 

Seterusnya, tambahkan containerd.io pakej.

# DNF Pasang https: // muat turun.Docker.com/linux/centos/7/x86_64/stabil/pakej/kontena.io-1.2.6-3.3.EL7.x86_64.rpm 

Dengan kedua -dua pakej ini dipasang, pasang versi terkini Docker-ce.

# DNF memasang docker-ce 

Dayakan dan Mulakan Perkhidmatan Docker.

# Systemctl Dayakan Docker # Systemctl Mula Docker 

Anda perlu menambah Kubernet repositori secara manual kerana mereka tidak dipasang sebelum ini Centos 8.

# kucing < /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 EOF 

Langkah 3: Pasang Kubeadm di CentOS 8

Dengan repo pakej sekarang siap, anda boleh teruskan dan memasang Kubeadm.

# DNF Pasang Kubeadm -y 

Mulakan dan aktifkan perkhidmatan.

# Systemctl Dayakan Kubelet # Systemctl Mula Kubelet 

Langkah 4: Sertailah nod pekerja ke kluster Kubernet

Kami sekarang memerlukan token itu Kubeadm init dihasilkan, untuk menyertai kelompok. Anda boleh menyalin dan menampalnya ke anda Node-1 dan Node-2 Sekiranya anda telah menyalinnya di suatu tempat.

# Kubeadm Sertai 192.168.0.47: 6443 -Nu06lu.XRSUX0SSS0ixtnms5--Discovery-Token-Cert-Hash Sha256: F996EA35R4353D342FDEA29997A1CF8CAEDDAFD6D4360D606DBC82314683478HJMF788 

Seperti yang dicadangkan pada baris terakhir, kembali ke anda Master-node dan sahkan jika pekerja Node-1 dan Pekerja Node-2 telah menyertai kelompok menggunakan arahan berikut.

# Kubectl Dapatkan nod 
Semak semua status nod dalam kluster Kubernet

Sekiranya semua langkah berjalan dengan jayanya, maka, anda harus melihat Node-1 dan Node-2 dalam status siap di Master-node. Pada ketika ini, anda kini berjaya menggunakan kluster Kubernet Centos 8.

Baca yang disyorkan: Cara menggunakan Nginx pada kluster Kubernet

Beberapa batasan

Kelompok yang kami buat di sini mempunyai satu Nod induk, dan oleh itu, jika Nod induk Gagal, kelompok anda mungkin kehilangan data dan mungkin perlu dicipta dari awal.

Atas sebab ini, saya cadangkan persediaan yang sangat tersedia.