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
Read More

1.4 MachineHealthCheck 구성

전제조건 MachinehealthCheck를 구성하기 전에 하나 이상의 MachineDeployment 또는 MachineSet가 배포된 작업 관리 클러스터가 있어야 한다. MachineHealthCheck란 무엇입니까? MachineHealthCheck는…
Read More

1.7.2 ClusterResourceSet

실험 기능: ClusterResourceSet (알파) ClusterResourceSet 기능은 사용자가 정의한 리소스 세트(예: CNI/CSI)를 새로 생성된 클러스터와 일치시키는 데 자동으로 적용할…

1.7.1 MachinePools

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