kubernetes - цепочки сертификатов сертификат-менеджер - PullRequest
0 голосов
/ 14 мая 2019

Я хочу настроить сертификат домена с подстановочными знаками в кластере kubernetes.

Я получил пару crt / key и промежуточный crt от моего CA

Я создал секрет, ссылающийся на пару crt / key (я пробовал с промежуточным crt и без него)

apiVersion: v1
data:
  tls.crt: LS0tLS1CRUd...
  tls.key: LS0tLS1CRUd...
kind: Secret
metadata:
  name: wildcard-key-pair
type: kubernetes.io/tls

Затем я создал сертификат и связанного с ним эмитента, используя cert-manager и следуя их документации из https://docs.cert -manager.io / en / latest / tasks / issers / setup-ca.html

apiVersion: certmanager.k8s.io/v1alpha1
kind: Issuer
metadata:
  name: wildcard-issuer
  namespace: default
spec:
  ca:
    secretName: wildcard-key-pair
---
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  name: wildcard
  namespace: default
spec:
  secretName: wildcard-tls-secret
  dnsNames:
    - '*.example.com'
    - example.com
  commonName: '*.example.com'
  organization:
    - example
  issuerRef:
    name: wildcard-issuer
    kind: Issuer

Но когда я описываю свой сертификат, используя kubectl, я получаю следующую ошибку:

Error getting keypair for CA issuer: certificate is not a CA

Я немного сбит с толку из-за того, что мой шаблонный днс работает на моем кластере kubernetes, поэтому, если у вас есть идеи, которые могут направить меня в правильном направлении, не стесняйтесь делиться своими мыслями.

1 Ответ

0 голосов
/ 15 мая 2019

как упомянуто @ johnharris85, убедитесь, что ваш сертификат имеет флаг CA как true, если вы используете его.Вы можете проверить это через

$ openssl x509 -text -noout -in ca.crt |grep "CA:"

Вывод должен быть CA:TRUE.

Надеюсь, это поможет!

...