add ovh
This commit is contained in:
135
docs/INSTALLATION-WEBHOOK-OVH.md
Normal file
135
docs/INSTALLATION-WEBHOOK-OVH.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# Installation du Webhook OVH pour cert-manager
|
||||
|
||||
## Problème
|
||||
|
||||
Cert-manager v1.19.2 ne supporte **pas nativement** le provider OVH. L'erreur `no DNS01 provider configured` apparaît car cert-manager ne reconnaît pas la syntaxe `ovh:` directement.
|
||||
|
||||
## Solution
|
||||
|
||||
Installer le webhook `cert-manager-webhook-ovh` qui ajoute le support OVH à cert-manager.
|
||||
|
||||
## Étape 1 : Ajouter le dépôt Helm
|
||||
|
||||
```bash
|
||||
helm repo add cert-manager-webhook-ovh https://cert-manager.github.io/webhook-ovh
|
||||
helm repo update
|
||||
```
|
||||
|
||||
## Étape 2 : Installer le Webhook OVH
|
||||
|
||||
```bash
|
||||
helm install cert-manager-webhook-ovh cert-manager-webhook-ovh/cert-manager-webhook-ovh \
|
||||
-n cert-manager-ops \
|
||||
--create-namespace \
|
||||
--set groupName=acme.gkdomaine.fr
|
||||
```
|
||||
|
||||
**Important** : Le `groupName` doit correspondre à celui configuré dans le ClusterIssuer (`acme.gkdomaine.fr`).
|
||||
|
||||
## Étape 3 : Vérifier l'Installation
|
||||
|
||||
```bash
|
||||
# Vérifier que le webhook est installé
|
||||
kubectl get pods -n cert-manager-ops | grep webhook-ovh
|
||||
|
||||
# Vérifier les logs
|
||||
kubectl logs -n cert-manager-ops -l app.kubernetes.io/name=cert-manager-webhook-ovh
|
||||
```
|
||||
|
||||
## Étape 4 : Mettre à jour le Secret OVH
|
||||
|
||||
Le Secret doit maintenant contenir les 3 clés (application-key, application-secret, consumer-key) :
|
||||
|
||||
```bash
|
||||
kubectl create secret generic ovh-credentials \
|
||||
--from-literal=application-key=e598bb73ded17ee6 \
|
||||
--from-literal=application-secret=VOTRE_APPLICATION_SECRET \
|
||||
--from-literal=consumer-key=372e273858204d972dbf7c50506d12a1 \
|
||||
-n certificates-ops \
|
||||
--context=cluster-ops
|
||||
```
|
||||
|
||||
Ou mettez à jour le Secret existant :
|
||||
|
||||
```bash
|
||||
kubectl patch secret ovh-credentials -n certificates-ops \
|
||||
--type='json' \
|
||||
-p='[
|
||||
{"op": "add", "path": "/data/application-key", "value": "'$(echo -n 'e598bb73ded17ee6' | base64)'"},
|
||||
{"op": "add", "path": "/data/consumer-key", "value": "'$(echo -n '372e273858204d972dbf7c50506d12a1' | base64)'"}
|
||||
]' \
|
||||
--context=cluster-ops
|
||||
```
|
||||
|
||||
## Étape 5 : Vérifier le ClusterIssuer
|
||||
|
||||
Après installation du webhook, le ClusterIssuer devrait être accepté :
|
||||
|
||||
```bash
|
||||
# Vérifier le ClusterIssuer
|
||||
kubectl get clusterissuer letsencrypt-dns01-prod --context=cluster-ops
|
||||
|
||||
# Voir les détails
|
||||
kubectl describe clusterissuer letsencrypt-dns01-prod --context=cluster-ops
|
||||
```
|
||||
|
||||
## Alternative : Utiliser Cloudflare (si disponible)
|
||||
|
||||
Si vous avez accès à Cloudflare pour gérer votre DNS, vous pouvez utiliser Cloudflare qui est supporté nativement par cert-manager :
|
||||
|
||||
```yaml
|
||||
solvers:
|
||||
- selector:
|
||||
dnsZones:
|
||||
- "dev.gkdomaine.fr"
|
||||
dns01:
|
||||
cloudflare:
|
||||
email: gkpoubelle78@gmail.com
|
||||
apiKeySecretRef:
|
||||
name: cloudflare-api-key
|
||||
key: api-key
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Le webhook ne démarre pas
|
||||
|
||||
1. Vérifiez les logs :
|
||||
```bash
|
||||
kubectl logs -n cert-manager-ops -l app.kubernetes.io/name=cert-manager-webhook-ovh
|
||||
```
|
||||
|
||||
2. Vérifiez les événements :
|
||||
```bash
|
||||
kubectl get events -n cert-manager-ops --sort-by='.lastTimestamp' | grep webhook-ovh
|
||||
```
|
||||
|
||||
### Le ClusterIssuer est toujours rejeté
|
||||
|
||||
1. Vérifiez que le `groupName` correspond :
|
||||
- Dans le ClusterIssuer : `groupName: acme.gkdomaine.fr`
|
||||
- Dans l'installation du webhook : `--set groupName=acme.gkdomaine.fr`
|
||||
|
||||
2. Vérifiez les logs du webhook cert-manager :
|
||||
```bash
|
||||
kubectl logs -n cert-manager-ops -l app.kubernetes.io/component=webhook
|
||||
```
|
||||
|
||||
### Le certificat ne se génère pas
|
||||
|
||||
1. Vérifiez que le Secret contient les 3 clés :
|
||||
```bash
|
||||
kubectl get secret ovh-credentials -n certificates-ops -o yaml
|
||||
```
|
||||
|
||||
2. Vérifiez les challenges DNS :
|
||||
```bash
|
||||
kubectl get challenges -n certificates-ops
|
||||
kubectl describe challenge -n certificates-ops
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
- [cert-manager-webhook-ovh GitHub](https://github.com/cert-manager/webhook-ovh)
|
||||
- [Documentation cert-manager DNS-01](https://cert-manager.io/docs/configuration/acme/dns01/)
|
||||
|
||||
Reference in New Issue
Block a user