Lembar Cheat Kubernetes: Arsitektur, Komponen, Lembar Perintah

Diterbitkan: 2020-12-15

Kubernetes telah menjadi bagian penting dari industri dan mengubah dunia teknologi. Janet Kuo, co-chair KubeCon, membahas fitur-fitur Kubernetes dan pentingnya fitur tersebut di masa mendatang. Dia berbicara tentang ekstensi dan solusi Kubernetes yang akan mengubah dunia .

Lembar contekan ini akan memberikan referensi bagi para profesional yang bekerja dalam implementasi Kubernetes. Ini berisi semua detail yang diperlukan untuk membantu pemula yang baru mengenal Kubernetes. Lembar Cheat Kubernetes adalah media yang cepat dan praktis untuk merujuk ke semua konsep dan perintah penting dari Kubernetes.

Daftar isi

Tentang Kubernetes

Sebuah platform open-source untuk penyebaran otomatis dan penskalaan container di seluruh cluster host untuk menyediakan infrastruktur container-centric dikenal sebagai Kubernetes (juga dikenal sebagai “Kube” atau k8s). Ini memungkinkan manajemen yang mudah dan efisien dari berbagai host yang menjalankan wadah Linux dengan mengelompokkannya.

Kubernetes adalah platform yang dirancang untuk mengelola siklus hidup aplikasi dan layanan dalam container sepenuhnya. Pengguna Kubernetes dapat menentukan cara aplikasi harus berjalan dan berinteraksi dengan aplikasi yang berbeda.

Pengguna dapat mengalihkan lalu lintas di antara berbagai versi aplikasi, melakukan pembaruan, meningkatkan dan menurunkan skala layanan, dll. dengan Kubernetes. Ini menawarkan fleksibilitas, keandalan, dan kekuatan tingkat tinggi kepada pengguna dalam mengelola aplikasi.

Beberapa fitur utama Kubernetes adalah:

  • Maksimalkan sumber daya dengan memanfaatkan perangkat keras dengan lebih baik.
  • Orkestra kontainer di beberapa host.
  • Mengotomatiskan proses penerapan dan pembaruan.
  • Mampu menjalankan wadah Linux.
  • Penskalaan otomatis membantu meluncurkan container pada node cluster.
  • Menskalakan ke atas dan ke bawah sesuai kebutuhan.
  • Penyembuhan diri dengan mengganti, menjadwal ulang, dan memulai kembali wadah yang mati.
  • Rollback dan rollout otomatis.
  • Penyeimbangan beban dan penemuan layanan.
  • Mulai ulang otomatis, penempatan otomatis, dan replikasi otomatis, dll.

Baca: Algoritma Pembelajaran Mendalam

Arsitektur Kubernetes

Arsitektur Kubernetes terdiri dari lapisan: Lapisan lebih tinggi dan lebih rendah. Kompleksitas mengabstraksi lapisan yang lebih tinggi dapat ditemukan di lapisan yang lebih rendah. Mesin fisik atau virtual individu disatukan menjadi sebuah cluster. Jaringan bersama digunakan untuk komunikasi antara setiap server. Jadi, seperti platform terdistribusi lainnya, Kubernetes memiliki satu master (setidaknya), dan beberapa node komputasi.

  • Master Kubernetes menjadwalkan penerapan, mengekspos API, dan mengelola kluster Kubernetes secara keseluruhan.
  • Node menjalankan runtime container, agen untuk berkomunikasi dengan master, dan komponen pemantauan lainnya, logging, dll.

Komponen arsitektur Kubernetes

Mari kita lihat tujuan dan komponen master dan node dalam arsitektur Kubernetes.

Menguasai

Master mempertahankan keadaan cluster yang diinginkan. Karena mengelola seluruh cluster, itu disebut master. Itu mengandung:

  • Server API: Server API Kubernetes
  • Penjadwal: Digunakan untuk penjadwalan pod di node pekerja
  • Pengontrol: Mengelola replikasi pod
  • Dll: Layanan metadata

Node

Ini berisi layanan yang diperlukan yang penting untuk menjalankan pod. Master mengelola node. Itu juga disebut Minion. Itu mengandung:

  • Pod: Kelompok kontainer
  • Docker: Teknologi berbasis container, ruang pengguna OS.
  • Kubelet: Agen kontainer yang bertanggung jawab untuk memelihara kumpulan pod.
  • Kube-proxy: Merutekan lalu lintas yang masuk ke node dari layanan

Sekarang, mari kita pahami perintah-perintah penting dari Kubernetes.

Perintah Kubectl

Kubectl adalah alat baris perintah untuk Kubernetes. Perintah dasar Kubectl dapat dibagi menjadi:

  • Introspeksi Pod dan Kontainer
  • Introspeksi Cluster
  • Men-debug
  • Perintah Cepat
  • Objek

Introspeksi Pod dan Kontainer

Kegunaan Memerintah
Untuk mendeskripsikan nama pod Kubectl mendeskripsikan pod<name>
Untuk mendaftar semua pod saat ini Kubectl mendapatkan pod
Untuk mendaftar semua pengontrol replikasi Kubectl dapatkan rc
Untuk menampilkan nama pengontrol replikasi Kubectl mendeskripsikan rc <name>
Untuk membuat daftar pengontrol replikasi di namespace Kubectl get rc –namespace="namespace"
Untuk menunjukkan nama layanan Kubectl mendeskripsikan svc<nama>
Untuk layanan daftar Kubectl dapatkan cvc
Untuk menonton node terus menerus. Kubectl mendapatkan node -w
Untuk menghapus pod Kubectl menghapus pod<nama>

Introspeksi Cluster

Kegunaan Memerintah
Untuk mendapatkan informasi terkait versi versi kubectl
Untuk mendapatkan detail konfigurasi Kubectl config g view
Untuk mendapatkan informasi terkait cluster Kubectl cluster-info
Untuk mendapatkan informasi tentang sebuah node Kubectl mendeskripsikan node<node>

Perintah Debug

Kegunaan Memerintah
Untuk menampilkan metrik untuk pod Pod atas kubectl
Untuk menampilkan metrik untuk sebuah node Node atas Kubectl
Untuk menonton log Kubelet Tonton -n 2 cat/var/log/kublet.log
Untuk mendapatkan log dari layanan untuk wadah Kubectl logs -f<nama>>[-c< $container>]
Untuk pelaksanaan perintah pada layanan dengan memilih wadah Kubectl exec<service><commands>[-c< $container>]

Perintah Cepat

Perintah cepat di bawah ini sering digunakan dan karenanya, sangat berguna.

Kegunaan Memerintah
Untuk meluncurkan pod dengan nama dan gambar. Kubectl run<name> — image=<image-name>
Untuk membuat layanan yang dijelaskan dalam <manifest.yaml> Kubectl create -f <manifest.yaml>
Untuk penskalaan penghitung replikasi untuk menghitung jumlah instance. Skala kubectl –replicas=<count>rc<name>
Untuk memetakan port eksternal ke port replikasi internal. Buka rc<nama> –port=<eksternal>–target-port=<internal>
Untuk menghentikan semua pod di <n> Kubectl drain<n>– delete-local-data–force–ignore-daemonset
Untuk membuat namespace. Kubectl membuat namespace <namespace>
Untuk mengizinkan master node menjalankan pod. Kubectltaintnodes –all-node-role.kuernetes.io/master-

Objek

Beberapa objek familiar yang digunakan di Kubernetes adalah sebagai berikut:

Daftar Objek Umum
Semua Revisi pengontrol
cm = conf gmaps Ikatan peran cluster
Cronjobs cs=status komponen
Deploy=penempatan batas = batas rentang
ev= peristiwa hpa= penskalaan otomatis pod horizontal
pekerjaan ds= kumpulan daemon
Tidak = simpul ns= ruang nama
po = polong Prasetel pod
Psp= kebijakan keamanan pod Pv = volume persisten
kuota = kuota sumber daya rs= set replika
peran rc= pengontrol replikasi
sc= kelas penyimpanan pdb= anggaran distribusi pod
peran cluster rahasia
crd=definisi sumber daya khusus Template pod
csr= permintaan penandatanganan sertifikat sa= akun layanan
Netpol- kebijakan jaringan Ikatan peran
ing = masuk pvc= klaim volume persisten
ep=titik akhir sts = himpunan stateful

Baca Juga: Regularisasi dalam Deep Learning

Lembar Cheat Perintah Kubernetes

Semua informasi dasar tentang Kubernetes, arsitektur dan perintahnya ditunjukkan pada lembar contekan Kubernetes di bawah ini:

Jika Anda tertarik untuk mempelajari lebih lanjut tentang teknik pembelajaran mendalam, pembelajaran mesin, lihat PG Diploma IIIT-B & upGrad dalam Pembelajaran Mesin & AI yang dirancang untuk profesional yang bekerja dan menawarkan 450+ jam pelatihan ketat, 30+ studi kasus & tugas, status Alumni IIIT-B, 5+ proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.

Apa itu Kubernetes?

Kubernetes adalah platform sumber terbuka untuk mengotomatiskan penerapan, penskalaan, dan pengelolaan container. Wadah adalah paket perangkat lunak siap pakai yang berisi semua yang diperlukan untuk menjalankan aplikasi: kode, lingkungan runtime, aplikasi, dan pustaka sistem. Kontainer seperti unit logis dari aplikasi, dan ketika Kubernetes mengelompokkannya, menjadi mudah untuk mengelola dan menemukan kontainer. Container-container ini di-deploy dan diskalakan di seluruh host untuk menyediakan infrastruktur container-centric. Singkatnya, ini adalah platform yang mengelola seluruh siklus hidup aplikasi kemas.

Apa saja komponen utama arsitektur Kubernetes?

Ada dua komponen utama dalam arsitektur Kubernetes - node master dan node pekerja. Node adalah mesin pekerja utama yang penting untuk menjalankan sekelompok cluster yang disebut pod. Seluruh cluster dikelola oleh node master, sedangkan node pekerja melakukan tugas yang diberikan oleh node master. Node ini memiliki banyak komponen bawaan di dalamnya. Node master berisi Kubernetes API Server, Kubernetes Scheduler, Kubernetes Controller, dan Etcd. Node pekerja memiliki pod, docker, kubelet, dan kube-proxy.

Apa yang kubelet dan kube-proxy lakukan?

Kubelet, yang ada di setiap node, memastikan container berjalan dengan baik di dalam pod. Ia melakukannya dengan mengambil satu set PodSpec yang disediakan terutama melalui apiserver dan memeriksa container yang ada di PodSpec tersebut. PodSpec adalah objek YAML atau JSON yang mendeskripsikan sebuah pod. Kubernetes Network Proxy, juga dikenal sebagai kube-proxy, memelihara aturan jaringan pada node. Komunikasi dari sesi jaringan di dalam atau di luar cluster ke pod dimungkinkan melalui aturan jaringan ini. Kube-proxy meneruskan lalu lintas jika lapisan pemfilteran paket OS tidak tersedia.