cert-manager를 사용하여 Kubernetes용 자체 서명 인증서 생성

4153 단어 kubernetes

Kubernetes에 인증서 관리자 설치



최신 지침을 보려면 다음을 읽으십시오. https://cert-manager.io/docs/installation/kubernetes/

# Kubernetes 1.16+
$ kubectl apply —validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.0.2/cert-manager.yaml


키 쌍 암호 만들기



이 단계에서는 인증서 관리자가 새 인증서를 발급하는 데 사용하는 키와 TLS CA 인증서가 포함된 새 k8s 비밀을 만듭니다. 전제 조건으로 CA 인증서와 base64로 인코딩된 관련 키가 필요합니다.

apiVersion: v1
kind: Secret
metadata:
  name: ca-key-pair
  namespace: default
data:
  tls.crt: <tls-key-base64-encoded>
  tls.key: <tls-key-base64-encoded>


발급자 생성



발급자는 인증서 관리자가 새 인증서를 발급하는 데 사용됩니다.

apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: ca-issuer
  namespace: default
spec:
  ca:
    secretName: ca-key-pair


인증서 만들기



이렇게 하면 이전에 만든 발급자와 CA 키 쌍을 사용하여 새 인증서가 생성됩니다. 다음 예에서 인증서는 기본 네임스페이스에 k8s 비밀k8s-xps-lan로 저장됩니다.

apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: k8s-xps-lan
  namespace: default
spec:
  secretName: k8s-xps-lan
  issuerRef:
    name: ca-issuer
    # We can reference ClusterIssuers by changing the kind here.
    # The default value is Issuer (i.e. a locally namespaced Issuer)
    kind: Issuer
  commonName: k8s.xps.lan
  organization:
  - XPS.LAN
  dnsNames:
  - gitlab.xps.lan
  - minio.xps.lan
  - registry.xps.lan
  - k8s.xps.lan
  - kibana.xps.lan
  - elastic.xps.lan


별도의 게시물에서 이 인증서를 ingress-nginx 및 기타 애플리케이션에서 사용하는 방법을 살펴보겠습니다.

좋은 웹페이지 즐겨찾기