Skip to content
원저자
The Kubernetes Authors
번역
Davi
원문
원문 보기 ↗
License
CC BY 4.0 ↗
Lang
en → ko

kubeadm init phase

원문: kubeadm init phase · The Kubernetes Authors · CC BY 4.0

이 문서는 원문을 학습 목적으로 재구성하고 역자 주와 다이어그램을 더했다. 원문에 흩어진 플래그·페이즈 정보를 집약 절로 모으고 대응 도형 없는 다이어그램을 실었다. 문서 본문은 CC BY 4.0을 따른다. 비공식 번역이며 원저작자와 프로젝트의 공인을 받지 않았다. 원문과 번역이 어긋날 경우 원문이 우선한다.

원문 시점 2025-12-16 · 번역 2026-07-09

결론

kubeadm init phase는 부트스트랩 과정의 원자적(atomic) 단계를 개별 호출하게 해주는 명령이다. kubeadm이 일부를 처리하게 두고, 커스터마이징이 필요한 부분만 직접 채울 수 있다. kubeadm init 워크플로와 일관되며 내부적으로 같은 코드를 쓴다.

페이즈는 kubeadm init의 실행 순서를 따른다. preflight(프리플라이트 검사) → certs(인증서 생성) → kubeconfig(kubeconfig 파일) → etcd(로컬 etcd 정적 Pod) → control-plane(컨트롤 플레인 정적 Pod) → kubelet-start(kubelet 설정·기동) → wait-control-plane(기동 대기) → upload-config(설정 업로드) → upload-certs(인증서 업로드) → mark-control-plane(노드 표시) → bootstrap-token(부트스트랩 토큰) → kubelet-finalize(TLS 부트스트랩 후 마무리) → addon(CoreDNS·kube-proxy) → show-join-command(조인 명령 출력)이다.

대부분의 페이즈는 all 하위 명령으로 전체를 한 번에, 또는 개별 하위 명령으로 조각을 실행할 수 있다. 특히 certs는 CA·apiserver·etcd 등 12개, kubeconfig는 admin·kubelet 등 7개, control-plane은 apiserver·controller-manager·scheduler로 세분된다. 모든 하위 명령은 --rootfs 상위 플래그를 상속하며, --dry-run으로 변경 없이 미리 볼 수 있다.


init phase 명령은 부트스트랩 과정의 원자적 단계를 호출하게 해준다. 따라서 kubeadm이 일부 작업을 하게 두고, 커스터마이징을 적용하고 싶다면 그 빈틈을 직접 채울 수 있다. kubeadm init phasekubeadm init 워크플로와 일관되며, 무대 뒤에서 둘 다 같은 코드를 쓴다.

페이즈 목록

kubeadm init은 다음 페이즈를 순서대로 실행하며, 각 페이즈는 kubeadm init phase <이름>으로 개별 호출할 수 있다.

  • preflight: 프리플라이트 검사 실행
  • certs: 인증서 생성
    • /ca: 다른 Kubernetes 컴포넌트의 신원을 발급할 자체 서명 Kubernetes CA 생성
    • /apiserver: Kubernetes API 서빙용 인증서 생성
    • /apiserver-kubelet-client: API 서버가 kubelet에 접속할 인증서 생성
    • /front-proxy-ca: 프런트 프록시 신원을 발급할 자체 서명 CA 생성
    • /front-proxy-client: 프런트 프록시 클라이언트 인증서 생성
    • /etcd-ca: etcd 신원을 발급할 자체 서명 CA 생성
    • /etcd-server: etcd 서빙용 인증서 생성
    • /etcd-peer: etcd 노드 간 통신용 인증서 생성
    • /etcd-healthcheck-client: etcd 헬스체크(liveness probe)용 인증서 생성
    • /apiserver-etcd-client: API 서버가 etcd에 접근할 인증서 생성
    • /sa: 서비스 어카운트 토큰 서명용 개인 키와 공개 키 생성
  • kubeconfig: 컨트롤 플레인 확립에 필요한 모든 kubeconfig 파일과 admin kubeconfig 파일 생성
    • /admin: admin과 kubeadm 자신용 kubeconfig 생성
    • /kubelet: kubelet용 kubeconfig 생성(부트스트랩 목적 한정)
    • /controller-manager: 컨트롤러 매니저용 kubeconfig 생성
    • /scheduler: 스케줄러용 kubeconfig 생성
    • /super-admin: super-admin용 kubeconfig 생성
  • etcd: 로컬 etcd용 정적 Pod 매니페스트 생성
    • /local: 단일 노드 로컬 etcd 정적 Pod 매니페스트 생성
  • control-plane: 컨트롤 플레인 컴포넌트용 정적 Pod 매니페스트 생성
    • /apiserver: kube-apiserver 정적 Pod 매니페스트 생성
    • /controller-manager: kube-controller-manager 정적 Pod 매니페스트 생성
    • /scheduler: kube-scheduler 정적 Pod 매니페스트 생성
  • kubelet-start: kubelet 설정·환경 파일을 기록하고 kubelet을 (재)시작
  • wait-control-plane: 컨트롤 플레인 기동 대기
  • upload-config: kubeadm·kubelet 설정을 ConfigMap에 업로드
    • /kubeadm: kubeadm ClusterConfiguration을 ConfigMap에 업로드
    • /kubelet: kubelet 설정을 ConfigMap에 업로드
  • upload-certs: 컨트롤 플레인 인증서를 kubeadm-certs Secret에 업로드
  • mark-control-plane: 노드를 컨트롤 플레인으로 표시
  • bootstrap-token: 부트스트랩 토큰 구성
  • kubelet-finalize: TLS 부트스트랩 후 kubelet 관련 설정 갱신
    • /enable-client-cert-rotation: kubelet 클라이언트 인증서 로테이션 활성화
  • addon: 컨포먼스 테스트 통과에 필요한 애드온 설치
    • /coredns: CoreDNS 애드온 설치
    • /kube-proxy: kube-proxy 애드온 설치
  • show-join-command: kubeadm join에 쓸 조인 명령 출력

공통 플래그

아래 하위 명령들에 반복 등장하는 플래그다. 각 하위 명령에서는 이름만 나열하며, 설명은 여기서 한 번만 정의한다.

플래그기본값설명
--apiserver-advertise-address stringAPI 서버가 수신 대기를 알릴 IP 주소. 미설정 시 기본 네트워크 인터페이스를 쓴다.
--apiserver-bind-port int326443API 서버가 바인딩할 포트.
--apiserver-cert-extra-sans stringsAPI 서버 서빙 인증서에 넣을 추가 SAN(Subject Alternative Names). IP·DNS 이름 모두 가능.
--cert-dir string/etc/kubernetes/pki인증서를 저장·보관할 경로.
--config stringkubeadm 설정 파일 경로.
--control-plane-endpoint string컨트롤 플레인의 안정적 IP 주소 또는 DNS 이름.
--cri-socket string접속할 CRI 소켓 경로. 비우면 자동 감지하며, CRI가 둘 이상이거나 비표준 소켓일 때만 쓴다.
--dry-run어떤 변경도 적용하지 않고 수행될 작업만 출력한다.
--feature-gates string피처 게이트 key=value 집합. NodeLocalCRISocket=true|false(기본 true), PublicKeysECDSA=true|false(DEPRECATED, 기본 false), RootlessControlPlane=true|false(ALPHA, 기본 false).
-h, --help해당 명령 도움말.
--image-repository stringregistry.k8s.io컨트롤 플레인 이미지를 받아올 컨테이너 레지스트리.
--ignore-preflight-errors strings오류를 경고로 표시할 검사 목록. 예: IsPrivilegedUser,Swap. all이면 전체 무시.
--kubeconfig string/etc/kubernetes/admin.conf클러스터와 통신할 때 쓸 kubeconfig 파일.
--kubeconfig-dir string/etc/kuberneteskubeconfig 파일을 저장할 경로.
--kubernetes-version stringstable-1컨트롤 플레인에 쓸 특정 Kubernetes 버전.
--node-name string노드 이름을 지정한다.
--patches stringtarget[suffix][+patchtype].extension 형식의 파일을 담은 디렉터리 경로. 예: kube-apiserver0+merge.yaml 또는 etcd.json. targetkube-apiserver·kube-controller-manager·kube-scheduler·etcd·kubeletconfiguration·corednsdeployment 중 하나, patchtypestrategic·merge·json 중 하나(기본 strategic), extensionjson·yaml, suffix는 적용 순서를 알파벳·숫자순으로 정하는 선택적 문자열.
--pod-network-cidr string파드 네트워크 IP 범위. 설정하면 컨트롤 플레인이 노드마다 CIDR을 자동 할당한다.
--print-manifest애드온을 설치하지 않고 매니페스트를 STDOUT에 출력한다.
--service-cidr string10.96.0.0/12서비스 VIP에 쓸 대체 IP 범위.
--service-dns-domain stringcluster.local서비스에 쓸 대체 도메인. 예: myorg.internal.

상속 플래그

아래 모든 하위 명령은 상위 명령에서 다음 플래그를 상속한다(각 하위 명령에서는 반복하지 않는다).

플래그설명
--rootfs string'실제' 호스트 루트 파일시스템 경로. kubeadm이 지정한 경로로 chroot하게 만든다.

kubeadm init phase preflight

kubeadm init을 위한 프리플라이트 검사를 실행한다.

사용: kubeadm init phase preflight [flags]

플래그: --config · --cri-socket · --dry-run · -h · --ignore-preflight-errors · --image-repository

shell
# 설정 파일에서 옵션을 읽어 init에 대한 프리플라이트 검사 실행
kubeadm init phase preflight --config kubeadm-config.yaml

kubeadm init phase certs

kubeadm이 필요로 하는 모든 인증서를 생성하는 데 쓸 수 있다. 하위 명령 없이 kubeadm init phase certs를 호출하면 -h만 받는다. all로 전체를, 또는 개별 하위 명령으로 조각을 생성한다.

certs 인증서 서명 트리 다이어그램. 12개 인증서가 3개의 자체 서명 CA 아래로 갈린다. ca(Kubernetes CA)는 apiserver와 apiserver-kubelet-client를 서명한다. etcd-ca는 etcd-server·etcd-peer·etcd-healthcheck-client·apiserver-etcd-client를 서명한다. front-proxy-ca는 front-proxy-client를 서명한다. sa는 CA가 아니라 서비스 어카운트 토큰 서명용 개인 키·공개 키 페어로, 다른 인증서를 서명하지 않는다.

이 그림은 아래 certs 하위 명령 설명을 종합해 CA와 리프 인증서의 서명 관계로 재구성한 것이다(논리적 추론에 따른 배치). 특히 apiserver-etcd-client는 API 서버가 etcd에 접속하는 클라이언트 인증서라 ca가 아닌 etcd-ca가 서명한다는 점에 유의한다.

certs all

kubeadm이 필요로 하는 모든 인증서를 생성한다.

사용: kubeadm init phase certs all [flags]

플래그: --apiserver-advertise-address · --apiserver-cert-extra-sans · --cert-dir · --config · --control-plane-endpoint · --dry-run · -h · --kubernetes-version · --service-cidr · --service-dns-domain

certs ca

다른 Kubernetes 컴포넌트의 신원을 발급할 자체 서명 Kubernetes CA를 생성해 ca.crt·ca.key 파일에 저장한다. 두 파일이 이미 있으면 생성을 건너뛰고 기존 파일을 쓴다.

사용: kubeadm init phase certs ca [flags]

플래그: --cert-dir · --config · --dry-run · -h · --kubernetes-version

certs apiserver

Kubernetes API 서빙용 인증서를 생성해 apiserver.crt·apiserver.key 파일에 저장한다. 두 파일이 이미 있으면 건너뛴다.

사용: kubeadm init phase certs apiserver [flags]

플래그: --apiserver-advertise-address · --apiserver-cert-extra-sans · --cert-dir · --config · --control-plane-endpoint · --dry-run · -h · --kubernetes-version · --service-cidr · --service-dns-domain

certs apiserver-kubelet-client

API 서버가 kubelet에 접속할 클라이언트 인증서를 생성해 apiserver-kubelet-client.crt·.key 파일에 저장한다. 이미 있으면 건너뛴다.

사용: kubeadm init phase certs apiserver-kubelet-client [flags]

플래그: --cert-dir · --config · --dry-run · -h · --kubernetes-version

certs front-proxy-ca

프런트 프록시 신원을 발급할 자체 서명 CA를 생성해 front-proxy-ca.crt·.key 파일에 저장한다. 이미 있으면 건너뛴다.

사용: kubeadm init phase certs front-proxy-ca [flags]

플래그: --cert-dir · --config · --dry-run · -h · --kubernetes-version

certs front-proxy-client

프런트 프록시 클라이언트 인증서를 생성해 front-proxy-client.crt·.key 파일에 저장한다. 이미 있으면 건너뛴다.

사용: kubeadm init phase certs front-proxy-client [flags]

플래그: --cert-dir · --config · --dry-run · -h · --kubernetes-version

certs etcd-ca

etcd 신원을 발급할 자체 서명 CA를 생성해 etcd/ca.crt·etcd/ca.key 파일에 저장한다. 이미 있으면 건너뛴다.

사용: kubeadm init phase certs etcd-ca [flags]

플래그: --cert-dir · --config · --dry-run · -h · --kubernetes-version

certs etcd-server

etcd 서빙용 인증서를 생성해 etcd/server.crt·.key 파일에 저장한다. 기본 SAN은 localhost, 127.0.0.1, ::1이다. 이미 있으면 건너뛴다.

사용: kubeadm init phase certs etcd-server [flags]

플래그: --cert-dir · --config · --dry-run · -h · --kubernetes-version

certs etcd-peer

etcd 노드 간 통신용 인증서를 생성해 etcd/peer.crt·.key 파일에 저장한다. 기본 SAN은 localhost, 127.0.0.1, ::1이다. 이미 있으면 건너뛴다.

사용: kubeadm init phase certs etcd-peer [flags]

플래그: --cert-dir · --config · --dry-run · -h · --kubernetes-version

certs etcd-healthcheck-client

etcd 헬스체크(liveness probe)용 인증서를 생성해 etcd/healthcheck-client.crt·.key 파일에 저장한다. 이미 있으면 건너뛴다.

사용: kubeadm init phase certs etcd-healthcheck-client [flags]

플래그: --cert-dir · --config · --dry-run · -h · --kubernetes-version

certs apiserver-etcd-client

API 서버가 etcd에 접근할 인증서를 생성해 apiserver-etcd-client.crt·.key 파일에 저장한다. 이미 있으면 건너뛴다.

사용: kubeadm init phase certs apiserver-etcd-client [flags]

플래그: --cert-dir · --config · --dry-run · -h · --kubernetes-version

certs sa

서비스 어카운트 토큰 서명용 개인 키를 생성해 sa.key에, 그 공개 키를 sa.pub에 저장한다. 이미 있으면 건너뛴다.

사용: kubeadm init phase certs sa [flags]

플래그: --cert-dir · --config · --dry-run · -h · --kubernetes-version

kubeadm init phase kubeconfig

all 하위 명령으로 필요한 모든 kubeconfig 파일을 만들거나 개별 호출할 수 있다. 하위 명령 없이 kubeadm init phase kubeconfig를 호출하면 -h만 받는다.

kubeconfig all

컨트롤 플레인 확립에 필요한 모든 kubeconfig 파일과 admin kubeconfig 파일을 생성한다.

사용: kubeadm init phase kubeconfig all [flags]

플래그: --apiserver-advertise-address · --apiserver-bind-port · --cert-dir · --config · --control-plane-endpoint · --dry-run · -h · --kubeconfig-dir · --kubernetes-version · --node-name

kubeconfig admin

admin과 kubeadm 자신용 kubeconfig를 생성해 admin.conf 파일에 저장한다.

사용: kubeadm init phase kubeconfig admin [flags]

플래그: --apiserver-advertise-address · --apiserver-bind-port · --cert-dir · --config · --control-plane-endpoint · --dry-run · -h · --kubeconfig-dir · --kubernetes-version

kubeconfig kubelet

kubelet이 쓸 kubeconfig를 생성해 kubelet.conf 파일에 저장한다. 이는 클러스터 부트스트랩 목적으로만 써야 한다. 컨트롤 플레인이 뜬 뒤에는 모든 kubelet 자격 증명을 CSR API에서 요청해야 한다.

사용: kubeadm init phase kubeconfig kubelet [flags]

플래그: --apiserver-advertise-address · --apiserver-bind-port · --cert-dir · --config · --control-plane-endpoint · --dry-run · -h · --kubeconfig-dir · --kubernetes-version · --node-name

kubeconfig controller-manager

컨트롤러 매니저가 쓸 kubeconfig를 생성해 controller-manager.conf 파일에 저장한다.

사용: kubeadm init phase kubeconfig controller-manager [flags]

플래그: --apiserver-advertise-address · --apiserver-bind-port · --cert-dir · --config · --control-plane-endpoint · --dry-run · -h · --kubeconfig-dir · --kubernetes-version

kubeconfig scheduler

스케줄러가 쓸 kubeconfig를 생성해 scheduler.conf 파일에 저장한다.

사용: kubeadm init phase kubeconfig scheduler [flags]

플래그: --apiserver-advertise-address · --apiserver-bind-port · --cert-dir · --config · --control-plane-endpoint · --dry-run · -h · --kubeconfig-dir · --kubernetes-version

kubeconfig super-admin

super-admin이 쓸 kubeconfig를 생성해 super-admin.conf 파일에 저장한다.

사용: kubeadm init phase kubeconfig super-admin [flags]

플래그: --apiserver-advertise-address · --apiserver-bind-port · --cert-dir · --config · --control-plane-endpoint · --dry-run · -h · --kubeconfig-dir · --kubernetes-version

kubeadm init phase etcd

정적 Pod 파일 기반으로 로컬 etcd 인스턴스를 만든다. 하위 명령 없이 kubeadm init phase etcd를 호출하면 -h만 받는다.

etcd local

단일 노드 로컬 etcd 인스턴스용 정적 Pod 매니페스트를 생성한다.

사용: kubeadm init phase etcd local [flags]

플래그: --cert-dir · --config · --dry-run · -h · --image-repository · --patches

shell
# 로컬 etcd 인스턴스용 정적 Pod 매니페스트 생성
kubeadm init phase etcd local

# 설정 파일에서 읽은 옵션으로 정적 Pod 매니페스트 생성
kubeadm init phase etcd local --config config.yaml

kubeadm init phase control-plane

이 페이즈로 컨트롤 플레인 컴포넌트에 필요한 정적 Pod 파일을 모두 만들 수 있다. 하위 명령 없이 kubeadm init phase control-plane을 호출하면 -h만 받는다.

control-plane all

컨트롤 플레인 컴포넌트용 정적 Pod 매니페스트를 모두 생성한다.

사용: kubeadm init phase control-plane all [flags]

플래그: --apiserver-advertise-address · --apiserver-bind-port · --cert-dir · --config · --control-plane-endpoint · --dry-run · --feature-gates · -h · --image-repository · --kubernetes-version · --patches · --pod-network-cidr · --service-cidr

shell
# 컨트롤 플레인 컴포넌트용 정적 Pod 매니페스트를 모두 생성.
# kubeadm init이 생성하는 것과 기능적으로 동등하다.
kubeadm init phase control-plane all

# 설정 파일에서 읽은 옵션으로 정적 Pod 매니페스트를 모두 생성
kubeadm init phase control-plane all --config config.yaml

control-plane apiserver

kube-apiserver 정적 Pod 매니페스트를 생성한다.

사용: kubeadm init phase control-plane apiserver [flags]

플래그: --apiserver-advertise-address · --apiserver-bind-port · --cert-dir · --config · --control-plane-endpoint · --dry-run · --feature-gates · -h · --image-repository · --kubernetes-version · --patches · --service-cidr

control-plane controller-manager

kube-controller-manager 정적 Pod 매니페스트를 생성한다.

사용: kubeadm init phase control-plane controller-manager [flags]

플래그: --cert-dir · --config · --dry-run · -h · --image-repository · --kubernetes-version · --patches · --pod-network-cidr

control-plane scheduler

kube-scheduler 정적 Pod 매니페스트를 생성한다.

사용: kubeadm init phase control-plane scheduler [flags]

플래그: --cert-dir · --config · --dry-run · -h · --image-repository · --kubernetes-version · --patches

kubeadm init phase kubelet-start

이 페이즈는 kubelet 설정 파일과 환경 파일을 기록한 뒤 kubelet을 시작한다. KubeletConfiguration을 담은 파일과 노드별 kubelet 설정을 담은 환경 파일을 기록하고 kubelet을 (재)시작한다.

사용: kubeadm init phase kubelet-start [flags]

플래그: --config · --cri-socket · --dry-run · -h · --image-repository · --node-name · --patches

shell
# InitConfiguration 파일에서 kubelet 플래그를 읽어 동적 환경 파일을 기록
kubeadm init phase kubelet-start --config config.yaml

kubeadm init phase wait-control-plane

이 페이즈에서 kubeadm은 컨트롤 플레인 컴포넌트가 기동할 때까지 대기한다.

사용: kubeadm init phase wait-control-plane [flags]

플래그: -h

kubeadm init phase upload-config

이 명령으로 kubeadm 설정을 클러스터에 업로드할 수 있다. 대안으로 kubeadm config를 쓸 수 있다. 하위 명령 없이 kubeadm init phase upload-config를 호출하면 -h만 받는다.

upload-config all

kubeadm·kubelet 설정을 ConfigMap에 업로드한다.

사용: kubeadm init phase upload-config all [flags]

플래그: --config · --cri-socket · --dry-run · -h · --kubeconfig

upload-config kubeadm

kubeadm ClusterConfigurationkube-system 네임스페이스의 kubeadm-config ConfigMap에 업로드한다. 이는 이후 kubeadm(예: kubeadm upgrade)이 정확한 설정을 붙이고 매끄러운 업그레이드를 수행하도록 보장한다. 대안으로 kubeadm config를 쓸 수 있다.

사용: kubeadm init phase upload-config kubeadm [flags]

플래그: --config · --cri-socket · --dry-run · -h · --kubeconfig

shell
# kube-system 네임스페이스의 kubeadm-config ConfigMap에
# kubeadm ClusterConfiguration을 업로드
kubeadm init phase upload-config kubeadm --config kubeadm.yaml

upload-config kubelet

InitConfiguration 파일에서 추출한 kubelet 설정을 kubelet-config ConfigMap에 업로드한다.

사용: kubeadm init phase upload-config kubelet [flags]

플래그: --config · --cri-socket · --dry-run · -h · --kubeconfig

shell
# InitConfiguration 파일에서 kubelet 설정을 읽어 ConfigMap에 업로드
kubeadm init phase upload-config kubelet --config kubeadm.yaml

kubeadm init phase upload-certs

기본적으로 인증서와 암호화 키는 두 시간 후 만료된다. 이 페이즈는 컨트롤 플레인 인증서를 kubeadm-certs Secret에 업로드한다.

사용: kubeadm init phase upload-certs [flags]

플래그(공통): --config · --dry-run · -h · --kubeconfig플래그(고유):

  • --certificate-key string: 업로드된 인증서 시크릿을 복호화할 때 쓸 키. 지정하지 않으면 자동 생성된다.
  • --skip-certificate-key-print: 인증서 업로드에 쓰인 키의 출력을 생략한다.
  • --upload-certs: 컨트롤 플레인 인증서를 kubeadm-certs Secret에 업로드한다.

kubeadm init phase mark-control-plane

노드를 컨트롤 플레인으로 표시한다.

사용: kubeadm init phase mark-control-plane [flags]

플래그: --config · --dry-run · -h · --node-name

shell
# 현재 노드를 컨트롤 플레인으로 표시
kubeadm init phase mark-control-plane --config config.yaml

# "foo"라는 이름의 노드를 컨트롤 플레인으로 표시
kubeadm init phase mark-control-plane --node-name foo

kubeadm init phase bootstrap-token

부트스트랩 토큰은 클러스터에 합류하는 노드와 컨트롤 플레인 노드 사이의 양방향 신뢰를 확립하는 데 쓰인다. 이 명령은 부트스트랩 토큰이 동작하는 데 필요한 모든 설정을 만든 뒤 초기 토큰을 생성한다.

사용: kubeadm init phase bootstrap-token [flags]

플래그(공통): --config · --dry-run · -h · --kubeconfig플래그(고유): --skip-token-print(기본 부트스트랩 토큰의 출력을 생략).

shell
# 부트스트랩 토큰 설정을 모두 만들고 초기 토큰을 생성한다.
# kubeadm init이 생성하는 것과 기능적으로 동등하다.
kubeadm init phase bootstrap-token

kubeadm init phase kubelet-finalize

TLS 부트스트랩 후 kubelet 관련 설정을 갱신하는 데 쓴다. all 하위 명령으로 모든 kubelet-finalize 페이즈를 실행할 수 있다. 하위 명령 없이 kubeadm init phase kubelet-finalize를 호출하면 -h만 받는다.

kubelet-finalize all

TLS 부트스트랩 후 kubelet 관련 설정을 갱신한다.

사용: kubeadm init phase kubelet-finalize all [flags]

플래그: --cert-dir · --config · --dry-run · -h

shell
# TLS 부트스트랩 후 kubelet 관련 설정을 갱신
kubeadm init phase kubelet-finalize all --config config.yaml

kubelet-finalize enable-client-cert-rotation

kubelet 클라이언트 인증서 로테이션을 활성화한다.

사용: kubeadm init phase kubelet-finalize enable-client-cert-rotation [flags]

플래그: --cert-dir · --config · --dry-run · -h

kubeadm init phase addon

all 하위 명령으로 사용 가능한 애드온을 모두 설치하거나 선택적으로 설치할 수 있다. 하위 명령 없이 kubeadm init phase addon을 호출하면 -h만 받는다.

addon all

컨포먼스 테스트 통과에 필요한 애드온을 설치한다.

사용: kubeadm init phase addon all [flags]

플래그: --apiserver-advertise-address · --apiserver-bind-port · --config · --control-plane-endpoint · --dry-run · --feature-gates · -h · --image-repository · --kubeconfig · --kubernetes-version · --pod-network-cidr · --service-cidr · --service-dns-domain

addon coredns

API 서버를 통해 CoreDNS 애드온 컴포넌트를 설치한다. DNS 서버는 배포되지만, CNI가 설치되기 전에는 스케줄되지 않는다는 점에 유의한다.

사용: kubeadm init phase addon coredns [flags]

플래그: --config · --dry-run · --feature-gates · -h · --image-repository · --kubeconfig · --kubernetes-version · --print-manifest · --service-cidr · --service-dns-domain

addon kube-proxy

API 서버를 통해 kube-proxy 애드온 컴포넌트를 설치한다.

사용: kubeadm init phase addon kube-proxy [flags]

플래그: --apiserver-advertise-address · --apiserver-bind-port · --config · --control-plane-endpoint · --dry-run · -h · --image-repository · --kubeconfig · --kubernetes-version · --pod-network-cidr · --print-manifest

kubeadm init phase show-join-command

kubeadm join에 쓸 수 있는 명령을 보여준다. 컨트롤 플레인 노드와 워커 노드 모두에 대한 조인 명령을 출력한다.

사용: kubeadm init phase show-join-command [flags]

플래그: -h

v1beta4 설정 레퍼런스

v1beta4 설정의 각 필드에 대한 자세한 내용은 API 레퍼런스 페이지로 이동한다.

역자 주 · 검증 원문 최종 수정은 2025-12-16이며 그 커밋이 'v1.36용 피처 게이트 목록 갱신'이다. 페이즈 트리(certs 12개·kubeconfig 7개·kubelet-finalize·show-join-command 등)가 번역 시점(2026-07-09) GitHub main 소스와 동일하다. super-admin kubeconfig, kubelet-finalizeenable-client-cert-rotation, show-join-command 모두 현행이며, 피처 게이트는 v1.36 기준(NodeLocalCRISocket 기본 활성)이다. 앞서 확인한 대로 현재 안정 버전은 v1.36이다. 출처: kubeadm init phase 공식 문서, website 원본 소스.

역자 주 · 적용

원문 정보에서 도출되는, 일반 독자 누구에게나 성립하는 실습·활용 안내다.

  • kubeadm init phasekubeadm init의 원자적 단계를 개별 실행하는 툴박스다. 외부 CA·커스텀 인증서·부분 설정처럼 특정 조각만 손볼 때 쓴다(예: certs sa만 재생성).
  • 대부분의 페이즈는 all로 묶어 실행하거나 개별 조각으로 나눠 실행할 수 있다. 커스터마이징 지점만 개별 페이즈로 빼고 나머지는 kubeadm init에 맡기는 식으로 조합한다.
  • --dry-run으로 각 페이즈가 만들 파일을 실제 생성 없이 확인한다. certs 하위 명령은 대상 파일이 이미 있으면 건너뛰므로, 특정 인증서만 재발급하려면 그 파일을 먼저 지운다.
  • 이 페이즈들이 앞서 옮긴 문서들의 핵심을 만든다. upload-config kubeadm이 캡스톤의 kubeadm-config ConfigMap을 쓰고, bootstrap-token이 join 문서의 양방향 신뢰 입력을 만들며, etcd local·control-plane이 정적 Pod 문서가 다루는 그 매니페스트를 /etc/kubernetes/manifests에 만든다. init phase는 시리즈 전체의 부품 목록인 셈이다.

참고 출처

원문이 링크한 출처:

역자 검증 출처(번역 시점 사실 확인에 사용):

다음 단계

  • kubeadm init: Kubernetes 컨트롤 플레인 노드 부트스트랩(이 페이즈들의 상위 명령)
  • kubeadm join: 워커 노드를 부트스트랩해 클러스터에 합류
  • kubeadm reset: init·join이 가한 변경 되돌리기