Endpoint CRD
Endpoint CRD (CiliumEndpoint)
Cilium은 Kubernetes에서 파드를 관리할 때 Kind CiliumEndpoint의 Custom Resource Definition(CRD)을 만들어요. Cilium이 관리하는 각 파드마다 같은 이름·같은 네임스페이스로 하나의 CiliumEndpoint가 생성돼요. 이 리소스는 논리적으로 cilium-dbg endpoint get의 json 출력과 같은 정보를 담고 있어요.
출처: Endpoint CRD
본문
Kubernetes에서 파드를 관리할 때 Cilium은 Kind CiliumEndpoint의 Custom Resource Definition(CRD)을 만들어요. Cilium이 관리하는 각 파드마다 같은 이름과 같은 네임스페이스로 CiliumEndpoint가 하나씩 생성돼요. CiliumEndpoint 객체는 cilium-dbg endpoint get의 json 출력에 있는 .status 필드와 같은 정보를 담고 있지만, 클러스터의 모든 파드에 대해 조회할 수 있어요. -o json을 추가하면 각 엔드포인트에 대한 더 많은 정보를 내보내요. 여기에는 엔드포인트의 라벨, 보안 identity, 그리고 적용 중인 정책이 포함돼요.
예를 들어:
$ kubectl get ciliumendpoints --all-namespaces
NAMESPACE NAME AGE
default app1-55d7944bdd-l7c8j 1h
default app1-55d7944bdd-sn9xj 1h
default app2 1h
default app3 1h
kube-system cilium-health-minikube 1h
kube-system microscope 1h
Note 각 cilium-agent 파드는 자체 inter-agent health-check 엔드포인트를 나타내는 CiliumEndpoint를 생성해요. 이들은 Kubernetes 파드가 아니며
kube-system네임스페이스에 있어요.cilium-health-<node-name>처럼 이름이 지어져요.