Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Cara menggunakan orkestrasi kontena Kubernetes dalam sistem Linux

Cara menggunakan orkestrasi kontena Kubernetes dalam sistem Linux

王林
王林asal
2023-06-18 12:14:321463semak imbas

Dengan peningkatan aplikasi asli awan, Kubernetes telah menjadi standard de facto untuk orkestrasi kontena. Memandangkan Kubernetes adalah sumber terbuka dan boleh dijalankan pada pelbagai pengedaran Linux, adalah perkara biasa untuk menggunakan orkestrasi kontena Kubernetes dalam sistem Linux. Artikel ini akan memperkenalkan cara memasang dan mengkonfigurasi Kubernetes dalam sistem Linux dan cara menggunakan Kubernetes untuk orkestrasi kontena.

  1. Memasang Kubernetes

Memasang Kubernetes dalam sistem Linux biasanya memerlukan langkah berikut:

1.1 Pasang Docker

Disebabkan Kubernetes Gunakan Docker sebagai masa jalan kontena, jadi anda perlu memasang Docker terlebih dahulu. Dalam sistem Ubuntu, anda boleh menggunakan arahan berikut untuk memasang Docker:

sudo apt-get update
sudo apt-get install docker.io

Dalam sistem CentOS, anda boleh menggunakan arahan berikut untuk memasang Docker:

sudo yum install docker
sudo systemctl start docker
sudo systemctl enable docker

1.2 Pasang Kubernetes

Dalam sistem Ubuntu Dalam sistem CentOS, anda boleh menggunakan arahan berikut untuk memasang Kubernetes:

sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl

Dalam sistem CentOS, anda boleh menggunakan arahan berikut untuk memasang Kubernetes:

sudo yum install -y epel-release
sudo yum update -y
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet && sudo systemctl start kubelet
  1. Konfigurasikan Kubernetes

2.1 Memulakan nod Induk

Dalam gugusan Kubernetes, nod Induk bertanggungjawab untuk mengurus keseluruhan gugusan. Untuk memulakan nod Master, anda perlu menjalankan arahan berikut:

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

Perintah ini akan memasang komponen yang diperlukan dan menjana arahan untuk menyertai nod. Beberapa baris terakhir output arahan pelaksanaan akan mengandungi arahan untuk menyertai nod, seperti:

kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef 
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

Sila ambil perhatian bahawa output arahan ini hendaklah unik dan hanya terpakai pada nod Induk tersebut.

2.2 Sertai Nod Pekerja

Untuk menambah nod Pekerja pada gugusan Kubernetes, anda perlu menjalankan output arahan nod gabungan dalam langkah sebelumnya. Contohnya:

sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef 
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

Menjalankan arahan ini akan memasang komponen yang diperlukan dan menambah nod Pekerja pada kelompok.

2.3 Pasang pemalam rangkaian

Kubernetes memerlukan pemalam rangkaian untuk menyediakan rangkaian untuk Pod. Pemalam rangkaian yang biasa digunakan termasuk Flanel dan Calico. Di sini, kami memilih untuk memasang Flanel. Untuk memasang Flanel, anda boleh menjalankan arahan berikut:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  1. Orkestrasi Kontena dengan Kubernetes

Kini, kami telah berjaya memasang dan mengkonfigurasi Kubernetes pada sistem Linux kami. Seterusnya, kami akan memperkenalkan cara menggunakan Kubernetes untuk orkestrasi kontena.

3.1 Cipta Deployment

Dalam Kubernetes, Deployment ialah abstraksi untuk mencipta dan mengurus Pod. Untuk membuat Deployment, gunakan perintah kubectl. Contohnya, untuk mencipta Deployment bernama nginx, anda boleh menjalankan arahan berikut:

kubectl create deployment nginx --image=nginx

Perintah ini akan menggunakan bekas bernama nginx, menggunakan imej nginx pada Docker Hub.

3.2 Edit Deployment

Untuk mengubah suai Deployment, anda boleh menggunakan perintah kubectl edit deployment. Contohnya, untuk mengubah suai bilangan replika Deployment nginx kepada 3, anda boleh menjalankan arahan berikut:

kubectl edit deployment nginx

Ini akan membuka editor di mana anda boleh mengubah suai fail yaml. Tukar nilai medan replika kepada 3, kemudian simpan dan keluar dari editor.

3.3 Mendedahkan Perkhidmatan

Dalam Kubernetes, Perkhidmatan ialah abstraksi yang digunakan untuk mendedahkan titik akhir rangkaian Pod. Untuk mendedahkan Perkhidmatan Deployment, anda boleh menggunakan perintah kubectl expose. Sebagai contoh, untuk mendedahkan Perkhidmatan Penggunaan nginx, anda boleh menjalankan perintah berikut:

kubectl expose deployment nginx --port=80 --type=NodePort

Perintah ini akan mencipta Perkhidmatan bernama nginx dan mendedahkannya ke port 80 semua nod dalam kelompok.

3.4 Memperluaskan Deployment

Untuk melanjutkan Deployment, anda boleh menggunakan perintah skala kubectl. Sebagai contoh, untuk mengembangkan bilangan replika Deployment nginx kepada 5, anda boleh menjalankan arahan berikut:

kubectl scale deployment nginx --replicas=5

3.5 Status Pengurusan

Untuk melihat status Deployment, gunakan kubectl perintah. Contohnya, untuk melihat semua Deployment dan statusnya, anda boleh menjalankan perintah berikut:

kubectl get deployments

Perintah ini akan mengeluarkan nama, kuantiti yang diperlukan, kuantiti yang tersedia dan status semua Deployment dalam kelompok.

Ringkasan

Melalui artikel ini, kami telah mempelajari cara memasang dan mengkonfigurasi Kubernetes dalam sistem Linux dan menggunakan Kubernetes untuk orkestrasi kontena. Kemahiran ini mesti dimiliki oleh mana-mana pembangun dan pentadbir sistem yang ingin memasuki dunia asli awan.

Atas ialah kandungan terperinci Cara menggunakan orkestrasi kontena Kubernetes dalam sistem Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn