Image node containerd


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
  • cos_containerd
  • ubuntu_containerd
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