KubernetesでNode, Pod, Serviceに割り当てられるIPアドレスの範囲を確認する

Kubernetes

はじめに

Kubernetesにおいて、NodePodServiceに割り当てられるIPアドレスの範囲を確認する方法をメモしておきます。他にもいろいろ方法はあると思うので、ご注意ください。



やってみる

環境

cniを有効にしたminikubeを使います。他のKubernetesディストリビューションだと方法が違うかもしれません。

Nodeへの割り当て

Minikubeminikubeノードにログインして、ip addrコマンドで確認します。

eth0のNICを見ると、192.168.64.3/24が割り当てられています。すなわち、Nodeへの割り当てられるIPアドレスは、192.168.64.xxxであると思われます。

Podへの割り当て

CNIの設定は、デフォルトでは/etc/cni/net.d配下にあります。私のminikubeノードには、1-k8s.confという設定ファイルがありました。

10.1.0.0/16が割り当てられているようです。試しにPodを作ってみます。

ちなみに/etc/cni/net.d配下には、87-podman-bridge.conflistというファイルもありました。よくわかっていませんが、コンテナランタイムとしてDockerの代わりにPodmanを使った時に使うファイルなのかな?kubeletの--container-runtimeオプションを見ると自分のクラスタでは、コンテナランタイムはDockerみたいなので、関係ないと思いたい。

Serviceへの割り当て

Serviceと言っってしまいましたが、簡単のため、今回はClusterIPに絞ります。Kubernetes API Serverの設定を見ればよいです。

10.96.0.0/12が割り当てられているようです。試してみると、10.105.129.99が割り当てられました。



最後に

今回やったことをまとめると、以下のようになります。環境によって変わると思います。

  • Node: ノードにログインして、ip addrで確認
  • Pod: CNIの設定を確認
  • Service: kube-apiserverの設定を確認

Kubernetes、やればやるほど、何もわからなくなりますね。完全ガイド読み返そうかな。

以上.

コメント