なにそれ?
Kubernetesの公式ページを見ていると
The Konnectivity service provides a TCP level proxy for the control plane to cluster communication
と記載されているコンポーネントを発見。
調査したところ、マスターノードとワーカーノードが通信する際の最新の機構のようです。
具体的にはAPIサーバ側で(kube-apiserver)で「system:konnectivity-server」といった指定をし、Workernode側ではKonnectivityエージェントをデーモンセットで起動させる。
中身を見てみる
エージェントを動かしてみましたが以下のようなログが出てました。
$ kubectl logs -f konnectivity-agent-xx -n kube-system AgentCert set to "/var/run/secrets/konn-certs/konnectivity-agent.pem". AgentKey set to "/var/run/secrets/konn-certs/konnectivity-agent-key.pem".CACert set to "/var/run/secrets/certs/ca.crt". ProxyServerHost set to "...". ProxyServerPort set to ....
鍵を設定した上でマスターと通信をしにいこうとしていることがわかります。よってこいつが落ちてしまうと、WorkerNodeとAPIサーバが通信できなくなるのでkubectlコマンドが効かないことに...