Cara memasang cluster kubernetes di centos 7

Cara memasang cluster kubernetes di centos 7

Disumbangkan oleh Google ke komunitas opensource, Kubernetes sekarang telah menjadi alat pilihan manajemen kontainer. Itu dapat mengelola dan mengatur tidak hanya docker runtimes tetapi juga wadah dan Rkt Runtimes.

Tipikal Kubernetes Cluster umumnya memiliki node utama dan beberapa pekerja atau antek. Node pekerja kemudian dikelola dari node master, sehingga memastikan bahwa cluster dikelola dari titik pusat.

Penting juga untuk menyebutkan bahwa Anda juga dapat menggunakan cluster Kubernetes simpul tunggal yang umumnya direkomendasikan untuk beban kerja yang sangat ringan dan tidak produksi. Untuk ini, Anda dapat menggunakan Minikube, yang merupakan alat yang menjalankan kluster Kubernetes simpul tunggal dalam mesin virtual di node Anda.

Direkomendasikan baca: Cara memasang cluster Kubernetes di Centos 8

Untuk tutorial ini, kami akan berjalan dengan multi-node Kubernetes instalasi cluster di Centos 7 Linux. Tutorial ini berbasis baris perintah sehingga Anda akan memerlukan akses ke jendela terminal Anda.

Prasyarat

  1. Beberapa server berjalan Centos 7 (1 Master Node, 2 node pekerja). Disarankan agar Anda Master Node memiliki setidaknya 2 CPU, meskipun ini bukan persyaratan yang ketat.
  2. Konektivitas Internet di semua node Anda. Kami akan mengambil Kubernetes Dan buruh pelabuhan Paket dari repositori. Sama halnya, Anda perlu memastikan bahwa manajer paket yum diinstal secara default dan dapat mengambil paket dari jarak jauh.
  3. Anda juga akan memerlukan akses ke akun dengan sudo atau hak istimewa root. Dalam tutorial ini, saya akan menggunakan akun root saya.

Cluster 3-node kami akan terlihat seperti ini:

Diagram kluster Kubernetes

Pemasangan kluster Kubernetes di master-node

Untuk Kubernetes Untuk bekerja, Anda akan membutuhkan mesin kontainerisasi. Untuk instalasi ini, kami akan menggunakan buruh pelabuhan karena ini yang paling populer.

Langkah -langkah berikut akan berjalan di Master-Node.

Langkah 1: Siapkan nama host, firewall dan selinux

Pada node utama Anda, atur nama host dan jika Anda tidak memiliki server DNS, maka juga perbarui Anda /etc/host mengajukan.

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

Anda bisa melakukan ping Pekerja-Node-1 Dan Pekerja-Node-2 Untuk menguji apakah hostfile Anda yang diperbarui baik -baik saja menggunakan perintah ping.

# ping 10.128.0.29 # ping 10.128.0.30 

Selanjutnya, nonaktifkan Selinux dan perbarui aturan firewall Anda.

# setenforce 0 # sed -i ---follow -Symlinks 's/selinux = Enforcing/selinux = dinonaktifkan/g'/etc/sysconfig/selinux # reboot 

Atur aturan firewall berikut di port. Pastikan bahwa setiap perintah firewall-cmd, mengembalikan kesuksesan.

# firewall-cmd --permanent --add-port = 6443/tcp # firewall-cmd --permanent --add-port = 2379-2380/tcp # firewall-cmd --permanent --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/bridge-nf-call-iPlables 

Langkah 2: Siapkan repo Kubernetes

Anda perlu menambahkan Kubernetes repositori secara manual karena tidak dipasang secara default 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: Instal Kubeadm dan Docker

Dengan repo paket sekarang siap, Anda dapat melanjutkan dan menginstal Kubeadm Dan buruh pelabuhan paket.

# yum instal Kubeadm docker -y 

Saat instalasi berhasil selesai, aktifkan dan mulai kedua layanan.

# Systemctl Aktifkan Kubelet # Systemctl Mulai Kubelet # Systemctl Enable Docker # Systemctl Start Docker 

Langkah 4: Inisialisasi Kubernetes Master dan setup pengguna default

Sekarang kami siap untuk menginisialisasi master kubernetes, tetapi sebelum itu Anda perlu menonaktifkan swap untuk menjalankan "Kubeadm init" memerintah.

# swapoff -a 

Menginisialisasi Kubernetes Master adalah proses yang sepenuhnya otomatis yang dikelola oleh “Kubeadm init“Perintah yang akan Anda jalankan.

# Kubeadm init 
Inisialisasi Master Kubernetes

Anda mungkin ingin menyalin baris terakhir dan menyimpannya di suatu tempat karena Anda harus menjalankannya di node pekerja.

Kubeadm Bergabung 10.128.0.27: 6443 -Token Nu06lu.xrsux0ss0ixtnms5 \ --ten-token-ca-cert-hash sha256: f996ea3564e6a07fdea297a1cf8caeddafd6d4360d606dbc823146888425cd41 

Tip: Terkadang perintah ini mungkin mengeluh tentang argumen (args) lulus, jadi edit untuk menghindari kesalahan. Jadi, Anda akan menghapus '\' karakter yang menyertai --token Dan perintah terakhir Anda akan terlihat seperti ini.

Kubeadm Bergabung 10.128.0.27: 6443 -Token Nu06lu.xrsux0ss0ixtnms5-discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea297a1cf8caeddafd6d4360d606dbc82314688425cd41 

Telah diinisialisasi Kubernetes berhasil, Anda harus mengizinkan pengguna Anda untuk mulai menggunakan cluster. Dalam kasus kami, kami ingin menjalankan instalasi ini sebagai akar pengguna, oleh karena itu kami akan melanjutkan dan menjalankan perintah ini sebagai root. Anda dapat mengubah ke pengguna yang diaktifkan sudo yang Anda sukai dan jalankan di bawah ini menggunakan sudo.

Menggunakan akar, berlari:

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

Untuk menggunakan a sudo diaktifkan pengguna, berlari:

$ mkdir -p $ rumah/.Kube $ Sudo CP -I/etc/Kubernetes/Admin.conf $ home/.Kube/config $ sudo chown $ (id -u): $ (id -g) $ home/.Kube/Config 

Sekarang periksa untuk melihat apakah Kubectl perintah diaktifkan.

# Kubectl mendapatkan node 
Periksa status node

Pada titik ini, Anda juga akan melihat bahwa status Master-Node adalah 'Belum siap'. Ini karena kita belum menggunakan jaringan pod ke cluster.

Itu jaringan pod adalah jaringan overlay untuk cluster, yang digunakan di atas jaringan node ini. Itu dirancang untuk memungkinkan konektivitas di seluruh pod.

Langkah 5: Siapkan Jaringan Pod Anda

Menyebarkan klaster jaringan adalah proses yang sangat fleksibel tergantung pada kebutuhan Anda dan ada banyak pilihan yang tersedia. Karena kami ingin menjaga instalasi sesederhana mungkin, kami akan menggunakan Weavenet plugin yang tidak memerlukan konfigurasi atau kode tambahan dan menyediakan satu alamat IP per pod yang bagus untuk kami. Jika Anda ingin melihat lebih banyak opsi, silakan periksa di sini.

Perintah ini akan menjadi penting untuk mendapatkan pengaturan jaringan pod.

# Ekspor Kubever = $ (Versi Kubectl | Base64 | Tr -D '\ n') # Kubectl Apply -f "https: // cloud.menenun.Works/K8s/Net?K8S-versi = $ Kubever " 
Pengaturan Jaringan Pod

Sekarang jika Anda memeriksa status Anda Master-Node, harus 'Siap'.

# Kubectl mendapatkan node 
Periksa status node utama

Selanjutnya, kami menambahkan node pekerja ke cluster.

Menyiapkan node pekerja untuk bergabung dengan kluster Kubernetes

Langkah -langkah berikut akan berjalan di node pekerja. Langkah -langkah ini harus dijalankan di setiap Node Pekerja Saat bergabung dengan Kubernetes gugus.

Langkah 1: Siapkan nama host, firewall dan selinux

Pada Anda Pekerja-Node-1 Dan Pekerja-Node-2, Atur nama host dan jika Anda tidak memiliki server DNS, maka juga perbarui master dan node pekerja Anda /etc/host mengajukan.

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

Anda bisa melakukan ping Master-Node Untuk menguji apakah hostfile Anda yang diperbarui baik -baik saja.

Selanjutnya, nonaktifkan Selinux dan perbarui aturan firewall Anda.

# setenforce 0 # sed -i ---follow -symlinks 's/selinux = penegakan/selinux = dinonaktifkan/g'/etc/sysconfig/selinux 

Atur aturan firewall berikut di port. Pastikan semua perintah firewall-cmd, kembalikan kesuksesan.

# 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 --eload # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iPlables 

Langkah 2: Siapkan repo Kubernetes

Anda perlu menambahkan Kubernetes repositorial secara manual karena tidak dipasang sebelumnya 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: Instal Kubeadm dan Docker

Dengan repo paket sekarang siap, Anda dapat melanjutkan dan menginstal Kubeadm Dan buruh pelabuhan paket.

# yum instal Kubeadm docker -y 

Mulai dan Aktifkan Kedua Layanan.

# Systemctl Aktifkan Docker # Systemctl Start Docker # Systemctl Aktifkan Kubelet # Systemctl Mulai Kubelet 

Langkah 4: Bergabunglah dengan simpul pekerja ke kluster Kubernetes

Kami sekarang membutuhkan token itu Kubeadm init dihasilkan, untuk bergabung dengan cluster. Anda dapat menyalin dan menempelkannya ke Anda Node-1 Dan Node-2 Jika Anda telah menyalinnya di suatu tempat.

# Kubeadm Bergabung 10.128.0.27: 6443 -Token Nu06lu.xrsux0ss0ixtnms5-discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea297a1cf8caeddafd6d4360d606dbc82314688425cd41 
Bergabunglah dengan node ke kluster Kubernets

Seperti yang disarankan di baris terakhir, kembali ke Anda Master-Node dan periksa apakah Pekerja Node-1 Dan Pekerja Node-2 telah bergabung dengan cluster menggunakan perintah berikut.

# Kubectl mendapatkan node 
Periksa semua status node di kluster Kubernetes

Jika semua langkah berjalan dengan sukses, maka, Anda harus melihat Node-1 Dan Node-2 dalam status siap di Master-Node.

Direkomendasikan baca: Cara menggunakan Nginx pada cluster Kubernetes

Pada titik ini, kami telah berhasil menyelesaikan pemasangan a Kubernetes Cluster on Centos 7 Dan kami telah berhasil di atas dua papan NODE PEKERJA. Anda sekarang dapat mulai membuat pod Anda dan menggunakan layanan Anda.