Kubernetes ネットワーク ポリシーを作成する方法

Kubernetes Nettowaku Porishiwo Zuo Chengsuru Fang Fa



この記事では、Kubernetes のネットワーク ポリシーについて説明します。 Kubernetes ではネットワーク ポリシーが非常に重要です。ネットワーク ポリシーを利用して、ポッドが相互に通信する方法と、ポッド間の接続方法を指定します。この概念に慣れていない場合は、この記事が役に立ちます。 Kubernetes のネットワーク ポリシーの詳細な定義から記事を始めましょう。

Kubernetes のネットワーク ポリシーとは何ですか?

Kubernetes のネットワーク ポリシーは、ポッド グループが相互に、および他のネットワーク エンドポイントと通信することを許可する方法を記述します。 Pod の通信を許可する方法を指定する Network Policy リソースは、ネットワーク ポリシーの実装に使用されます。ネットワーク ポリシーを使用してクラスターにきめ細かいネットワーク アクセス制御を指定することで、クラスターを保護し、ポッド内およびポッド間のトラフィック フローを管理できます。







前提条件:

ユーザーが使用するシステムは、64 ビットのオペレーティング システムである必要があります。ユーザーの RAM は 8GB 以上である必要があります。ユーザシステムには最新版のUbuntuがインストールされています。 Windows ユーザーは、システム上で仮想的に Linux オペレーティング システムも使用しています。ユーザーは、前のセッションでシステムで実行された Kubernetes、kubectl コマンド ライン ツール、ポッド、およびクラスターについての考えを持っている必要があります。



ステップ 1: Kubernetes コントロール パネルを開始する

このステップでは、システムで Kubernetes を実行して、ネットワーク ポリシーの操作を完全に開始します。コマンドを実行するだけで、システムで minikube を起動します。 Minikube は、ローカル マシンで実行される Kubernetes クラスターです。 minikube を起動するコマンドは次のとおりです。



> ミニキューブを始める



コマンドが実行されると、システムで minikube が正しく起動します。これで、ネットワーク ポリシーに関連するアクションをシステムで効率的に簡単に実行できるようになりました。





ステップ 2: Kubernetes で Nginx デプロイを作成する

このステップでは、Kubernetes システムで Nginx のデプロイメントを作成する方法を学びます。指定されたコマンドを kubectl コマンドライン ツールで実行します。コマンドは次のとおりです。

> kubectl create デプロイ サンプル - - image = nginx



コマンドを実行すると、Kubernetes アプリケーションの app フォルダーにデプロイが正常に作成されます。 Nginx イメージがシステムに正しくデプロイされています。デプロイでは、必要に応じてレプリカを作成または削除することにより、ポッドの指定された数のレプリカが常に実行されていることが保証されます。また、Kubernetes システムのローリング アップデートでコンテナ イメージを完全に更新することもできます。



ステップ 3: Kubernetes の特定のポートでのサンプル デプロイ

このステップでは、最近特定のポートでシステムにデプロイしようとしているサンプルを公開します。次のコマンドを実行します。

> kubectl 公開デプロイ サンプル - - ポート = 80



コマンドが実行されると、デプロイ サンプルが Kubernetes アプリケーションのポート 80 で正常に公開されます。 Kubernetes API サーバーは、このコマンドからリクエストを受け取り、サービスを作成します。その後、API サーバーはクラスター内にサービスを作成します。安定した IP アドレスと DNS 名を持っています。 Service は、デプロイメント内のポッドのロード バランサーとして機能し、受信トラフィックをそれらの間で均等に分散します。このコマンドは、ポッドの安定したネットワーク エンドポイントを提供し、IP アドレスが置き換えられた場合でもポッドにアクセスできるようにします。

ステップ 4: サービス ポッドを Kubernetes に登録する

システムにサンプルをデプロイした後、Kubernetes で実行中のサービスのリストを取得します。クラスター内のすべてのポッドに関する情報を取得するには、次のコマンドを実行します。

> kubectl get svc、pod



コマンドを実行すると、出力にサービス リストが表示されます。サービスのサンプルを一覧に示します。このコマンドを使用すると、ポッドとサービスの名前、タイプ、Custer-Ip、外部 IP、PORTS、および経過時間が完全に表示されます。 「サービス/サンプル」のポート番号は「80」、クラスターの IP は「10.105.250.227」です。

ステップ 5: Kubernetes でネットワーク ポリシー Ngnix を作成する

このステップでは、Kubernetes アプリケーションでネットワーク ポリシーを作成するための Nginx ファイルを作成します。ネットワーク ポリシーを作成し、kubectl コマンドを使用して、ネットワーク ポリシーを Kubernetes に簡単に展開します。コマンドは次のとおりです。

> kubectl 適用 -f https: /// k8s.io / / サービス / ネットワーキング / ngnix-policy.yaml



コマンドで、ポリシー ネットワーク ファイルへのリンクを追加し、ファイルの名前を「Nginx-policy」にします。ネットワーク ポリシー ファイルの拡張子は「YAML」です。このコマンドを実行すると、access-ngnix YAML ファイルが正常に作成されたシステムにネットワーク ポリシー フォルダーが既に存在します。このコマンドで適用される構成ファイルは、一連のポッドをネットワーク サービスとして公開する Kubernetes サービス オブジェクト用です。

ステップ 6: Kubernetes で新しいポッドを作成して実行する

このステップでは、Kubernetes クラスターに新しいポッドを構築します。このポッドは、busybox:1.28 に基づいてコンテナーを実行し、docker イメージを持ちます。 kubectl コマンド ライン ツールで「/bin/sh」コマンドを実行します。

> kubectl run busybox - - RM - TI - - 画像 = ビジーボックス: 1 . 28 - - / 置き場 /

「kubectl run」コマンドは、ポッドのレプリカのセットを管理する役割を担うクラスター内にデプロイメントを作成します。レプリカ セットとポッドは、コンテナーのデプロイによって自動的に作成されます。

結論

ネットワーク ポリシーの助けを借りて、さまざまなポッドとコンテナー間の接続を簡単に作成できます。これらのコマンドは、Kubernetes アプリケーションの要件に従って編集することもできます。これは、このトピックをよりよく理解するのに役立ちます。すべてのポッドのネットワーク化は、ポッドのメタデータにとって非常に重要で有益です。