インフラ系SEの技術メモ

雑なエンジニアが低信頼性のメモを書いています。参考程度にとどめてください。

(Kubernetes)Konnectivityというマスターとワーカーの通信サービス

なにそれ?

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コマンドが効かないことに...

なかなかに重要そうなコンポーネントなので覚えておきます。命名がConnectと被ってややこしいですが・・
以上です。