CertManager не может сгенерировать сертификат TLS для моего домена

ssl #kubernetes #ssl-certificate #cert-manager

#ssl #kubernetes #ssl-сертификат #cert-manager

Вопрос:

Я развертываю свое приложение в кластере Kubernetes с масштабируемой капсулой и пытаюсь сгенерировать сертификат TLS из Let’s Encrypt с помощью Cert-Manager. Вот мои ресурсы :


Секрет:

 apiVersion: v1
stringData:
  SCW_ACCESS_KEY: XXX
  SCW_SECRET_KEY: XXX
kind: Secret
metadata:
  name: scaleway-secret
type: Opaque
  
 

Эмитент:

 apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: scaleway
spec:
  acme:
    email: xxx
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    # for production use this URL instead
    # server: https://acme-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: scaleway-acme-secret
    solvers:
    - dns01:
        webhook:
          groupName: acme.scaleway.com
          solverName: scaleway
          config:
            accessKeySecretRef:
              key: SCW_ACCESS_KEY
              name: scaleway-secret
            secretKeySecretRef:
              key: SCW_SECRET_KEY
              name: scaleway-secret
 

Вход:

 apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-lb
  annotations:
    cert-manager.io/issuer: scaleway
    kubernetes.io/tls-acme: "true"
spec:
  rules:
    - host: mydomain.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: my-svc
                port:
                  number: 80
  tls:
  - hosts:
    - mydomain.example.com
    secretName: mydomain.example.com-cert
          
 

Но я сталкиваюсь со странной ошибкой, которую я не нашел в Интернете и ни на одном из форумов :

 Error presenting challenge: failed to update DNS zone recrds: scaleway-sdk-go: http error 403 Forbidden: domain not found
 

Мой домен указывает на IP-адрес балансировщика нагрузки, как и должно быть, и он работает. Что это может быть?

Комментарии:

1. Ваша роль не имеет права манипулировать записью DNS.

2. Должен ли я создать новый ключ API Scaleway с большим количеством привилегий для управления записью DNS?

3. Какую версию Kubernetes вы использовали и как вы настроили кластер? Вы использовали установку на голом металле или какой-нибудь облачный провайдер? Важно воспроизвести вашу проблему.

4. Я использую Scaleway Kapsule ( версия Kubernetes 1.2),

5. Вы уверены, что используете Kubernetes 1.2 (выпущен в марте 2016 года)? 🙂

Ответ №1:

failed to update DNS zone recrds: scaleway-sdk-go: http error 403 Forbidden

Ваша роль не имеет прав на зарегистрированный домен, см. Документацию здесь .

Комментарии:

1. Когда я свернул информацию о своем токене, я заметил это поле: «inherits_user_perms»: false. Итак, проблема в разрешениях.

2. Я не могу найти никакой документации о том, как добавить права или разрешения к токену API или пользователю.