Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)

Nānā. unuhi.: ʻO Henning Jacobs ka mea kākau o ka mea kumu mai Zalando. Ua hana ʻo ia i kahi kikowaena pūnaewele hou no ka hana ʻana me Kubernetes, kahi i hoʻonohonoho ʻia ʻo "kubectl no ka pūnaewele." No ke aha i puka mai ai kahi papahana Open Source hou a he aha nā koina i hoʻokō ʻole ʻia e nā hopena i loaʻa - heluhelu i kāna ʻatikala.

Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)

Ma kēia pou, ke nānā nei au i nā ʻokoʻa punaewele Kubernetes open source, waiho i kaʻu mau koi no kahi UI āpau, a wehewehe i ke kumu i hoʻomohala ai au. Kubernetes WebView - he interface i hoʻolālā ʻia e maʻalahi ke kākoʻo a hoʻoponopono i nā hui lehulehu i ka manawa hoʻokahi.

Hoʻohana i nā hihia

Ma Zalando, lawelawe mākou i ka heluna nui o nā mea hoʻohana Kubernetes (900+) a me nā pūʻulu (100+). Aia kekahi mau hihia hoʻohana maʻamau e pōmaikaʻi mai kahi hāmeʻa pūnaewele i hoʻolaʻa ʻia:

  1. kamaʻilio me nā hoa hana no ke kākoʻo;
  2. pane ana i nā hanana a me ka noiʻi ʻana i nā kumu.

kākoʻo

I koʻu ʻike, ʻike pinepine ʻia nā kamaʻilio kākoʻo penei:

— Kōkua, ʻaʻole loaʻa kā mākou lawelawe XYZ!
— He aha kāu e ʻike ai ke hana ʻoe kubectl describe ingress ...?

A i ʻole kekahi mea like no CRD:

— He pilikia koʻu me ka lawelawe ʻike...
— He aha ka hana a ke kauoha? kubectl describe platformcredentialsset ...?

ʻO ia mau kamaʻilio maʻamau e hele mai i ke komo ʻana i nā ʻano like ʻole o ke kauoha kubectl i mea e ike ai i ka pilikia. ʻO ka hopena, koi ʻia nā ʻaoʻao ʻelua i ke kamaʻilio e hoʻololi mau ma waena o ka terminal a me ke kamaʻilio pūnaewele, a ʻike lākou i kahi kūlana ʻē aʻe.

No laila, makemake wau i ka ʻaoʻao pūnaewele Kubernetes e ʻae i kēia mau mea:

  • hiki i nā mea hoʻohana nā loulou hoʻololi a e malama i ka mea hookahi;
  • e kōkua pale i ka hewa kanaka i ke kākoʻo: no ka laʻana, ke komo ʻana i ka hui hewa ma ka laina kauoha, typos i nā kauoha CLI, etc.;
  • e ae e hana i kāu mau manaʻo ponoʻī e hoʻouna i nā hoa hana, ʻo ia hoʻi, hoʻohui i nā kolamu tag, hōʻike i nā ʻano waiwai he nui ma ka ʻaoʻao hoʻokahi;
  • ʻO ke kūpono, pono kēia mea hana pūnaewele e ʻae iā ʻoe e hoʻonohonoho Nā loulou "hohonu" i nā ʻāpana kikoʻī o YAML (no ka laʻana, ke kuhikuhi ʻana i kahi ʻāpana kūpono ʻole e hāʻule ana).

ʻO ka pane a me ka nānā ʻana

ʻO ka pane ʻana i nā hanana ʻoihana pono e ʻike i ke kūlana, ka hiki ke loiloi i ka hopena, a me ka ʻimi ʻana i nā hiʻohiʻona i nā pūʻulu. ʻO kekahi mau hiʻohiʻona ola maoli:

  • Ke pilikia nei kahi lawelawe hana koʻikoʻi a pono ʻoe e huli i nā kumuwaiwai Kubernetes ma ka inoa ma nā pūʻulu a pauhoʻoponopono pilikia;
  • hoʻomaka nā nodes e hāʻule i ka wā e hoʻonui ai a pono ʻoe e ʻimi i nā pods a pau me ke kūlana “Pending” ma nā pūʻulu a paue nānā i ka laulā o ka pilikia;
  • Ke hōʻike nei nā mea hoʻohana hoʻokahi i kahi pilikia me DaemonSet i kau ʻia ma nā pūʻulu āpau a pono e noʻonoʻo Ua pau ka pilikia?.

ʻO kaʻu hopena maʻamau i ia mau hihia he mea like for i in $clusters; do kubectl ...; done. ʻIke loa, hiki ke kūkulu ʻia kahi mea hana e hāʻawi i nā mana like.

Nā loulou pūnaewele Kubernetes e kū nei

ʻAʻole nui loa ka honua kumu o nā pilina pūnaewele iā Kubernetes, no laila ua hoʻāʻo wau e hōʻiliʻili i ka ʻike hou aku me ka hoʻohana ʻana Twitter:

Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)

* ʻO kaʻu wehewehe ʻana no ka helu palena o nā pilina pūnaewele no Kubernetes: hāʻawi pinepine nā lawelawe kapuaʻi a me nā mea kūʻai aku Kubernetes i kā lākou mau mua ponoʻī, no laila he liʻiliʻi ka mākeke no ka "maikaʻi" manuahi Kubernetes UI.

Ma o kahi tweet aʻu i aʻo ai e pili ana K8Dash, Kubernator и Octant. E nānā kākou iā lākou a me nā hoʻonā Open Source ʻē aʻe, e hoʻāʻo kākou e hoʻomaopopo i ke ʻano o ia mau mea.

K8Dash

"ʻO K8Dash ke ala maʻalahi loa e hoʻokele i kahi hui Kubernetes."

Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)

K8Dash ʻIke maikaʻi a manaʻo wikiwiki, akā he nui nā hemahema no nā hihia hoʻohana i helu ʻia ma luna.

  • Hana wale i loko o nā palena o hoʻokahi puʻupuʻu.
  • Hiki ke hoʻokaʻawale a me ka kānana ʻana, akā ʻaʻole loaʻa nā permalinks.
  • ʻAʻohe kākoʻo no Custom Resource Definitions (CRDs).

Kubernator

"ʻO Kubernator kahi UI ʻokoʻa no nā Kubernetes. ʻAʻole like me ka Kubernetes Dashboard kiʻekiʻe, hāʻawi ia i ka mana haʻahaʻa haʻahaʻa a me ka ʻike maikaʻi loa i nā mea āpau o ka pūʻulu me ka hiki ke hana i nā mea hou, hoʻoponopono iā lākou, a hoʻoholo i nā paio. Ma ke ʻano he noi ʻaoʻao ʻaoʻao holoʻokoʻa (e like me kubectl), ʻaʻole ia e koi i kahi backend ʻē aʻe ma mua o ka server Kubernetes API ponoʻī, a mahalo pū i nā lula komo cluster.

Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)

He wehewehe pololei kēia Kubernator. ʻO ka mea pōʻino, nele kekahi mau hiʻohiʻona:

  • Hoʻohana i hoʻokahi puʻupuʻu wale nō.
  • ʻAʻohe mode nānā papa inoa (ʻo ia hoʻi, ʻaʻole hiki iā ʻoe ke hōʻike i nā pods āpau me ke kūlana "Pending").

Kubernetes Dashboard

“ʻO Kubernetes Dashboard kahi kikowaena pūnaewele puni honua no nā pūʻulu Kubernetes. Hāʻawi ia i nā mea hoʻohana e hoʻokele a hoʻoponopono i nā noi e holo ana i loko o kahi puʻupuʻu, a me ka hoʻokele pū ʻana iā ia iho.

Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)

Eia naʻe Kubernetes Dashboard ʻAʻole kōkua nui i kaʻu kākoʻo a me nā hana pane i nā hanana no ka mea:

  • ʻaʻohe loulou mau, no ka laʻana ke kānana au i nā kumuwaiwai a hoʻololi paha i ke ʻano ʻano;
  • ʻAʻohe ala maʻalahi e kānana ma ke kūlana - no ka laʻana, ʻike i nā pods āpau me ke kūlana "Pending";
  • hoʻokahi puʻupuʻu i kākoʻo ʻia;
  • ʻAʻole kākoʻo ʻia nā CRD (ke kūkulu ʻia nei kēia hiʻohiʻona);
  • ʻaʻohe kolamu maʻamau (e like me nā kolamu i hōʻailona ʻia e ke ʻano kubectl -L).

Nānā Hana Kubernetes (kube-ops-view)

"Nānaehana Dashboard Observer no K8s Cluster Space."

Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)

У Nānā Hana Kubernetes He ala ʻokoʻa loa: hōʻike wale kēia hāmeʻa i nā nodes cluster a me nā pods me ka hoʻohana ʻana iā WebGL, me ka ʻole o nā kikoʻī kikoʻī. He mea maikaʻi ia no ka ʻike wikiwiki ʻana i ke olakino o ka puʻupuʻu (ke hāʻule nei nā pods?)*, akā ʻaʻole kūpono ia no ke kākoʻo a me ka pane ʻana i nā hanana i hōʻike ʻia ma luna.

* Nānā. unuhi.: Ma kēia ʻano, makemake paha ʻoe i kā mākou plugin grafana-statusmap, a mākou i kamaʻilio nui ai i loko kēiaʻatikala.

Hōʻike kumu waiwai Kubernetes (kube-resource-report)

"E hōʻiliʻili i nā noi kumu waiwai puʻupuʻu pod a me Kubernetes, e hoʻohālikelike iā lākou me ka hoʻohana waiwai, a e hoʻohua i ka HTML paʻa."

Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)

Kubernetes Resource Report hoʻopuka i nā hōʻike HTML kūʻokoʻa e pili ana i ka hoʻohana ʻana i nā kumuwaiwai a me ka hāʻawi ʻana i nā kumukūʻai ma waena o nā hui / noi i nā pūʻulu. He mea maikaʻi ka hōʻike no ke kākoʻo a me ka pane ʻana i nā hanana no ka mea hiki iā ʻoe ke ʻimi koke i ka pūʻulu kahi i kau ʻia ai ka noi.

Nānā. unuhi.: Hiki ke hoʻohana ʻia kahi lawelawe a me ka mea hana i ka nānā ʻana i ka ʻike e pili ana i ka hoʻokaʻawale ʻana i nā kumuwaiwai a me kā lākou mau kumukūʻai ma waena o nā mea hoʻolako kapua Kubecost, a mākou e nānā nei paʻi ʻia nei.

Octant

"He kahua pūnaewele hoʻonui no nā mea hoʻomohala i hoʻolālā ʻia e hāʻawi i ka ʻike nui o ka paʻakikī o nā pūʻulu Kubernetes."

Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)

Octant, hana ʻia e VMware, he huahana hou aʻu i aʻo ai e pili ana i kēia manawa. Me kona kōkua, he mea maʻalahi ka ʻimi ʻana i ka pūʻulu ma kahi mīkini kūloko (he mau hiʻohiʻona nō hoʻi), akā e hoʻoponopono i nā pilikia o ke kākoʻo a me ka pane ʻana i nā hanana i ka palena palena wale nō. Nā hemahema o ka Octant:

  • ʻAʻohe hulina pūʻulu.
  • Hoʻohana wale ʻia ma ka mīkini kūloko (ʻaʻole e kau i kahi hui).
  • ʻAʻole hiki ke hoʻokaʻawale a kānana i nā mea (kākoʻo ʻia ka mea koho lepili wale nō).
  • ʻAʻole hiki iā ʻoe ke kuhikuhi i nā kolamu maʻamau.
  • ʻAʻole hiki iā ʻoe ke papa inoa i nā mea ma ka inoa inoa.

Ua loaʻa iaʻu nā pilikia me ka paʻa o Octant me nā pūʻulu Zalando: ma kekahi mau CRD e haule ana.

Ke hoʻolauna nei iā Kubernetes Web View

"kubectl no ka pūnaewele".

Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)

Ma hope o ka nānā ʻana i nā koho interface i loaʻa no Kubernetes, ua hoʻoholo wau e hana i kahi hou: Kubernetes WebView. Ma hope o nā mea a pau, ʻoiaʻiʻo, pono wau i ka mana āpau kubectl ma ka pūnaewele, ʻo ia hoʻi:

  • ka loaʻa ʻana o nā hana āpau (heluhelu-wale nō) i makemake nā mea hoʻohana e hoʻohana i ka kubectl;
  • pono e paʻa nā URL āpau a hōʻike i ka ʻaoʻao ma kona ʻano kumu i hiki i nā hoa hana ke kaʻana like a hoʻohana iā lākou i nā mea hana ʻē aʻe;
  • kākoʻo no nā mea Kubernetes āpau, e hiki ai iā ʻoe ke hoʻoponopono i kekahi ʻano pilikia;
  • Pono e hoʻoiho ʻia nā papa inoa kumu no ka hana hou aku (ma nā pālapa, nā mea hana CLI like grep) a me ka waiho ʻana (no ka laʻana, no ka postmortems);
  • kākoʻo no ke koho ʻana i nā kumuwaiwai ma ka lepili (e like me kubectl get .. -l);
  • ka hiki ke hana i nā papa inoa hui o nā ʻano waiwai like ʻole (e like me kubectl get all) no ka loaʻa ʻana o kahi kiʻi hana maʻamau i waena o nā hoa hana (e laʻana, i ka wā o ka pane ʻana i kahi hanana);
  • ka hiki ke hoʻohui i nā loulou hohonu maʻamau i nā mea hana ʻē aʻe e like me dashboards, loggers, application registries, etc. e maʻalahi i ka hoʻoponopono / hoʻoponopono i nā hewa a me ka pane ʻana i nā hanana;
  • Pono e maʻalahi ka frontend e like me ka hiki ( HTML maʻemaʻe ) e pale i nā pilikia maʻamau, e like me ka JavaScript paʻa;
  • kākoʻo no nā pūʻulu lehulehu e hoʻomaʻamaʻa i ka launa ʻana i ka wā kūkākūkā mamao (no ka laʻana, e hoʻomanaʻo i hoʻokahi URL wale nō);
  • Inā hiki, pono e maʻalahi ka nānā ʻana i ke kūlana (e laʻana, me nā loulou e hoʻoiho i nā kumuwaiwai no nā hui / inoa inoa āpau);
  • nā manawa hou no ka hana ʻana i nā loulou maʻalahi a me ka hōʻike ʻana i ka ʻike kikokikona, no ka laʻana, i hiki iā ʻoe ke kuhikuhi i nā hoa hana i kahi ʻāpana kikoʻī o ka wehewehe kumu waiwai (kahi laina ma YAML);
  • ka hiki ke hoʻopilikino i nā koi o kahi mea kūʻai aku, no ka laʻana, e ʻae iā ʻoe e hana i nā hōʻike hōʻike kūikawā no nā CRD, kāu mau ʻike papa ponoʻī, a hoʻololi i nā ʻano CSS;
  • nā mea hana no ka ʻimi hou aku ma ka laina kauoha (no ka laʻana, e hōʻike ana i nā kauoha piha kubectl, mākaukau no ke kope kope);

Ma waho aʻe o nā hana i hoʻoholo ʻia ma Kubernetes Web View (pahuhopu ole) koe:

  • ka wehe ʻana i nā mea Kubernetes;
  • ka hoʻokele noiʻi (no ka laʻana, ka hoʻokele hoʻonohonoho ʻana, nā palapala Helm, etc.);
  • kākau i nā hana (pono e hana ʻia ma o nā mea paʻa CI / CD a / a i ʻole GitOps);
  • nani o ka interface (JavaScript, themes, etc.);
  • ʻike maka (ʻike kube-ops-view);
  • ka nānā ʻana i ke kumukūʻai (e nānā kube-resource-report).

Pehea e kōkua ai ʻo Kubernetes Web View me ke kākoʻo a me ka pane ʻana i nā hanana?

kākoʻo

  • Pau nā loulou a pau, he mea maʻalahi ke hoʻololi i ka ʻike me nā hoa hana.
  • Hiki iā ʻoe ke hana kou mau manao, no ka laʻana, e hōʻike i nā Deployments a me nā Pods me kahi lepili kikoʻī i loko o nā pūʻulu kikoʻī ʻelua (hiki ke kuhikuhi ʻia kekahi mau inoa puʻupuʻu a me nā ʻano kumuwaiwai i ka loulou, i hoʻokaʻawale ʻia e nā koma).
  • Hiki iā ʻoe ke kuhikuhi i laina kiko'ī ma kahi faila YAML mea, e hōʻike ana i nā pilikia i loko o ka kikoʻī mea.

Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)
Huli ma nā pūʻulu ma Kubernetes Web View

Pane Kūlana

  • Huli honua (huli puni honua) hiki iā ʻoe ke ʻimi i nā mea ma nā hui āpau.
  • Nānā Papa inoa hiki ke hōʻike i nā mea āpau me kekahi mokuʻāina/kolani i nā pūʻulu āpau (no ka laʻana, pono mākou e ʻimi i nā pods āpau me ke kūlana "Pending").
  • Hiki ke hoʻoiho ʻia nā papa inoa o nā mea ma ka waihona waiwai hoʻokaʻawale ʻia (TSV) no ka nānā ʻana ma hope.
  • Nā loulou waho hiki ke hoʻopilikino ʻia Hiki iā ʻoe ke hoʻololi i nā dashboards pili a me nā mea hana ʻē aʻe.

Hoʻolaha o ka Kubernetes Web View (a me kahi ʻike pōkole o nā UI pūnaewele ʻē aʻe no Kubernetes)
Kubernetes Web View: papa inoa o nā pods me ke kūlana “Pending” ma nā pūʻulu āpau

Inā makemake ʻoe e hoʻāʻo iā Kubernetes Web View, manaʻo wau e nānā palapala a i ʻole e nānā ola demo.

ʻOiaʻiʻo, ʻoi aku ka maikaʻi o ka interface, akā i kēia manawa ʻo Kubernetes Web View he mea hana no nā "mea hoʻohana kiʻekiʻe" ʻaʻole hilahila i ka hoʻopunipuni ʻana i nā ala URL me ka lima inā pono. Inā loaʻa iā ʻoe kekahi manaʻo/hoʻohui/manaʻo, e leka uila me aʻu ma Twitter!

He moʻolelo pōkole kēia ʻatikala o ke kua i alakaʻi ʻia i ka hana ʻana o Kubernetes Web View. E hahai mai ana kekahi mau mea hou aku! (Nānā. unuhi.: Pono lākou e manaʻo ʻia i loko blog a ka mea kākau.)

PS mai ka mea unuhi

E heluhelu pū ma kā mākou blog:

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka