Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

ʻApelila 8 ma ka ʻaha kūkā Saint HighLoad++ 2019, ma ke ʻano he mahele o ka ʻāpana "DevOps and Operations", ua hāʻawi ʻia kahi hōʻike "Hoʻonui a hoʻokō i nā Kubernetes", i ka hoʻokumu ʻia ʻana o nā limahana ʻekolu o ka hui Flant. I loko o ia mea, ke kamaʻilio nei mākou e pili ana i nā kūlana he nui a mākou i makemake ai e hoʻonui a hoʻokō i nā mana o Kubernetes, akā no ka mea ʻaʻole mākou i ʻike i kahi hopena mākaukau a maʻalahi. Loaʻa iā mākou nā hoʻonā kūpono ma ke ʻano o nā papahana Open Source, a ua hoʻolaʻa pū ʻia kēia ʻōlelo iā lākou.

Ma ke kuʻuna, hauʻoli mākou e hōʻike wikiō o ka hōʻike (50 mau minuke, ʻoi aku ka ʻike ma mua o ka ʻatikala) a me ka hōʻuluʻulu nui ma ke ʻano kikokikona. Hele!

Core a me nā mea hoʻohui i K8s

Ke hoʻololi nei ʻo Kubernetes i ka ʻoihana a me nā ala i ka hoʻokele i hoʻokumu ʻia i ka wā lōʻihi:

  • Mahalo iā ia hoʻokaʻawale, ʻaʻole mākou e hana hou me nā manaʻo e like me ka hoʻonohonoho ʻana i kahi config a i ʻole ka holo ʻana i kahi kauoha (Chef, Ansible...), akā hoʻohana i ka hui ʻana o nā ipu, nā lawelawe, etc.
  • Hiki iā mākou ke hoʻomākaukau i nā noi me ka noʻonoʻo ʻole i nā nuances o ka kahua kikoʻī, kahi e hoʻokuʻu ʻia ai: metala ʻole, ke ao o kekahi o nā mea hoʻolako, etc.
  • Me nā K8 ʻaʻole ʻoe i ʻoi aku ka maʻalahi nā hana maikaʻi loa ma ka hoʻonohonoho ʻana i nā ʻoihana: nā ʻenehana scaling, hoʻōla ponoʻī, hoʻomanawanui hewa, etc.

Eia naʻe, ʻoiaʻiʻo, ʻaʻole maʻalahi nā mea āpau: Ua lawe pū ʻo Kubernetes i kāna mau pilikia hou.

Kubernetes ole he hui e hoʻoponopono i nā pilikia a pau o nā mea hoʻohana a pau. Core ʻO Kubernetes wale nō ke kuleana no kahi hoʻonohonoho o nā hana pono liʻiliʻi i loaʻa i loko kēlā me kēia pūʻulu:

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

ʻO ke kumu Kubernetes ka wehewehe ʻana i kahi pūʻulu kumu mua no ka hui pū ʻana i nā ipu, hoʻokele kaʻa, a pēlā aku. Ua kamaʻilio mākou e pili ana iā lākou i nā kikoʻī hou aku ma hōʻike 2 makahiki aku nei.

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

Ma ka ʻaoʻao ʻē aʻe, hāʻawi ʻo K8 i nā manawa kūpono e hoʻonui i nā hana i loaʻa, e kōkua ana e pani i nā mea ʻē aʻe - kikoʻī - pono mea hoʻohana. ʻO ka hoʻohui ʻana i nā Kubernetes ke kuleana o nā luna hoʻomalu, pono lākou e hoʻokomo a hoʻonohonoho i nā mea āpau e pono ai e kiʻi i kā lākou puʻupuʻu "ma ke ʻano kūpono" [e hoʻoponopono i kā lākou mau pilikia kikoʻī]. He aha kēia mau mea hoʻohui? E nānā kākou i kekahi mau laʻana.

Nā laʻana o nā mea hoʻohui

Ma hope o ka hoʻokomo ʻana i nā Kubernetes, kāhāhā paha mākou no ka hana pono ʻole o ka pūnaewele i pono no ka hoʻopili ʻana o nā pods ma loko o kahi node a ma waena o nā node ʻaʻole ia e hana ponoʻī. ʻAʻole hōʻoia ka kernel Kubernetes i nā pili pono; akā, hoʻoholo ia i ka pūnaewele ka ʻike (CNI) no nā mea hoʻohui ʻekolu. Pono mākou e hoʻokomo i kekahi o kēia mau mea hoʻohui, nona ke kuleana no ka hoʻonohonoho pūnaewele.

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

ʻO kahi hiʻohiʻona koʻikoʻi ʻo ia nā ʻōnaehana mālama ʻikepili (ka diski kūloko, ka mea hana poloka pūnaewele, Ceph...). I ka wā mua aia lākou i loko o ke kumu, akā me ka hiki ʻana mai 'O CSI ke hoʻololi nei ke kūlana i kahi mea e like me ka mea i wehewehe mua ʻia: aia ka interface ma Kubernetes, a ʻo kāna hoʻokō ʻana i nā modules ʻaoʻao ʻekolu.

Eia kekahi laʻana:

  • Pau-mea hoʻomalu (e ʻike i kā lākou loiloi ma kā mākou ʻatikala hou).
  • luna hoʻomalu:

    Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

  • ʻO nā mea hana he papa holoʻokoʻa o nā mea hoʻohui (ʻo ia ka mea i ʻōlelo ʻia i ka luna mana), wehewehe lākou i ka primitive (s) a me ka mea hoʻoponopono. ʻO ka loiloi o kā lākou hana i kaupalena wale ʻia e ko mākou noʻonoʻo a hiki iā mākou ke hoʻohuli i nā ʻāpana ʻenehana i hana ʻia (e like me ka DBMS) i nā primitives, ʻoi aku ka maʻalahi o ka hana ʻana (ma mua o kahi hoʻonohonoho o nā ipu a me kā lākou hoʻonohonoho). Ua kākau ʻia kahi helu nui o nā mea hana - ʻoiai inā ʻaʻole mākaukau ka nui o lākou no ka hana ʻana, he manawa wale nō ia:

    Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

  • Nā ana - kekahi hiʻohiʻona o ka hoʻokaʻawale ʻana o Kubernetes i ka interface (Metrics API) mai ka hoʻokō ʻana (nā mea hoʻohui ʻekolu e like me Prometheus adapter, Datadog cluster agent...).
  • no ka mea, ka nānā ʻana a me ka helu, kahi ma ka hana ʻaʻole pono wale nō Prometheus a me Grafana, akā he kube-state-metrics, node-exporter, etc.

ʻAʻole kēia he papa inoa piha o nā mea hoʻohui ... No ka laʻana, ma ka hui Flant mākou e hoʻokomo nei 29 mau mea hoʻohui (ʻo ia mau mea a pau he 249 mau mea Kubernetes). ʻO ka waiho wale ʻana, ʻaʻole hiki iā mākou ke ʻike i ke ola o kahi pūpū me ka ʻole o nā mea hoʻohui.

Automation

Hoʻolālā ʻia nā mea hana e hoʻokaʻawale i nā hana maʻamau a mākou e hālāwai ai i kēlā me kēia lā. Eia nā hiʻohiʻona ola maoli no ka kākau ʻana i kahi mea hoʻohana e lilo i hopena maikaʻi loa:

  1. Aia kahi hoʻopaʻa inoa pilikino (ʻo ia hoʻi. Ua manaʻo ʻia ua hāʻawi ʻia kēlā me kēia pod i kahi huna kūikawā e hiki ai i ka hōʻoia ʻana i ka papa inoa. ʻO kā mākou hana e hōʻoia i ka loaʻa ʻana o kēia mea huna ma ka inoa inoa i hiki i nā pods ke hoʻoiho i nā kiʻi. Hiki ke loaʻa i nā noi he nui (pono kēlā me kēia mea i kahi huna), a he mea pono e hoʻonui pinepine i nā mea huna, no laila ua hoʻopau ʻia ke koho o ka waiho ʻana i nā mea huna ma ka lima. ʻO kēia kahi e hele mai ai ka mea hoʻokele e hoʻopakele: hana mākou i kahi mea hoʻoponopono e kali i ka puka ʻana o ka inoa inoa a, ma muli o kēia hanana, e hoʻohui i kahi huna i ka inoa inoa.
  2. ʻAʻole ʻae ʻia ke komo ʻana mai nā pods i ka Pūnaewele. Akā i kekahi manawa e koi ʻia: he mea kūpono no ka hana ʻae ʻana e hana maʻalahi, me ka ʻole o ke koi ʻana i nā mākau kikoʻī, no ka laʻana, ma ke ʻano o kahi lepili ma ka inoa inoa. Pehea e hiki ai i ka mea hoʻohana ke kōkua iā mākou ma ʻaneʻi? Hoʻokumu ʻia kahi mea hoʻoponopono e kali ana no ka hōʻike ʻana o ka lepili ma ka inoa inoa a hoʻohui i ke kulekele kūpono no ka ʻike pūnaewele.
  3. ʻO kahi kūlana like: inā pono mākou e hoʻohui i kekahi taint, inā he lepili like kona (me kekahi ʻano prefix). ʻIke ʻia nā hana me ka mea hoʻohana ...

I kēlā me kēia pūʻulu, pono e hoʻoholo i nā hana maʻamau, a pololei hiki ke hana i kēia me ka hoʻohana ʻana i nā mea hoʻohana.

I ka hōʻuluʻulu ʻana i nā moʻolelo a pau i wehewehe ʻia, ua hiki mākou i ka hopena no ka hana ʻoluʻolu ma Kubernetes pono ʻoe: A) hoʻokomo i nā mea hoʻohui, b) hoʻomohala i nā mea hana (no ka hoʻoponopono ʻana i nā hana admin i kēlā me kēia lā).

Pehea e kākau ai i kahi ʻōlelo no Kubernetes?

Ma keʻano laulā, maʻalahi ka papahana:

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

... akā ua ʻike ʻia:

  • ʻO ka Kubernetes API kahi mea liʻiliʻi ʻole e nui ka manawa e haku ai;
  • ʻAʻole no ka poʻe a pau ka polokalamu (ua koho ʻia ka ʻōlelo Go ma ke ʻano he ʻōlelo i makemake ʻia no ka mea aia kahi hoʻolālā kūikawā no ia - SDK mea hana);
  • Ua like ke kūlana me ka framework pono'ī.

Lalo laina: e kakau i mea hooponopono (operator) pono hoʻolilo waiwai nui e ao i na mea. E ʻae ʻia kēia no nā mea hana "nui" - e ʻōlelo, no ka MySQL DBMS. Akā inā mākou e hoʻomanaʻo i nā hiʻohiʻona i hōʻike ʻia ma luna (ka wehe ʻana i nā mea huna, ke komo ʻana i nā pods i ka Pūnaewele ...), a mākou e makemake ai e hana pololei, a laila e hoʻomaopopo mākou ʻoi aku ka nui o ka hoʻoikaika ʻana i ka hopena e pono ai mākou i kēia manawa:

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

Ma keʻano laulā, hiki mai kahi pilikia: e hoʻolilo i ka nui o nā kumuwaiwai a loaʻa i ka mea hana kūpono no ka kākau ʻana i nā ʻōlelo, a i ʻole e hana i ke ala kahiko (akā wikiwiki). No ka hoʻoponopono ʻana - e ʻimi i kahi kuʻikahi ma waena o kēia mau mea koʻikoʻi - ua hana mākou i kā mākou papahana ponoʻī: mea hoʻohana pūpū (e nānā hoʻi i kāna hoolaha hou ma ka hub).

Mea hoʻohana pū

Pehea kana hana ana? Loaʻa i ka pūʻulu kahi pod i loaʻa kahi Go binary me kahi shell-operator. Ma hope ona he pūʻulu o makau (ʻike hou aku e pili ana iā lākou - e ʻike ma lalo). Hoʻopaʻa inoa ka shell-operator i kekahi nā hanana i loko o ka Kubernetes API, i ka wā e hoʻokuʻu ai i nā makau pili.

Pehea e ʻike ai ka mea hoʻohana shell i nā makau e kāhea ai i nā hanana? Hoʻouna ʻia kēia ʻike i ka shell-operator e nā makau ponoʻī, a hana maʻalahi lākou.

ʻO kahi makau he palapala Bash a i ʻole kekahi faila hoʻokō ʻē aʻe e ʻae i kahi hoʻopaʻapaʻa hoʻokahi --config a pane me JSON. Hoʻoholo ka mea hope i nā mea hoihoi iā ia a me nā hanana (no kēia mau mea) pono e pane ʻia:

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

E hōʻike wau i ka hoʻokō ʻana ma ka shell-operator o kekahi o kā mākou mau hiʻohiʻona - decomposing mea huna no ke komo ʻana i kahi hoʻopaʻa inoa pilikino me nā kiʻi noi. Aia ia i ʻelua pae.

E hoʻomaʻamaʻa: 1. Kākau i kahi makau

ʻO ka mea mua, ma ka makau mākou e hana ai --config, e hōʻike ana i ko mākou hoihoi i nā namespaces, a ʻo ia hoʻi, ka manawa o kā lākou hana ʻana:

[[ $1 == "--config" ]] ; then
  cat << EOF
{
  "onKubernetesEvent": [
    {
      "kind": "namespace",
      "event": ["add"]
    }
  ]
}
EOF
…

He aha ke ʻano o ka loiloi? He mea maʻalahi hoʻi:

…
else
  createdNamespace=$(jq -r '.[0].resourceName' $BINDING_CONTEXT_PATH)
  kubectl create -n ${createdNamespace} -f - << EOF
Kind: Secret
...
EOF
fi

ʻO ka hana mua e ʻike i ka inoa inoa i hana ʻia, a ʻo ka lua ka hana ʻana me ka hoʻohana ʻana kubectl mea huna no keia wahi inoa.

E hoʻomaʻamaʻa: 2. Hoʻohui i ke kiʻi

ʻO nā mea a pau i koe e hāʻawi i ka makau i hana ʻia i ka shell-operator - pehea e hana ai i kēia? Hele mai ka shell-operator ma ke ʻano he kiʻi Docker, no laila ʻo kā mākou hana e hoʻohui i ka makau i kahi papa kuhikuhi kūikawā ma kēia kiʻi:

FROM flant/shell-operator:v1.0.0-beta.1
ADD my-handler.sh /hooks

ʻO ka mea i koe, ʻo ka hui ʻana a paʻi:

$ docker build -t registry.example.com/my-operator:v1 .
$ docker push registry.example.com/my-operator:v1

ʻO ka hoʻopā hope ʻana e kau i ke kiʻi i ka pūʻulu. No ka hana ʻana i kēia, e kākau kāua kuhikuhi i ka hana:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-operator
spec:
  template:
    spec:
      containers:
      - name: my-operator
        image: registry.example.com/my-operator:v1 # 1
      serviceAccountName: my-operator              # 2

ʻElua mau mea e hoʻolohe ai:

  1. hōʻailona o ke kiʻi i hana hou ʻia;
  2. He ʻōnaehana ʻōnaehana kēia (ma ka liʻiliʻi loa) pono e kākau inoa i nā hanana ma Kubernetes a e hoʻokaʻawale i nā mea huna i nā inoa inoa, no laila hana mākou i ServiceAccount (a me kahi hoʻonohonoho o nā lula) no ka makau.

Ka hopena - ua hoʻoponopono mākou i ko mākou pilikia hoahanau no nā Kubernetes ma ke ala e hana ai i mea hoʻohana no ka hoʻopau ʻana i nā mea huna.

ʻO nā hiʻohiʻona shell-operator ʻē aʻe

No ka kaupalena ʻana i nā mea o kāu ʻano i koho ʻia e hana ai ka makau, hiki iā lākou ke kānana, koho e like me kekahi mau lepili (a i ʻole ka hoʻohana ʻana matchExpressions):

"onKubernetesEvent": [
  {
    "selector": {
      "matchLabels": {
        "foo": "bar",
       },
       "matchExpressions": [
         {
           "key": "allow",
           "operation": "In",
           "values": ["wan", "warehouse"],
         },
       ],
     }
     …
  }
]

Hāʻawi ʻia hana hoʻokaʻawale, ʻo ia - me ka hoʻohana ʻana i kahi kānana jq - hiki iā ʻoe ke hoʻololi i nā mea JSON nui i nā mea liʻiliʻi, kahi e waiho ai kēlā mau ʻāpana a mākou e makemake ai e nānā no nā loli.

Ke kāhea ʻia kahi makau, hele ka mea hoʻohana pūpū iā ia ʻikepili mea, hiki ke hoʻohana ʻia no nā pono āpau.

ʻAʻole i kaupalena ʻia nā hanana e hoʻoulu ai i nā makau i nā hanana Kubernetes: hāʻawi ka shell-operator i ke kākoʻo no e kāhea ana i nā makau i ka manawa (e like me ka crontab i loko o kahi papa hana kuʻuna), a me kahi hanana kūikawā onStartup. Hiki ke hoʻohui ʻia kēia mau hanana a pau i ka makau hoʻokahi.

A ʻelua mau hiʻohiʻona o ka shell-operator:

  1. Hana ia asynchronously. Ma muli o ka loaʻa ʻana o kahi hanana Kubernetes (e like me kahi mea i hana ʻia), hiki i nā hanana ʻē aʻe (e like me ka mea hoʻokahi i holoi ʻia) i hiki ke hana i loko o ka pūʻulu, a pono nā makau e helu i kēia. Inā ua hoʻokō ʻia ka makau me ka hewa, a laila ma ka paʻamau kahea hou a hiki i ka hoʻokō pono ʻana (hiki ke hoʻololi ʻia kēia ʻano).
  2. Hoʻokuʻu aku anana no Prometheus, kahi e hiki ai iā ʻoe ke hoʻomaopopo i ka hana ʻana o ka shell-operator, e ʻike i ka nui o nā hewa no kēlā me kēia makau a me ka nui o ka pila i kēia manawa.

No ka hōʻuluʻulu ʻana i kēia ʻāpana o ka hōʻike:

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

Ke hoʻouka nei i nā mea hoʻohui

No ka hana ʻoluʻolu me Kubernetes, ua ʻōlelo pū ʻia ka pono e hoʻokomo i nā mea hoʻohui. E haʻi aku wau iā ʻoe e pili ana i ka hoʻohana ʻana i ke ʻano o ke ala o kā mākou hui i ke ʻano o kā mākou hana i kēia manawa.

Ua hoʻomaka mākou e hana pū me nā Kubernetes me kekahi mau puʻupuʻu, ʻo ia wale nō ka mea hoʻohui ʻo Ingress. Pono e hoʻokomo ʻokoʻa i kēlā me kēia puʻupuʻu, a ua hana mākou i kekahi mau hoʻonohonoho YAML no nā kaiapuni like ʻole: metala ʻole, AWS...

No ka nui o nā pūʻulu, ʻoi aku ka nui o nā hoʻonohonoho. Eia kekahi, ua hoʻomaikaʻi mākou i kēia mau hoʻonohonoho ponoʻī iā lākou iho, a ua lilo lākou i heterogeneous:

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

No ka hoʻonohonoho pono ʻana i nā mea a pau, hoʻomaka mākou me kahi palapala (install-ingress.sh), ka mea i hoʻopaʻapaʻa i ke ʻano o ka puʻupuʻu a mākou e kau ai, hana i ka hoʻonohonoho pono YAML pono a hoʻohuli iā ia i Kubernetes.

ʻO ka pōkole, ʻo kā mākou ala hou aʻe a me ka noʻonoʻo e pili ana me ia:

  • e hana me nā hoʻonohonoho YAML, koi ʻia kahi mīkini template (ma nā pae mua he maʻalahi kēia);
  • me ka hoʻonui ʻana i ka nui o nā puʻupuʻu, ua hiki mai ka pono no ka hoʻonui ʻana (ʻo ka hoʻonā mua loa e kau i ka palapala ma Git, e hoʻonui iā ia me ka cron a holo ia);
  • Ua koi ʻia kahi palapala like no Prometheus (install-prometheus.sh), akā naʻe, he mea kaulana ia no ka mea e koi ana i nā ʻikepili hoʻokomo hou aku, a me kā lākou mālama ʻana (ma ke ʻano maikaʻi - i hoʻonohonoho ʻia a i loko o kahi pūpū), a hiki ke hana ʻia kekahi mau ʻikepili (mau huaʻōlelo).

    Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

  • ʻO ka pilikia o ka ʻōwili ʻana i kahi mea hewa i ka ulu ʻana o nā puʻupuʻu e ulu mau ana, no laila ua ʻike mākou i nā mea hoʻonohonoho (ʻo ia hoʻi. ʻelua palapala: no Ingress a me Prometheus) Pono ka hoʻonohonoho ʻana (he mau lālā ma Git, he nui nā crons e hoʻonui iā lākou i nā mea like: stable a i ʻole nā ​​​​hui hoʻāʻo);
  • с kubectl apply ua lilo i mea paʻakikī i ka hana ʻana no ka mea ʻaʻole ia he declarative a hiki ke hana wale i nā mea, akā ʻaʻole hoʻoholo i ko lākou kūlana / holoi iā lākou;
  • Ua nele mākou i kekahi mau hana a mākou i hoʻokō ʻole ai i kēlā manawa:
    • ka mana piha i ka hopena o nā hōʻano hou cluster,
    • ka hoʻoholo maʻalahi o kekahi mau palena (hoʻokomo no nā palapala hoʻonohonoho) e pili ana i ka ʻikepili i hiki ke loaʻa mai ka cluster (discovery),
    • kona hoʻomohala kūpono ma ke ʻano o ka ʻike mau.

Ua hoʻokō mākou i kēia ʻike i hōʻiliʻili ʻia i loko o ke ʻano o kā mākou papahana ʻē aʻe - mea hoʻohana addon.

Pākuʻi-mea hoʻohana

Hoʻokumu ʻia ia ma ka shell-operator i ʻōlelo mua ʻia. Penei ka ʻōnaehana holoʻokoʻa:

Hoʻohui ʻia kēia mau mea i nā makau hana shell:

  • waihona waiwai,
  • Papa kuhi helm,
  • ʻāpana kēlā nānā i ka hale kūʻai waiwai a - inā he loli - noi iā Helm e ʻōwili hou i ka pakuhi.

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

No laila, hiki iā mākou ke pane i kahi hanana ma Kubernetes, hoʻomaka i kahi makau, a mai kēia makau hiki iā mākou ke hoʻololi i ka waihona, a laila e hoʻoiho hou ʻia ka pakuhi. I ka hopena o ke kiʻikuhi, hoʻokaʻawale mākou i ka hoʻonohonoho o nā makau a me ka pakuhi i hoʻokahi ʻāpana, a mākou e kapa ai māhele:

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

Hiki i nā modula he nui, a iā lākou mākou e hoʻohui ai i nā makau honua, kahi hale kūʻai waiwai honua, a me kahi mea e nānā ai i kēia hale kūʻai honua.

I kēia manawa, inā loaʻa kekahi mea ma Kubernetes, hiki iā mākou ke pane aku iā ia me ka hoʻohana ʻana i ka makau honua a hoʻololi i kekahi mea ma ka hale kūʻai honua. E ʻike ʻia kēia hoʻololi a e hoʻoneʻe ʻia nā modula āpau o ka pūʻulu:

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

Hoʻopiha kēia papahana i nā koi āpau no ka hoʻokomo ʻana i nā mea hoʻohui i ʻōlelo ʻia ma luna.

  • ʻO Helm ke kuleana no ka hoʻohālikelike a me ka haʻi ʻōlelo.
  • Ua hoʻoholo ʻia ka pilikia o ka auto-update me ka hoʻohana ʻana i kahi makau honua, e hele ana i ke kākau inoa ma kahi papa manawa, a inā ʻike ʻo ia i kahi kiʻi ʻōnaehana hou ma laila, e ʻōwili iā ia (ʻo ia hoʻi "ʻo ia iho").
  • Hoʻohana ʻia ka mālama ʻana i nā hoʻonohonoho i ka hui ConfigMap, i loaʻa nā ʻikepili mua no nā waihona (ma ka hoʻomaka ʻana ua hoʻouka ʻia lākou i loko o nā waihona).
  • Ua hoʻoholo ʻia nā pilikia me ka hana ʻana i ka ʻōlelo huna, ka ʻike a me ka ʻike mau ʻana me ka hoʻohana ʻana i nā makau.
  • Loaʻa ka hoʻokō ʻana i nā hōʻailona, ​​​​ka mea e kākoʻo ai ʻo Docker ma waho o ka pahu.
  • Nānā ʻia ka hopena me ka hoʻohana ʻana i nā metric e hiki ai iā mākou ke hoʻomaopopo i ke kūlana.

Hoʻokomo ʻia kēia ʻōnaehana holoʻokoʻa ma ke ʻano o kahi binary hoʻokahi i Go, i kapa ʻia ʻo addon-operator. He mea maʻalahi kēia i ke kiʻikuhi:

Hoʻonui a hoʻokō i nā Kubernetes (nānā a me ka hōʻike wikiō)

ʻO ka mea nui o kēia kiʻi he hoʻonohonoho o nā modules (i hōʻike ʻia i ka hina ma lalo). I kēia manawa hiki iā mākou ke kākau i kahi module no ka mea hoʻohui i koi ʻia me ka hoʻoikaika liʻiliʻi a e hōʻoia e hoʻokomo ʻia i kēlā me kēia puʻupuʻu, e hōʻano hou ʻia a pane i nā hanana e pono ai i ka hui.

Hoʻohana "Flant". mea hoʻohana addon ma 70+ mau pūʻulu Kubernetes. Kūlana o kēia manawa - alpha version. I kēia manawa ke hoʻomākaukau nei mākou i nā palapala e hoʻokuʻu i ka beta, akā i kēia manawa i ka waihona nā laʻana i loaʻa, ma ke kumu hiki iā ʻoe ke hana i kāu addon ponoʻī.

Ma hea e hiki ai iaʻu ke loaʻa nā modules no addon-operator? ʻO ka paʻi ʻana i kā mākou hale waihona puke ka pae aʻe no mākou; manaʻo mākou e hana i kēia i ke kauwela.

Nā wikiō a me nā paheʻe

Video mai ka hana (~ 50 minuke):

Hōʻike i ka hōʻike:

PS

Nā hōʻike ʻē aʻe ma kā mākou blog:

Hiki paha iā ʻoe ke hoihoi i kēia mau puke:

Source: www.habr.com

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