"Kubeadm API로 컴포넌트 커스터마이징"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
29번째 줄: 29번째 줄:
사용 예:
사용 예:


<source lang="yaml">
<syntaxhighlight lang="yaml">
apiVersion: kubeadm.k8s.io/v1beta2
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kind: ClusterConfiguration
39번째 줄: 39번째 줄:
     enable-admission-plugins: AlwaysPullImages,DefaultStorageClass
     enable-admission-plugins: AlwaysPullImages,DefaultStorageClass
     audit-log-path: /home/johndoe/audit.log
     audit-log-path: /home/johndoe/audit.log
</source>
</syntaxhighlight>


== 컨트롤러매니저 플래그 ==
== 컨트롤러매니저 플래그 ==
47번째 줄: 47번째 줄:
사용 예:
사용 예:


<source lang="yaml">
<syntaxhighlight lang="yaml">
apiVersion: kubeadm.k8s.io/v1beta2
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kind: ClusterConfiguration
56번째 줄: 56번째 줄:
     bind-address: 0.0.0.0
     bind-address: 0.0.0.0
     deployment-controller-sync-period: "50"
     deployment-controller-sync-period: "50"
</source>
</syntaxhighlight>


== 스케줄러 플래그 ==
== 스케줄러 플래그 ==
64번째 줄: 64번째 줄:
사용 예:
사용 예:


<source lang="yaml">
<syntaxhighlight lang="yaml">
apiVersion: kubeadm.k8s.io/v1beta2
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kind: ClusterConfiguration
73번째 줄: 73번째 줄:
     config: /home/johndoe/schedconfig.yaml
     config: /home/johndoe/schedconfig.yaml
     kubeconfig: /home/johndoe/kubeconfig.yaml
     kubeconfig: /home/johndoe/kubeconfig.yaml
</source>
</syntaxhighlight>


==참고==
==참고==

2024년 6월 29일 (토) 12:41 판

kubeadm으로 컨트롤 플레인 사용자 정의하기

FEATURE STATE: Kubernetes 1.12 stable

kubeadm의 ClusterConfiguration 오브젝트는 API 서버, 컨트롤러매니저, 스케줄러와 같은 컨트롤 플레인 구성요소에 전달되는 기본 플래그 extraArgs 필드를 노출한다. 이 구성요소는 다음 필드를 사용하도록 정의되어 있다.

  • apiServer
  • controllerManager
  • scheduler

extraArgs 필드는 key: value 쌍으로 구성되어 있다. 컨트롤 플레인 구성요소를 위한 플래그를 대체하려면 다음을 수행한다.

  1. 사용자 구성에서 적절한 필드를 추가한다.
  2. 필드에 대체할 플래그를 추가한다.
  3. kubeadm init--config <YOUR CONFIG YAML> 파라미터를 추가해서 실행한다.

각 필드의 구성에서 자세한 정보를 보려면, API 참고 문서에서 확인해 볼 수 있다.

참고:kubeadm config print init-defaults를 실행하고 원하는 파일에 출력을 저장하여 기본값인 ClusterConfiguration 오브젝트를 생성할 수 있다.


1 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

2 컨트롤러매니저 플래그

자세한 내용은 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"

3 스케줄러 플래그

자세한 내용은 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

4 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}