Сертификаты Cert-manager не найдены и проблемы не созданы - PullRequest
0 голосов
/ 27 февраля 2019

Я следовал https://docs.cert -manager.io / en / venafi / tutorials / quick-start / index.html от начала до конца, и все, кажется, работает, за исключением того, что я не получаювнешний ip для моего входа.

NAME                     HOSTS                                  ADDRESS   PORTS     AGE
staging-site-ingress   staging.site.io,staging.admin.site.io,             80, 443   1h

Хотя я могу использовать внешний ip контроллера входа nginx и использовать dns для доступа к сайтам.Когда я перехожу на URL-адреса, меня перенаправляют на https, поэтому я предполагаю, что он работает нормально.

Он перенаправляет на https, но все равно говорит "не защищен", поэтому он не получил сертификат,

При отладке я получаю следующую информацию:

Вход :

Events:
  Type    Reason             Age                From                      Message
  ----    ------             ----               ----                      -------
  Normal  CreateCertificate  54m                cert-manager              Successfully created Certificate "tls-secret-staging"
  Normal  UPDATE             35m (x3 over 1h)   nginx-ingress-controller  Ingress staging/staging-site-ingress
  Normal  CreateCertificate  23m (x2 over 35m)  cert-manager              Successfully created Certificate "letsencrypt-staging-tls"

Сертификат:

Status:
  Conditions:
    Last Transition Time:  2019-02-27T14:02:29Z
    Message:               Certificate does not exist
    Reason:                NotFound
    Status:                False
    Type:                  Ready
Events:
  Type    Reason        Age               From          Message
  ----    ------        ----              ----          -------
  Normal  OrderCreated  3m (x2 over 14m)  cert-manager  Created Order resource "letsencrypt-staging-tls-593754378"

Секрет:

Name:         letsencrypt-staging-tls
Namespace:    staging
Labels:       certmanager.k8s.io/certificate-name=staging-site-io
Annotations:  <none>

Type:  kubernetes.io/tls

Data
====
ca.crt:   0 bytes
tls.crt:  0 bytes
tls.key:  1679 bytes

Порядок:

Status:
  Certificate:   <nil>
  Finalize URL:  
  Reason:        
  State:         
  URL:           
Events:          <none>

Так что, похоже, что-то идет не так в порядке иникаких проблем не создано.

Вот мои ingress.yaml и isser.yaml:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: staging-site-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"    
    certmanager.k8s.io/issuer: "letsencrypt-staging"
    certmanager.k8s.io/acme-challenge-type: http01
spec:
  tls:
  - hosts:
    - staging.site.io
    - staging.admin.site.io
    - staging.api.site.io
    secretName: letsencrypt-staging-tls
  rules:
    - host: staging.site.io
      http:
        paths:
          - backend:
              serviceName: frontend-service
              servicePort: 80
            path: /
    - host: staging.admin.site.io
      http:
        paths:
          - backend:
              serviceName: frontend-service
              servicePort: 80
            path: /
    - host: staging.api.site.io
      http:
        paths:
          - backend:
              serviceName: gateway-service
              servicePort: 9000
            path: /
apiVersion: certmanager.k8s.io/v1alpha1
kind: Issuer
metadata:
  name: letsencrypt-staging
  namespace: staging
spec:
  acme:
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    email: hello@site.io
    privateKeySecretRef:
      name: letsencrypt-staging-tls
    http01: {}

Кто-нибудь знает, что я могу сделать, чтобы это исправить или что пошло не так?Certmanager установлен правильно на 100%, я просто не уверен насчет входа и что пошло не так в порядке.

Заранее спасибо!

РЕДАКТИРОВАТЬ: Я нашел это в nginx-ingress-контроллер:

W0227 14:51:02.740081       8 controller.go:1078] Error getting SSL certificate "staging/letsencrypt-staging-tls": local SSL certificate staging/letsencrypt-staging-tls was not found. Using default certificate

Он становится спамом, загрузка процессора всегда равна 0,003, а график ЦП заполнен (другие службы почти ничего)

1 Ответ

0 голосов
/ 11 марта 2019

Я наткнулся на одну и ту же проблему один раз, следуя точно тому же официальному учебнику.Как упоминал @mikebridge, проблема связана с несоответствием пространства имен Issuer / Secret.

Для меня лучше всего было переключиться с Issuer на ClusterIssuer , который не ограничен одним пространством имен.

...