Kubernetes Distributions — Build Them Yourself
Quiz: k3s packaged components
한국어 원문으로 표시합니다.
manifests 디렉터리의 사용자 AddOn 이 만든 ConfigMap 을 kubectl 로 지웠다. k3s 를 재시작하지 않는다면 언제 다시 생기는가?
- 배포 컨트롤러가 몇 초 간격으로 클러스터를 비교해 곧바로 되살린다
- 파일의 내용이 바뀌어 체크섬이 달라질 때 다시 적용된다
- 파일을 touch 해서 수정 시각만 바꾸면 다시 적용된다
- AddOn 객체를 kubectl 로 지우면 그 즉시 다시 적용된다
HelmChart traefik 을 kubectl 로 지우고 traefik 이 사라진 것을 확인했다. systemctl restart k3s 뒤에는 어떻게 되는가?
- HelmChart 가 지워진 사실이 저장소에 남아 다시 설치되지 않는다
- Deployment 만 예전 UID 그대로 복구되고 HelmChart 는 없는 채로 남는다
- traefik.yaml 파일도 함께 지워졌기 때문에 되살아날 근거가 없다
- 기동 때 traefik.yaml 이 다시 쓰이고 적용되어 HelmChart 가 새로 생기고 traefik 이 재설치된다
traefik 을 영구히 제거하고 싶다. 공식 문서가 권하는 방법과 그 결과로 옳은 것은?
- --disable=traefik 으로 기동해 AddOn 을 제거하고 원본 매니페스트 파일도 지우게 한다
- traefik.yaml.skip 을 만들어 이미 설치된 traefik 이 곧바로 제거되게 한다
- manifests/traefik.yaml 파일을 지워 다음 기동부터 설치되지 않게 한다
- HelmChartConfig 에 enabled: false 를 넣어 helm-controller 가 제거하게 한다
config.yaml 에 disable: [local-storage] 가 있다. config.yaml.d/50-disable.yaml 에 metrics-server 도 끄도록 적으려 한다. 둘 다 꺼지게 하는 내용은?
- disable: [metrics-server] — drop-in 의 목록은 앞 파일의 목록과 자동으로 합쳐진다
- disable: [local-storage, metrics-server] 를 config.yaml 에 쓰고 drop-in 은 비워야만 한다
- disable+: [metrics-server] — 키 끝의 + 가 앞 파일의 목록에 덧붙인다
- no-deploy: [metrics-server] — drop-in 에서는 옛 이름의 키만 목록이 합쳐진다
설치 때 INSTALL_K3S_EXEC="--write-kubeconfig-mode 644" 를 넘겼고, 나중에 config.yaml 에 write-kubeconfig-mode: "0600" 을 적고 재시작했다. k3s.yaml 의 권한은?
- 600 — 구성 파일이 나중에 고친 값이므로 우선한다
- 600 — 재시작하면 유닛 인자는 무시되고 구성 파일만 읽힌다
- 기동이 실패한다 — 같은 키가 두 곳에 있으면 충돌로 거절된다
- 644 — INSTALL_K3S_EXEC 가 유닛의 CLI 인자로 저장되어 구성 파일보다 우선한다
traefik 의 로그 수준만 바꾸려 한다. 재부팅과 k3s 기동 뒤에도 유지되는 방법은?
- manifests 에 이름·네임스페이스가 traefik·kube-system 인 HelmChartConfig 를 둔다 — 재시작 없이 helm upgrade 가 돈다
- manifests/traefik.yaml 의 valuesContent 를 고친다 — 파일 변경이므로 즉시 반영되고 유지된다
- kubectl edit deploy traefik 으로 인자를 고친다 — helm-controller 가 그 값을 릴리스에 기록한다
- HelmChartConfig 를 default 네임스페이스에 traefik-values 라는 이름으로 만든다 — 이름은 자유다