Kubernetes ku xaqiiji adigoo isticmaalaya GitHub OAuth iyo Dex
Waxaan u soo bandhigay dareenkaaga casharro ku saabsan abuuritaanka gelitaanka kooxda Kubernetes iyadoo la adeegsanayo Dex, dex-k8s-authenticator iyo GitHub.
Xusuus-qor maxalli ah oo ka socda luqadda Ruushka Kubernetes ayaa ku sheekaysanaysa telegraam
Horudhac
Waxaan u isticmaalnaa Kubernetes si aan u abuurno jawi firfircoon horumarinta iyo kooxda QA. Markaa waxaan rabnaa inaan siino inay galaangal u yeeshaan kooxda labada dashboard iyo kubectl. Si ka duwan OpenShift, vanilj Kubernetes ma laha aqoonsi dhalad, marka waxaan tan u isticmaalnaa qalab dhinac saddexaad ah.
GitHub - sababtoo ah waxaan u isticmaalnaa GitHub shirkadeena
Waxaan isku daynay inaan isticmaalno Google OIDC, laakiin nasiib darro annaga ku fashilmay si aan ugu bilowno kooxo, sidaas darteed la-qabsiga GitHub ayaa si fiican noogu habboonaa. Haddii aan la samayn khariidad kooxeed, suurtogal ma noqon doonto in la abuuro siyaasadaha RBAC ee ku salaysan kooxaha.
dex-k8s-authenticator ayaa codsiga u sii gudbiya Dex (dex.k8s.example.com)
Dex waxay u jihaysaa bogga galitaanka GitHub
GitHub waxay soo saartaa macluumaadka oggolaanshaha lagama maarmaanka ah waxayna ku celisaa Dex
Dex wuxuu u gudbiyaa macluumaadka la helay dex-k8s-authenticator
Isticmaaluhu wuxuu ka helayaa OIDC token GitHub
dex-k8s-authenticator wuxuu ku darayaa calaamada kubeconfig
kubectl waxay u gudbisaa calaamada KubeAPIServer
KubeAPIServer waxay soo celisaa gelitaanka kubectl iyadoo ku saleysan calaamada la gudbiyay
Isticmaaluhu wuxuu ka heli karaa kubectl
Falalka diyaargarowga
Dabcan, waxaan horey u haysanay kooxda Kubernetes oo la rakibay (k8s.example.com), oo waliba la socota HELM horay loo rakibay. Waxaan sidoo kale hay'ad ku leenahay GitHub (super-org).
Haddii aadan haysan HELM, ku rakib aad u fudud.
Marka hore waxaan u baahanahay inaan dejino GitHub.
Tag bogga habaynta ururka, (https://github.com/organizations/super-org/settings/applications) oo samee arji cusub (App OAuth La Oggolaaday):
Abuuritaanka codsi cusub GitHub
Ku buuxi meelaha URL-yada lagama maarmaanka ah, tusaale ahaan:
URL bogga hore: https://dex.k8s.example.com
Oggolaanshaha soo celinta URL: https://dex.k8s.example.com/callback
Ka taxaddar xiriiriyeyaasha, waa muhiim inaadan lumin jajabinta.
Iyada oo laga jawaabayo foomka la buuxiyay, GitHub ayaa soo saari doona Client ID ΠΈ Client secret, ku hayso meel nabdoon, way anfacayaan (tusaale ahaan, waanu isticmaalnaa Vault kaydinta siraha):
Tag bogga galitaanka (https://login.k8s.example.com) oo gal adiga oo isticmaalaya akoonkaaga GitHub:
Bogga galitaanka
Bogga galitaanka waxaa loo wareejiyay GitHub
Raac tilmaamaha la soo saaray si aad u gasho
Ka dib koobi ka-soo-saarka bogga shabakadda, waxaan u isticmaali karnaa kubectl si aan u maamulno agabka kooxdayada:
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"
Wayna shaqeysaa, dhammaan isticmaalayaasha GitHub ee ururkeena way arki karaan agabka oo geli karaan boodhadhka, laakiin ma laha xuquuq ay ku beddelaan.