ProHoster > ΠΠ»ΠΎΠ³ > Administrasi > CRI-O minangka panggantos kanggo Docker minangka lingkungan runtime kanggo Kubernetes: persiyapan ing CentOS 8
CRI-O minangka panggantos kanggo Docker minangka lingkungan runtime kanggo Kubernetes: persiyapan ing CentOS 8
Hello! Jenengku Sergey, aku DevOps ing Surf. Departemen DevOps ing Surf ngarahake ora mung kanggo nggawe interaksi antarane spesialis lan nggabungake proses kerja, nanging uga kanthi aktif riset lan ngetrapake teknologi saiki ing infrastruktur dhewe lan ing infrastruktur pelanggan.
Ing ngisor iki aku bakal ngomong sethithik babagan owah-owahan ing tumpukan teknologi kanggo wadhah sing ditemoni nalika sinau babagan distribusi CentOS 8 lan babagan apa CRI-O lan carane cepet nyiyapake lingkungan eksekusi kanggo Kubernetes.
Tujuan saka OCI, yaiku bagean saka Yayasan Linux, yaiku nggawe standar industri sing mbukak kanggo format wadah lan runtime sing ngrampungake sawetara masalah sekaligus. Kaping pisanan, dheweke ora mbantah filosofi Linux (contone, ing bagean sing saben program kudu nindakake siji tumindak, lan docker minangka gabungan kabeh-ing-siji). Kapindho, bisa ngilangi kabeh kekurangan sing ana ing piranti lunak kasebut docker. Katelu, bakal kompatibel karo syarat bisnis platform komersial sing unggul kanggo nyebarake, ngatur lan ngladeni aplikasi sing disedhiyakake (contone, Red Hat OpenShift).
Kekurangan docker lan kaluwihan saka piranti lunak anyar wis diterangake ing sawetara rinci ing artikel iki, lan katrangan rinci babagan kabeh tumpukan piranti lunak sing ditawakake ing proyek OCI lan fitur arsitektur bisa ditemokake ing dokumentasi resmi lan artikel saka Red Hat dhewe (ora ala. artikel ing blog Red Hat) lan ing pihak katelu ulasan.
Penting kanggo dicathet apa fungsi komponen tumpukan sing diusulake:
podho - interaksi langsung karo kontaner lan panyimpenan gambar liwat proses runC;
Mbangun - perakitan lan ngunggah gambar menyang pendaptaran;
CRI-O - lingkungan eksekusi kanggo sistem orkestrasi wadhah (contone, Kubernetes).
Aku sing ngerti skema umum saka interaksi antarane komponen saka tumpukan, iku saranake kanggo nyedhiyani diagram sambungan kene Kubernetes c mlayuC lan perpustakaan tingkat rendah nggunakake CRI-O:
CRI-O ΠΈ Kubernetes manut siklus rilis lan dhukungan sing padha (matriks kompatibilitas gampang banget: versi utama Kubernetes ΠΈ CRI-O bertepatan), lan iki, njupuk menyang akun fokus ing testing lengkap lan lengkap saka operasi tumpukan iki dening pangembang, menehi kita hak kanggo nyana stabilitas achievable maksimum ing operasi ing sembarang skenario nggunakake (lightness relatif uga ono gunane kene. CRI-O dibandhingake karo docker amarga watesan fungsi kanthi tujuan).
Nalika nginstal Kubernetes "cara tengen" cara (miturut OCI, mesthi) nggunakake CRI-O ing CentOS 8 We pinanggih sawetara kangelan suntingan, kang, Nanging, kita kasil ngatasi. Aku bakal seneng bareng karo sampeyan instalasi lan konfigurasi instruksi, kang total bakal njupuk bab 10 menit.
Cara masang Kubernetes ing CentOS 8 nggunakake kerangka CRI-O
Prasyarat: ana paling ora siji host (2 intine, 4 GB RAM, paling ora 15 GB panyimpenan) kanthi diinstal CentOS 8 (profil instalasi "Server" dianjurake), uga entri kasebut ing DNS lokal (minangka pilihan pungkasan, sampeyan bisa entuk entri ing /etc/hosts). Lan aja lali mateni swap.
Kita nindakake kabeh operasi ing host minangka pangguna root, ati-ati.
Ing langkah pisanan, kita bakal ngatur OS, nginstal lan ngatur dependensi awal kanggo CRI-O.
Ayo nganyari OS:
dnf -y update
Sabanjure sampeyan kudu ngatur firewall lan SELinux. Ing kene kabeh gumantung ing lingkungan sing bakal ditindakake host utawa host kita. Sampeyan bisa nyetel firewall miturut rekomendasi saka dokumentasi, utawa, yen sampeyan ana ing jaringan dipercaya utawa nggunakake firewall pihak katelu, ganti zona gawan dadi dipercaya utawa mateni firewall:
nyetel versi sing dibutuhake CRI-O (versi utama CRI-O, kaya sing wis kasebut, cocog karo versi sing dibutuhake Kubernetes), wiwit versi stabil paling anyar Kubernetes saiki 1.18:
Nuansa penting nomer loro: amarga kita ora nggunakake daemon docker, nanging kita nggunakake daemon CRI-O, sadurunge diluncurake lan wiwitan Kubernetes sampeyan kudu nggawe setelan sing cocog ing file konfigurasi /var/lib/kubelet/config.yaml, sawise nggawe direktori sing dikarepake:
Titik penting katelu sing kita temokake sajrone instalasi: sanajan kasunyatane wis nuduhake driver sing digunakake cgroup, lan konfigurasi liwat argumen liwati kubelet wis ketinggalan jaman (kaya sing kasebut kanthi jelas ing dokumentasi), kita kudu nambah argumen menyang file kasebut, yen ora kluster kita ora bakal diinisialisasi:
Kanggo ngatur pesawat kontrol utawa buruh kelenjar ing menit, sampeyan bisa nggunakake karo naskah iki.
Iki wektu kanggo miwiti cluster kita.
Kanggo miwiti kluster, jalanake printah:
kubeadm init --pod-network-cidr=10.244.0.0/16
Priksa manawa sampeyan nulis printah kanggo gabung karo klompok "kubeadm gabung ...", sing dijaluk sampeyan gunakake ing pungkasan output, utawa paling ora token sing ditemtokake.
Ayo nginstal plugin (CNI) kanggo jaringan Pod. Aku nyaranake nggunakake Calico. Bisa uga luwih populer Flannel duwe masalah kompatibilitas karo nftables, iya lan Calico - mung implementasine CNI dianjurake lan kebak dites dening project Kubernetes:
Kanggo nyambungake simpul buruh menyang kluster, sampeyan kudu ngatur miturut pandhuan 1 lan 2, utawa gunakake naskah, banjur jalanake printah saka output "kubeadm init ..." sing ditulis ing langkah sadurunge:
Ayo priksa manawa kluster wis diwiwiti lan wiwit digunakake:
kubectl --kubeconfig=/etc/kubernetes/admin.conf get pods -A
siyap! Sampeyan wis bisa dadi host payloads ing kluster K8s.
Apa sing nunggu kita ing ngarep
Muga-muga pandhuan ing ndhuwur mbantu ngirit wektu lan saraf.
Asil pangolahan sing kedadeyan ing industri asring gumantung carane ditampa dening akeh pangguna pungkasan lan pangembang piranti lunak liyane ing ceruk sing cocog. Durung jelas apa sing bakal ditindakake dening inisiatif OCI sajrone sawetara taun, nanging kita bakal nonton kanthi seneng. Sampeyan bisa nuduhake pendapat sampeyan saiki ing komentar.