Kev koom ua ke ntawm Kubernetes Dashboard thiab GitLab cov neeg siv
Kubernetes Dashboard yog ib qho yooj yim-rau-siv cov cuab yeej kom tau txais cov ntaub ntawv tshiab txog kev khiav haujlwm thiab tswj tsawg kawg ntawm nws. Koj pib txaus siab rau nws ntau dua thaum nkag mus rau cov peev txheej no yog xav tau tsis yog los ntawm cov thawj coj / DevOps engineers, tab sis kuj los ntawm cov neeg uas tsis tshua paub siv lub console thiab / lossis tsis npaj siab los cuam tshuam nrog txhua qhov kev cuam tshuam ntawm kev cuam tshuam nrog kubectl thiab lwm yam khoom siv. Qhov no tshwm sim nrog peb: cov neeg tsim khoom xav nkag mus rau Kubernetes lub vev xaib nrawm, thiab txij li peb siv GitLab, cov kev daws teeb meem tuaj ib txwm muaj.
Vim li cas qhov no?
Cov neeg tsim khoom ncaj qha tuaj yeem txaus siab rau lub cuab yeej zoo li K8s Dashboard rau kev ua haujlwm debugging. Qee lub sij hawm koj xav saib cov cav thiab cov peev txheej, thiab qee zaum tua cov pods, scale Deployments / StatefulSets, thiab txawm mus rau lub thawv console (tseem muaj xws li kev thov, uas, txawm li cas los xij, muaj lwm txoj hauv kev - piv txwv li, los ntawm kubectl-debug).
Tsis tas li ntawd, muaj lub sijhawm puas siab ntsws rau cov thawj coj thaum lawv xav saib hauv pawg - pom tias "txhua yam yog ntsuab", thiab yog li qhia lawv tus kheej tias "txhua yam ua haujlwm" (uas, ntawm chav kawm, yog txheeb ze heev ... tab sis qhov no yog dhau ntawm cov kab lus ntawm kab lus).
Raws li tus qauv CI system peb muaj siv rau GitLab: txhua tus tsim tawm siv nws ib yam nkaus. Yog li, txhawm rau muab lawv nkag mus, nws yog qhov tsim nyog los koom ua ke Dashboard nrog GitLab cov nyiaj.
Kuv tseem yuav nco ntsoov tias peb siv NGINX Ingress. Yog tias koj ua haujlwm nrog lwm tus ingress daws, koj yuav tsum tau nrhiav nws tus kheej nrhiav analogues ntawm annotations rau kev tso cai.
Sim kev koom ua ke
installation ntawm dashboard
Nco ntsoov: Yog tias koj yuav rov ua cov kauj ruam hauv qab no, tom qab ntawd - kom tsis txhob muaj kev ua haujlwm tsis tsim nyog - ua ntej nyeem rau cov kab ntawv txuas ntxiv.
Txij li thaum peb siv qhov kev sib koom ua ke hauv ntau qhov kev teeb tsa, peb tau ua haujlwm nws lub installation. Cov peev txheej xav tau rau qhov no tau tshaj tawm hauv tshwj xeeb GitHub repository. Lawv yog raws li hloov me ntsis YAML teeb tsa los ntawm official Dashboard repository, nrog rau Bash tsab ntawv rau kev xa tawm sai.
Tsab ntawv teeb tsa Dashboard hauv pawg thiab teeb tsa nws rau kev koom ua ke nrog 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
Txawm li cas los xij, ua ntej siv nws, koj yuav tsum mus rau GitLab: Chaw Tswj Xyuas β Daim Ntawv Thov - thiab ntxiv daim ntawv thov tshiab rau lub vaj huam sib luag yav tom ntej. Cia peb hu nws "kubernetes dashboard":
Tom qab ntawd, cia peb txheeb xyuas tias txhua yam pib:
$ 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
Tsis ntev los sis tom qab txhua yam yuav pib, txawm li cas los xij kev tso cai yuav tsis ua haujlwm tam sim ntawd! Qhov tseeb yog tias hauv daim duab siv (qhov xwm txheej hauv lwm cov duab zoo ib yam) cov txheej txheem ntawm kev ntes tus xa rov qab hauv kev hu rov qab yog siv tsis raug. Qhov xwm txheej no ua rau qhov tseeb tias oauth lwv cov ncuav qab zib uas oauth nws tus kheej muab rau peb ...
Qhov teeb meem yog daws los ntawm kev tsim koj tus kheej oauth duab nrog ib thaj.
Patch oauth thiab reinstall
Txhawm rau ua qhov no, peb yuav siv Dockerfile hauv qab no:
Nws yog lub sij hawm mus rau lub Dashboard thiab nrhiav ib tug archaic tus ID nkag mus khawm:
Tom qab nyem rau ntawm nws, GitLab yuav tos txais peb, muab nkag rau hauv nws nplooj ntawv ib txwm muaj (ntawm chav kawm, yog tias peb tsis tau nkag mus rau qhov ntawd):
Peb nkag mus nrog GitLab daim ntawv pov thawj - thiab txhua yam ua tiav:
Hais txog Dashboard nta
Yog tias koj yog tus tsim tawm uas tsis tau ua haujlwm nrog Kubernetes ua ntej, lossis tsuas yog vim qee qhov tsis tau ntsib Dashboard ua ntej, kuv yuav piav qhia qee qhov ntawm nws lub peev xwm.
K8 Dash - cov tub ntxhais hluas interface (thawj thawj zaug rov qab mus rau lub Peb Hlis ntawm lub xyoo no), uas twb muaj cov yam ntxwv zoo, xws li cov duab sawv cev ntawm cov xwm txheej tam sim no ntawm pawg thiab kev tswj hwm ntawm nws cov khoom. Positioned li "real-time interface", vim hais tias cia li hloov kho cov ntaub ntawv tso tawm yam tsis tas yuav kom koj hloov kho nplooj ntawv hauv browser.
OpenShift Console - lub vev xaib cuam tshuam los ntawm Red Hat OpenShift, uas, txawm li cas los xij, yuav coj lwm yam kev txhim kho ntawm qhov project rau koj pawg, uas tsis haum rau txhua tus.
Kubernator yog ib qhov project nthuav, tsim raws li qib qis (tshaj li Dashboard) interface nrog lub peev xwm los saib tag nrho cov khoom pawg. Txawm li cas los xij, nws zoo li nws txoj kev loj hlob tau nres.
Polaris - tsuas yog lwm hnub tshaj tawm ib qhov project uas sib txuas cov haujlwm ntawm lub vaj huam sib luag (qhia txog lub xeev tam sim no ntawm pawg, tab sis tsis tswj hwm nws cov khoom) thiab tsis siv neeg "validation ntawm cov kev coj ua zoo tshaj" (xyuas cov pawg rau qhov tseeb ntawm kev teeb tsa ntawm Kev xa tawm khiav hauv nws).
Hloov chaw xaus
Dashboard yog cov cuab yeej txheem rau Kubernetes pawg peb pab. Nws kev koom ua ke nrog GitLab kuj tau dhau los ua ib feem ntawm peb lub neej ntawd kev teeb tsa, vim tias ntau tus neeg tsim khoom txaus siab rau lub peev xwm uas lawv muaj nrog lub vaj huam sib luag no.
Kubernetes Dashboard ib ntus muaj lwm txoj hauv kev los ntawm Open Source zej zog (thiab peb zoo siab los xav txog lawv), tab sis nyob rau theem no peb tseem nrog cov kev daws teeb meem no.