Amire mi hasznaljuk "namespace" letrehozas. :) Alapvetoen, ahol mi segitunk CI/CD-t megvalositani tobb 100 fejleszto dolgozik egyszerre es tobb projekten. A namespace egy stacket jelent, igy nem csak annyi a feladat, hogy letrehozzunk egy namespacet. A stack lehet 5 de akar 50 microservice 1 ns-en belul.
Mit is ertek azon, hogy cluster kozeli folyamatok/integracio:
- namespace letrehozas (specialis nsx-t overlay network, ingresss/egress cim beallitas)
- namespace metadata beallitasok (annotaciok fokent)
- namespacehez tartozo networkpolicyk letrehozasa (tobb 100 ns-rol beszelunk, minden nshez kulon networkpolicy tartozik)
- namespace jogosultsagok letrehozasa (rolebindingok, specialis roleok (nem feltetlenul elegendo a k8s adta default roleok)), itt fokent arra gondolj, hogy a fejlesztoknek /ns jogosultsagok (ldap)
- namespace ingress kitelepites (security elvaras)
- nehany specialis eszkoz, amit egyebkent erdemes hasznalni, ns-be kitelepituk, igy peldaul blackbox exporter kulso tuzfalak ellenorzesere (k8s probe objektum - tcp/dns/http checkeket lehet vele ellenorizni)
- namespace quotak beallitasa
- specialis serviceaccount letrehozasa (deploy folyamathoz)
- default secretek (CA, kozponti URL-ek, stb) kitetele
- automatikus DNS letrehozas a namespace ingresshez a kozponti zonafajlban, nem a k8sen belul
- gitlab integracio a projecthez (agent, cert, es ldap mappeles, eleg komplex, minden ldapbol vezerelve)
- artifactory letrehozas a nshez, jogosultsagok letrehozasa, szinten ldap mappeles
- etc.
Lenyeg, amikor mi egy ns-t letrehozunk a fejlesztok szamra minden letre van hozva nev konvencio alapjan. O nekik lenyegeben egy ldap jogot kell megkerni es megkapjak a megfelelo jogokat. Artifactory, harbor, gitlab, k8s, stb. Ezt a folyamatot vegzi a tekton. Osszesen nem is tudom de a ns letrehozas nem csak egy create ns-t jelent nalunk, hanem olyan 40-50 feladatot, mind ezt ugy hogy idempotens. Van egy tekton leiro/ns es abban vannak a parameterek, amit gitben tarolunk es ez alapjan jonnek letre a nsek es ha valtozas van ez alapjan modosul.
Remelem megvalaszoltam a kerdesed.
A helm chartos hozzallas tok jo, bar mi kezdjuk elengedni es inkabb operatorokat hasznalunk es kezdjuk elengedni a helmes telepitest. Termeszetesen nalunk is, a stackek kitelepitese helm chartal tortenik, ott egyebkent egy altalunk fejlesztett open source helm libraryt hasznalunk.
https://artifacthub.io/packages/helm/cf-common/helm-common
Sajnos a helmnek vannak hibai, ezeket probaltuk orvosolni egy library segitsegevel. Ha sok helm chart van es api verzio valtas van, akkor sajnos ezeket is modositani kell. Ez a problema 5-10 helm chartnal nem gaz, de nalunk tobb ezer van, igy egy API verzio valtas nagyon macera volt ennelkul. :) Ez a reklam helye volt. :P