사용자 지정 인증서 사용

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.2 ClusterResourceSet

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

1.7 실험적인 기능

이제 Cluster API는 새로운 기능을 가진 exp/ 디렉토리에 있는 새로운 실험 패키지와 함께 제공된다. 이 위치는 졸업 후…

Cluster API Book : 개념

개념 관리 클러스터(Management cluster) 워크로드 클러스터의 라이프사이클을 관리하는 쿠버네티스 클러스터다. 관리 클러스터는 하나 이상의 인프라 공급자가 실행되고, 머신과…

1.6 Machine Template 변경

인프라 Machine Template 변경 Cluster API의 여러 구성 요소는 KubeadmControlPlane, Machine Deployment 및 MachineSet을 비롯한 인프라 시스템 템플릿을…