Pendahuluan
Lingkungan virtual kecil, yang disebut wadah , telah menjadi sangat diperlukan untuk mengembangkan dan mengelola aplikasi.
Bekerja pada aplikasi dalam wadah terisolasi tidak mempengaruhi sistem operasi host. Kontainer lebih efisien daripada mesin virtual karena tidak memerlukan sistem operasinya.
Kubernetes adalah platform sumber terbuka yang membantu Anda menerapkan, menskalakan, dan mengelola sumber daya di berbagai wadah.
Ikuti tutorial ini dan pelajari cara menginstal Kubernetes pada sistem CentOS 7.
Prasyarat
- Beberapa server Linux yang menjalankan CentOS 7 (1 Master Node, Multiple Worker Nodes)
- Akun pengguna di setiap sistem dengan sudo atau hak akses root
- Yang nyaman pengelola paket, disertakan secara default
- Jendela baris perintah/terminal
Langkah-Langkah Menginstal Kubernetes di CentOS 7
Untuk menggunakan Kubernetes, Anda perlu memasang mesin penampung . Saat ini, solusi container yang paling populer adalah Docker . Docker perlu diinstal pada CentOS, keduanya pada Node Master dan Node Pekerja.
Langkah 1:Konfigurasi Repositori Kubernetes
Paket Kubernetes tidak tersedia dari repositori resmi CentOS 7. Langkah ini perlu dilakukan pada Master Node, dan setiap Worker Node yang Anda rencanakan untuk digunakan untuk setup container Anda. Masukkan perintah berikut untuk mengambil repositori Kubernetes.
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
EOF
Langkah 2:Instal kubelet , kubeadm , dan kubectl
3 paket dasar ini diperlukan untuk dapat menggunakan Kubernetes. Instal paket berikut di setiap node:
sudo yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
systemctl start kubelet
Anda sekarang telah berhasil menginstal Kubernetes, termasuk alat dan paket dasarnya.
Sebelum men-deploy cluster, pastikan untuk mengatur nama host, konfigurasi firewall, dan pengaturan kernel.
Langkah 3:Setel Hostname di Node
Untuk memberikan nama host yang unik ke setiap node Anda, gunakan perintah ini:
sudo hostnamectl set-hostname master-node
atau
sudo hostnamectl set-hostname worker-node1
Dalam contoh ini, node master sekarang diberi nama master-node, sedangkan node pekerja diberi nama worker-node1.
Buat entri host atau catatan DNS untuk menyelesaikan nama host untuk semua node:
sudo vi /etc/hosts
Dengan entri:
192.168.1.10 master.phoenixnap.com master-node
192.168.1.20 node1. phoenixnap.com node1 worker-node
Langkah 4:Konfigurasi Firewall
Node, container, dan pod harus dapat berkomunikasi di seluruh cluster untuk menjalankan fungsinya. Firewalld diaktifkan di CentOS secara default di front-end. Tambahkan port berikut dengan memasukkan perintah yang terdaftar.
Pada Master Node masukkan:
sudo firewall-cmd --permanent --add-port=6443/tcp
sudo firewall-cmd --permanent --add-port=2379-2380/tcp
sudo firewall-cmd --permanent --add-port=10250/tcp
sudo firewall-cmd --permanent --add-port=10251/tcp
sudo firewall-cmd --permanent --add-port=10252/tcp
sudo firewall-cmd --permanent --add-port=10255/tcp
sudo firewall-cmd --reload
Setiap kali port ditambahkan, sistem mengonfirmasi dengan pesan 'berhasil'.
Masukkan perintah berikut pada setiap node pekerja:
sudo firewall-cmd --permanent --add-port=10251/tcp
sudo firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --reload
Langkah 5:Perbarui Pengaturan Iptables
Setel net.bridge.bridge-nf-call-iptables
ke '1' di file konfigurasi sysctl Anda. Ini memastikan bahwa paket diproses dengan benar oleh tabel IP selama pemfilteran dan penerusan port.
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
Langkah 6:Nonaktifkan SELinux
Wadah perlu mengakses sistem file host. SELinux perlu disetel ke mode permisif, yang secara efektif menonaktifkan fungsi keamanannya.
Gunakan perintah berikut untuk menonaktifkan SELinux:
sudo setenforce 0
sudo sed -i ‘s/^SELINUX=enforcing$/SELINUX=permissive/’ /etc/selinux/config
Langkah 7:Nonaktifkan SWAP
Terakhir, kita perlu menonaktifkan SWAP agar kubelet berfungsi dengan baik:
sudo sed -i '/swap/d' /etc/fstab
sudo swapoff -a
Cara Men-deploy Cluster Kubernetes
Langkah 1:Buat Cluster dengan kubeadm
Inisialisasi cluster dengan menjalankan perintah berikut:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Proses ini mungkin memakan waktu beberapa menit untuk diselesaikan berdasarkan kecepatan jaringan. Setelah perintah ini selesai, ini akan menampilkan pesan bergabung dengan kubeadm. Catat entri tersebut dan gunakan untuk menggabungkan node pekerja ke cluster di tahap selanjutnya.
Langkah 2:Kelola Cluster sebagai Pengguna Biasa
Untuk mulai menggunakan cluster, Anda harus menjalankannya sebagai pengguna biasa dengan mengetik:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Langkah 3:Siapkan Jaringan Pod
Jaringan Pod memungkinkan node dalam cluster untuk berkomunikasi. Ada beberapa pilihan jaringan Kubernetes yang tersedia. Gunakan perintah berikut untuk memasang flanel pengaya jaringan pod:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Jika Anda memutuskan untuk menggunakan kain flanel, edit aturan firewall Anda untuk mengizinkan lalu lintas untuk port default kain flanel 8285 .
Langkah 4:Periksa Status Cluster
Periksa status node dengan memasukkan perintah berikut di server master:
sudo kubectl get nodes
Setelah jaringan pod terinstal, Anda dapat mengonfirmasi bahwa itu berfungsi dengan memeriksa apakah pod CoreDNS berjalan dengan mengetik:
sudo kubectl get pods --all-namespaces
Langkah 5:Bergabung dengan Worker Node ke Cluster
Seperti yang ditunjukkan dalam Langkah 1 , Anda dapat menggunakan kubeadm join
perintah pada setiap node pekerja untuk menghubungkannya ke cluster.
kubeadm join --discovery-token cfgrty.1234567890jyrfgd --discovery-token-ca-cert-hash sha256:1234..cdef 1.2.3.4:6443
Ganti kode dengan yang dari server master Anda. Ulangi tindakan ini untuk setiap node pekerja di cluster Anda.