GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara menginstal Kubernetes di Ubuntu 20.04 Focal Fossa Linux

Kubernetes adalah perangkat lunak terkemuka dalam orkestrasi container. Kubernetes bekerja dengan mengelola cluster, yang merupakan kumpulan host yang dimaksudkan untuk menjalankan aplikasi dalam container. Untuk memiliki cluster Kubernetes, Anda memerlukan minimal dua node – master node dan simpul pekerja . Tentu saja, Anda dapat memperluas cluster dengan menambahkan node pekerja sebanyak yang Anda butuhkan.

Dalam panduan ini, kita akan menerapkan cluster Kubernetes yang terdiri dari dua node, keduanya menjalankan Ubuntu 20.04 Focal Fossa. Memiliki dua node di cluster kami adalah konfigurasi paling dasar yang mungkin, tetapi Anda dapat menskalakan konfigurasi tersebut dan menambahkan lebih banyak node jika diinginkan.

Dalam tutorial ini Anda akan mempelajari:

  • Cara menginstal Docker
  • Cara menginstal Kubernetes
  • Cara mengonfigurasi node master dan pekerja
  • Cara menggabungkan node pekerja ke cluster Kubernetes
  • Cara men-deploy Nginx (atau aplikasi dalam container apa pun) di cluster Kubernetes

Menerapkan Kubernetes di Ubuntu 20.04 Focal Fossa

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan
Sistem Menginstal Ubuntu 20.04 atau memutakhirkan Ubuntu 20.04 Focal Fossa
Perangkat Lunak Kubernetes
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah.
Konvensi # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Skenario

Sebelum kita menyelami, mari kita tentukan rincian skenario kita. Seperti disebutkan di atas, cluster kami akan memiliki dua node, dan kedua node tersebut menjalankan Ubuntu 20.04 Focal Fossa. Salah satunya adalah node master dan dapat dengan mudah diidentifikasi dengan nama host kubernetes-master . Simpul kedua akan menjadi simpul pekerja dan memiliki nama host kubernetes-worker .

Node master akan menerapkan cluster Kubernetes dan node pekerja hanya akan bergabung dengannya. Karena cluster Kubernetes dirancang untuk menjalankan perangkat lunak dalam container, setelah cluster kami aktif dan berjalan, kami akan menerapkan container server Nginx sebagai bukti konsep.

Instal Docker

Kedua node perlu menginstal Docker, karena Kubernetes bergantung padanya. Buka terminal dan ketik perintah berikut pada master dan node pekerja untuk menginstal Docker:

$ sudo apt update$ sudo apt install docker.io

Setelah Docker selesai menginstal, gunakan perintah berikut untuk memulai layanan dan untuk memastikan layanan dimulai secara otomatis setelah setiap reboot:

$ sudo systemctl start docker$ sudo systemctl enable docker

Instal Kubernetes

Sekarang kita siap untuk menginstal Kubernetes. Sama seperti semua perintah lain hingga saat ini, pastikan Anda melakukan ini di kedua node. Pada master dan pekerja Kubernetes Anda, instal terlebih dahulu apt-transport-https package, yang memungkinkan kita menggunakan http dan https di repositori Ubuntu. Sekarang juga saat yang tepat untuk memasang curl karena kita akan membutuhkannya sebentar lagi:

$ sudo apt install apt-transport-https curl

Selanjutnya, tambahkan kunci penandatanganan Kubernetes ke kedua sistem:

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

Selanjutnya, kita akan menambahkan repositori paket Kubernetes. Perhatikan bahwa pada saat penulisan ini, Ubuntu 16.04 Xenial Xerus adalah repositori Kubernetes terbaru yang tersedia. Ini pada akhirnya harus digantikan oleh Ubuntu 20.04 Focal Fossa, dan perintah berikut kemudian dapat diperbarui dari xenial untuk focal .

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

Sekarang kita dapat menginstal Kubernetes:

$ sudo apt install kubeadm kubelet kubectl kubernetes-cni

Nonaktifkan memori swap

Kubernetes akan menolak untuk berfungsi jika sistem Anda menggunakan memori swap. Sebelum melanjutkan lebih jauh, pastikan node master dan pekerja telah menonaktifkan memori swap dengan perintah ini:

$ sudo swapoff -a

Perintah itu akan menonaktifkan memori swap hingga sistem Anda reboot, jadi untuk membuat perubahan ini tetap ada, gunakan nano atau editor teks favorit Anda untuk membuka file ini:

$ sudo nano /etc/fstab

Di dalam file ini, beri komentar pada /swapfile baris dengan mengawalinya dengan # simbol, seperti yang terlihat di bawah ini. Kemudian, tutup file ini dan simpan perubahannya.

Tambahkan # untuk mengomentari baris swapfile

Setel nama host

Selanjutnya, pastikan bahwa semua node Anda memiliki nama host yang unik. Dalam skenario kami, kami menggunakan nama host kubernetes-master dan kubernetes-worker untuk membedakan host kami dengan mudah dan mengidentifikasi peran mereka. Gunakan perintah berikut jika Anda perlu mengubah nama host Anda:

$ sudo hostnameectl set-hostname kubernetes-master

Dan pada simpul pekerja:

$ sudo hostnameectl set-hostname kubernetes-worker

Anda tidak akan melihat perubahan nama host di terminal sampai Anda membuka yang baru. Terakhir, pastikan bahwa semua node Anda memiliki waktu dan tanggal yang akurat, jika tidak, Anda akan mengalami masalah dengan sertifikat TLS yang tidak valid.

Inisialisasi server master Kubernetes

Sekarang kita siap untuk menginisialisasi node master Kubernetes. Untuk melakukannya, masukkan perintah berikut pada master node Anda:

kubernetes-master:~$ sudo kubeadm init

Kubernetes di node master Ubuntu 20.04 sekarang diinisialisasi

Node master Kubernetes sekarang telah diinisialisasi. Outputnya memberi kita kubeadm join perintah yang perlu kita gunakan nanti untuk menggabungkan node pekerja kita ke node master. Jadi, perhatikan perintah ini untuk nanti.

Output dari atas juga menyarankan kita untuk menjalankan beberapa perintah sebagai pengguna biasa untuk mulai menggunakan cluster Kubernetes. Jalankan ketiga perintah tersebut pada master node:

kubernetes-master:~$ mkdir -p $HOME/.kubekubernetes-master:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configkubernetes-master:~$ sudo chown $( id -u):$(id -g) $HOME/.kube/config

Menyebarkan jaringan pod

Langkah selanjutnya adalah men-deploy jaringan pod. Jaringan pod digunakan untuk komunikasi antar host dan diperlukan agar cluster Kubernetes berfungsi dengan baik. Untuk ini kita akan menggunakan jaringan pod Flanel. Keluarkan dua perintah berikut pada master node:

kubernetes-master:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubernetes-master:~$ kubectl apply -f https://raw .githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml

Tergantung pada lingkungan Anda, mungkin hanya perlu beberapa detik atau satu menit untuk mengaktifkan seluruh jaringan flanel. Anda dapat menggunakan kubectl perintah untuk mengonfirmasi bahwa semuanya sudah siap dan siap:

kubernetes-master:~$ kubectl get pod --all-namespaces

Jaringan Pod berhasil di-deploy

Saat semua kolom STATUS menunjukkan 'Berjalan', ini merupakan indikasi bahwa semuanya telah selesai diterapkan dan siap digunakan.

Bergabung dengan cluster Kubernetes

Sekarang cluster kami siap untuk bergabung dengan node pekerja. Gunakan kubeadm join perintah yang diambil sebelumnya dari output inisialisasi node master Kubernetes untuk bergabung dengan cluster Kubernetes Anda:

kubernetes-worker:~$ sudo kubeadm join 192.168.1.220:6443 --token 1exb8s.2t4k3b5syfc3jfmo --discovery-token-ca-cert-hash sha256:72ad481cee4918cf2314738419356c9a402fb6013763402fb  

Bergabung dengan node pekerja ke cluster Kubernetes

Kembali ke master node Kubernetes Anda, konfirmasikan bahwa kubernetes-worker sekarang menjadi bagian dari cluster Kubernetes kami dengan perintah ini:

kubernetes-master:~$ kubectl dapatkan node

Menampilkan node apa yang saat ini ada di cluster Kubernetes

Men-deploy layanan di cluster Kubernetes

Sekarang kami siap untuk men-deploy layanan ke dalam cluster Kubernetes. Dalam contoh kami, kami akan menyebarkan server Nginx ke dalam cluster baru kami sebagai bukti konsep. Jalankan dua perintah berikut pada master node Anda:

kubernetes-master:~$ kubectl run --image=nginx nginx-server --port=80 --env="DOMAIN=cluster"kubernetes-master:~$ kubectl mengekspos penerapan nginx-server --port=80 --name=nginx-http

Anda sekarang akan melihat wadah buruh pelabuhan nginx baru yang diterapkan pada simpul pekerja Anda:

kubernetes-worker:~$ sudo docker ps

Kontainer Nginx buruh pelabuhan baru sudah aktif dan berjalan di node pekerja Kubernetes

Anda dapat melihat daftar berjalan dari semua layanan yang tersedia yang berjalan di cluster Anda dengan perintah berikut, yang dikeluarkan dari node maser Kubernetes:

kubernetes-master:~$ kubectl get svc

Menampilkan layanan dalam container yang berjalan di cluster Kubernetes

Kesimpulan

Pada artikel ini, kita mempelajari cara menyiapkan Kubernetes untuk menerapkan aplikasi dalam container di Ubuntu 20.04 Focal Fossa. Kami menyiapkan cluster dasar yang terdiri dari dua host, master dan pekerja, meskipun ini dapat diskalakan ke lebih banyak node pekerja jika perlu.

Kami melihat cara mengonfigurasi Docker dan prasyarat lainnya, serta menerapkan server Nginx di cluster baru kami sebagai bukti konsep. Tentu saja, konfigurasi yang sama ini dapat digunakan untuk menerapkan sejumlah aplikasi dalam container.


Ubuntu
  1. Cara menginstal docker-compose di Ubuntu 20.04 Focal Fossa Linux

  2. Cara menginstal LaTex di Ubuntu 20.04 Focal Fossa Linux

  3. Cara menginstal MATLAB di Ubuntu 20.04 Focal Fossa Linux

  1. Cara Menginstal Font di Ubuntu 20.04 Focal Fossa Linux

  2. Cara menginstal Telegram di Ubuntu 20.04 Focal Fossa Linux

  3. Cara menginstal Kodi di Ubuntu 20.04 Focal Fossa Linux

  1. Cara menginstal Viber di Ubuntu 20.04 Focal Fossa Linux

  2. Cara menginstal RStudio di Ubuntu 20.04 Focal Fossa Linux

  3. Cara Memasang Benang di Ubuntu 20.04 Focal Fossa Linux