GNU/Linux >> Belajar Linux >  >> Linux

Cara men-deploy pod pertama Anda di Cluster Kubernetes

Pada artikel ini kita akan melihat cara membuat Pod pertama kita di Cluster Kubernetes. Kita akan melihat langkah-langkah membuat pod untuk Nginx.

A Pod adalah unit eksekusi dasar aplikasi Kubernetes. Ini adalah kumpulan container yang di-deploy bersama di host yang sama. Pod dalam cluster Kubernetes dapat digunakan dengan dua cara:

  1. Pod yang menjalankan satu container: Ini adalah cara paling populer dalam menggunakan Pod. Kubernetes mengelola pod, bukan mengelola container secara langsung.
  2. Pod yang menjalankan beberapa container yang perlu bekerja sama: Dalam model ini, sebuah pod dapat memiliki beberapa container yang digabungkan secara erat untuk berbagi resource.

Seperti yang dinyatakan di atas bahwa sebuah Pod dapat berisi banyak container, selalu disarankan untuk memiliki satu container jika memungkinkan. Mengelompokkan beberapa container dalam satu Pod adalah kasus penggunaan yang relatif maju. Anda harus menggunakan pola ini hanya dalam kasus tertentu di mana wadah Anda digabungkan dengan erat.

Jika kami menerapkan satu container, biasanya kami dapat mengganti kata "pod" dengan "container". Pod memungkinkan berbagi data dan komunikasi di antara konstituennya.

Sebuah Pod selalu berjalan di Node. Node adalah mesin pekerja di Kubernetes dan dapat berupa mesin virtual atau fisik, tergantung pada cluster. Setiap Node dikelola oleh Master. Sebuah Node dapat memiliki beberapa pod, dan master Kubernetes secara otomatis menangani penjadwalan pod di seluruh Node dalam cluster.

5 tahapan dalam siklus hidup pod

  1. Tertunda : Pod telah diterima oleh sistem Kubernetes, tetapi satu atau beberapa gambar Container belum dibuat. Ini termasuk waktu sebelum dijadwalkan serta waktu yang dihabiskan untuk mengunduh gambar melalui jaringan, yang dapat memakan waktu cukup lama.
  2. Berjalan : Pod telah diikat ke sebuah node, dan semua Container telah dibuat. Setidaknya satu Penampung masih berjalan, atau sedang dalam proses memulai atau memulai ulang.
  3. Berhasil : Semua Container dalam Pod telah berhasil dihentikan, dan tidak akan dimulai ulang.
  4. Gagal : Semua Kontainer dalam Pod telah dihentikan, dan setidaknya satu Kontainer telah dihentikan karena kegagalan. Artinya, Kontainer keluar dengan status bukan nol atau dihentikan oleh sistem.
  5. Tidak diketahui : Untuk beberapa alasan, status Pod tidak dapat diperoleh, biasanya karena kesalahan dalam berkomunikasi dengan host Pod.

Prasyarat

  1. Akun AWS (Buat jika Anda belum memilikinya)
  2. Cluster Kubernetes (Cari "Siapkan Cluster Kubernetes di Instance AWS EC2 Ubuntu 18.04 LTS using kubeadm" jika Anda ingin belajar membuat Cluster Kubernetes).

Catatan:Anda juga dapat menggunakan VM untuk membuat cluster jika Anda tidak ingin mencoba Instans AWS EC2.

Apa yang akan kami lakukan

  1. Buat Kubernetes Pod untuk NginX dan hapus

Buat Pod Kubernetes untuk Nginx

Untuk membuat pod pertama kita, buat direktori baru untuk membuat File Object/Pod kita. Gunakan perintah berikut untuk membuat direktori baru di sistem Anda

mkdir my-first-pod
cd my-first-pod/

Sebelum melanjutkan, verifikasi status cluster.

Untuk memeriksa Node yang tersedia di cluster dan untuk memeriksa  versi "kubectl " gunakan perintah berikut.

sudo kubectl mendapatkan node
versi sudo kubectl

Gunakan perintah berikut untuk membuat daftar pod di namespace default. Karena ini akan menjadi pod pertama kami di Cluster, Anda tidak akan melihat pod apa pun di namespace default.

sudo kubectl dapatkan pod

Setelah Node tersedia di cluster, Anda siap membuat pod pertama.

Buat file "my-first-pod.yml" dengan blok kode berikut

vim my-first-pod.yml

---
apiVersion: v1
kind: Pod
metadata:
  name: myfirstpod
  labels:
    app: web
spec:
  containers:
    - name: myfirstcontainer
      image: nginx
      ports:
        - containerPort: 80

Di sini,

  • apiVersion :APIVersion mendefinisikan skema berversi dari representasi objek ini.
  • jenis :Jenis objek yang ingin Anda buat. Ini pod karena kita sedang membuat pod.
  • nama :Nama harus unik dalam namespace.
  • label :Peta kunci string dan nilai yang dapat digunakan untuk mengatur dan mengkategorikan objek
  • spesifikasi :Spesifikasi perilaku pod yang diinginkan.

Sekarang Anda siap membuat pod menggunakan perintah berikut.

sudo kubectl apply -f my-first-pod.yml 

Anda bisa mendapatkan detail pod menggunakan perintah berikut.

sudo kubectl dapatkan pod

Untuk mengonfirmasi apakah Pod benar-benar berjalan, jalankan perintah berikut. Ini menjalankan perintah di dalam pod kita (Catatan:Ini mirip dengan menjalankan docker exec .)

sudo kubectl exec myfirstpod — status layanan nginx

Jika Anda tidak lagi memerlukan pod, Anda dapat menghapusnya menggunakan "perintah hapus kubectl".

sudo kubectl hapus pod myfirstpod

Terakhir untuk memverifikasi apakah pod telah dihapus, gunakan perintah berikut.

sudo kubectl dapatkan pod

Kesimpulan

Dalam artikel ini, kita mempelajari hal-hal dasar tentang Pod, tahapan Siklus Hidupnya. Kami melihat langkah-langkah untuk membuat Nginx Pod pertama kami di Kubernetes. Kami juga melihat bagaimana detail mengenai Pod dapat diekstraksi. Bersamaan dengan ini, kami menjelajahi perintah untuk menghapus Pod.


Linux
  1. Cara Menyebarkan Cluster Redis di Kubernetes

  2. Cara Menjalankan MongoDB di Kubernetes

  3. Cara membuat situs Plesk

  1. Cara Menyebarkan RabbitMQ di Kubernetes

  2. Cara Menyebarkan PostgreSQL di Kubernetes

  3. Cara Memasang Cluster Kubernetes (k8s) di RHEL 8

  1. Cara Mengatur Cluster Kubernetes(k8s) di HA dengan Kubeadm

  2. Cara membuat Deployment di Kubernetes

  3. Cara Men-deploy Aplikasi Multi-Tier dengan Kubernetes