GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal dan Mengonfigurasi Kubernetes (k8s) di Ubuntu 18.04 LTS

Kubernetes adalah alat orkestrasi wadah sumber terbuka dan gratis. Ini digunakan untuk menyebarkan aplikasi berbasis kontainer secara otomatis di lingkungan cluster, selain itu juga digunakan untuk mengelola kontainer Docker di seluruh host cluster kubernetes. Kubernetes juga Dikenal sebagai K8s .

Dalam artikel ini saya akan menunjukkan cara menginstal dan mengkonfigurasi dua node Kubernetes (1.13) menggunakan kubeadm pada sistem Ubuntu 18.04 / 18.10. Berikut adalah detail penyiapan lab saya:

Saya akan menggunakan tiga sistem Ubuntu 18.04 LTS, di mana satu sistem akan bertindak sebagai Kubernetes Master Node dan dua node lainnya akan bertindak sebagai Slave mengangguk e dan akan bergabung dengan cluster Kubernetes. Saya berasumsi minimal 18,04 LTS diinstal pada ketiga sistem ini.

  • Node Master Kubernetes – (Nama host:k8s-master , IP :192.168.1.70, OS :Minimal Ubuntu 18.04 LTS)
  • Kubernetes Slave Node 1 – (Hostname:k8s-worker-node1, IP:192.168.1.80, OS :Minimal Ubuntu 18.04 LTS)
  • Kubernetes Slave Node 2 – (Hostname:k8s-worker-node2, IP:192.168.1.90, OS :Minimal Ubuntu 18.04 LTS)

Catatan: Kubernetes Slave Node juga dikenal sebagai Worker Node

Mari masuk ke langkah instalasi dan konfigurasi k8s.

Langkah:1) Setel Nama Host dan perbarui file host

Masuk ke master node dan konfigurasikan hostname-nya menggunakan perintah hostnamectl

[email protected]:~$ sudo hostnamectl set-hostname "k8s-master"[email protected]:~$ exec bash[email protected]:~$

Login ke Slave / Worker Nodes dan konfigurasikan hostname masing-masing menggunakan perintah hostnamectl,

[email protected]:~$ sudo hostnamectl set-hostname k8s-worker-node1[email protected]:~$ exec bash[email protected]:~$[email protected]:~$ sudo hostnamectl set-hostname k8s- worker-node2[email protected]:~$ exec bash[email protected]:~$

Tambahkan baris berikut di file /etc/hosts di ketiga sistem,

192.168.1.70     k8s-master192.168.1.80     k8s-worker-node1192.168.1.90     k8s-worker-node2

Langkah:2) Instal dan Mulai Layanan Docker pada Node Master dan Slave

Jalankan perintah apt-get di bawah ini untuk menginstal Docker pada node Master,

[email protected]:~$ sudo apt-get install docker.io -y

Jalankan perintah apt-get di bawah ini untuk menginstal docker pada node slave,

[email protected]:~$ sudo apt-get install docker.io -y[email protected]:~$ sudo apt-get install docker.io -y

Setelah paket Docker diinstal pada ketiga sistem , mulai dan aktifkan layanan buruh pelabuhan menggunakan perintah systemctl di bawah ini, perintah ini perlu dijalankan pada node master dan slave.

~$ sudo systemctl start docker~$ sudo systemctl enable dockerMenyinkronkan status docker.service dengan skrip layanan SysV dengan /lib/systemd/systemd-sysv-install.Executing:/lib/systemd/systemd-sysv-install aktifkan docker ~$

Gunakan perintah buruh pelabuhan di bawah ini untuk memverifikasi versi Docker mana yang telah diinstal pada sistem ini,

~$ docker --versionDocker versi 18.06.1-ce, build e68fc7a~$

Langkah:3) Konfigurasi Repositori Paket Kubernetes pada Node Master &Slave

Catatan: Semua perintah pada langkah ini adalah mandat untuk dijalankan pada node master dan slave

Mari kita install dulu beberapa paket yang dibutuhkan, jalankan perintah berikut pada semua node termasuk master node

~$ sudo apt-get install apt-transport-https curl -y

Sekarang tambahkan kunci repositori paket Kubernetes menggunakan perintah berikut,

:~$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key addOK:~$

Sekarang konfigurasikan repositori Kubernetes menggunakan perintah apt di bawah ini, saat ini repositori paket Kubernetes Ubuntu 18.04 (bionic weaver) tidak tersedia, jadi kami akan menggunakan repositori paket Xenial Kubernetes.

:~$ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

Langkah:4) Nonaktifkan Swap dan Instal Kubeadm di semua node

Catatan: Semua perintah pada langkah ini adalah mandat untuk dijalankan pada node master dan slave

Kubeadm adalah salah satu metode yang paling umum digunakan untuk men-deploy cluster kubernetes atau dengan kata lain bisa dikatakan digunakan untuk men-deploy beberapa node pada sebuah cluster kubernetes.

Sesuai dengan situs web Resmi Kubernetes, disarankan untuk menonaktifkan swap di semua node termasuk master node.

Jalankan perintah berikut untuk menonaktifkan swap sementara,

:~$ sudo swapoff -a

Untuk menonaktifkan swap permanen, komentari swapfile atau entri partisi swap di file /etc/fstab.

Sekarang Instal paket Kubeadm di semua node termasuk master.

:~$ sudo apt-get install kubeadm -y

Setelah paket kubeadm berhasil diinstal, verifikasi versi kubeadm menggunakan perintah di bawah ini.

:~$ kubeadm versionkubeadm version:&version.Info{Mayor:"1", Minor:"13", GitVersion:"v1.13.2", GitCommit:"cff46ab41ff0bb44d8584413b598ad8360ec1def", GitTreeState:"clean", BuildDate:"2019 -01-10T23:33:30Z", GoVersion:"go1.11.4", Kompiler:"gc", Platform:"linux/amd64"}:~$

Langkah:5) Inisialisasi dan Mulai Cluster Kubernetes di Master Node menggunakan Kubeadm

Gunakan perintah kubeadm di bawah ini pada Master Node hanya untuk menginisialisasi Kubernetes

[email protected]:~$ sudo kubeadm init --pod-network-cidr=172.168.10.0/24

Pada perintah di atas Anda dapat menggunakan jaringan pod yang sama atau memilih jaringan pod Anda sendiri yang sesuai dengan lingkungan Anda. Setelah perintah berhasil dieksekusi, kita akan mendapatkan output seperti di bawah ini,

Output di atas mengkonfirmasi bahwa Master node telah berhasil diinisialisasi, jadi untuk memulai cluster jalankan perintah di bawah satu demi satu,

[email protected]:~$  mkdir -p $HOME/.kube[email protected]:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config[email protected]:~ $ sudo chown $(id -u):$(id -g) $HOME/.kube/config[email protected]:~$

Verifikasi status node master menggunakan perintah berikut,

[email protected]:~$ kubectl get nodesNAME        STATUS     PERAN    USIA   VERSIONk8s-master   NotReady   master   18m   v1.13.2[email protected]:~$

Seperti yang dapat kita lihat pada output perintah di atas bahwa master node kita belum siap karena sampai saat ini kita belum men-deploy pod apapun.

Mari kita gunakan jaringan pod, jaringan Pod adalah jaringan di mana node cluster kita akan berkomunikasi satu sama lain. Kami akan menyebarkan Flannel sebagai jaringan pod kami, Flanel akan menyediakan jaringan overlay antar node cluster.

Langkah:6) Deploy Flannel sebagai Jaringan Pod dari node Master dan verifikasi ruang nama pod

Jalankan kubectl berikut ini perintah untuk men-deploy jaringan pod dari master node

[email protected]:~$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Output dari perintah di atas harus seperti di bawah ini

clusterrole.rbac.authorization.k8s.io/flannel Createdclusterrolebinding.rbac.authorization.k8s.io/Flannel Createdserviceaccount/Flannel Createdconfigmap/kube-flannel-cfg Createddaemonset.extensions/kube-flannel-ds-AMD64 Createddaemonset.extensions/ kube-flannel-ds-arm64 Createddaemonset.extensions/kube-flannel-ds-arm Createddaemonset.extensions/kube-flannel-ds-ppc64le Createddaemonset.extensions/kube-flannel-ds-s390x Created[email protected]:~$ 

Sekarang verifikasi status node master dan ruang nama pod menggunakan perintah kubectl,

[email protected]:~$ sudo  kubectl get nodesNAME         STATUS   PERAN    USIA   VERSIONk8s-master   Siap    master   78m   v1.13.2[email protected]:~$[email protected]:~$ sudo   NAMESPACE Status Ready Restart AGEKUBE-SYSTEM COREDNS-86C58D9DF4-PX4SJ 1/1 Running 0 79MKUBE-SYSTEM COREDNS-86C58D9DF4-WZDZK 1/1 LIHAT 0 79MKUBE-SYSTEM ETCD-K8S-Master 1/1 LIHAT 1 79MKUBE-APISERVER-K8S -Master 1/1 Menjalankan 1 79mKube-System KUBE-Controller-Manager-K8S-Master 1/1 LIHAT 1 79MKUBE-SYSTEM KUBE-FLANNEL-DS-AMD64-9TN8Z 1/1 LIHAT 0 14MKUBE-CJZZ2 1 /1     Menjalankan   1          79mkube-system   kube-scheduler-k8s-master           1/1     Menjalankan   1         79m[email protected]:~$

Seperti yang dapat kita lihat pada output di atas, status node master kita telah berubah menjadi “Siap ” dan semua ruang nama pod dalam keadaan berjalan, jadi ini menegaskan bahwa master node kita dalam keadaan sehat dan siap untuk membentuk sebuah cluster.

Langkah:7) Tambahkan Node Budak atau Pekerja ke Cluster

Catatan: Pada Langkah 5, output perintah kubeadm kita mendapatkan perintah lengkap yang harus kita gunakan pada node slave atau worker untuk bergabung dengan sebuah cluster

Login ke node slave pertama (k8s-worker-node1) dan jalankan perintah berikut untuk bergabung dengan cluster,

[email protected]:~$ sudo kubeadm join 192.168.1.70:6443 --token cwxswk.hbkuu4jua82o80d1 --discovery-token-ca-cert-hash sha256:ff1b0cfe5aec94f90a42bdb45d2608bfde3400f3026a543

Output dari perintah di atas seharusnya seperti ini,

Demikian pula, jalankan perintah kubeadm join yang sama pada node pekerja kedua,

[email protected]:~$ sudo kubeadm join 192.168.1.70:6443 --token cwxswk.hbkuu4jua82o80d1 --discovery-token-ca-cert-hash sha256:ff1b0cfe5aec94f90a42bdb45d2608bfde3400f3026a543

Output di atas harus seperti di bawah ini,

Sekarang pergi ke master node dan jalankan perintah di bawah ini untuk memeriksa status master dan slave node

[email protected]:~$ kubectl get nodesNAME             STATUS   PERAN    USIA    VERSIONk8s-master        Ready    master   100m   v1.13.2k8s-worker-node1      10  

Perintah di atas mengkonfirmasi bahwa kami telah berhasil menambahkan dua node pekerja kami di cluster dan statusnya Siap. Ini menyimpulkan bahwa kami telah berhasil menginstal dan mengonfigurasi dua node cluster Kubernetes pada sistem Ubuntu 18.04.

Baca Selengkapnya di:Menerapkan Pod, Pengontrol Replikasi, dan Layanan di Kubernetes


Ubuntu
  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 18.04

  2. Cara Menginstal dan Mengonfigurasi Ansible di Ubuntu 18.04 LTS

  3. Cara Menginstal dan Mengonfigurasi Fail2ban di Ubuntu 20.04 LTS

  1. Cara Menginstal dan Mengkonfigurasi Redmine di Ubuntu 18.04

  2. Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04

  3. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 20.04

  1. Cara Install Kubernetes (k8s) di Ubuntu 20.04 LTS Server

  2. Cara Menginstal dan Mengonfigurasi Jenkins di Ubuntu 20.04

  3. Cara Menginstal dan Mengonfigurasi GitLab di Ubuntu 18.04 LTS