Kubernetes juga disebut sebagai k8 , adalah alat gratis dan sumber terbuka yang digunakan untuk pengelolaan wadah Docker. Ini adalah platform orkestrasi container yang disesuaikan untuk mengotomatiskan penerapan, penskalaan, dan pengelolaan aplikasi dalam container. Dalam panduan ini, Anda akan mempelajari cara menginstal dan mengkonfigurasi Kubernetes di Ubuntu 18.04 LTS.
Prasyarat
Sebelum kita mulai, kita akan memiliki lab uji yang terdiri dari 3 node Ubuntu 18.04 seperti yang ditunjukkan di bawah ini
- Alamat IP Node Master Kubernetes:172.31.4.36 Nama host:k8-master
- Alamat IP Kubernetes Slave Node 1:172.31.4.170 Nama host:k8-slave
- Alamat IP Kubernetes Slave Node 2:172.31.10.30 Nama host:k8-slave2
Selain itu, pastikan sistem Anda memiliki persyaratan minimum berikut.
- 2 CPU
- RAM 4 GB
- Ruang hard disk kosong 8 GB
Sekarang mari selami dan mulai.
Langkah 1. Menyiapkan nama host &Memperbarui file host
Untuk memulai, Anda akan masuk ke Master Node melalui SSH dan mengatur nama host seperti yang ditunjukkan
$ sudo hostnamectl set-hostname "k8-master"
Pada node slave jalankan perintah berikut
$ sudo hostnamectl set-hostname k8-slave
$ sudo hostnamectl set-hostname k8-slave2
Menggunakan editor teks favorit Anda, buat modifikasi berikut di /etc/hosts
file untuk masing-masing dari 3 Node yaitu k8-master, k8-slave dan k9-slave2 masing-masing.
172.31.4.36 k8s-master
172.31.4.170 k8-slave
172.31.10.30 k8-slave2
Langkah 2. Menginstal Docker pada Node Master dan Slave
Untuk menginstal buruh pelabuhan pada node Master, pertama, perbarui dan tingkatkan sistem menggunakan perintah di bawah ini
$ sudo apt-get update && sudo apt-get upgrade
Selanjutnya install Docker baik pada node Master maupun Slave menggunakan perintah berikut
$ sudo apt-get install docker.io -y
Keluaran
Setelah Docker berhasil diinstal, mulai dan aktifkan layanan Docker pada node Master dan slave menggunakan perintah di bawah ini.
$ sudo systemctl start docker
$ sudo systemctl enable docker
Keluaran
Untuk memverifikasi bahwa buruh pelabuhan sedang berjalan, jalankan perintah pada Node master dan slave
$ sudo systemctl status docker
Keluaran
Untuk melihat versi Docker yang baru saja Anda instal, jalankan
$ docker --version
Keluaran
Langkah 3. Konfigurasi repositori Kubernetes pada node Master &Slave
Sebelum melanjutkan ke langkah berikutnya, Kita perlu menginstal beberapa paket yang berguna. jalankan perintah berikut di semua node
$ sudo apt-get install apt-transport-https curl -y
Keluaran
Selanjutnya, tambahkan kunci repositori paket Kubernetes dengan menjalankan perintah di bawah ini
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Keluaran
Selanjutnya, tambahkan repositori Kubernetes menggunakan perintah di bawah ini.
$ sudo apt-add-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
Keluaran
CATATAN:
Repositori paket Kubernetes untuk Ubuntu 18.04 LTS tidak tersedia. Namun demikian, Kami telah menggunakan repositori paket Xenial Kubernetes.
Langkah 4. Menonaktifkan swap dan menginstal kubeadm
Kita akan menginstal kubeadm paket untuk memungkinkan kami menerapkan beberapa node di cluster kami.
Tetapi sebelum kami melakukannya, situs resmi Kubernetes merekomendasikan untuk menonaktifkan fitur pertukaran OS. Untuk melakukannya, jalankan perintah berikut.
$ sudo swapoff -a
sekarang Anda dapat menginstal kubeadm paket sebagai berikut.
$ sudo apt-get install kubeadm -y
Keluaran
Setelah berhasil menginstal kubeadm paket, verifikasi versinya menggunakan perintah di bawah ini
$ kubeadm version
Keluaran
Langkah 5. Memulai Cluster Kubernetes menggunakan Kubeadm
Pada node Master, login dan inisialisasi kubernet menggunakan kubeadm seperti yang ditunjukkan.
$ sudo kubeadm init --pod-network-cidr=172.31.4.0/20
Contoh keluaran
Output di atas adalah konfirmasi bahwa kita telah berhasil menginisiasi node Master Kubernetes Untuk memulai cluster, jalankan perintah yang terlampir di dalam sorotan hijau, satu demi satu
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
Sekarang kita akan memverifikasi status node Master dengan menjalankan perintah di bawah ini.
$ kubectl get nodes
Pada titik ini, Anda akan mendapatkan konfirmasi bahwa Master Node belum siap karena kami belum men-deploy pod apa pun. Pada langkah selanjutnya, kita akan menerapkan jaringan pod yang merupakan jaringan yang dapat dikomunikasikan oleh node cluster kita satu sama lain. Untuk mencapai ini, kami akan menggunakan Flanel sebagai jaringan pod kami. Flanel akan menyediakan jaringan overlay antara node cluster
Langkah 6. Menerapkan Flanel sebagai jaringan pod
Untuk menyebarkan jaringan pod, jalankan perintah berikut di node Master
$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Contoh keluaran
Pada titik ini, kita sekarang dapat memverifikasi status Node Master menggunakan kubectl
perintah
$ sudo kubectl get nodes
Keluaran
Seperti yang terlihat di atas, status node Master telah berubah menjadi “Ready”. Selain itu, verifikasi ruang nama pod seperti yang ditunjukkan.
$ sudo kubectl get pods --all-namespaces
Keluaran
Output di atas menunjukkan bahwa semua ruang nama pod dalam keadaan berjalan. langkah terakhir adalah menggabungkan node slave ke cluster.
Langkah 7. Menambahkan node Slave ke cluster
Pada langkah ini, kita akan masuk ke kedua node slave (k8-slave dan k8-slave2) dan menjalankan perintah berikut yang tampak disorot dengan warna merah di Langkah 5
$ kubeadm join 172.31.4.36:6443 --token w8kbni.wiyevyov0yxwwtdj --discovery-token-ca-cert-hash sha256:29adc042c538f59f0c7339ebad2126d5836de06ffe0ae22c54ce0aef2eb4cb76
Contoh keluaran
Sekarang pergilah ke Master slave dan periksa status node master dan slave menggunakan kubectl
perintah
$ kubectl get nodes
Keluaran
Output di atas mengkonfirmasi bahwa kita telah berhasil menambahkan dua node slave ke cluster dan statusnya, serta node Master, sudah siap!
Luar biasa! Kami telah menyelesaikan tutorial kami tentang cara menginstal dan mengkonfigurasi Kubernetes di Ubuntu 18.04 LTS. Umpan balik Anda sangat kami harapkan.