Kubernetes ネットワークを使用すると、k8s ネットワーク内での通信を構成できます。フラットなネットワーク構造に基づいており、ホストとコンテナ間のポート マッピングは必要ありません。 Kubernetes ネットワークにより、コンテナ化されたコンポーネント間の通信が可能になります。このネットワーク モデルの主な利点は、ホストとコンテナー間でポートをマップする必要がないことです。ただし、Kubernetes ネットワーク モデルを構成するのは簡単な作業ではありません。この記事では、Kubernetes ネットワークとは何かを学び、一般的な実装を探り、Kubernetes ネットワークの主なバリエーションについて説明します。 Kubernetes ネットワーキングとは何ですか?Kubernetes (k8s) はオープンソースのコンテナ オーケストレーション プラットフォームです。これを使用すると、オンプレミスまたはクラウドでのコンテナの展開、更新、および操作を自動化できます。 k8s を使用すると、オペレーティング システムや環境を気にすることなく、複数のインフラストラクチャにわたってコンテナ化されたワークロードを管理できます。 Kubernetes ネットワークは、k8s がコンポーネント間の通信を実装するために使用するモデルです。フラットなネットワーク構造に基づいており、ホストとコンテナ間でポートをマッピングする必要はありません。 Kubernetes ネットワークの設定は難しい場合がありますが、k8s 操作に不可欠な部分であり、展開を成功させるにはこれを理解する必要があります。 一般的なKubernetesネットワーク実装Kubernetes を使用する場合、プラットフォームは、実装にサードパーティ ツールを必要とするネットワーク モデルを適用します。選択できるサードパーティ ツールは多数ありますが、次の 3 つが人気のあるオプションです。
Kubernetes ネットワークの変更標準的な Kubernetes デプロイメントでは、知っておくべきネットワークの変更がいくつかあります。注意すべき最も一般的なネットワーク状況を以下に示します。 コンテナ間ネットワークネットワークの高レベルのビューでは、イーサネット デバイスと直接通信するデバイスまたは仮想マシンが示されます。ただし、実際には (少なくとも Linux の場合)、マシン上のすべてのプロセスはネットワーク名前空間内で通信します。 この名前空間は、独自のネットワーク デバイス、ファイアウォール ルール、およびルートを含む論理ネットワーク スタックを作成します。プロセスを実行すると、デフォルトでルート ネットワーク名前空間に割り当てられます。これにより、プロセスへの外部アクセスが可能になります。 Kubernetes では、コンテナはポッドにグループ化され、各ポッドには共有名前空間があります。このポッドでは、すべてのコンテナは同じポート、IP アドレス、ポート スペースを持ちます。通信するには、Pod 内のコンテナはすべて同じ名前空間で実行されるため、localhost を使用できます。異なる Pod 内のコンテナが通信する必要がある場合は、以下で説明する Pod 間ネットワーク手順を使用します。 ポッド間ネットワークポッド間ネットワークは、同じノード内またはノード間のポッド間で発生する可能性があります。各ノードには、クラスレス ドメイン間ルーティング (CIDR) ブロックがあります。ブロックは、そのノード内のポッドに割り当てられた一意の IP アドレスの定義済みセットです。これにより、どのノード上にあるかに関係なく、各ポッドに一意の IP が提供されるようになります。 ポッドが通信する必要がある場合、仮想イーサネット デバイス (VED) または veth ペアを使用してポッドを接続します。 Veth ペアは、名前空間全体に分散された結合されたネットワーク インターフェイスです。ペアの 1 つはルート名前空間に割り当てられ、もう 1 つはポッド名前空間に割り当てられます。 VED は、2 つの名前空間間のブローカー接続として機能します。 ポッドからサービスへのネットワークKubernetes は、必要に応じてポッドを動的に置き換えることができるように設計されています。つまり、ステートフル アプリケーションなどの特別な予防措置を講じない限り、ポッド IP アドレスは永続的ではありません。この問題を解決し、ポッド間の通信が維持されるようにするために、Kubernetes はサービスを使用します。 Kubernetes サービスはポッドの状態を管理し、時間の経過に伴ってポッドの IP アドレスを追跡できるようにします。これらのサービスは、単一の仮想 IP (クラスター IP) をポッド IP のセットに割り当てることで、ポッド アドレスを抽象化します。その後、仮想 IP に送信されたトラフィックは、関連付けられたポッドに分散されます。 このサービス IP を使用すると、全体的な通信に影響を与えることなく、必要に応じてポッドを作成および破棄できます。また、Kubernetes サービスはクラスター内ロードバランサーとして機能し、必要に応じて関連するポッド間でトラフィックを分散することも可能になります。 インターネットからサービスへのネットワークほとんどの展開に必要な最終的なネットワーク シナリオは、インターネットとサービスの間です。 Kubernetes を内部アプリケーションまたは外部アプリケーションに使用する場合は、通常、インターネット接続が必要になります。この接続により、ユーザーはサービスにアクセスし、分散したチームが共同作業できるようになります。 外部アクセスを設定するときは、出力と入力という 2 つの手法を使用する必要があります。ホワイトリストまたはブラックリストを使用してこれらのポリシーを設定し、ネットワークに出入りするトラフィックを制御できます。
結論はKubernetes ネットワークを使用すると、k8s ネットワーク内での通信を構成できます。フラットなネットワーク構造に基づいており、ホストとコンテナ間のポート マッピングは必要ありません。ただし、このネットワーク モデルを適用するには、Flannel、Project Calico、Weave Net などのサードパーティ ツール (オープン ソースまたは有料) を使用する必要があります。 さらに、Kubernetes ネットワークを構成するときは、従来のネットワークでは発生しない特定のネットワークの側面を考慮する必要があります。これらには、コンテナ間ネットワーク、ポッド間ネットワーク、ポッドとサービス間のネットワーク、インターネットとサービス間のネットワークが含まれます。誤った構成は脆弱性につながる可能性があるため、ネットワークを適切に計画することが重要です。 |
<<: 2021年、クラウドコンピューティングの大手企業はどのような成果を達成するのでしょうか? 2022 年のクラウド コンピューティング業界はどのようなトレンドを示すでしょうか?
>>: クラウドネイティブ PostgreSQL クラスター - PGO: 5 分で開始
多くの人が創造的な文章を書くために頭を悩ませます。実際、あなたの創造性が訪問者を引き付けるかどうかの...
ブロガーには多くの責任があります。読者があなたのコンテンツを読んでいないからといって、責任がないとい...
「消費者割引」は「投資割引」に変わり、規制当局はねずみ講を取り締まっている。キャッシュバックウェブサ...
記事のタイトルは、私が百度知道で見た質問です。質問したネットユーザーは非常に困惑しており、回答を求め...
2004年に設立されたHawkhost(中国ではEagle Hostと呼ばれています)が、ブラックフ...
[[378874]]この記事はWeChatの公開アカウント「Java Geek Technology...
情報化時代において、最も恩恵を受けているのはインターネット業界です。インターネット業界の発展に伴い、...
2019 年が終わりに近づき、2020 年は新たな旅の始まりです。振り返ってみると、エンタープライズ...
bgp.to は現在、シンガポールと東京のデータセンターの独立サーバーを 35% 割引で提供していま...
hostflyte からの最新ニュース: 公式が VPS コントロール パネルに「IP アドレスの変...
[51CTO.com クイック翻訳] Google は、クラウドの利用率を向上させ、古いクラウド コ...
独創性が検索エンジンへの組み込み、重み付け、ランキング付けに役立つことは誰もが知っています。しかし、...
[概要] このソフトウェアを最も多く販売している Taobao のストアでは、1 か月で 200 万...
Changsha Internet Marketing は、インターネット マーケティング担当者とし...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています2Cの聴衆...