Privát Nexus regisztráció
Amikor céges Nexust használsz, meg kell értened a "Két Lépcsős Letöltés" szabályát. A Helm kliensed a Chart-ot (a sablont) tölti le, míg a Kubernetes/OpenShift maga az alkalmazást (a Docker Image-et). Mindkettőnek külön "belépőkártya" kell!
1. Lépcső: A Helm felkészítése (A Chart letöltése)
Hogy a helm install parancs megtalálja a csomagodat, hozzá kell adnod a Nexust a helyi Helm kliensedhez.
# 1. Nexus hozzáadása és azonosítás
helm repo add ceges-nexus [https://nexus.ceged.hu/repository/helm-repo/](https://nexus.ceged.hu/repository/helm-repo/) \
--username=sajat_neved \
--password=sajat_jelszavad
# 2. Lokális lista frissítése (kötelező lépés!)
helm repo update
# 3. Telepítés a felvett céges repóból
helm install demo-app ceges-nexus/java-training --version 0.1.0 -f ops-prod.yaml
# 1. Nexus hozzáadása és azonosítás
helm repo add ceges-nexus [https://nexus.ceged.hu/repository/helm-repo/](https://nexus.ceged.hu/repository/helm-repo/) \
--username=sajat_neved \
--password=sajat_jelszavad
# 2. Lokális lista frissítése (kötelező lépés!)
helm repo update
# 3. Telepítés a felvett céges repóból
helm install demo-app ceges-nexus/java-training --version 0.1.0 -f ops-prod.yaml
2. Lépcső: Az OpenShift / K8s felkészítése (Az Image letöltése)
Hiába telepít a Helm, a Kubernetes nem fogja tudni letölteni a privát Docker Image-edet a Nexusból, amíg nem adsz neki egy dedikált Secret-et.
Secret létrehozása a fürtön (Ezt elég egyszer megtenni a névtérben!):
# OpenShift esetén:
oc create secret docker-registry nexus-regcred \
--docker-server=nexus.ceged.hu \
--docker-username=sajat_neved \
--docker-password=sajat_jelszavad
# Sima Kubernetes esetén pontosan ugyanez, csak kubectl-el:
kubectl create secret docker-registry nexus-regcred \
--docker-server=nexus.ceged.hu \
--docker-username=sajat_neved \
--docker-password=sajat_jelszavad
3. Lépcső: A Kapocs (A Chart beállítása)
Hogy a Kubernetes tudja, hogy a fenti jelszót kell használnia a te alkalmazásodhoz, be kell drótoznod a Helm Chartodba (a Deployment fájlba vagy a values.yaml-be).
# A deployment.yaml-ben vagy a values.yaml-ben:
imagePullSecrets:
- name: nexus-regcred # PONTOSAN az a név, amivel a secretet létrehoztad!
containers:
- name: my-app
image: nexus.ceged.hu/java-training:1.0.0
⚠️ A Legfontosabb Szabály:
- Az
imagetagnél kötelező megadni a teljes URL-t (nexus.ceged.hu/...). Ha ezt lehagyod, a Kubernetes alapértelmezetten a Docker Hubon fogja keresni a képet! - Az
imagePullSecretsmondja meg a Kubernetesnek, hogy melyik kulccsal nyissa ki az adott URL ajtaját. ```