DevOps & Outils¶
Services DevOps et outils d'Infrastructure as Code pour OVHcloud.
Managed Private Registry¶
Registre de conteneurs prive manage, base sur Harbor. Managed Private Registry permet de stocker et distribuer des images Docker et des charts Helm de manière sécurisée.
Cas d'usage : stockage d'images Docker, charts Helm, artefacts OCI, intégration CI/CD.
Caractéristiques :
- Base sur Harbor (open source CNCF)
- Scan de vulnérabilités intégré (Trivy)
- Réplication entre registres
- Gestion des accès par projet et par robot account
- Compatible avec Docker CLI, Helm, et tout client OCI
Se connecter au registre¶
Pousser une image¶
docker tag mon-app:latest \
<votre-registry>.c1.gra9.container-registry.ovh.net/mon-projet/mon-app:latest
docker push \
<votre-registry>.c1.gra9.container-registry.ovh.net/mon-projet/mon-app:latest
Intégration avec MKS
Configurez un imagePullSecret dans votre cluster Managed Kubernetes pour tirer les images depuis le Managed Private Registry via le vRack (réseau prive).
Workflow Management¶
OVHcloud ne propose pas de service CI/CD manage natif. L'approche recommandee est d'utiliser des outils externes intégrés avec les services OVHcloud :
- GitLab CI/CD ou GitHub Actions pour les pipelines
- Managed Private Registry comme cible de build
- Managed Kubernetes comme cible de déploiement
Exemple de pipeline GitHub Actions¶
# .github/workflows/deploy.yml
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Login to OVH Registry
run: echo "${{ secrets.REGISTRY_PASSWORD }}" |
docker login ${{ secrets.REGISTRY_URL }} -u ${{ secrets.REGISTRY_USER }} --password-stdin
- name: Build and push
run: |
docker build -t ${{ secrets.REGISTRY_URL }}/mon-projet/mon-app:${{ github.sha }} .
docker push ${{ secrets.REGISTRY_URL }}/mon-projet/mon-app:${{ github.sha }}
- name: Deploy to MKS
run: |
kubectl set image deployment/mon-app \
mon-app=${{ secrets.REGISTRY_URL }}/mon-projet/mon-app:${{ github.sha }}
Outils d'Infrastructure as Code¶
OVHcloud s'intégré avec les principaux outils IaC grâce à son API OpenStack et a son provider OVH :
Tutoriels outils IaC
Pour apprendre a utiliser ces outils, consultez les tutoriels dédiés :
| Outil | Usage OVHcloud | Provider/Plugin |
|---|---|---|
| Packer | Créer des images Public Cloud | Builder openstack |
| Ansible | Configurer des instances, déployer des applications | Collection openstack.cloud |
| OpenTofu | Provisionner toute l'infrastructure OVHcloud | Providers openstack + ovh |
Exemple Packer (builder OpenStack)¶
source "openstack" "debian" {
image_name = "mon-image-custom"
source_image = "Debian 12"
flavor = "b3-8"
ssh_username = "debian"
networks = ["Ext-Net"]
}