kubeconfig ํ์ผ์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ ์ ๊ทผ ๊ตฌ์ฑํ๊ธฐ
kubeconfig ํ์ผ๋ค์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ, ์ฌ์ฉ์, ๋ค์์คํ์ด์ค ๋ฐ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ๋ํ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ์.
kubectl
์ปค๋งจ๋๋ผ์ธ ํด์ kubeconfig ํ์ผ์ ์ฌ์ฉํ์ฌ
ํด๋ฌ์คํฐ์ ์ ํ๊ณผ
ํด๋ฌ์คํฐ์ API ์๋ฒ์์ ํต์ ์ ํ์ํ ์ ๋ณด๋ฅผ ์ฐพ๋๋ค.
์ฐธ๊ณ :
ํด๋ฌ์คํฐ์ ๋ํ ์ ๊ทผ์ ๊ตฌ์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ์ผ์ kubeconfig ํ์ผ ์ด๋ผ ํ๋ค. ์ด๋ ๊ตฌ์ฑ ํ์ผ์ ์ฐธ์กฐํ๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค.kubeconfig
๋ผ๋ ์ด๋ฆ์ ํ์ผ์ด ์๋ค๋ ์๋ฏธ๋ ์๋๋ค.๊ฒฝ๊ณ :
์ ๋ขฐํ ์ ์๋ ์์ค์ kubeconfig ํ์ผ๋ง ์ฌ์ฉํ๋ค. ํน์ ์ ์๋ kubeconfig ํ์ผ์ ์ฌ์ฉํ๋ฉด ์ ์ฑ ์ฝ๋๊ฐ ์คํ๋๊ฑฐ๋ ํ์ผ์ด ๋ ธ์ถ๋ ์ ์๋ค. ์ ๋ขฐํ ์ ์๋ kubeconfig ํ์ผ์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ ์ ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ฒ๋ผ ๋จผ์ ์ ์คํ๊ฒ ๊ฒ์ฌํ๋ค.๊ธฐ๋ณธ์ ์ผ๋ก kubectl
์ $HOME/.kube
๋๋ ํฐ๋ฆฌ์์ config
๋ผ๋ ์ด๋ฆ์ ํ์ผ์ ์ฐพ๋๋ค.
KUBECONFIG
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๊ฑฐ๋
--kubeconfig
ํ๋๊ทธ๋ฅผ ์ง์ ํด์
๋ค๋ฅธ kubeconfig ํ์ผ์ ์ฌ์ฉํ ์ ์๋ค.
kubeconfig ํ์ผ์ ์์ฑํ๊ณ ์ง์ ํ๋ ๋จ๊ณ๋ณ ์ง์์ฌํญ์ ๋ค์ค ํด๋ฌ์คํฐ๋ก ์ ๊ทผ ๊ตฌ์ฑํ๊ธฐ๋ฅผ ์ฐธ์กฐํ๋ค.
๋ค์ค ํด๋ฌ์คํฐ, ์ฌ์ฉ์์ ์ธ์ฆ ๋ฉ์ปค๋์ฆ ์ง์
์ฌ๋ฌ ํด๋ฌ์คํฐ๊ฐ ์๊ณ , ์ฌ์ฉ์์ ๊ตฌ์ฑ ์์๊ฐ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ธ์ฆํ๋ค๊ณ ๊ฐ์ ํ์. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- ์คํ ์ค์ธ kubelet์ ์ธ์ฆ์๋ฅผ ์ด์ฉํ์ฌ ์ธ์ฆํ ์ ์๋ค.
- ์ฌ์ฉ์๋ ํ ํฐ์ผ๋ก ์ธ์ฆํ ์ ์๋ค.
- ๊ด๋ฆฌ์๋ ๊ฐ๋ณ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ ์ธ์ฆ์ ์งํฉ์ ๊ฐ์ง๊ณ ์๋ค.
kubeconfig ํ์ผ์ ์ฌ์ฉํ๋ฉด ํด๋ฌ์คํฐ์ ์ฌ์ฉ์์ ๋ค์์คํ์ด์ค๋ฅผ ๊ตฌ์ฑํ ์ ์๋ค. ๋ํ ์ปจํ ์คํธ๋ฅผ ์ ์ํ์ฌ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ํด๋ฌ์คํฐ์ ๋ค์์คํ์ด์ค ๊ฐ์ ์ ํํ ์ ์๋ค.
์ปจํ ์คํธ
kubeconfig์์ ์ปจํ
์คํธ ์์๋ ํธ๋ฆฌํ ์ด๋ฆ์ผ๋ก ์ ์ ๋งค๊ฐ ๋ณ์๋ฅผ ๋ฌถ๋๋ฐ ์ฌ์ฉํ๋ค.
๊ฐ ์ปจํ
์คํธ๋ ํด๋ฌ์คํฐ, ๋ค์์คํ์ด์ค์ ์ฌ์ฉ์๋ผ๋ ์ธ ๊ฐ์ง ๋งค๊ฐ ๋ณ์๋ฅผ ๊ฐ์ง๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก kubectl
์ปค๋งจ๋๋ผ์ธ ํด์ ํ์ฌ ์ปจํ
์คํธ ์ ๋งค๊ฐ ๋ณ์๋ฅผ
์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ์ ํต์ ํ๋ค.
ํ์ฌ ์ปจํ์คํธ๋ฅผ ์ ํํ๋ ค๋ฉด ๋ค์์ ์คํํ๋ค.
kubectl config use-context
KUBECONFIG ํ๊ฒฝ ๋ณ์
KUBECONFIG
ํ๊ฒฝ ๋ณ์๋ kubeconfig ํ์ผ ๋ชฉ๋ก์ ๋ณด์ ํ๋ค.
๋ฆฌ๋
์ค ๋ฐ Mac์ ๊ฒฝ์ฐ ์ด๋ ์ฝ๋ก (:)์ผ๋ก ๊ตฌ๋ถ๋ ๋ชฉ๋ก์ด๋ค.
์๋์ฐ๋ ์ธ๋ฏธ์ฝ๋ก (;)์ผ๋ก ๊ตฌ๋ถํ๋ค. KUBECONFIG
ํ๊ฒฝ ๋ณ์๊ฐ ํ์๋ ์๋๋ค.
KUBECONFIG
ํ๊ฒฝ ๋ณ์๊ฐ ์์ผ๋ฉด,
kubectl
์ ๊ธฐ๋ณธ kubeconfig ํ์ผ์ธ $HOME/.kube/config
๋ฅผ ์ฌ์ฉํ๋ค.
KUBECONFIG
ํ๊ฒฝ ๋ณ์๊ฐ ์กด์ฌํ๋ฉด, kubectl
์
KUBECONFIG
ํ๊ฒฝ ๋ณ์์ ๋์ด๋ ํ์ผ์ ๋ณํฉํ ๊ฒฐ๊ณผ ํํ์
ํจ๊ณผ์ ๊ตฌ์ฑ์ ์ด์ฉํ๋ค.
kubeconfig ํ์ผ ๋ณํฉ
๊ตฌ์ฑ์ ๋ณด๋ ค๋ฉด, ๋ค์ ์ปค๋งจ๋๋ฅผ ์ ๋ ฅํ๋ค.
kubectl config view
์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ, ์ด ์ถ๋ ฅ ๋ด์ฉ์ ๋จ์ผ kubeconfig ํ์ผ์ด๋ ์ฌ๋ฌ kubeconfig ํ์ผ์ ๋ณํฉํ ๊ฒฐ๊ณผ ์ผ ์ ์๋ค.
๋ค์์ kubeconfig ํ์ผ์ ๋ณํฉํ ๋์ kubectl
์์ ์ฌ์ฉํ๋ ๊ท์น์ด๋ค.
--kubeconfig
ํ๋๊ทธ๋ฅผ ์ค์ ํ์ผ๋ฉด, ์ง์ ํ ํ์ผ๋ง ์ฌ์ฉํ๋ค. ๋ณํฉํ์ง ์๋๋ค. ์ด ํ๋๊ทธ๋ ์ค์ง ํ ๊ฐ ์ธ์คํด์ค๋ง ํ์ฉํ๋ค.๊ทธ๋ ์ง ์๊ณ ,
KUBECONFIG
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ์๋ค๋ฉด ๋ณํฉํด์ผ ํ๋ ํ์ผ์ ๋ชฉ๋ก์ผ๋ก ์ฌ์ฉํ๋ค.KUBECONFIG
ํ๊ฒฝ ๋ณ์์ ๋์ด๋ ํ์ผ์ ๋ค์ ๊ท์น์ ๋ฐ๋ผ ๋ณํฉํ๋ค.- ๋น ํ์ผ๋ช ์ ๋ฌด์ํ๋ค.
- ์ญ ์ง๋ ฌํ ๋ถ๊ฐํ ํ์ผ ๋ด์ฉ์ ๋ํด์ ์ค๋ฅ๋ฅผ ์ผ์ผํจ๋ค.
- ํน์ ๊ฐ์ด๋ ๋งต ํค๋ฅผ ์ค์ ํ ์ฒซ ๋ฒ์งธ ํ์ผ์ ์ฐ์ ํ๋ค.
- ๊ฐ์ด๋ ๋งต ํค๋ฅผ ๋ณ๊ฒฝํ์ง ์๋๋ค.
์:
ํ์ฌ ์ปจํ ์คํธ
๋ฅผ ์ค์ ํ ์ฒซ ๋ฒ์งธ ํ์ผ์ ์ปจํ์คํธ๋ฅผ ์ ์งํ๋ค. ์: ๋ ํ์ผ์ดred-user
๋ฅผ ์ง์ ํ๋ค๋ฉด, ์ฒซ ๋ฒ์งธ ํ์ผ์red-user
๊ฐ๋ง์ ์ฌ์ฉํ๋ค. ๋ ๋ฒ์งธ ํ์ผ์red-user
ํ์์ ์ถฉ๋ํ์ง ์๋ ํญ๋ชฉ์ด ์์ด๋ ๋ฒ๋ฆฐ๋ค.
KUBECONFIG
ํ๊ฒฝ ๋ณ์ ์ค์ ์ ์๋ก, KUBECONFIG ํ๊ฒฝ ๋ณ์ ์ค์ ๋ฅผ ์ฐธ์กฐํ๋ค.๊ทธ๋ ์ง ์๋ค๋ฉด, ๋ณํฉํ์ง ์๊ณ ๊ธฐ๋ณธ kubeconfig ํ์ผ์ธ
$HOME/.kube/config
๋ฅผ ์ฌ์ฉํ๋ค.์ด ์ฒด์ธ์์ ์ฒซ ๋ฒ์งธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉํ ์ปจํ ์คํธ๋ฅผ ๊ฒฐ์ ํ๋ค.
- ์ปค๋งจ๋๋ผ์ธ ํ๋๊ทธ์
--context
๋ฅผ ์ฌ์ฉํ๋ค. - ๋ณํฉ๋ kubeconfig ํ์ผ์์
current-context
๋ฅผ ์ฌ์ฉํ๋ค.
์ด ์์ ์์๋ ๋น ์ปจํ ์คํธ๋ ํ์ฉํ๋ค.
- ์ปค๋งจ๋๋ผ์ธ ํ๋๊ทธ์
ํด๋ฌ์คํฐ์ ์ฌ์ฉ์๋ฅผ ๊ฒฐ์ ํ๋ค. ์ด ์์ ์์๋ ์ปจํ ์คํธ๊ฐ ์์ ์๋ ์๊ณ ์์ ์๋ ์๋ค. ์ฌ์ฉ์์ ๋ํด ํ ๋ฒ, ํด๋ฌ์คํฐ์ ๋ํด ํ ๋ฒ ์ด ๋ ๋ฒ์ ๊ฑธ์น ์ด ์ฒด์ธ์์ ์ฒซ ๋ฒ์งธ ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํด๋ฌ์คํฐ์ ์ฌ์ฉ์๋ฅผ ๊ฒฐ์ ํ๋ค.
- ์ปค๋งจ๋๋ผ์ธ ํ๋๊ทธ๊ฐ ์กด์ฌํ๋ฉด,
--user
๋๋--cluster
๋ฅผ ์ฌ์ฉํ๋ค. - ์ปจํ ์คํธ๊ฐ ๋น์ด์์ง ์๋ค๋ฉด, ์ปจํ ์คํธ์์ ์ฌ์ฉ์ ๋๋ ํด๋ฌ์คํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค.
์ด ์์ ์์๋ ์ฌ์ฉ์์ ํด๋ฌ์คํฐ๋ ๋น์๋ ์ ์๋ค.
- ์ปค๋งจ๋๋ผ์ธ ํ๋๊ทธ๊ฐ ์กด์ฌํ๋ฉด,
์ฌ์ฉํ ์ค์ ํด๋ฌ์คํฐ ์ ๋ณด๋ฅผ ๊ฒฐ์ ํ๋ค. ์ด ์์ ์์ ํด๋ฌ์คํฐ ์ ๋ณด๊ฐ ์์ ์ ์๊ณ ์์ ์๋ ์๋ค. ์ด ์ฒด์ธ์ ๊ธฐ๋ฐ์ผ๋ก ํด๋ฌ์คํฐ ์ ๋ณด๋ฅผ ๊ตฌ์ถํ๋ค. ์ฒซ ๋ฒ์งธ ๊ฒ์ ์ฌ์ฉํ๋ค.
- ์ปค๋งจ๋๋ผ์ธ ํ๋๊ทธ๊ฐ ์กด์ฌํ๋ฉด,
--server
,--certificate-authority
,--insecure-skip-tls-verify
๋ฅผ ์ฌ์ฉํ๋ค. - ๋ณํฉ๋ kubeconfig ํ์ผ์์ ํด๋ฌ์คํฐ ์ ๋ณด ์์ฑ์ด ์๋ค๋ฉด ์ฌ์ฉํ๋ค.
- ์๋ฒ ์์น๊ฐ ์๋ค๋ฉด ์คํจํ๋ค.
- ์ปค๋งจ๋๋ผ์ธ ํ๋๊ทธ๊ฐ ์กด์ฌํ๋ฉด,
์ฌ์ฉํ ์ค์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ฒฐ์ ํ๋ค. ์ฌ์ฉ์ ๋น ํ๋์ ์ธ์ฆ ๊ธฐ๋ฒ๋ง ํ์ฉํ๋ ๊ฒ์ ์ ์ธํ๊ณ ๋ ํด๋ฌ์คํฐ ์ ๋ณด์ ๋์ผํ ๊ท์น์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์์ฑํ๋ค.
- ์ปค๋งจ๋๋ผ์ธ ํ๋๊ทธ๊ฐ ์กด์ฌํ๋ฉด,
--client-certificate
,--client-key
,--username
,--password
,--token
์ ์ฌ์ฉํ๋ค. - ๋ณํฉ๋ kubeconfig ํ์ผ์์
user
ํ๋๋ฅผ ์ฌ์ฉํ๋ค. - ์ถฉ๋ํ๋ ๋ ๊ฐ์ง ๊ธฐ๋ฒ์ด ์๋ค๋ฉด ์คํจํ๋ค.
- ์ปค๋งจ๋๋ผ์ธ ํ๋๊ทธ๊ฐ ์กด์ฌํ๋ฉด,
์ฌ์ ํ ๋๋ฝ๋ ์ ๋ณด๋ ๊ธฐ๋ณธ ๊ฐ์ ์ฌ์ฉํ๊ณ ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ฌป๋ ๋ฉ์์ง๊ฐ ํ์๋ ์ ์๋ค.
ํ์ผ ์ฐธ์กฐ
kubeconfig ํ์ผ์์ ํ์ผ๊ณผ ๊ฒฝ๋ก ์ฐธ์กฐ๋ kubeconfig ํ์ผ์ ์์น์ ๊ด๋ จ ์๋ค.
์ปค๋งจ๋๋ผ์ธ ์์ ํ์ผ ์ฐธ์กฐ๋ ํ์ฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ค.
$HOME/.kube/config
์์ ์๋ ๊ฒฝ๋ก๋ ์๋์ ์ผ๋ก, ์ ๋ ๊ฒฝ๋ก๋
์ ๋์ ์ผ๋ก ์ ์ฅํ๋ค.
ํ๋ก์
๋ค์๊ณผ ๊ฐ์ด kubeconfig ํ์ผ์์ proxy-url
๋ฅผ ์ฌ์ฉํ์ฌ kubectl
์ด ๊ฐ ํด๋ฌ์คํฐ๋ง๋ค ํ๋ก์๋ฅผ ๊ฑฐ์น๋๋ก ์ค์ ํ ์ ์๋ค.
apiVersion: v1
kind: Config
clusters:
- cluster:
proxy-url: http://proxy.example.org:3128
server: https://k8s.example.org/k8s/clusters/c-xxyyzz
name: development
users:
- name: developer
contexts:
- context:
name: development