
๐ ์ ์ฒด ๊ฐ๋ ํ ์ค ์์ฝ
Kubernetes๋ ๋ชจ๋ ์ฃผ์ ์ปดํฌ๋ํธ ๊ฐ ํต์ ์ mTLS(์ํธ TLS ์ธ์ฆ) ๋ก ๋ณดํธํ๋ฉฐ,
๊ฐ ์ปดํฌ๋ํธ๋ ์๊ธฐ ์ ์ฉ Client ์ธ์ฆ์๋ฅผ ๊ฐ์ง๊ณ kube-apiserver ๋๋ etcd์ ์ ๊ทผํฉ๋๋ค.
1๏ธโฃ Admin / kubectl ์์ญ
๐ admin.crt / admin.key
kubectl ์ฌ์ฉ์์ฉ ์ธ์ฆ์
kubectl get pods ๊ฐ์ ๋ช
๋ น ์คํ ์ ์ฌ์ฉ
๐ ํ๋ฆ
Admin(kubectl)
โโโ admin.crt/key
โโโ kube-apiserver (REST API)
โ๏ธ ํน์ง
kubeconfig์ ์ค์ ๋จ
๋ณดํต system:masters ๊ทธ๋ฃน โ cluster-admin ๊ถํ
์ฌ๋(์ด์์) ์ธ์ฆ์ฉ
2๏ธโฃ Control Plane ๋ด๋ถ ์ปดํฌ๋ํธ ์ธ์ฆ์
๐ง kube-scheduler
scheduler.crt / scheduler.key
Pod๋ฅผ ์ด๋ ๋
ธ๋์ ๋ฐฐ์นํ ์ง ๊ฒฐ์
kube-apiserver์ Client๋ก ์ ๊ทผ
๐ง kube-controller-manager
controller-manager.crt / key
ReplicaSet, Node, Endpoint ๋ฑ ์ํ ๊ด๋ฆฌ
kube-apiserver์ Client๋ก ์ ๊ทผ
๐ kube-proxy
kube-proxy.crt / key
Service โ Pod ํธ๋ํฝ ๋ผ์ฐํ
kube-apiserver์ Client๋ก ์ ๊ทผ
๐ ๊ณตํต ํ๋ฆ
[ scheduler / controller / proxy ]
โโโ ๊ฐ์ client cert
โโโ kube-apiserver
โ๏ธ ์ ๋ถ Client ์ธ์ฆ์
โ๏ธ ์ ๋ถ kube-apiserver๋ง ๋ฐ๋ผ๋ด
3๏ธโฃ kube-apiserver
kube-apiserver๋ ๋ ์ผ๊ตด์ ๊ฐ์ง
๐ 3-1. Server ์ธ์ฆ์
apiserver.crt / apiserver.key
kube-apiserver๊ฐ ์๋ฒ ์ญํ ์ผ ๋ ์ฌ์ฉ
์ ์ ๋์:
kubectl
controller
scheduler
kubelet
kube-proxy
Client โโTLSโโ> kube-apiserver (server cert)
๐ 3-2. Client ์ธ์ฆ์ (etcd / kubelet ์ ๊ทผ์ฉ)
apiserver-etcd-client.crt / key
kube-apiserver โ etcd ์ ๊ทผ ์ ์ฌ์ฉ
apiserver-kubelet-client.crt / key
kube-apiserver โ kubelet ์ ๊ทผ ์ ์ฌ์ฉ
kubectl logs, kubectl exec ๋ ํ์
kube-apiserver
โโโ client cert โ etcd
โโโ client cert โ kubelet
โ๏ธ kube-apiserver๋ ์๋ฒ์ด์ ํด๋ผ์ด์ธํธ
4๏ธโฃ etcd ์์ญ
etcdserver.crt / etcdserver.key
etcd๊ฐ ์๋ฒ
kube-apiserver๋ง ์ ๊ทผ ๊ฐ๋ฅ
kube-apiserver
โโโ apiserver-etcd-client.crt
โโโ etcd (server cert)
๐ ์ค์
etcd๋ ์ธ๋ถ ์ ๊ทผ ์ ๋ ๊ธ์ง
apiserver ์ ์ฉ Client cert๋ง ํ์ฉ
5๏ธโฃ kubelet ์์ญ
๐ kubelet server cert
kubelet.crt / kubelet.key
kubelet์ด ์๋ฒ
kube-apiserver๊ฐ ์ ๊ทผ
kube-apiserver
โโโ apiserver-kubelet-client.crt
โโโ kubelet (server)
๐ ์ฌ์ฉ ์
kubectl logs
kubectl exec
kubectl port-forward
6๏ธโฃ ์ด ๊ทธ๋ฆผ์ด ๋งํ๋ ํต์ฌ ํฌ์ธํธ ๐ฅ
โ
1. ๋ชจ๋ ํต์ ์ TLS
HTTP โ
TLS + ์ธ์ฆ์ โ๏ธ
โ
2. ๊ฑฐ์ ์ ๋ถ kube-apiserver ์ค์ฌ
[ ๋ชจ๋ ์ปดํฌ๋ํธ ] โ kube-apiserver โ etcd



ํน์ Namespace ์์์๋ง API ์ ๊ทผ ๊ถํ์ ์ ์
์ ์ด ๋์
Kubernetes ๋ฆฌ์์ค(API)
์: pods, services, configmaps ๋ฑ
ํน์ง
Namespace scoped
๋ค๋ฅธ ๋ค์์คํ์ด์ค์๋ ์ํฅ ์์

ํด๋ฌ์คํฐ ์ ์ฒด ๋ฒ์ ๋๋ ๊ณตํต ๋ฆฌ์์ค ๊ถํ
์ ์ด ๋์
๋ชจ๋ Namespace ๋ฆฌ์์ค
๋๋ Namespace ์๋ ๋ฆฌ์์ค
nodes
persistentvolumes
namespaces
ํน์ง
Cluster scoped
Role๋ณด๋ค ์์ ๊ฐ๋

Pod ๊ฐ ๋คํธ์ํฌ ํต์ ํ์ฉ/์ฐจ๋จ ๊ท์น
์ ์ด ๋์
๋คํธ์ํฌ ํธ๋ํฝ
Ingress / Egress
RBAC์ด๋ ์์ ๋ค๋ฆ โ
RBAC: API ์ ๊ทผ
NetworkPolicy: ๋คํธ์ํฌ ํต์
ํน์ง
Namespace scoped
CNI๊ฐ ์ง์ํด์ผ ๋์ (Calico, Cilium ๋ฑ)


Kubernetes์ โ์๋ก์ด ๋ฆฌ์์ค ํ์
โ์ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ
Kubernetes ๊ธฐ๋ณธ ๋ฆฌ์์ค๋ง์ผ๋ก๋ ๋ถ์กฑํ ๋
โ ๋๋ฉ์ธ๋ณ ๊ฐ๋
์ ๋ฆฌ์์ค๋ก ๋ง๋ค๊ธฐ ์ํด
์:
Ingress โ ์๋ CRD
Certificate (cert-manager)
VirtualService (Istio)
Prometheus (Prometheus Operator)