unmanaged Pod 재시작하기

unmanaged Pod 재시작하기

node.cilium.io/agent-not-ready taint로 노드를 만든 클러스터가 아니라면, 호스트 네트워킹이 아닌 실행 중인 Pod를 재시작해 Cilium이 관리하게 해야 해요.

출처: Restart unmanaged Pods

본문

노드를 node.cilium.io/agent-not-ready taint로 만들지 않은 클러스터라면 unmanaged pod를 수동으로 재시작해야 해요. Cilium이 관리하기 시작하도록 호스트 네트워킹 모드로 실행 중이 아닌 이미 실행 중인 모든 Pod를 재시작해요. 이는 Cilium 배포 전에 실행 중이던 모든 Pod가 Cilium이 제공하는 네트워크 연결을 갖고 NetworkPolicy가 적용되도록 하는 데 필요해요.

$ kubectl get pods --all-namespaces -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name,HOSTNETWORK:.spec.hostNetwork --no-headers=true | grep '<none>' | awk '{print "-n "$1" "$2}' | xargs -L 1 -r kubectl delete pod
pod "event-exporter-v0.2.3-f9c896d75-cbvcz" deleted
pod "fluentd-gcp-scaler-69d79984cb-nfwwk" deleted
pod "heapster-v1.6.0-beta.1-56d5d5d87f-qw8pv" deleted
pod "kube-dns-5f8689dbc9-2nzft" deleted
pod "kube-dns-5f8689dbc9-j7x5f" deleted
pod "kube-dns-autoscaler-76fcd5f658-22r72" deleted
pod "kube-state-metrics-7d9774bbd5-n6m5k" deleted
pod "l7-default-backend-6f8697844f-d2rq2" deleted
pod "metrics-server-v0.3.1-54699c9cc8-7l5w2" deleted

참고

macOS에서는 xargs가 -r을 지원하지 않아 이 명령이 오류를 낼 수 있어요. 이 경우 -r 없이 명령을 실행해도 안전하며, 재시작할 Pod가 없으면 명령이 멈추는 증상이 생겨요. ctrl-c로 중단할 수 있어요.

더 알아보기 (Learn more)