ʻO Kubernetes ka gorila 300-paona o ka hoʻokani pahu. Hana ia ma kekahi o nā ʻōnaehana pahu nui loa ma ka honua, akā he pipiʻi.
ʻOi aku ka pipiʻi no nā hui liʻiliʻi, kahi e koi ai i ka manawa kākoʻo nui a me kahi pihi aʻo kiʻekiʻe. He nui loa kēia no kā mākou hui ʻehā. No laila, hoʻomaka mākou e ʻimi i nā mea ʻē aʻe - a aloha mākou Nomad.
He aha kou makemake
Kākoʻo kā mākou hui i kekahi mau lawelawe nānā ʻana a me ka nānā ʻana i ka hana maʻamau: nā helu hopena API no nā metric i kākau ʻia ma Go, Prometheus exports, log parsers e like me Logstash a Kelaha, a me nā waihona e like me InfluxDB a i ʻole Elasticsearch. Holo kēlā me kēia lawelawe i kāna pahu ponoʻī. Pono mākou i kahi ʻōnaehana maʻalahi e hoʻomau i ka holo.
Ua hoʻomaka mākou me kahi papa inoa o nā koi no ka hoʻokani pahu:
Ke holo nei i kahi hoʻonohonoho o nā lawelawe ma nā mīkini he nui.
Nānā o nā lawelawe holo.
Nā loulou ma waena o nā lawelawe.
E hoʻomaka hou inā pau ka lawelawe.
ʻO ka mālama ʻana i nā ʻoihana e kahi hui liʻiliʻi.
Hoʻopili i nā mīkini e pili ana i ko lākou hiki (no ka laʻana, ke kau ʻana i nā mīkini me nā disks wikiwiki no nā lawelawe I/O kaumaha).
Hiki ke holo i nā lawelawe kūʻokoʻa mai ka orchestrator (no ka laʻana, i ka wā hoʻomohala).
He wahi maʻamau e kaʻana like i nā hoʻonohonoho a me nā mea huna.
Hopena no nā ana a me nā lāʻau.
No ke aha ʻaʻole kūpono ʻo Kubernetes iā mākou
I ko mākou hoʻohālikelike ʻana me Kubernetes, ʻike mākou e hoʻohui nei mākou i nā ʻāpana paʻakikī o ka loiloi a mākou i hilinaʻi nui ai.
E like me ka laʻana, kākoʻo ʻo Kubernetes i nā hoʻonohonoho lawelawe i kūkulu ʻia ma o ConfigMaps. Hiki iā ʻoe ke huikau, ʻoiai ke hoʻohui ʻana i nā faila hoʻonohonoho he nui a i ʻole ka hoʻohui ʻana i nā lawelawe hou i kahi pod. Kubernetes (a i ʻole kaʻa hoʻokele i kēia hihia) hiki iā ʻoe ke hoʻokō ikaika i nā hoʻonohonoho waho e hoʻokaʻawale i nā hopohopo. Akā ʻo kēia ka hopena i kahi pilina paʻa a hūnā ma waena o kāu papahana a me Kubernetes. Eia nō naʻe, ʻo Helm a me ConfigMaps nā koho ʻē aʻe, no laila ʻaʻole pono ʻoe e hoʻohana. Hiki iā ʻoe ke kope wale i ka hoʻonohonoho ʻana i ke kiʻi Docker. Eia naʻe, he mea hoʻowalewale ke hele i kēia ala a kūkulu i nā abstractions pono ʻole e mihi ai ʻoe ma hope.
Eia hou, ke ulu wikiwiki nei ke kaiaola Kubernetes. He nui ka manawa a me ka ikaika no ka hoʻomau ʻana me nā hana maikaʻi loa a me nā mea hana hou. Kubectl, minikube, kubeadm, helm, tiller, kops, oc - hoʻomau ka papa inoa. ʻAʻole pono kēia mau mea hana i ka wā e hoʻomaka ai ʻoe, akā ʻaʻole ʻoe i ʻike i kāu mea e pono ai, no laila pono ʻoe e makaʻala i nā mea āpau. Ma muli o kēia, ʻoi aku ka pali o ke aʻo ʻana.
I ka manawa e hoʻohana ai i nā Kubernetes
I kā mākou hui, nui ka poʻe e hoʻohana iā Kubernetes a hauʻoli nui lākou. Mālama ʻia kēia mau manawa e Google a i ʻole Amazon, nona nā kumuwaiwai e kākoʻo iā lākou.
Hele mai ʻo Kubernetes me nā hiʻohiʻona kupaianaha, ka mea e hiki ai ke hoʻoponopono i ka hoʻokani pahu ma ke ʻano nui:
Nā mea hoʻoponopono maʻamau hoʻohui i ka lokahi i ka pūʻulu. He mau polokalamu maʻalahi kēia e kamaʻilio me ka Kubernetes API.
Ka hoʻonui ʻana! Hiki i nā Kubernetes ke hoʻonui i nā lawelawe ma ke koi me ka hoʻohana ʻana i nā metric lawelawe a me ka ʻole o ke koi ʻana i ka hana lima.
Hāʻawi kā mākou hui i ka hapa nui o nā lawelawe ma kahi mamao (ma muli o ka pili pili ʻana i ka ʻōnaehana nui), no laila ʻaʻole mākou makemake e hoʻāla i kā mākou hui Kubernetes ponoʻī. Ua makemake wale mākou e hoʻolako i nā lawelawe.
ʻAʻole i hoʻokomo ʻia nā pākahi
ʻO Nomad ka 20% o ka orchestration e hāʻawi ana i 80% o nā mea e pono ai. ʻO nā mea a pau e hoʻokele i nā hoʻolaha. Mālama ʻo Nomad i nā hoʻolaha, hoʻomaka hou i nā pahu inā he hewa ... a ʻo ia nō.
ʻO ke kumu holoʻokoʻa o Nomad ka mea e hana ai palena iki: ʻaʻohe hoʻoponopono kuleana granular a i ʻole nā kulekele pūnaewele hoʻonui, ua hoʻolālā kūikawā ʻia kēia. Hāʻawi ʻia kēia mau ʻāpana ma waho a ʻaʻole loa.
Manaʻo wau ua loaʻa iā Nomad ka hoʻohālikelike kūpono ma waena o ka maʻalahi o ka hoʻohana a me ka pono. He maikaʻi no nā lawelawe liʻiliʻi, kūʻokoʻa. Inā makemake ʻoe i ka mana hou, pono ʻoe e hoʻāla iā lākou iho a i ʻole e hoʻohana i kahi ala ʻē aʻe. Nomad ka pololei mea hookani pila.
ʻO ka mea maikaʻi loa e pili ana iā Nomad ʻo ia ka maʻalahi hoololi. ʻAʻohe mea pili i ka mea kūʻai aku, no ka mea ua maʻalahi kāna mau hana i nā ʻōnaehana ʻē aʻe e mālama i nā lawelawe. Holo wale ʻo ia e like me ka binary maʻamau ma kēlā me kēia mīkini i ka pūʻulu, ʻo ia wale nō!
ʻO ka kaiaola nomad o nā mea i hui ʻole ʻia
ʻO ka ikaika maoli o Nomad kona kaiaola. Hoʻohui maikaʻi loa ia me nā huahana ʻē aʻe - koho loa - nā huahana e like me Kanikela (kūʻai waiwai kī) a i ʻole Vault (hana huna). Aia i loko o ka faila Nomad nā ʻāpana no ka unuhi ʻana i ka ʻikepili mai kēia mau lawelawe:
Eia mākou heluhelu i ke kī service/geo-api/log-verbosity mai ke Kanikela a hōʻike iā ia i kahi ʻano hoʻololi kaiapuni i ka wā e hana ai LOG_LEVEL. Hōʻike pū mākou i ke kī secret/geo-api-key mai Vault e like me API_KEY. Maʻalahi akā ikaika!
Ma muli o kona maʻalahi, hiki ke hoʻonui ʻia ʻo Nomad me nā lawelawe ʻē aʻe ma o API. No ka laʻana, kākoʻo ʻia nā hōʻailona no nā hana. Hoʻopili mākou i nā lawelawe āpau me nā ana trv-metrics. Ma kēia ala hiki iā Prometheus ke loaʻa i kēia mau lawelawe ma o ke Kanikela a nānā i kēlā me kēia manawa i ka hopena /metrics no ka ʻikepili hou. Hiki ke hana like, no ka laʻana, no nā lāʻau, hoʻohana Loki.
Nui nā hiʻohiʻona ʻē aʻe o ka extensibility:
E holo i kahi hana Jenkins me ka hoʻohana ʻana i kahi makau, a nānā ke Kanikela i ka hoʻihoʻi hou ʻana o ka hana Nomad ke hoʻololi ka hoʻonohonoho lawelawe.
Hoʻohui ʻo Ceph i kahi ʻōnaehana faila i hāʻawi ʻia iā Nomad.
ʻAe kēia a pau hoʻomohala kino me ka pili ole i ka mea kuai.
Hoʻolaha kūpono
ʻAʻohe ʻōnaehana kūpono. ʻAʻole wau manaʻo e hoʻokomo koke i nā hiʻohiʻona hou i ka hana. ʻOiaʻiʻo, aia nā pōpoki a me nā hiʻohiʻona nalo, akā pili like ia i nā Kubernetes.
Ke hoʻohālikelike ʻia me Kubernetes, ʻaʻole nui loa ka kaiāulu Nomad. Loaʻa iā Kubernetes ma kahi o 75 mau hana a me 000 mau mea kōkua, aʻo Nomad ma kahi o 2000 mau hana a me 14 mau mea kōkua. E paʻakikī ana ʻo Nomad e mālama i ka wikiwiki o Kubernetes, akā ʻaʻole pono! He ʻōnaehana kūikawā ʻoi aku ia, a ʻo ke kaiāulu liʻiliʻi hoʻi ʻo ia ka mea e ʻike ʻia a ʻae ʻia kāu noi huki, ke hoʻohālikelike ʻia me Kubernetes.
Hōʻuluʻulu
Ke laina lalo: Mai hoʻohana i nā Kubernetes no ka mea ke hana nei nā mea ʻē aʻe. E noʻonoʻo pono i kāu mau koi a nānā i ka mea hana i ʻoi aku ka pono.
Inā hoʻolālā ʻoe e kau i kahi ton o nā lawelawe homogeneous ma kahi ʻoihana nui, a laila he koho maikaʻi ʻo Kubernetes. E makaʻala wale i ka paʻakikī i hoʻohui ʻia a me nā koina hana. Hiki ke pale ʻia kekahi mau kumukūʻai ma o ka hoʻohana ʻana i kahi kaiapuni Kubernetes i mālama ʻia e like me ʻO Google Kubernetes ʻenekini ai ole ia, Amazon EKS.
Inā ʻoe e ʻimi nei i kahi orchestrator hilinaʻi maʻalahi e mālama a hoʻonui ʻia, no ke aha e hoʻāʻo ʻole ai iā Nomad? E kahaha paha ʻoe i ka lōʻihi o ka lawe ʻana iā ʻoe.
Inā hoʻohālikelike ʻia ʻo Kubernetes me kahi kaʻa, he scooter ʻo Nomad. I kekahi manawa pono ʻoe i kahi mea a i kekahi manawa pono ʻoe i kahi mea ʻē aʻe. He kuleana ko lāua e ola ai.