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>처럼 이름이 지어져요.

더 알아보기 (Learn more)