Déployer un chart Helm depuis votre registre privé dans Kubernetes
Découvrez comment déployer un chart Helm depuis votre registre privé dans un cluster Kubernetes
Le service Managed Private Registry d'OVHcloud est un registre cloud-native composite qui prend en charge à la fois la gestion des images de conteneurs et la gestion des charts Helm.
Ce guide explique comment déployer un chart Helm depuis votre Managed Private Registry OVHcloud dans un cluster Kubernetes.
Avant de commencer
Ce tutoriel suppose que vous disposez déjà d'un cluster OVHcloud Managed Kubernetes opérationnel, ainsi que de connaissances de base sur son utilisation. Pour en savoir plus sur ces sujets, consultez la documentation Déployer une application Hello World. Helm doit être installé sur votre cluster (consultez le guide « Installer Helm » pour plus d'informations).
Vous devez également disposer d'un Managed Private Registry OVHcloud opérationnel et avoir suivi le guide « Gérer les charts Helm dans le Managed Private Registry OVHcloud ».
Après avoir suivi le guide précédent, vous devriez avoir au moins un chart Helm WordPress dans votre Managed Private Registry :

Prérequis
Installer Helm v3.8+
Vérifiez que Helm est installé dans la version requise :
$ helm version
version.BuildInfo{Version:"v3.12.0", GitCommit:"c9f554d75773799f72ceef38c51210f1842a1dea", GitTreeState:"clean", GoVersion:"go1.20.3"}
Si la version est antérieure à la v3.8.0, suivez les instructions officielles pour installer Helm dans sa dernière version.
En pratique
Déployer un chart depuis votre registre dans Kubernetes
Se connecter au Managed Private Registry OVHcloud
Avant de pouvoir faire un pull ou un push de charts Helm, connectez-vous à Harbor :
helm registry login <registry url>
Par exemple :
$ helm registry login https://8xghzr01.c1.bhs5.container-registry.ovh.net
Username: MbwQLGCglA
Password:
Login Succeeded
Installer des charts
Déployez le chart Helm WordPress dans le cluster Kubernetes :
helm install myrelease oci://<registry url>/<project>/<chart name> --version <version>
Dans notre cas :
$ helm install my-wordpress-release oci://8xghzr01.c1.bhs5.container-registry.ovh.net/private/wordpress --version 18.1.14
Pulled: 8xghzr01.c1.bhs5.container-registry.ovh.net/private/wordpress:18.1.14
Digest: sha256:89afb47c221899db67c7b125f49394eecd078245181715337b5691a0ee199cb7
NAME: my-wordpress-release
LAST DEPLOYED: Mon Nov 20 17:46:16 2023
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: wordpress
CHART VERSION: 18.1.14
APP VERSION: 6.4.1
** Please be patient while the chart is being deployed **
Your WordPress site can be accessed through the following DNS name from within your cluster:
my-wordpress-release.default.svc.cluster.local (port 80)
To access your WordPress site from outside the cluster follow the steps below:
1. Get the WordPress URL by running these commands:
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
Watch the status with: 'kubectl get svc --namespace default -w my-wordpress-release'
export SERVICE_IP=$(kubectl get svc --namespace default my-wordpress-release --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")
echo "WordPress URL: http://$SERVICE_IP/"
echo "WordPress Admin URL: http://$SERVICE_IP/admin"
2. Open a browser and access WordPress using the obtained URL.
3. Login with the following credentials below to see your blog:
echo Username: user
echo Password: $(kubectl get secret --namespace default my-wordpress-release -o jsonpath="{.data.wordpress-password}" | base64 -d)
Vérifiez que WordPress fonctionne correctement :
$ kubectl get pod -l app.kubernetes.io/instance=my-wordpress-release
NAME READY STATUS RESTARTS AGE
my-wordpress-release-796cc4d6b8-ckb6c 1/1 Running 0 3m25s
my-wordpress-release-mariadb-0 1/1 Running 0 3m25s
Aller plus loin
Pour obtenir une vue d'ensemble du service Managed Private Registry d'OVHcloud, consultez le site Managed Private Registry d'OVHcloud.