CRI-O mengikuti siklus rilis Kubernetes sehubungan dengan versi minornya ( 1.xy
). Rilis patch ( 1.xz
) untuk Kubernetes tidak sinkron dengan rilis dari CRI-O, karena dijadwalkan setiap bulan, sedangkan CRI-O menyediakannya hanya jika diperlukan. Jika rilis Kubernetes mencapai End of Life, maka versi CRI-O yang sesuai dapat dipertimbangkan dengan cara yang sama.
Artinya, CRI-O juga mengikuti kebijakan kemiringan versi rilis Kubernetes n-2
dalam hal kelulusan, penghentian, atau penghapusan fitur. Hal ini juga berlaku untuk fitur-fitur yang independen dari Kubernetes. Namun demikian, backport fitur ke cabang rilis yang didukung, yang independen dari Kubernetes atau alat lain seperti cri-tools, masih dimungkinkan. Hal ini memungkinkan CRI-O untuk memisahkan diri dari siklus rilis Kubernetes dan memiliki fleksibilitas yang cukup dalam mengimplementasikan fitur-fitur baru. Setiap fitur yang akan di-backport akan menjadi keputusan komunitas kasus per kasus, sementara matriks kompatibilitas secara keseluruhan tidak boleh dikompromikan.
Untuk informasi lebih lanjut, kunjungi Kebijakan Kemiringan Versi Kubernetes.
CRI-O | Kubernet | Status pemeliharaan |
---|---|---|
cabang main | cabang master | Fitur-fitur dari repositori utama Kubernetes diimplementasikan secara aktif |
release-1.x cabang ( v1.xy ) | release-1.x cabang ( v1.xz ) | Pemeliharaan bersifat manual, hanya perbaikan bug yang akan di-backport. |
Catatan rilis untuk CRI-O dibuat dengan tangan dan dapat terus diambil dari situs web halaman GitHub kami.
CRI-O dimaksudkan untuk menyediakan jalur integrasi antara runtime yang sesuai dengan OCI dan Kubelet. Secara khusus, ia mengimplementasikan Kubelet Container Runtime Interface (CRI) menggunakan runtime yang sesuai dengan OCI. Ruang lingkup CRI-O terkait dengan ruang lingkup CRI.
Pada tingkat tinggi, kami berharap cakupan CRI-O dibatasi pada fungsi berikut:
CRI-O adalah implementasi dari Kubernetes Container Runtime Interface (CRI) yang memungkinkan Kubernetes meluncurkan dan mengelola container Open Container Initiative (OCI) secara langsung.
Rencananya adalah menggunakan proyek OCI dan perpustakaan terbaik untuk berbagai aspek:
Saat ini sedang dalam pengembangan aktif di komunitas Kubernetes melalui proposal desain. Pertanyaan dan permasalahan harus diangkat di saluran Slack sign-node Kubernetes.
Peta jalan yang menggambarkan arah CRI-O dapat ditemukan di sini. Proyek ini melacak semua upaya yang sedang berlangsung sebagai bagian dari proyek Feature Roadmap GitHub.
CI CRI-O dibagi antara tindakan GitHub dan OpenShift CI (Prow). Gambar mesin virtual yang relevan yang digunakan untuk pekerjaan haluan dibuat secara berkala dalam pekerjaan:
Pekerjaan dipertahankan dari repositori openshift/release dan menentukan alur kerja yang digunakan untuk pekerjaan tertentu. Definisi pekerjaan sebenarnya dapat ditemukan di repositori yang sama di bawah ci-operator/jobs/cri-o/cri-o/cri-o-cri-o-main-presubmits.yaml untuk cabang main
serta file terkait untuk cabang rilis. Konfigurasi gambar dasar untuk pekerjaan tersebut tersedia di repositori yang sama di bawah ci-operator/config/cri-o/cri-o.
Memerintah | Keterangan |
---|---|
menangis(8) | Daemon Runtime Kontainer OCI Kubernetes |
Contoh alat baris perintah untuk berinteraksi dengan CRI-O (atau runtime lain yang kompatibel dengan CRI) adalah Crictl dan Podman.
Mengajukan | Keterangan |
---|---|
crio.conf(5) | File Konfigurasi CRI-O |
kebijakan.json(5) | File Kebijakan Verifikasi Tanda Tangan |
registrasi.conf(5) | File Konfigurasi Registri |
penyimpanan.conf(5) | File Konfigurasi Penyimpanan |
Proses keamanan untuk melaporkan kerentanan dijelaskan di SECURITY.md.
Anda dapat mengonfigurasi CRI-O untuk memasukkan OCI Hooks saat membuat container.
Kami memberikan informasi yang berguna untuk operasi dan transfer pembangunan terkait dengan infrastruktur yang memanfaatkan CRI-O.
Untuk komunikasi asinkron dan diskusi jangka panjang, silakan gunakan isu dan tarik permintaan di repo GitHub. Ini akan menjadi tempat terbaik untuk mendiskusikan desain dan implementasi.
Untuk komunikasi obrolan, kami memiliki saluran di slack Kubernetes sehingga semua orang dapat bergabung dan mengobrol tentang pengembangan.
Kami menyimpan daftar tautan pilihan yang terkait dengan CRI-O. Apakah Anda menemukan sesuatu yang menarik di web tentang proyek ini? Luar biasa, jangan ragu untuk membuka PR dan menambahkannya ke daftar.
Untuk menginstal CRI-O
, Anda dapat mengikuti panduan instalasi kami. Alternatifnya, jika Anda lebih suka membuat CRI-O
dari sumber, lihat panduan pengaturan kami.
Sebelum memulai, Anda harus memulai CRI-O
Anda dapat menjalankan Kubernetes versi lokal dengan CRI-O
menggunakan local-up-cluster.sh
:
CGROUP_DRIVER=systemd
CONTAINER_RUNTIME=remote
CONTAINER_RUNTIME_ENDPOINT='unix:///var/run/crio/crio.sock'
./hack/local-up-cluster.sh
Untuk panduan lebih lanjut dalam menjalankan CRI-O
, kunjungi halaman tutorial kami
CRI-O secara default mengekspos API gRPC untuk memenuhi Container Runtime Interface (CRI) Kubernetes. Selain itu, terdapat API HTTP tambahan untuk mengambil informasi status runtime lebih lanjut tentang CRI-O. Perlu diketahui bahwa API ini tidak dianggap stabil dan kasus penggunaan produksi tidak boleh bergantung padanya.
Pada instance CRI-O yang sedang berjalan, kita dapat mengakses API melalui alat transfer HTTP seperti curl:
$ sudo curl -v --unix-socket /var/run/crio/crio.sock http://localhost/info | jq
{
"storage_driver": "btrfs",
"storage_root": "/var/lib/containers/storage",
"cgroup_driver": "systemd",
"default_id_mappings": { ... }
}
Titik masuk API berikut saat ini didukung:
Jalur | Tipe Konten | Keterangan |
---|---|---|
/info | application/json | Informasi umum tentang runtime, seperti storage_driver dan storage_root . |
/containers/:id | application/json | Informasi kontainer khusus, seperti name , pid dan image . |
/config | application/toml | Konfigurasi TOML lengkap (default pada /etc/crio/crio.conf ) digunakan oleh CRI-O. |
/pause/:id | application/json | Jeda kontainer yang sedang berjalan. |
/unpause/:id | application/json | Membatalkan jeda penampung yang dijeda. |
/debug/goroutines | text/plain | Cetak tumpukan goroutine. |
/debug/heap | text/plain | Tulis tumpukan dump. |
crio status
subperintah dapat digunakan untuk mengakses API dengan alat baris perintah khusus. Ini mendukung semua titik akhir API melalui subperintah khusus config
, info
dan containers
, misalnya:
$ sudo crio status info
cgroup driver: systemd
storage driver: btrfs
storage root: /var/lib/containers/storage
default GID mappings (format ::):
0:0:4294967295
default UID mappings (format ::):
0:0:4294967295
Silakan merujuk ke panduan Metrik CRI-O.
Silakan merujuk ke panduan Penelusuran CRI-O.
Beberapa aspek dari Container Runtime memerlukan penjelasan tambahan. Detail ini dirangkum dalam panduan khusus.
Mengalami masalah? Ada beberapa tip dan trik untuk debugging yang terdapat di panduan debugging kami
Daftar lengkap pengadopsi CRI-O di lingkungan produksi dapat ditemukan di sini. Jika Anda seorang pengguna, tolong bantu kami menyelesaikannya dengan mengirimkan permintaan tarik!
Pertemuan mingguan diadakan untuk membahas pengembangan CRI-O. Ini terbuka untuk semua orang. Detail untuk bergabung dalam rapat ada di wiki.
Untuk informasi selengkapnya tentang cara CRI-O diatur, lihat file tata kelola