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

(같은 사용자의 중간 판 2개는 보이지 않습니다)
43번째 줄: 43번째 줄:
{{/NOTE}}
{{/NOTE}}


== APIServer 플래그 ==
=== APIServer 플래그 ===
자세한 내용은 [[docs/reference/command-line-tools-reference/kube-apiserver|kube-apiserver의 참조 문서]]를 참조하십시오.
자세한 내용은 [[docs/reference/command-line-tools-reference/kube-apiserver|kube-apiserver의 참조 문서]]를 참조하십시오.


58번째 줄: 58번째 줄:
     audit-log-path: /home/johndoe/audit.log
     audit-log-path: /home/johndoe/audit.log
</syntaxhighlight>
</syntaxhighlight>
=== ControllerManager 플래그 ===
=== Scheduler 플래그 ===
=== Etcd 플래그 ===
== 패치로 커스터마이징 ==
== kubelet 커스터마이징 ==
== kube-proxy 커스터마이징 ==

2024년 7월 2일 (화) 22:14 판

1 개요

Crystal Clear action info.png 작성 중인 문서입니다.

Customizing components with the kubeadm API
kubeadm API로 컴포넌트 커스터마이징

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/control-plane-flags/


이 페이지는 kubeadm이 배포하는 컴포넌트를 커스터마이징하는 방법을 다룹니다. 컨트롤 플레인 컴포넌트의 경우 ClusterConfiguration 구조에서 플래그를 사용하거나 노드별 패치를 사용할 수 있습니다. kubelet 및 kube-proxy의 경우 KubeletConfigurationKubeProxyConfiguration을 각각 사용할 수 있습니다.

이 모든 옵션은 kubeadm 설정 API를 통해 가능합니다. 설정의 각 필드에 대한 자세한 내용은 API 참조 페이지를 참조하십시오.

Note

현재 kubeadm의 CoreDNS 배포를 커스터마이징하는 것은 지원되지 않습니다. kube-system/coredns ConfigMap을 수동으로 패치하고 나서 CoreDNS 파드를 다시 생성해야 합니다. 또는, 기본 CoreDNS 배포를 건너뛰고 사용자의 변형판을 배포할 수 있습니다. 이에 대한 자세한 내용은 kubeadm을 사용한 초기화 단계를 참조하십시오.

Note

이미 생성된 클러스터를 재설정하려면 kubeadm 클러스터 재설정을 참조하십시오.

2 ClusterConfiguration에 플래그로 컨트롤 플레인 커스터마이징

kubeadm의 ClusterConfiguration 객체는 APIServer, ControllerManager, Scheduler, Etcd와 같은 컨트롤 플레인 컴포넌트에 전달되는 기본 플래그를 재정의할 수 있는 방법을 제공합니다. 컴포넌트는 다음과 같은 구조로 정의됩니다:

  • apiServer
  • controllerManager
  • scheduler
  • etcd

이 구조는 공통된 extraArgs 필드를 포함하며, 이는 key: value 쌍으로 구성됩니다. 컨트롤 플레인 컴포넌트에 대한 플래그를 재정의하려면:

  • 1. 적절한 extraArgs를 설정에 추가합니다.
  • 2. extraArgs 필드에 플래그를 추가합니다.
  • 3. kubeadm init--config <YOUR CONFIG YAML>를 추가하여 실행합니다.

Note

기본값을 가진 ClusterConfiguration 객체를 생성하려면 kubeadm config print init-defaults 명령어를 실행하고, 출력을 원하는 파일에 저장하십시오.

Note

ClusterConfiguration 객체는 현재 kubeadm 클러스터에서 전역적입니다. 즉, 추가한 플래그는 다른 노드의 동일한 컴포넌트의 모든 인스턴스에 적용됩니다. 다른 노드에서 개별 컴포넌트에 대해 개별 설정을 적용하려면 패치를 사용할 수 있습니다.

Note

중복 플래그(키) 또는 같은 플래그 --foo를 여러 번 전달하는 것은 현재 지원되지 않습니다. 이를 해결(workaround)하려면 패치를 사용해야 합니다.

2.1 APIServer 플래그

자세한 내용은 kube-apiserver의 참조 문서를 참조하십시오.

사용 예시:

apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
kubernetesVersion: v1.16.0
apiServer:
  extraArgs:
    anonymous-auth: "false"
    enable-admission-plugins: AlwaysPullImages,DefaultStorageClass
    audit-log-path: /home/johndoe/audit.log

2.2 ControllerManager 플래그

2.3 Scheduler 플래그

2.4 Etcd 플래그

3 패치로 커스터마이징

4 kubelet 커스터마이징

5 kube-proxy 커스터마이징

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