2017-03-29 19 views
1

Kubernetesのネットワーク設定で誰かが私を啓発してくれることを願っています。私はKubernetesネットワーク層としてflannelを使用したいと思っています。Kubernetesとフランネルネットワークの設定

私はKubernetes:1.5.5 btwです。

問題は、あなたがcidrを定義できる(あまりにも多くの場所がある)、私はもはや木の森を見ていないということです。私のホストが10.9.0.0/24の範囲内で展開されている

  • :あなたは私のセットアップに関するいくつかの情報を与えることを

  • 私は、現時点ではフランネルの範囲
  • として10.254.0.0/16を使用したい、ワーカーノード上のドッキングウィンドウが

172.17.0.0/16の範囲を使用していますKUBE-apiserverは、以下のオプションがありますCIDRの:

--service-cluster-ip-range 

KUBE-コントローラマネージャは、CIDRのための次のオプションがあります。

--cluster-cidr 
--service-cluster-ip-range 

これらの2つの違いは何ですか?

--cluster-cidr={{ kubernetes_cluster_cidr }} 

どのIP範囲場所を正確に行く:

KUBE-プロキシは、この1つは持っていますか?

答えて

1

実は、あなたがそこに2つの異なるネットワーク層があります:あなたがアップあなたのフランネルのネットワークを持っているし、実行したら :

  • クラスタCIDR:ポッド層を(あなたが10.254.0.0/16を使用したい場合) Dockerを使用するように設定する必要があります(systemdのドロップインや、 echo "DOCKER_OPTS="--bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}"" >> /etc/default/dockerなど)。このようにして、クラスタ内のすべての "docker0"インターフェースが、フランネルネットワーク内で接続されます。
  • Service-cluster-ip-range:serviceレイヤー。サービスは、論理的なポッドセットを抽象化するために使用されます。ポッドがどこに配置されるのか、それに割り当てられるIPがわからない限り、どこにでもポッド/ポッドのセットに到達するには、何らかの抽象化が必要です。

A Kubernetesサービスポッドの論理的集合とそれらにアクセスすることによってポリシーを定義する抽象化である - 時々マイクロサービスと呼ばれます。サービスによってターゲットとされる一連のポッドは、通常、ラベルセレクタによって決定されます(セレクタのないサービスが必要な理由は以下を参照)。 例として、3つのレプリカで実行されている画像処理バックエンドを考えてみましょう。これらのレプリカは互換性があります。フロントエンドはバックエンドが使用するものを気にしません。バックエンドセットを構成する実際のポッドは変更される可能性がありますが、フロントエンドクライアントはそれを認識したり、バックエンド自体のリストを追跡する必要はありません。サービスの抽象化により、このデカップリングが可能になります。

注:サービスレイヤは、クラスタポッドネットワーク(flannel)または他の既存のネットワークインフラストラクチャと重複してはいけません。

+0

答えてくれてありがとうございます。しかし、私はservice-cluster-ip-rangeに関する部分を理解していません。これらのIPアドレスはどのように使われていますか?その範囲のIPアドレスを誰が提供しますか?ワーカーノード間で共有されていますか?/16または/ 24ネットワークにする必要がありますか?各ポッドがフランネル層を介して別のポッドに到達できるとき、なぜこの抽象化が必要なのでしょうか? –

+0

私はあなたの最後の質問に答えるでしょう: - あなたのポッドがどこに置かれるのか、どのIPが割り当てられるのかを制御できないので、これは必要です。どのようにそれらにアクセスしますか? - サービスはどれくらいありますか?/24で十分です。 - クラスタ全体で共有されています - これらのIPは、サービスの作成時にkubernetesによって割り当てられます(ただし、手動で割り当てることもできます)。 - 通常、内部DNSサービスと組み合わせて使用​​されます。 – aespejel

+0

しかし、cluster-cidrとの違いは何ですか?それは私が理解していないものです。 cluster-cidr/flannel-cidrは、クラスタ全体でも共有されています。 –

関連する問題