Cara Memasang Kluster Kubernet di CentOS 8
- 4394
- 780
- Wendell Shields
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
- Tiga pelayan yang menjalankan CentOS 8 - 1 nod induk dan 2 nod pekerja.
- 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.
- 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.
- Semua nod anda juga boleh menyambung antara satu sama lain, sama ada di rangkaian swasta atau awam, yang mana ada.
- 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 KubernetPemasangan 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 KubernetKonfigurasikan 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 initInisialisasi 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 nodPeriksa 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 nodPeriksa 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 nodSemak 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.
- « Cara Memasang dan Konfigurasi Hive Dengan Ketersediaan Tinggi - Bahagian 7
- 8 pelayan proksi terbalik sumber terbuka atas untuk Linux »