Halaman ini memberikan informasi tentang image node yang menggunakan containerd sebagai runtime container di node Google Kubernetes Engine (GKE) Anda.
Tentang containerd
Runtime container adalah software yang bertanggung jawab untuk menjalankan container, dan memisahkan pengelolaan container untuk Kubernetes. Ada beberapa runtime penampung yang berbeda.
Runtime containerd adalah runtime container standar industri yang didukung oleh Kubernetes, dan digunakan oleh banyak project lainnya. Runtime dalam containerd memberikan abstraksi lapisan yang memungkinkan implementasi serangkaian fitur seperti gVisor dan Image streaming untuk memperluas fungsi GKE.
Runtime dalam containerd dianggap lebih hemat resource dan aman daripada runtime Docker.
Menggunakan image containerd di cluster GKE
Saat Anda membuat cluster GKE baru, node pool baru di cluster yang sudah ada, atau saat mengupgrade cluster yang ada, Anda dapat memilih untuk menggunakan image node containerd. Cluster GKE Autopilot selalu menggunakan Container-Optimized OS dengan containerd.
Tabel berikut menjelaskan image node containerd yang didukung berdasarkan mode cluster dan OS node pool Anda:
Mode cluster | OS node pool | Gambar node |
---|---|---|
Autopilot | Linux | cos_containerd |
Standar | Linux |
|
Standard | Windows Server |
Image ini memerlukan GKE versi 1.21.1-gke.2200 atau yang lebih baru. |
Menggunakan Pod dengan hak istimewa untuk mengakses Docker
Jika pengguna mengakses Docker Engine pada node menggunakan Pod dengan hak istimewa, Anda harus memperbarui workload tersebut agar tidak terlalu bergantung pada Docker. Sebagai contoh, pertimbangkan untuk memigrasikan proses ekstraksi logging dan pemantauan dari Docker Engine ke add-on sistem GKE.
Membangun image container dengan containerd
Anda tidak dapat menggunakan containerd untuk membangun image container. Image Linux dengan containerd menyertakan biner Docker sehingga Anda dapat menggunakan Docker untuk membangun dan mengirim image. Namun, sebaiknya jangan gunakan container individual dan node lokal untuk menjalankan perintah guna membangun image.
Kubernetes tidak mengetahui resource sistem yang digunakan oleh proses lokal di luar cakupan Kubernetes, dan bidang kontrol Kubernetes tidak dapat memperhitungkan proses tersebut saat mengalokasikan resource. Hal ini dapat membuat resource pada workload GKE menjadi tidak memadai atau menyebabkan ketidakstabilan pada node.
Pertimbangkan untuk menyelesaikan tugas ini menggunakan service lain di luar cakupan container individual, seperti Cloud Build, atau menggunakan alat seperti kaniko untuk membuat image sebagai workload Kubernetes.
Jika tidak ada satu pun dari saran ini yang berhasil dan Anda memahami risikonya, Anda dapat terus menggunakan Docker di node lokal untuk membangun image. Anda harus mengirim image ke registry sebelum dapat menggunakannya di cluster GKE. Kubernetes dengan containerd tidak mengetahui image yang dibangun secara lokal menggunakan Docker.
Melakukan proses debug container pada node containerd
Untuk proses debug atau pemecahan masalah pada node Linux, Anda dapat berinteraksi dengan containerd menggunakan alat command line portabel yang dibangun untuk runtime container Kubernetes: crictl
. crictl
mendukung fungsi umum untuk melihat container
dan image, membaca log, dan menjalankan perintah container. Lihat panduan pengguna crictl untuk mengetahui rangkaian lengkap fitur yang didukung dan informasi penggunaan.
Untuk node Windows Server, daemon containerd berjalan sebagai layanan Windows bernama containerd
.
Log tersedia sebagai berikut:
- Windows:
C:\etc\kubernetes\logs\containerd.log
- Linux: jalankan
journalctl -u containerd
Anda juga dapat melihat log untuk node Windows dan Linux di Logs Explorer
di bagian LOG NAME: "container-runtime"
.
Masalah umum dan pemecahan masalah
Untuk pemecahan masalah dan masalah umum dengan solusi, silakan melihat Pemecahan masalah runtime container.
Langkah berikutnya
- Pelajari integrasi containerd lebih lanjut di pengumuman Kubernetes 1.11. Untuk mengetahui informasi selengkapnya, silakan membuka dokumentasi untuk containerd dan plugin CRI.
- Tinjau informasi migrasi dari Dockershim di kubernetes.io.
- Baca tentang penghentian penggunaan Dockershim oleh Kubernetes.
- Pelajari cara mengamankan aplikasi dengan gVisor di containerd.
- Baca manfaat menggunakan Cloud Build untuk membangun image dengan aman dan andal di Google Cloud guna menggantikan solusi kustom yang mungkin memerlukan Docker.
- Sesuaikan konfigurasi containerd di node GKE.