Cara Memasang Kluster Kubernet di CentOS 7

Cara Memasang Kluster Kubernet di CentOS 7

Disumbangkan oleh Google ke komuniti opensource, Kubernet kini menjadi alat pilihan pengurusan kontena. Ia boleh mengurus dan mengatur bukan hanya runtime docker tetapi juga bekas dan Rkt Runtime.

Biasa Kubernet Kluster biasanya mempunyai nod induk dan beberapa nod pekerja atau minions. Node pekerja kemudian diuruskan dari nod induk, dengan itu memastikan bahawa kluster itu diuruskan dari titik pusat.

Ia juga penting untuk menyebutkan bahawa anda juga boleh menggunakan kluster Kubernet tunggal nod yang umumnya disyorkan untuk beban kerja yang sangat ringan,. Untuk ini, anda boleh menggunakan Minikube, yang merupakan alat yang menjalankan satu kluster Kubernet tunggal dalam mesin maya pada nod anda.

Baca yang disyorkan: Cara Memasang Kluster Kubernet di CentOS 8

Untuk tutorial ini, kami akan berjalan-jalan Kubernet pemasangan kluster pada Centos 7 Linux. Tutorial ini berasaskan baris perintah supaya anda memerlukan akses ke tetingkap terminal anda.

Prasyarat

  1. Pelbagai pelayan berjalan Centos 7 (1 nod induk, 2 nod pekerja). Disarankan agar anda Nod induk mempunyai sekurang -kurangnya 2 CPU, walaupun ini bukan keperluan yang ketat.
  2. Sambungan internet pada semua nod anda. Kami akan mengambil Kubernet dan Docker pakej dari repositori. Begitu juga, anda perlu memastikan bahawa pengurus pakej yum dipasang secara lalai dan boleh mengambil pakej dari jauh.
  3. Anda juga memerlukan akses ke akaun dengan keistimewaan sudo atau akar. Dalam tutorial ini, saya akan menggunakan akaun root saya.

Kelompok 3-nod kami akan kelihatan seperti ini:

Gambar rajah kluster Kubernet

Pemasangan Kluster Kubernet pada Node Master

Untuk Kubernet untuk bekerja, anda memerlukan enjin kontena. Untuk pemasangan ini, kami akan menggunakan Docker kerana ia adalah yang paling popular.

Langkah -langkah berikut akan berjalan di Master-node.

Langkah 1: Sediakan nama host, firewall dan selinux

Pada nod induk anda, tetapkan nama hos dan jika anda tidak mempunyai pelayan DNS, maka juga kemas kini /etc/hos fail.

# hostnamectl set-hostname master-node # cat <> /etc /hosts 10.128.0.27 Master-nod 10.128.0.29 Node-1 Worker-node-1 10 10.128.0.30 Node-2 Pekerja-Node-2 EOF 

Anda boleh ping Pekerja-node-1 dan Pekerja-Node-2 untuk menguji jika fail host anda yang dikemas kini dengan baik menggunakan arahan ping.

# ping 10.128.0.29 # ping 10.128.0.30 

Seterusnya, lumpuhkan Selinux dan kemas kini peraturan firewall anda.

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

Tetapkan peraturan firewall berikut di pelabuhan. Pastikan setiap arahan firewall-cmd, mengembalikan kejayaan.

# 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/bridge/jambatan-nf-call-upstables 

Langkah 2: Menyediakan repo Kubernet

Anda perlu menambah Kubernet repositori secara manual kerana mereka tidak dipasang secara lalai Centos 7.

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 dan Docker

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

# yum Pasang Kubeadm Docker -y 

Apabila pemasangan selesai, aktifkan dan mulakan kedua -dua perkhidmatan.

# Systemctl Dayakan Kubelet # Systemctl Mula Kubelet # Systemctl Dayakan Docker # Systemctl Start Docker 

Langkah 4: Mulakan Kubernet Master dan Persediaan Pengguna Lalai

Sekarang kita sudah bersedia untuk memulakan master kubernet, tetapi sebelum itu anda perlu melumpuhkan swap untuk menjalankan "Kubeadm init"Perintah.

# swapoff -a 

Memulakan Kubernet Master adalah proses automatik sepenuhnya yang diuruskan oleh "Kubeadm init"Perintah yang akan anda jalankan.

# Kubeadm init 
Inisialisasi Master Kubernet

Anda mungkin mahu menyalin baris terakhir dan menyimpannya di suatu tempat kerana anda perlu menjalankannya di nod pekerja.

Kubeadm menyertai 10.128.0.27: 6443 -Nu06lu.XRSUX0SSS0ixtnms5 \--Discovery-Token-Cert-Hash Sha256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC82314688425CD41 

Petua: Kadang -kadang arahan ini mungkin mengadu mengenai hujah (Args) lulus, jadi editnya untuk mengelakkan sebarang kesilapan. Jadi, anda akan memadamkan '\' watak yang mengiringi --token Dan arahan akhir anda akan kelihatan seperti ini.

Kubeadm menyertai 10.128.0.27: 6443 -Nu06lu.XRSUX0SS0ixtNMS5--Discovery-Token-Cert-Hash Sha256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC82314688425CD41 

Telah dimulakan Kubernet berjaya, anda perlu membenarkan pengguna anda mula menggunakan kluster. Dalam kes kami, kami mahu menjalankan pemasangan ini sebagai akar Pengguna, oleh itu kita akan teruskan dan menjalankan arahan ini sebagai akar. Anda boleh menukar kepada pengguna yang membolehkan pengguna yang anda suka dan jalankan di bawah menggunakan sudo.

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 periksa untuk melihat apakah Kubectl arahan diaktifkan.

# Kubectl Dapatkan nod 
Periksa status nod

Pada ketika ini, anda juga akan melihat bahawa status Master-node adalah 'Tidak bersedia'. Ini kerana kita belum menggunakannya Rangkaian POD ke kluster.

The Rangkaian POD adalah rangkaian overlay untuk cluster, 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 anda Master-node, ia harus 'Bersedia'.

# Kubectl Dapatkan nod 
Periksa status nod induk

Seterusnya, kami menambah nod pekerja ke kluster.

Menyediakan nod pekerja untuk menyertai kluster Kubernet

Langkah -langkah berikut akan berjalan di nod pekerja. Langkah -langkah ini harus dijalankan pada setiap Node Pekerja Semasa menyertai Kubernet kelompok.

Langkah 1: Sediakan nama host, firewall dan selinux

Pada anda Pekerja-node-1 dan Pekerja-Node-2, Tetapkan nama hos dan sekiranya anda tidak mempunyai pelayan DNS, maka juga mengemas kini nod tuan dan pekerja anda /etc/hos fail.

# hostnamectl set-hostname 'node-1' # cat <> /etc /hosts 10.128.0.27 Master-nod 10.128.0.29 Node-1 Worker-node-1 10 10.128.0.30 Node-2 Pekerja-Node-2 EOF 

Anda boleh ping Master-node Untuk menguji jika File Hostfile anda baik -baik saja.

Seterusnya, lumpuhkan Selinux dan kemas kini peraturan firewall anda.

# setenforce 0 # sed -I -follow -simlinks 's/selinux = menguatkuasakan/selinux = dilumpuhkan/g'/etc/sysconfig/selinux 

Tetapkan peraturan firewall berikut di pelabuhan. Pastikan semua arahan Firewall-CMD, Kejayaan Kembali.

# firewall-cmd --permanent --add-port = 6783/tcp # firewall-cmd --permanent --add-port = 10250/tcp # firewall-cmd --permanent --add-port = 10255/tcp # firewall # firewall -CMD --Panent --Add-Port = 30000-32767/TCP # Firewall-Cmd-Reload # Echo '1'>/Proc/SYS/Net/Bridge/Bridge-NF-Call-Apples 

Langkah 2: Menyediakan repo Kubernet

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

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 dan Docker

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

# yum Pasang Kubeadm Docker -y 

Mulakan dan aktifkan kedua -dua perkhidmatan.

# Systemctl Dayakan Docker # Systemctl Mula Docker # 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 10.128.0.27: 6443 -Nu06lu.XRSUX0SS0ixtNMS5--Discovery-Token-Cert-Hash Sha256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC82314688425CD41 
Sertailah nod ke kluster Kubernets

Seperti yang dicadangkan pada baris terakhir, kembali ke anda Master-node dan periksa 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.

Baca yang disyorkan: Cara menggunakan Nginx pada kluster Kubernet

Pada ketika ini, kami telah berjaya menyelesaikan pemasangan a Kubernet kelompok pada Centos 7 Dan kami berjaya melangkah dua kali Pekerja-Nodes. Anda kini boleh mula membuat pod anda dan menggunakan perkhidmatan anda.