Utiliser Private Registry avec OVHcloud Managed Kubernetes
Découvrez comment utiliser les images du service OVHcloud Managed Private Registry sur des clusters OVHcloud Managed Kubernetes
Ce tutoriel vous guide dans l'utilisation des images du service OVHcloud Managed Private Registry sur des clusters OVHcloud Managed Kubernetes.
Avant de commencer
Ce tutoriel suppose que vous disposez déjà d'un cluster OVHcloud Managed Kubernetes opérationnel et que vous savez l'administrer. Pour en savoir plus sur ces sujets, consultez la documentation Deploying a Hello World application.
Vous devez également disposer d'un OVHcloud Managed Private Registry opérationnel et avoir suivi les guides Creating a private registry, Connecting to the UI, Managing users and projects et Creating and using private images.
Nous supposons plus précisément que vous avez suivi le dernier guide et que vous disposez d'une image hello-ovh dans votre registre privé.
Créer un secret Kubernetes
Kubernetes doit pouvoir accéder au registre privé pour y faire un pull des images : vous devez donc stocker les identifiants du registre privé dans un secret Kubernetes. Il existe 2 façons de créer le secret contenant les identifiants du registre. Choisissez celle que vous préférez.
1. Créer un secret à partir d'identifiants Docker existants
Se connecter à votre OVHcloud Managed Private Registry
Pour faire un pull d'une image privée depuis votre registre privé, vous devez vous y authentifier avec docker login.
Pour notre registre privé :
La connexion crée ou met à jour un fichier config.json qui contient un jeton d'autorisation.
Affichez le fichier config.json :
Créer le secret
Créez un secret de type docker-registry.
Vous utiliserez ce secret pour vous authentifier auprès de votre registre privé et faire un pull d'une image privée.
Si vous avez déjà exécuté docker login, vous pouvez copier ces identifiants dans Kubernetes :
Pour notre registre privé :
Vous pouvez vérifier que le secret a bien été déployé dans votre cluster Kubernetes :
Les secrets sont encodés en base64 et automatiquement décodés lorsqu'ils sont attachés à un pod.
2. Créer un secret en fournissant les identifiants en ligne de commande
Créez un secret de type docker-registry.
Vous utiliserez ce secret pour vous authentifier auprès de votre registre privé et faire un pull d'une image privée :
Pour notre registre privé :
Vous pouvez vérifier que le secret a bien été déployé dans votre cluster Kubernetes :
Les secrets sont encodés en base64 et automatiquement décodés lorsqu'ils sont attachés à un pod.
Déployer une image
La première étape pour déployer une image Docker dans un cluster Kubernetes consiste à écrire un manifeste YAML. Nommez-le hello-ovh.yaml :
Remplacez [YOUR_PRIVATE_REGISTRY_URL] et [YOUR_PROJECT] par l'URL de votre registre privé et le nom de votre projet. Par exemple, pour notre registre privé : cx6ds30d.gra7.container-registry.ovh.net/private/hello-ovh:1.0.0
Vous pouvez ensuite appliquer le fichier :
Après application du fichier YAML, un nouveau service hello-world et le déploiement hello-world-deployment correspondant sont créés :
Le pod fonctionne correctement : Kubernetes a donc bien effectué le pull de l'image depuis votre registre privé.
Aller plus loin
Pour une vue d'ensemble du service OVHcloud Managed Private Registry, consultez le site OVHcloud Managed Private Registry.
- Échangez avec notre communauté d'utilisateurs.