Cuirim teagaisc i láthair d’aird chun rochtain a ghiniúint ar bhraisle Kubernetes ag baint úsáide as Dex, dex-k8s-authenticator agus GitHub.
Meme áitiúil ó Kubernetes Rúisis-chomhrá i Telegram
Réamhrá
Bainimid úsáid as Kubernetes chun timpeallachtaí dinimiciúla a chruthú don fhoireann forbartha agus don QA. Mar sin ba mhaith linn rochtain a thabhairt dóibh ar an mbraisle don deais agus don kubectl araon. Murab ionann agus an OpenShift céanna, níl fíordheimhniú dúchais ag vanilla Kubernetes, mar sin úsáidimid uirlisí tríú páirtí le haghaidh seo.
GitHub - go simplí toisc go n-úsáideann muid GitHub inár gcuideachta
Rinneamar iarracht Google OIDC a úsáid, ach ar an drochuair rinneamar theip chun tús a chur leo le grúpaí, agus mar sin d'oirfeadh an comhtháthú le GitHub go breá dúinn. Gan léarscáiliú grúpa, ní bheidh sé indéanta beartais RBAC grúpabhunaithe a chruthú.
Mar sin, conas a oibríonn ár bpróiseas údaraithe Kubernetes i léiriú amhairc:
Próiseas údaraithe
Beagán níos mó sonraí agus pointe ar phointe:
Logálann an t-úsáideoir isteach i dex-k8s-authenticator (login.k8s.example.com)
atreoraíonn dex-k8s-authenticator an t-iarratas chuig Dex (dex.k8s.example.com)
Déanann Dex atreorú chuig leathanach logáil isteach GitHub
Gineann GitHub an fhaisnéis údaraithe riachtanach agus cuireann sé ar ais chuig Dex í
Cuireann Dex an fhaisnéis faighte ar aghaidh chuig dex-k8s-authenticator
Tugann KubeAPIServer bunaithe ar an chomhartha a ritheadh rochtain ar kubectl ar ais
Rochtain úsáideora ó kubectl
Gníomhaíochtaí Ullmhúcháin
Ar ndóigh, tá braisle Kubernetes suiteáilte againn cheana féin (k8s.example.com), chomh maith le HELM réamhshuiteáilte. Tá eagraíocht againn freisin ar GitHub (super-org).
Mura bhfuil HELM agat, suiteáil é an-simplí.
Ar dtús ní mór dúinn GitHub a bhunú.
Téigh go dtí an leathanach socruithe eagraíochta, (https://github.com/organizations/super-org/settings/applications) agus cruthaigh feidhmchlár nua (Aip OAuth Údaraithe):
Cruthaigh aip nua ar GitHub
Líon isteach na réimsí leis na URLanna riachtanacha, mar shampla:
URL an leathanaigh baile: https://dex.k8s.example.com
Bí cúramach le naisc, tá sé tábhachtach gan slais a chailleadh.
Mar fhreagra ar an bhfoirm chomhlánaithe, ginfidh GitHub Client ID и Client secret, iad a shábháil in áit shábháilte, beidh siad úsáideach dúinn (mar shampla, úsáidimid Bóthair chun rúin a choimeád):
Déanaimis inseirbhísiúlacht na seirbhísí a sheiceáil (ba cheart do Dex cód 400 a thabhairt ar ais, agus ba cheart do dex-k8s-authenticator cód 200 a sheoladh ar ais):
curl -sI https://dex.k8s.example.com/callback | head -1
HTTP/2 400
curl -sI https://login.k8s.example.com/ | head -1
HTTP/2 200
cumraíocht RBAC
Cruthaigh Ról Braisle don ghrúpa, inár gcás le rochtain inléite amháin:
Téigh go dtí an leathanach logáil isteachhttps://login.k8s.example.com) agus logáil isteach le cuntas GitHub:
Leathanach údaraithe
Leathanach údaraithe arna atreorú chuig GitHub
Lean na treoracha ginte chun rochtain a fháil
Tar éis cóip-ghreamú ón leathanach gréasáin, is féidir linn kubectl a úsáid chun ár n-acmhainní braisle a bhainistiú:
kubectl get po
NAME READY STATUS RESTARTS AGE
mypod 1/1 Running 0 3d
kubectl delete po mypod
Error from server (Forbidden): pods "mypod" is forbidden: User "[email protected]" cannot delete pods in the namespace "default"
Agus oibríonn sé, is féidir le gach úsáideoir GitHub inár n-eagraíocht acmhainní a fheiceáil agus logáil isteach i pods, ach níl cead acu iad a athrú.