これは、このセクションの複数ページの印刷可能なビューです。 印刷するには、ここをクリックしてください.
ネットワークポリシープロバイダーのインストール
1 - Ciliumを利用したネットワークポリシーの設定
このページでは、Ciliumを利用してネットワークポリシーを設定する方法について説明します。 Ciliumについての詳細は、Introduction to Ciliumを参照してください。
始める前に
Kubernetesクラスターが必要、かつそのクラスターと通信するためにkubectlコマンドラインツールが設定されている必要があります。 このチュートリアルは、コントロールプレーンのホストとして動作していない少なくとも2つのノードを持つクラスターで実行することをおすすめします。 まだクラスターがない場合、minikubeを使って作成するか、 以下のいずれかのKubernetesプレイグラウンドも使用できます:
バージョンを確認するには次のコマンドを実行してください: kubectl version.
ベーシックなテストのためにMinikubeにCiliumをデプロイする
Ciliumを手軽に試したい場合は、Cilium Kubernetes Getting Started Guideに従って、minikube上にCiliumをDaemonSetとして基本構成でインストールできます。
バージョンv1.5.2以上が必要なminikubeを起動するには、次の引数を指定して実行します。
minikube version
minikube version: v1.5.2
minikube start --network-plugin=cni
minikubeでは、CLIツールを使用してCiliumをインストールできます。 そのためには、まず次のコマンドで最新版のCLIをダウンロードします。
curl -LO https://github.com/cilium/cilium-cli/releases/latest/download/cilium-linux-amd64.tar.gz
次に、次のコマンドでダウンロードしたファイルを/usr/local/binディレクトリに展開します。
sudo tar xzvfC cilium-linux-amd64.tar.gz /usr/local/bin
rm cilium-linux-amd64.tar.gz
上記のコマンドを実行した後、次のコマンドでCiliumをインストールできます。
cilium install
Ciliumはクラスターの構成を自動的に検出し、インストールを成功させるために必要な適切なコンポーネントを作成・インストールします。 コンポーネントは次のとおりです。
- Secret
cilium-ca内の認証局(CA)と、Hubble(Ciliumのオブザーバビリティレイヤー)用の証明書。 - ServiceAccount。
- ClusterRole。
- ConfigMap。
- エージェントのDaemonSetとOperatorのデプロイメント。
インストール後、cilium statusコマンドでCiliumデプロイメントの全体的なステータスを確認できます。
statusコマンドの想定される出力はこちらを参照してください。
Getting Started Guideの残りの部分では、サンプルアプリケーションを使用して、L3/L4(すなわちIPアドレス+ポート)のセキュリティポリシーと、L7(例えばHTTP)のセキュリティポリシーの両方を適用する方法について説明しています。
本番環境向けにCiliumをデプロイする
本番環境にCiliumをデプロイする際の詳細な手順については、Cilium Kubernetes Installation Guideを参照してください。 Cilium Kubernetes Installation Guide このドキュメントには、詳細な要件、手順、および本番環境向けのDaemonSetファイルの例が含まれています。
Ciliumのコンポーネントを理解する
Ciliumを使用してクラスターをデプロイすると、kube-system Namespaceに複数のPodが追加されます。
このPodの一覧を確認するには、次を実行します。
kubectl get pods --namespace=kube-system -l k8s-app=cilium
次のように、Podの一覧が表示されます。
NAME READY STATUS RESTARTS AGE
cilium-kkdhz 1/1 Running 0 3m23s
...
cilium Podはクラスター内の各ノードで実行され、Linux BPFを使用してそのノード上のPodとの間のトラフィックに対してネットワークポリシーを適用します。
次の項目
クラスターが起動したら、ネットワークポリシーを宣言するに従って、CiliumでKubernetesのNetworkPolicyを試すことができます。 ぜひお楽しみください。 ご質問があれば、Cilium Slackチャンネルまでお問い合わせください。
2 - NetworkPolicyのためのWeave Net
このページでは、ネットワークポリシーとしてWeave Netを使用する方法を説明します。
始める前に
Kubernetesクラスターが必要です。 クラスターをブートストラップするには、kubeadmのスタートガイドに従ってください。
Weave Netアドオンのインストール
アドオン経由でのKubernetes統合ガイドに従ってください。
Kubernetes用のWeave NetアドオンにはNetwork Policy Controllerが付属しており、Kubernetesのすべての名前空間におけるNetworkPolicyのアノテーションを自動的に監視し、ポリシーの指示に従ってトラフィックを許可またはブロックするiptablesルールを設定します。
インストールのテスト
weaveが動作していることを検証してください。
次のコマンドを入力してください:
kubectl get pods -n kube-system -o wide
出力は次のようなものになります:
NAME READY STATUS RESTARTS AGE IP NODE
weave-net-1t1qg 2/2 Running 0 9d 192.168.2.10 worknode3
weave-net-231d7 2/2 Running 1 7d 10.2.0.17 worknodegpu
weave-net-7nmwt 2/2 Running 3 9d 192.168.2.131 masternode
weave-net-pmw8w 2/2 Running 0 9d 192.168.2.216 worknode2
各ノードにweave Podが存在し、すべてのPodがRunningかつ2/2 READY状態になっています(2/2は、各Podにweaveとweave-npcが含まれていることを意味します)。
次の項目
Weave Netアドオンをインストールしたら、ネットワークポリシーを宣言するに従ってKubernetes NetworkPolicyを試すことができます。 ご質問がある場合は、Slackの#weave-communityまたはWeave User Groupまでお問い合わせください。