kubeadm으로 컨트롤 플레인 사용자 정의하기
FEATURE STATE:
Kubernetes 1.12
stable
이 기능은 안정적(stable) 이며, 다음을 의미한다.
- 버전 이름은 vX 로 표시되며 여기서 X는 정수를 의미한다.
- 여러 후속 버전으로 릴리스되는 소프트웨어에서는 안정적인 버전의 기능들이 나타날 것이다.
kubeadm의 ClusterConfiguration
오브젝트는 API 서버, 컨트롤러매니저, 스케줄러와 같은 컨트롤 플레인 구성요소에 전달되는 기본 플래그 extraArgs
필드를 노출한다. 이 구성요소는 다음 필드를 사용하도록 정의되어 있다.
apiServer
controllerManager
scheduler
extraArgs
필드는 key: value
쌍으로 구성되어 있다. 컨트롤 플레인 구성요소를 위한 플래그를 대체하려면 다음을 수행한다.
- 사용자 구성에서 적절한 필드를 추가한다.
- 필드에 대체할 플래그를 추가한다.
kubeadm init
에--config <YOUR CONFIG YAML>
파라미터를 추가해서 실행한다.
각 필드의 구성에서 자세한 정보를 보려면, API 참고 문서에서 확인해 볼 수 있다.
참고:kubeadm config print init-defaults
를 실행하고 원하는 파일에 출력을 저장하여 기본값인ClusterConfiguration
오브젝트를 생성할 수 있다.
APIServer 플래그
자세한 내용은 kube-apiserver에 대한 참고 문서를 확인한다.
사용 예:
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.16.0
apiServer:
extraArgs:
advertise-address: 192.168.0.103
anonymous-auth: "false"
enable-admission-plugins: AlwaysPullImages,DefaultStorageClass
audit-log-path: /home/johndoe/audit.log
컨트롤러매니저 플래그
자세한 내용은 kube-controller-manager에 대한 참고 문서를 확인한다.
사용 예:
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.16.0
controllerManager:
extraArgs:
cluster-signing-key-file: /home/johndoe/keys/ca.key
bind-address: 0.0.0.0
deployment-controller-sync-period: "50"
스케줄러 플래그
자세한 내용은 kube-scheduler에 대한 참고 문서를 확인한다.
사용 예:
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.16.0
scheduler:
extraArgs:
address: 0.0.0.0
config: /home/johndoe/schedconfig.yaml
kubeconfig: /home/johndoe/kubeconfig.yaml
피드백
이 페이지가 도움이 되었나요?
피드백 감사합니다. 쿠버네티스 사용 방법에 대해서 구체적이고 답변 가능한 질문이 있다면, 다음 링크에서 질문하십시오. Stack Overflow. 원한다면 GitHub 리포지터리에 이슈를 열어서 문제 리포트 또는 개선 제안이 가능합니다..