Zotengera zidayamba ngati mapangidwe apadera odzipatula ku Linux; zotengera zaphatikizidwa kuyambira 2007 magulu, ndipo kuyambira 2002 - malo a mayina. Zotengera zidapangidwa bwino kwambiri pofika 2008, pomwe zidapezeka Mtengo wa LXC, ndipo Google idapanga njira yakeyake yamakampani yotchedwa Borg, kumene βntchito zonse zimachitikira mβzotengera.β Kuchokera apa timafulumira kupita ku 2013, pamene kutulutsidwa koyamba kwa Docker kunachitika, ndipo zotengerazo zinakhala njira yotchuka kwambiri. Panthawiyo, chida chachikulu choyimba chidebe chinali Miyezi, ngakhale kuti sanali wotchuka kwambiri. Kubernetes idatulutsidwa koyamba mu 2015, pambuyo pake chida ichi chidakhala chodziwika bwino pantchito yoyimba chidebe.
Kuti timvetse chifukwa chake Kubernetes ndi otchuka kwambiri, tiyeni tiyese kuyankha mafunso angapo. Kodi ndi liti pamene opanga mapulogalamu adatha kuvomereza momwe angatumizire mapulogalamu kuti apange? Ndi opanga angati omwe mumawadziwa omwe amagwiritsa ntchito zida zomwe zimaperekedwa kunja kwa bokosi? Ndi angati oyang'anira mitambo alipo lero omwe samamvetsetsa momwe mapulogalamu amagwirira ntchito? Tiona mayankho a mafunso amenewa mβnkhani ino.
Zomangamanga ngati YAML
M'dziko lomwe lidachokera ku Chidole ndi Chef kupita ku Kubernetes, chimodzi mwazosintha zazikulu chinali kuchoka ku "zomangamanga monga ma code" kupita ku "zomangamanga monga deta" -makamaka, monga YAML. Zida zonse ku Kubernetes, zomwe zikuphatikiza ma pod, masanjidwe, zochitika zotumizidwa, ma voliyumu, ndi zina zambiri, zitha kufotokozedwa mosavuta mufayilo ya YAML. Mwachitsanzo:
apiVersion: v1
kind: Pod
metadata:
name: site
labels:
app: web
spec:
containers:
- name: front-end
image: nginx
ports:
- containerPort: 80
package main
deny[msg] {
input.kind = "Deployment"
not input.spec.template.spec.securityContext.runAsNonRoot = true
msg = "Containers must not run as root"
}
Njira ina yowonjezera ku Kubernetes ndikuti wopanga akhoza kulemba zomwe akunena. Woyendetsa ndi njira yapadera mu gulu la Kubernetes lomwe limagwira ntchito molingana ndi "control circuit" Mothandizidwa ndi wogwiritsa ntchito, wogwiritsa ntchito amatha kusintha kasamalidwe ka ma CRD (matanthauzidwe azinthu zamwambo) posinthana zambiri ndi Kubernetes API.
Ngati wopangayo akufuna kuwongolera kwambiri, nambala ya boilerplate mu mafayilo a Go itha kusinthidwa. Mwachitsanzo, kuti musinthe zenizeni za wowongolera, mutha kusintha mafayilo controller.go.
Ntchito ina KULIKONSE, imakupatsani mwayi wopanga ziganizo pogwiritsa ntchito mafayilo olengeza a YAML okha. Mwachitsanzo, wogwiritsa ntchito Apache Kafka angatanthauzidwe pafupifupi kotero. Ndi iyo, mutha kukhazikitsa gulu la Kafka pamwamba pa Kubernetes ndi malamulo angapo:
Chinanso chachikulu pakutchuka kwa Kubernetes ndi mphamvu ya anthu amdera lawo. Mu 2015, atafika mtundu 1.0, Kubernetes adathandizidwa ndi Cloud Native Computing Foundation.
Cloud Native Foundation imakhalanso ndi CloudNativeCon/KubeCon, yomwe, panthawi yolemba, ndi msonkhano waukulu kwambiri padziko lonse lapansi. Zomwe zimachitika katatu pachaka, zimabweretsa akatswiri masauzande ambiri omwe akufuna kukonza Kubernetes ndi chilengedwe chake, komanso kuphunzira zatsopano zomwe zimawoneka miyezi itatu iliyonse.
Komanso, Cloud Native Foundation ili ndi Komiti Yoyang'anira zaukadaulo, omwe, pamodzi ndi ma SIG, amawunikira zatsopano ndi zomwe zilipo ntchito ndalama zomwe zimayang'ana pamtambo wachilengedwe. Zambiri mwazinthuzi zimathandizira kukonza mphamvu za Kubernetes.
Pomaliza, ndikukhulupirira kuti Kubernetes sangakhale wopambana monga momwe zilili popanda khama la gulu lonse, pomwe anthu amakhala limodzi koma nthawi yomweyo amalandila obwera kumene mu khola.
M'nkhaniyi, tangoyang'ana momwe Kubernetes alili pano - ndiye kuti ndi nsonga chabe ya madzi oundana. Ogwiritsa ntchito a Kubernetes ali ndi zina zambiri, kuthekera, ndi masinthidwe omwe ali nawo.