ProHoster > Блог > Isakoso > Ijọpọ ti Dasibodu Kubernetes ati Awọn olumulo GitLab
Ijọpọ ti Dasibodu Kubernetes ati Awọn olumulo GitLab
Dasibodu Kubernetes jẹ ohun elo irọrun-lati-lo fun gbigba alaye imudojuiwọn nipa iṣupọ nṣiṣẹ ati iṣakoso ti o kere ju. O bẹrẹ lati ni riri paapaa diẹ sii nigbati iraye si awọn agbara wọnyi nilo kii ṣe nipasẹ awọn alabojuto / awọn onimọ-ẹrọ DevOps, ṣugbọn tun nipasẹ awọn ti ko faramọ console ati / tabi ko pinnu lati wo pẹlu gbogbo awọn intricacies ti ibaraenisepo pẹlu kubectl ati miiran igbesi. Eyi ṣẹlẹ pẹlu wa: awọn olupilẹṣẹ fẹ iraye si iyara si wiwo wẹẹbu Kubernetes, ati pe niwọn igba ti a lo GitLab, ojutu naa wa nipa ti ara.
Kini idi eyi?
Awọn olupilẹṣẹ taara le nifẹ si ohun elo bii K8s Dashboard fun awọn iṣẹ ṣiṣe n ṣatunṣe aṣiṣe. Nigba miiran o fẹ lati wo awọn akọọlẹ ati awọn orisun, ati nigbakan pa awọn adarọ-ese, iwọn Awọn imuṣiṣẹ / StatefulSets, ati paapaa lọ si console eiyan (awọn ibeere tun wa fun eyiti, sibẹsibẹ, ọna miiran wa - fun apẹẹrẹ, nipasẹ kubectl-yokokoro).
Ni afikun, akoko ọpọlọ wa fun awọn alakoso nigba ti wọn fẹ lati wo iṣupọ - lati rii pe “ohun gbogbo jẹ alawọ ewe”, ati nitorinaa ṣe idaniloju ara wọn pe “ohun gbogbo n ṣiṣẹ” (eyiti, nitorinaa, jẹ ibatan pupọ… ṣugbọn eyi kọja aaye ti nkan naa).
Bi awọn kan boṣewa CI eto ti a ni loo GitLab: gbogbo awọn olupilẹṣẹ lo paapaa. Nitorinaa, lati pese iwọle si wọn, o jẹ ọgbọn lati ṣepọ Dashboard pẹlu awọn akọọlẹ GitLab.
Emi yoo tun ṣe akiyesi pe a lo NGINX Ingress. Ti o ba ṣiṣẹ pẹlu awọn miiran ingress solusan, iwọ yoo nilo lati wa awọn afọwọṣe ti awọn asọye fun aṣẹ ni ominira.
Ngbiyanju iṣọpọ
Dasibodu fifi sori
Išọra: Ti o ba fẹ tun awọn igbesẹ ti o wa ni isalẹ ṣe, lẹhinna - lati yago fun awọn iṣẹ ti ko wulo - kọkọ ka si akọle atẹle.
Niwọn igba ti a ti lo iṣọpọ yii ni ọpọlọpọ awọn fifi sori ẹrọ, a ti fi sori ẹrọ adaṣe adaṣe. Awọn orisun ti o nilo fun eyi ni a gbejade ni pataki GitHub ibi ipamọ. Wọn da lori awọn atunto YAML ti a yipada diẹ lati ibi ipamọ Dasibodu osise, bakanna bi iwe afọwọkọ Bash fun imuṣiṣẹ ni kiakia.
Iwe afọwọkọ naa fi Dasibodu sinu iṣupọ ati tunto rẹ fun isọpọ pẹlu GitLab:
$ ./ctl.sh
Usage: ctl.sh [OPTION]... --gitlab-url GITLAB_URL --oauth2-id ID --oauth2-secret SECRET --dashboard-url DASHBOARD_URL
Install kubernetes-dashboard to Kubernetes cluster.
Mandatory arguments:
-i, --install install into 'kube-system' namespace
-u, --upgrade upgrade existing installation, will reuse password and host names
-d, --delete remove everything, including the namespace
--gitlab-url set gitlab url with schema (https://gitlab.example.com)
--oauth2-id set OAUTH2_PROXY_CLIENT_ID from gitlab
--oauth2-secret set OAUTH2_PROXY_CLIENT_SECRET from gitlab
--dashboard-url set dashboard url without schema (dashboard.example.com)
Optional arguments:
-h, --help output this message
Sibẹsibẹ, ṣaaju lilo rẹ, o nilo lati lọ si GitLab: Abojuto agbegbe → Awọn ohun elo - ati ṣafikun ohun elo tuntun fun igbimọ iwaju. Jẹ ki a pe ni “kubernetes dashboard”:
Bi abajade ti fifi kun, GitLab yoo pese awọn hashes:
Wọn jẹ awọn ti a lo bi awọn ariyanjiyan si iwe afọwọkọ naa. Bi abajade, fifi sori ẹrọ dabi eyi:
$ kubectl -n kube-system get pod | egrep '(dash|oauth)'
kubernetes-dashboard-76b55bc9f8-xpncp 1/1 Running 0 14s
oauth2-proxy-5586ccf95c-czp2v 1/1 Running 0 14s
Laipẹ tabi nigbamii ohun gbogbo yoo bẹrẹ, sibẹsibẹ aṣẹ kii yoo ṣiṣẹ lẹsẹkẹsẹ! Otitọ ni pe ninu aworan ti a lo (ipo ti o wa ninu awọn aworan miiran jẹ iru) ilana ti mimu àtúnjúwe kan ninu ipe pada jẹ imuse ti ko tọ. Ipo yii yori si otitọ pe ibura pa kuki ti o bura funrarẹ n pese fun wa…
O to akoko lati lọ si Dasibodu ki o wa bọtini iwọle archaic kan:
Lẹhin titẹ lori rẹ, GitLab yoo kí wa, nfunni lati wọle si oju-iwe igbagbogbo rẹ (dajudaju, ti a ko ba ti wọle tẹlẹ nibẹ):
A wọle pẹlu awọn iwe-ẹri GitLab - ati pe ohun gbogbo ti ṣe:
Nipa Dasibodu awọn ẹya ara ẹrọ
Ti o ba jẹ olupilẹṣẹ ti ko ṣiṣẹ pẹlu Kubernetes tẹlẹ, tabi nirọrun fun idi kan ko ti pade Dashboard tẹlẹ, Emi yoo ṣe apejuwe diẹ ninu awọn agbara rẹ.
Ni akọkọ, o le rii pe “ohun gbogbo jẹ alawọ ewe”:
Awọn alaye alaye diẹ sii tun wa fun awọn adarọ-ese, gẹgẹbi awọn oniyipada ayika, aworan ti a ṣe igbasilẹ, awọn ariyanjiyan ifilọlẹ, ati ipo wọn:
Awọn imuṣiṣẹ ni awọn ipo ti o han:
... ati awọn alaye miiran:
ati pe agbara tun wa lati ṣe iwọn imuṣiṣẹ naa:
Abajade ti isẹ yii:
Lara awọn ẹya miiran ti o wulo ti a mẹnuba tẹlẹ ni ibẹrẹ nkan naa ni wiwo awọn akọọlẹ:
ati iṣẹ naa lati wọle sinu console eiyan ti adarọ-ese ti o yan:
Fun apẹẹrẹ, o tun le wo awọn opin/awọn ibeere lori awọn apa:
Nitoribẹẹ, iwọnyi kii ṣe gbogbo awọn agbara ti nronu, ṣugbọn Mo nireti pe o gba imọran gbogbogbo.
Awọn alailanfani ti iṣọpọ ati Dasibodu
Ninu iṣọpọ ti a ṣalaye ko si wiwọle Iṣakoso. Pẹlu rẹ, gbogbo awọn olumulo pẹlu eyikeyi iraye si GitLab ni iraye si Dasibodu naa. Wọn ni iwọle kanna ni Dasibodu funrararẹ, ni ibamu si awọn ẹtọ ti Dasibodu funrararẹ, eyiti ti wa ni asọye ni RBAC. O han ni, eyi ko dara fun gbogbo eniyan, ṣugbọn fun ọran wa o wa ni to.
Lara awọn aila-nfani ti o ṣe akiyesi ni Dasibodu funrararẹ, Mo ṣe akiyesi atẹle naa:
ko ṣee ṣe lati wọle sinu console ti eiyan init;
ko ṣee ṣe lati ṣatunkọ Awọn imuṣiṣẹ ati StatefulSets, botilẹjẹpe eyi le ṣe atunṣe ni ClusterRole;
Ibamu Dasibodu pẹlu awọn ẹya tuntun ti Kubernetes ati ọjọ iwaju ti ise agbese na gbe awọn ibeere dide.
Isoro ti o kẹhin yẹ akiyesi pataki.
Dasibodu ipo ati yiyan
Tabili ibamu Dasibodu pẹlu awọn idasilẹ Kubernetes, ti a gbekalẹ ni ẹya tuntun ti iṣẹ akanṣe (v1.10.1), ko dun pupọ:
Bi o ti lẹ jẹ pe eyi, o wa (ti a gba ni January) PR # 3476, eyiti o kede atilẹyin fun K8s 1.13. Ni afikun, laarin awọn ọran iṣẹ akanṣe o le wa awọn itọkasi si awọn olumulo ti n ṣiṣẹ pẹlu nronu ni K8s 1.14. Níkẹyìn, ṣe sinu ipilẹ koodu ise agbese ko duro. Nitorinaa (o kere ju!) Ipo gangan ti iṣẹ akanṣe ko buru bi o ti le dabi akọkọ lati tabili ibamu osise.
Nikẹhin, awọn ọna miiran wa si Dasibodu. Lára wọn:
K8 Daṣi - wiwo ọdọ (akọkọ ṣe ọjọ pada si Oṣu Kẹta ti ọdun yii), eyiti o ti pese awọn ẹya ti o dara tẹlẹ, gẹgẹ bi aṣoju wiwo ti ipo lọwọlọwọ ti iṣupọ ati iṣakoso awọn nkan rẹ. Ti o wa ni ipo bi “ni wiwo akoko gidi”, nitori ṣe imudojuiwọn data ti o han laifọwọyi laisi nilo ki o sọ oju-iwe naa ni ẹrọ aṣawakiri.
OpenShift Console - wiwo wẹẹbu kan lati Red Hat OpenShift, eyiti, sibẹsibẹ, yoo mu awọn idagbasoke miiran ti iṣẹ akanṣe wa si iṣupọ rẹ, eyiti ko dara fun gbogbo eniyan.
Kubernator jẹ iṣẹ akanṣe ti o nifẹ, ti a ṣẹda bi wiwo ipele-kekere (ju Dashboard) pẹlu agbara lati wo gbogbo awọn nkan iṣupọ. Sibẹsibẹ, o dabi pe idagbasoke rẹ ti duro.
Polaris - o kan awọn miiran ọjọ kede ise agbese kan ti o daapọ awọn iṣẹ ti nronu kan (ṣe afihan ipo ti o wa lọwọlọwọ ti iṣupọ, ṣugbọn ko ṣakoso awọn nkan rẹ) ati aifọwọyi "ifọwọsi awọn iṣẹ ti o dara julọ" (ṣayẹwo iṣupọ fun atunṣe ti awọn atunto ti Awọn imuṣiṣẹ ti nṣiṣẹ ninu rẹ).
Dipo awọn ipinnu
Dasibodu jẹ ọpa boṣewa fun awọn iṣupọ Kubernetes ti a nṣe. Isopọpọ rẹ pẹlu GitLab tun ti di apakan ti fifi sori ẹrọ aiyipada wa, bi ọpọlọpọ awọn olupilẹṣẹ ṣe ni itara nipa awọn agbara ti wọn ni pẹlu igbimọ yii.
Dasibodu Kubernetes lorekore ni awọn omiiran lati agbegbe Open Source (ati pe a ni idunnu lati gbero wọn), ṣugbọn ni ipele yii a wa pẹlu ojutu yii.