GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Kubernetes di Server Bare Metal

Pendahuluan

Penerapan container dan orkestrasi Kubernetes sangat kuat saat diterapkan di lingkungan virtual. Fleksibilitas dan kemampuan penskalaan menawarkan peluang tanpa batas.

Mengapa kemudian menambahkan server fisik penyewa tunggal ke cluster? VM diketahui membuat masalah latensi untuk aplikasi tertentu. Akses perangkat keras langsung dapat menjadi solusi untuk masalah ini, terutama dengan opsi penambahan akselerator perangkat keras (GPU).

Perkembangan Machine Learning dan AI mengarahkan organisasi untuk menerapkan cluster Kubernetes di VM dan Server Bare Metal.

Tutorial ini menunjukkan cara mengimplementasikan konsep yang dibahas dalam artikel kami sebelumnya tentang Arsitektur Kubernetes.

Ikuti langkah-langkah yang diuraikan dan pelajari cara menginstal Kubernetes di Server Bare Metal.

Prasyarat

  • Beberapa server Linux
  • Akun pengguna di setiap sistem dengan sudo atau hak akses root
  • Akses ke baris perintah/jendela terminal
  • Yang tepat manajer paket (Debian 10)

Siapkan Server Bare Metal untuk Instalasi Kubernetes

Kubernetes adalah alat orkestrasi yang sangat otomatis. Ia berkomunikasi antar node dan mengambil langkah untuk mereplikasi pod setiap kali status cluster saat ini tidak sesuai dengan status yang diinginkan.

Untuk memfasilitasi proses ini, komunikasi antar node perlu tidak dibatasi. Setiap node perlu dikonfigurasi, sehingga pengaturan keamanan standar tidak mengganggu jalur komunikasi.

Pengaturan berbeda tergantung pada distribusi dan mereka perlu diterapkan ke setiap node dalam sebuah cluster. Dalam contoh ini, penginstalan dilakukan menggunakan Debian 10.

Jika Anda menggunakan distribusi lain, kunjungi tutorial kami tentang cara menginstal Kubernetes pada sistem CentOS 7 atau Ubuntu 18.04.

Langkah 1:Nonaktifkan SWAP

Pod Kubernetes dirancang untuk memanfaatkan batas CPU sepenuhnya. kubelet tidak dirancang untuk menggunakan memori SWAP dan oleh karena itu, perlu dinonaktifkan. Masukkan perintah berikut di jendela terminal Anda untuk menonaktifkan SWAP:

sudo swapoff -a

Langkah 2:Selesaikan nftables Masalah Kompatibilitas Backend

kubeadm current saat ini paket tidak kompatibel dengan nftables bagian belakang. Untuk menghindari masalah apa pun, alihkan perkakas iptables ke mode lawasnya:

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
sudo update-alternatives --set arptables /usr/sbin/arptables-legacy
sudo update-alternatives --set ebtables /usr/sbin/ebtables-legacy

Langkah 3:Konfigurasi Firewall

Pengaturan firewall perlu dimodifikasi untuk memungkinkan komunikasi antar pod dalam sebuah cluster. Dalam contoh ini, kami mengedit port dengan menggunakan ufw .

Untuk melakukannya, ketik perintah berikut pada Master Node Anda:

sudo ufw allow 6443/tcp
sudo ufw allow 2379/tcp
sudo ufw allow 2380/tcp
sudo ufw allow 10250/tcp
sudo ufw allow 10251/tcp
sudo ufw allow 10252/tcp
sudo ufw allow 10255/tcp
sudo ufw reload

Selain itu, port ini harus dibuka di setiap Worker Node:

sudo ufw allow 10251/tcp
sudo ufw allow 10255/tcp
sudo ufw reload

Langkah 4:Instal Docker

Perangkat lunak runtime container mengelola gambar container pada node. Tanpa itu, Kubernetes tidak dapat mengakses pustaka gambar dan menjalankan aplikasi di dalam wadah. Untuk tujuan ini, kita akan menginstal Docker.
Instal Docker di semua Master dan Worker Node yang berpartisipasi di cluster Anda. Itu berarti Anda perlu mengulangi proses ini pada setiap node secara bergantian.

Akses antarmuka baris perintah Anda. Perintah berikut memperbarui repositori Debian dan menginstal paket. Ini juga memungkinkan sistem Anda untuk menggunakan repositori melalui protokol aman, HTTPS:

sudo apt-get update && apt-get install apt-transport-https ca-certificates curl software-properties-common

Sekarang ambil dan tambahkan kunci GPG resmi Docker dengan mengetik:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –

Output mengkonfirmasi bahwa tindakan telah selesai.

Kami telah menambahkan kunci GPG dan sekarang dapat melanjutkan untuk menambahkan repositori apt Docker:

sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \ 
stable"

Jangan lupa untuk memperbarui repositori Anda:

sudo apt-get update

Sistem sekarang siap untuk instalasi Docker CE.

Instal Docker menggunakan perintah berikut:

sudo apt-get install docker-ce

Periksa apakah layanan aktif dengan:

docker -v

Baris perintah mengonfirmasi bahwa layanan tersebut aktif.

Lihat apakah layanan berfungsi dengan baik dengan memanggil gambar:

sudo docker run hello-world

Anda sekarang telah menerima konfirmasi bahwa Docker berfungsi dengan baik.

Langkah 5:Ubah cgroup-driver

Pastikan docker-ce dan Kubernetes menggunakan 'cgroup' yang sama.

Periksa cgroup buruh pelabuhan saat ini:

sudo docker info | grep -i cgroup

Hasil di bawah ini mengkonfirmasi bahwa Docker menggunakan 'cgroupfs' sebagai cgroup-driver.

Ubah cgroup-driver Kubernetes menjadi 'cgroupfs' jika perlu dengan mengetik:

cat > /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF

Muat ulang sistem systemd dan mulai ulang layanan kubelet.

systemctl daemon-reload
systemctl restart kubelet

Kami telah memilih dan menginstal perangkat lunak runtime container, dalam hal ini, Docker. Bagian selanjutnya menjelaskan cara menginstal Kubernetes dan alat yang kita butuhkan untuk mengelola Kubernetes.

Instal Kubernetes di Server Bare Metal

Langkah 1:Unduh Repositori Kubernetes

Unduh Kubernetes dan tambahkan kunci penandatanganan untuk memastikan bahwa perangkat lunak tersebut asli:

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

Kami menerima konfirmasi bahwa paket tersedia.

Kubernetes tidak ada di repositori default. Untuk menambahkannya, masukkan perintah berikut pada setiap node di cluster:

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

Langkah 2:Instal kubelet, kubeadm dan kubectl

Untuk dapat mengelola Kubernetes, kita perlu menginstal kubectl , sebuah utilitas yang digunakan untuk mengeluarkan perintah ke cluster. Kita juga perlu menginstal kubelet karena sangat penting untuk men-deploy dan mengontrol pod dalam sebuah cluster. Kubeadm adalah program yang menginisialisasi Kubernetes saat startup. Untuk menginstal 3 alat penting ini, masukkan perintah berikut:

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

kubelet sekarang dimulai ulang setiap beberapa detik, karena menunggu di loop macet untuk kubeadm untuk memberi tahu apa yang harus dilakukan.

Langkah 3:Inisialisasi Kubernetes di Master Node

Masukkan perintah berikut pada master node:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Mungkin perlu beberapa menit hingga output mengonfirmasi bahwa cluster aktif:

Setelah sistem menyelesaikan tindakan, ini akan menampilkan kubeadm join pesan. Catat seluruh entri. Anda akan membutuhkannya untuk bergabung dengan node pekerja ke cluster.

Langkah 4:Buat Direktori untuk Cluster Kubernetes

Jadikan kubectl berfungsi untuk pengguna non-root Anda, dengan menjalankan perintah ini, yang juga merupakan bagian dari kubeadm init keluaran:

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

Langkah 5:Add-On Jaringan Pod (Flannel)

Instal add-on jaringan pod agar pod Anda dapat berkomunikasi secara efektif. Flanel adalah jaringan overlay yang kompatibel dengan Kubernetes. Untuk memasang jenis Flanel:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Langkah 6:Bergabung dengan Worker Node ke Cluster

Masukkan kubeadm join perintah pada setiap node pekerja. Kunci yang Anda catat dari Langkah 3 , menghubungkan setiap node ke cluster:

kubeadm join 10.0.2.15:6443 –token sv3ckz.fk2yooy92ieins26  \
--discovery-token-ca-cert-hash sha256:39d4a6ecc4a526b4aaff2594b469d43691fb7468688668f55d2a37690codo7fe

Tunggu beberapa menit dan periksa status node.

Beralih ke server master, dan masukkan:

kubectl get nodes

Sistem kemudian menampilkan node pekerja yang Anda gabungkan ke cluster.


Ubuntu
  1. Cara Menginstal Server RabbitMQ di Ubuntu 18.04 &16.04 LTS

  2. Cara Menginstal Server Gitlab di Ubuntu 18.04 &16.04 LTS

  3. Bagaimana cara menginstal Pdftk di server saya?

  1. Cara Menyebarkan Server Cloud Bare Metal

  2. Cara menginstal MsSQL Server 2019 di Ubuntu 20.04

  3. Cara menginstal Ansible di Ubuntu Server 21.04

  1. Cara Menginstal Server Web Nginx di Ubuntu 18.04

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

  3. Cara Menginstal Server SSH di Ubuntu 22.04