0

最近、Docker と Flannel を使用してマルチマシン Kubernetes クラスターをセットアップしました。172.16.0.0/24の IP が割り当てられたホスト A のコンテナが、IP が割り当て172.16.78.2られたホスト B のコンテナに ping できるように、サブネットに Flannel をセットアップしました172.16.74.2

kubeletさまざまなコンポーネント ( 、kube-proxy kube-apiserverkube-scheduler、 )をすべて使用して Kubernetes をセットアップしましkube-controller-managerた。クラスター全体でデプロイとポッドを正常に起動できます。

問題

Redis サービスと webapp ポッドをクラスターにデプロイしました。私の webapp ポッドでは、環境変数REDIS_SERVICE_HOSTREDIS_SERVICE_PORTが設定されていますが、サブネットREDIS_SERVICE_HOST上のランダムな IPです。172.16.0.0/16明確にするために、実行して Redis コンテナーifconfigの IP アドレスを取得するとeth0、webapp ポッドからそれを ping できます。しかし、に割り当てられた IP アドレスではありませんREDIS_SERVICE_HOST

これは構成上の問題であると確信していますが、各サービスに設定しているいくつかのフラグを次に示します。

kube-proxy 引数

  • --cluster-cidr 172.16.0.0/16

kube-apiserver 引数

  • --service-cluster-ip-range=172.16.0.0/16

kube-controller-manager の引数

  • --cluster-cidr=172.16.0.0/16
  • --service-cluster-ip-range=172.16.0.0/16

上記のフラグが Flannel と連携してどのように機能するかはよくわかりませんが、多くのことを試しましたが、何も機能しませんでした。これらがどのように機能するかについての説明は、大きな助けになります。ありがとう。

4

1 に答える 1