본문 바로가기

개발하자

암호화 인증서를 Kubernetes nginx(GKE)에 제공하려면 어떻게 해야 합니까?

반응형

암호화 인증서를 Kubernetes nginx(GKE)에 제공하려면 어떻게 해야 합니까?

나는 구글 클라우드 플랫폼을 배우고, 나의 첫 번째 프로젝트를 구현하려고 노력하고 있으며, 튜토리얼에서 길을 잃고 있다. 나는 nginx 입력을 구현하려는 시도에 막혔다. 입력이 CrashLoopBackoff에 고착되었으며 로그에 다음 오류가 표시됩니다.

DockerCompose로 이 작업을 수행하는 방법은 알지만 여기서는 수행할 수 없습니다.

무엇부터 시작할까요?

1#1: cannot load certificate "/etc/letsencrypt/live/blah.com/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live/blah.com/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/blah.com/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live/blah.com/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)

이것이 아직 도움이 될지는 모르겠지만, 인증 기관 서비스()를 설정했습니다.




그것을 사용하고 GCP CA 설정을 따르는 대신 입력과 함께 사용하는 것을 제안합니다.

인증서 관리자는 에서 인증서를 얻고, 인증서 관리자는 k8s에 암호를 만들고 검증된 인증서를 암호에 저장합니다.

호스트별로 입력에 암호를 연결하여 사용할 수 있습니다.

인증서 관리자 설치

YAML 예제:

apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  name: cluster-issuer-name
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: harsh@example.com
    privateKeySecretRef:
      name: secret-name
    solvers:
    - http01:
        ingress:
          class: nginx-class-name
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx-class-name
    cert-manager.io/cluster-issuer: cluster-issuer-name
    nginx.ingress.kubernetes.io/rewrite-target: /
  name: example-ingress
spec:
  rules:
  - host: sub.example.com
    http:
      paths:
      - path: /api
        backend:
          serviceName: service-name
          servicePort: 80
  tls:
  - hosts:
    - sub.example.com
    secretName: secret-name

당신은 이 블로그에서 참조할 수 있다:


반응형