Pada artikel ini, kita akan melihat cara mengatur cluster Kubernetes dengan 2 Worker Node dan 1 Master Node di Server Ubuntu 18.04 LTS. Kami akan menggunakan "kubeadm " alat untuk menyiapkan cluster. Kubeadm adalah alat yang dibuat untuk menyediakan "kubeadm init " dan "kubeadm bergabung " untuk membuat cluster Kubernetes. Sebelum melanjutkan pembuatan cluster, mari kita pahami beberapa istilah secara singkat.
- Pekerja Buruh:
Docker adalah platform terbuka untuk mengembangkan, mengirim, dan menjalankan aplikasi. Docker memungkinkan Anda untuk memisahkan aplikasi dari infrastruktur sehingga Anda dapat mengirimkan perangkat lunak dengan cepat. Dengan Docker, Anda dapat mengelola infrastruktur dengan cara yang sama seperti Anda mengelola aplikasi. - Gambar:
Gambar adalah template read-only dengan instruksi untuk membuat container Docker. Seringkali, sebuah gambar didasarkan pada gambar lain, dengan beberapa penyesuaian tambahan - Wadah:
Wadah adalah instance gambar yang dapat dijalankan. Anda dapat membuat, memulai, menghentikan, memindahkan, atau menghapus container menggunakan Docker API atau CLI. Anda dapat menghubungkan penampung ke satu atau beberapa jaringan, melampirkan penyimpanan ke dalamnya, atau bahkan membuat gambar baru berdasarkan statusnya saat ini. - Kubernetes:
Kubernetes adalah sistem orkestrasi container open-source untuk mengotomatisasi penerapan, penskalaan, dan pengelolaan aplikasi. - Node:
Sebuah simpul mewakili satu mesin dalam kluster.
- Pod:
A adalah sekelompok wadah yang digunakan bersama di host yang sama. Ini adalah unit eksekusi dasar dari Kubernetes aplikasi. - Penerapan:
Penerapan menjalankan beberapa replika aplikasi Anda dan secara otomatis mengganti semua instance yang gagal atau menjadi tidak responsif. Ini memberikan pembaruan deklaratif untuk Pod dan ReplicaSet. - Set Replika:
Ini memastikan berapa banyak replika pod yang harus dijalankan. Ini dapat dianggap sebagai pengganti pengontrol replikasi.
- Pengontrol Replikasi:
Ini adalah pengawas untuk pod yang berjalan lama. Ini akan meluncurkan sejumlah pod tertentu yang disebut replika dan memastikan pod tersebut terus berjalan sepanjang waktu.
- Layanan:
Ini adalah abstraksi yang mendefinisikan kumpulan logis dari Pod dan kebijakan untuk mengaksesnya.
API Server, etcd, Controller Manager & Scheduler, adalah komponen dari Master dan Docker, Kubelet Service &Kubernetes Proxy Service adalah komponen dari Worker Node. Kami tidak akan membahas komponen-komponen ini dalam dokumen ini. Jika Anda ingin mengetahui tentang komponen ini, Anda dapat mengunjungi laman resmi Kubernetes di sini.
Prasyarat
- 3 Server Ubuntu 18.04 dengan RAM minimal 2 GB dan 2 CPU.
- Pengguna sistem dengan akses "sudo" di setiap server.
Apa yang akan kami lakukan
- Siapkan Cluster Kubernetes dengan kubeadm
Menyiapkan Cluster Kubernetes dengan kubeadm
Di sini,
Kami memiliki 3 Server Ubuntu 18.04 LTS.
Server 1=node1
Server 2=node2
Server 3=master
Sebelum melanjutkan dengan penginstalan yang sebenarnya, mari ubah nama host server.
Anda dapat menggunakan perintah berikut untuk menyetel nama host di setiap server. Setelah menjalankan perintah berikut di setiap server, login kembali ke server sehingga server akan mendapatkan Hostname baru.
sudo hostnamectl set-hostname "master"
sudo hostnamectl set-hostname "node1"
sudo hostnamectl set-hostname "node2"
Ikuti langkah-langkah yang disebutkan di bawah untuk menampilkan cluster Kubernets yang berfungsi.
Dapatkan kunci gpg Docker (Jalankan perintah berikut di Semua Node) :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Tambahkan repositori Docker(Jalankan perintah berikut di Semua Node ) :
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Dapatkan kunci gpg Kubernetes(Jalankan perintah berikut di Semua Node ) :
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Tambahkan repositori Kubernetes(Jalankan perintah berikut di Semua Node ) :
kucing <deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
Perbarui paket Anda(Jalankan perintah berikut di Semua Node ) :
sudo apt-get update
Instal Docker, kubelet, kubeadm, dan kubectl(Jalankan perintah berikut di Semua Node ) :
sudo apt-get install -y docker-ce=18.06.1~ce~3-0~ubuntu kubelet=1.15.7-00 kubeadm=1.15.7-00 kubectl=1.15.7-00
Tahan pada versi saat ini(Jalankan perintah berikut di Semua Node ) :
sudo apt-mark hold docker-ce kubelet kubeadm kubectl
Tambahkan aturan iptables ke sysctl.conf (Jalankan perintah berikut di Semua Node ) :
echo "net.bridge.bridge-nf-call-iptables=1" | sudo tee -a /etc/sysctl.conf
Aktifkan iptables segera(Jalankan perintah berikut di Semua Node :
sudo sysctl -p
Atas Guru :
Inisialisasi cluster (Jalankan perintah berikut hanya pada node Master) :
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Siapkan kubeconfig lokal(Jalankan perintah berikut hanya di node Master ) :
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Terapkan overlay jaringan Flannel CNI(Jalankan perintah berikut hanya pada node Master ) :
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Di Node1 dan Node 2:
Gabungkan node pekerja ke cluster (Jalankan perintah berikut hanya di Node1 dan Node2) :
sudo kubeadm join 172.31.4.161:6443 --token 0y52t6.ffsj8jkjfcl1sq8h \
--discovery-token-ca-cert-hash sha256:7aa1825042d19d3e567f7e4b447634e495192fe9ed>
Pastikan node pekerja telah berhasil bergabung dengan clusterJalankan perintah berikut di Master Node ) :
kubectl mendapatkan node
Kesimpulan:
Pada artikel ini, kita belajar menyiapkan Cluster Kubernetes dengan alat kubeadm. Kami melihat betapa mudahnya sebuah cluster dapat dibuat jika langkah-langkahnya tidak terlewatkan dan pemasangan yang benar dilakukan.
Instalasi Platform E-Commerce Magento dengan Apache2 dan Lets Encrypt di Ubuntu 20.04 Cara Menginstal Perangkat Lunak Forum ElkArte di Ubuntu 20.04Ubuntu