Cluster API Book : 1.1 인증서 관리

사용자 지정 인증서 사용

Cluster API는 부트스트래핑에 사용되는 인증서와 키가 아래 규칙을 따를 것으로 예상한다. CABPK는 아직 존재하지 않는 경우 이 규칙을 사용하여 새 인증서를 생성한다.

각 인증서는 다음 중 하나의 이름을 가진 시크릿으로 저장해야 한다.

이름유형
[cluster name]-caCAopenssl req -x509 -subj “/CN=Kubernetes API” -new -newkey rsa:2048 -nodes -keyout tls.key -sha256 -days 3650 -out tls.crt
[cluster name]-etcdCAopenssl req -x509 -subj “/CN=ETCD CA” -new -newkey rsa:2048 -nodes -keyout tls.key -sha256 -days 3650 -out tls.crt
[cluster name]-proxyCAopenssl req -x509 -subj “/CN=Front-End Proxy” -new -newkey rsa:2048 -nodes -keyout tls.key -sha256 -days 3650 -out tls.crt
[cluster name]-saKey Pairopenssl genrsa -out tls.key 2048 && openssl rsa -in tls.key -pubout -out tls.crt

CA Key Age

CA 인증서 교환은 중요하지 않으므로 수명이 긴 CA를 생성하거나 중간 CA가 짧은 긴 루트/오프라인 CA를 사용하는 것이 좋습니다.

apiVersion: v1
kind: Secret
metadata:
  name: cluster1-ca
type: kubernetes.io/tls
data:
  tls.crt: <base 64 encoded PEM>
  tls.key: <base 64 encoded PEM>

자신의 CA를 사용하여 Kubeconfig 생성

  1. system:masters Kubernetes 역할에 대한 새 Certificate Signing Request (CSR)을 생성하거나 CN 아래에 다른 역할을 지정한다.
openssl req  -subj "/CN=system:masters" -new -newkey rsa:2048 -nodes -out admin.csr -keyout admin.key  -out admin.csr
  1. [cluster-name]-ca 키를 사용하여 CSR 서명:
openssl x509 -req -in admin.csr -CA tls.crt -CAkey tls.key -CAcreateserial -out admin.crt -days 5 -sha256
  1. 서명 키로 kubeconfig 업데이트
kubectl config set-credentials cluster-admin --client-certificate=admin.crt --client-key=admin.key --embed-certs=true
답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like

1.7.1 MachinePools

실험 기능: MachinePool(알파) MachinePool 기능을 사용하면 MachinePools에서 시스템의 수명 주기 관리를 담당하지만 MachineSet 컨트롤러는 Machine Deployment와 유사한 공통…
Read More

Cluster API Book : 소개

Cluster API 프로젝트 Cluster API는 여러 Kubernetes 클러스터의 프로비저닝, 업그레이드 및 운영을 단순화하는 선언적 API 및 툴링을 제공하는…