GNU/Linux >> Belajar Linux >  >> Ubuntu

Siapkan Cluster Kubernetes di Instans AWS EC2 dengan Ubuntu menggunakan kubeadm

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.

    1. 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.
    2. Gambar:
      Gambar adalah template read-only dengan instruksi untuk membuat container Docker. Seringkali, sebuah gambar didasarkan pada gambar lain, dengan beberapa penyesuaian tambahan
    3. 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.
    4. Kubernetes:
      Kubernetes adalah sistem orkestrasi container open-source untuk mengotomatisasi penerapan, penskalaan, dan pengelolaan aplikasi.
    5. Node:
      Sebuah simpul mewakili satu mesin dalam kluster.
    6. Pod:
      A adalah sekelompok wadah yang digunakan bersama di host yang sama. Ini adalah unit eksekusi dasar dari Kubernetes aplikasi.
    7. 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.
    8. 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.
  1. 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

  1. 3 Server Ubuntu 18.04 dengan RAM minimal 2 GB dan 2 CPU.
  2. Pengguna sistem dengan akses "sudo" di setiap server.

Apa yang akan kami lakukan

  1. 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.


Ubuntu
  1. Siapkan cluster Kubernetes dengan Rancher

  2. Setup Cluster Kubernetes di Ubuntu 20.04 menggunakan kubeadm

  3. Meningkatkan ruang disk instance ubuntu AWS EC2

  1. Cara Menyebarkan Load Balancing Nginx di Cluster Kubernetes di Ubuntu 18.04 LTS

  2. Buat instans EC2 di AWS menggunakan Terraform

  3. Siapkan Nextcloud dengan Redis menggunakan Docker

  1. Cara Menginstal Kubernetes di Ubuntu 18.04

  2. Bagaimana cara mengatur Cluster MongoDB menggunakan 3 node dengan Ubuntu 16?

  3. Menggunakan Ubuntu Dengan Pengaturan Dua Layar?