Kubernetes Engine(Layanan basis Kubernetes kanggo mbukak aplikasi wadah ing Google Cloud - kira-kira. ngartekne) minangka salah sawijining cara sing paling apik kanggo mbukak beban kerja sing kudu ditindakake. Kubernetes bakal njamin fungsi Gamelan paling aplikasi yen lagi containerized. Nanging yen sampeyan pengin aplikasi sampeyan gampang diatur lan pengin entuk manfaat saka Kubernetes, sampeyan kudu ngetutake praktik paling apik. Dheweke bakal nyederhanakake operasi aplikasi, ngawasi lan debugging, lan uga nambah keamanan.
Yen aplikasi mlaku ing kluster Kubernetes, ora akeh sing dibutuhake kanggo log. Sistem logging terpusat kemungkinan wis dibangun ing kluster sing sampeyan gunakake. Ing kasus nggunakake Kubernetes Engine, iki tanggung jawab Stackdriver Logging. (Cathetan. nerjemahake.: Lan yen sampeyan nggunakake instalasi Kubernetes dhewe, disaranake mriksa solusi Open Source - omah log.) Tansah urip prasaja lan gunakake mekanisme logging wadhah asli. Tulis log menyang stdout lan stderr - bakal ditampa kanthi otomatis, disimpen lan diindeks.
Yen dikarepake, sampeyan uga bisa nulis log menyang format JSON. Pendekatan iki bakal nggawe gampang kanggo nambah metadata kanggo wong-wong mau. Lan karo wong-wong mau, Stackdriver Logging bakal nduweni kemampuan kanggo nggoleki log nggunakake metadata iki.
2. Priksa manawa wadhah ora duwe status lan ora bisa diganti
Supaya wadhah bisa dienggo kanthi bener ing kluster Kubernetes, wadhah kasebut kudu tanpa status lan ora bisa diganti. Sawise syarat kasebut ditindakake, Kubernetes bisa nindakake tugase, nggawe lan ngrusak entitas aplikasi nalika lan ing ngendi wae.
Ora owah tegese wadhah ora bakal diowahi sajrone urip: ora ana nganyari, patch, owah-owahan konfigurasi. Yen sampeyan kudu nganyari kode aplikasi utawa aplikasi tembelan, gawe gambar anyar lan pasang. Disaranake mindhah konfigurasi wadhah (port ngrungokake, opsi lingkungan runtime, etc.) externally - kanggo Rahasia ΠΈ ConfigMaps. Padha bisa dianyari tanpa kudu mbangun gambar wadhah anyar. Kanggo gampang nggawe pipelines karo perakitan gambar, sampeyan bisa nggunakake Mbangun awan. (Cathetan. nerjemahake.: Kita nggunakake alat Open Source kanggo tujuan kasebut dapp.)
Conto nganyari konfigurasi Deployment ing Kubernetes nggunakake ConfigMap sing dipasang ing pods minangka konfigurasi
Yen sampeyan ngatur kluster, sampeyan bisa nggunakake Kebijakan Keamanan Pod kanggo Watesan ing nggunakake wadhah istimewa.
4. Aja mlaku minangka ROOT
Wadah sing duwe hak istimewa wis dibahas, nanging bakal luwih apik yen, saliyane iki, sampeyan ora mbukak aplikasi ing wadhah kasebut minangka oyod. Yen panyerang nemokake kerentanan remot ing aplikasi kanthi hak ROOT sing ngidini eksekusi kode, sawise dheweke bisa ninggalake wadhah kasebut liwat kerentanan sing durung dingerteni, dheweke bakal entuk root ing host.
Cara paling apik kanggo ngindhari iki yaiku ora mbukak apa-apa minangka root ing wiwitan. Kanggo nindakake iki, sampeyan bisa nggunakake arahan USER Π² Dockerfile utawa runAsUser ing Kubernetes. Administrator kluster uga bisa ngatur prilaku penegakan nggunakake Kebijakan Keamanan Pod.
5. Nggawe aplikasi gampang kanggo ngawasi
Kaya logging, ngawasi minangka bagean integral saka manajemen aplikasi. Solusi pemantauan sing populer ing komunitas Kubernetes yaiku Prometheus - sistem sing kanthi otomatis ndeteksi pods lan layanan sing mbutuhake ngawasi. (Cathetan. nerjemahake.: Deleng uga kita laporan rinci babagan topik pemantauan nggunakake Prometheus lan Kubernetes.)Stackdriver bisa ngawasi kluster Kubernetes lan kalebu versi Prometheus dhewe kanggo ngawasi aplikasi.
Dashboard Kubernetes ing Stackdriver
Prometheus ngarepake aplikasi kasebut nerusake metrik menyang titik pungkasan HTTP. Kasedhiya kanggo iki Pustaka klien Prometheus. Format sing padha digunakake dening piranti liyane kaya OpenCensus ΠΈ Istio.
6. Nggawe status kesehatan app kasedhiya
Manajemen aplikasi ing produksi dibantu dening kemampuan kanggo komunikasi negara kanggo kabeh sistem. Apa aplikasi mlaku? Apa ora apa-apa? Apa sampeyan siap nampa lalu lintas? Kepriye kelakuane? Cara sing paling umum kanggo ngatasi masalah iki yaiku ngleksanakake pemeriksaan kesehatan (pemeriksaan kesehatan). Kubernetes duwe rong jinis: liveness lan probe kesiapan.
Kanggo probe liveness (pemeriksaan vitalitas) aplikasi kudu endpoint HTTP sing ngasilake "200 OK" respon yen iku fungsi lan dependensi dhasar wareg. Kanggo probe kesiapan (pemeriksaan kesiapan layanan) aplikasi kudu duwe titik pungkasan HTTP liyane sing ngasilake respon "200 OK" yen aplikasi ing negara sehat, langkah initialization wis rampung lan panjalukan bener ora nyebabake kesalahan. Kubernetes mung bakal nuntun lalu lintas menyang wadhah yen aplikasi wis siyap miturut pamriksan kasebut. Loro titik pungkasan bisa digabung yen ora ana bedane antarane status liveness lan kesiapan.
Umume gambar umum lan pribadi nggunakake sistem menehi tag sing padha karo sing diterangake ing Praktek Paling Apik kanggo Wadhah Bangunan. Yen gambar nggunakake sistem cedhak versi semantik, iku perlu kanggo njupuk menyang akun spesifik menehi tag. Contone, tag latest bisa kerep pindhah saka gambar menyang gambar - ora bisa dipercaya yen sampeyan mbutuhake mbangun lan instalasi sing bisa ditebak lan bisa diulang.
Sampeyan bisa nggunakake tag X.Y.Z (padha meh tansah panggah), nanging ing kasus iki, nglacak kabeh patches lan nganyari kanggo gambar. Yen gambar sing sampeyan gunakake duwe tag X.Y, iki pilihan apik kanggo tegese emas. Kanthi milih, sampeyan kanthi otomatis nampa patch lan ing wektu sing padha gumantung ing versi stabil saka aplikasi.