コントロール・プレーン・ロード・バランサ・サブネットの作成(VCNネイティブ・ポッド)

Compute Cloud@Customer上のVCNネイティブ・ポッド・ネットワーキングのコントロール・プレーン・ロード・バランサ・サブネットを作成する方法について学習します。

次のリソースを、リストされた順序で作成します。

  1. コントロール・プレーン・ロード・バランサ・セキュリティ・リスト

  2. コントロール・プレーン・ロード・バランサ・サブネット

コントロール・プレーン・ロード・バランサ・セキュリティ・リストの作成

セキュリティ・リストを作成します。「セキュリティ・リストの作成」を参照してください。Terraform入力については、Terraformスクリプトの例(VCNネイティブ・ポッド)を参照してください。

コントロール・プレーン・ロード・バランサは、ポート6443のトラフィックを受け入れます。このポートは、このガイドではkubernetes_api_portとも呼ばれます。このセキュリティ・リストを調整して、ネットワークの実行が予想される場所からの接続のみを受け入れます。ポート6443は、クラスタ・コントロール・プレーン・インスタンスおよびワーカー・インスタンスからの接続を受け入れる必要があります。

この例では、コントロール・プレーン・ロード・バランサのサブネット・セキュリティ・リストに次の入力を使用します。

「Compute Cloud@Customer Console」プロパティ

CLIプロパティー

  • 名前: kmilb-seclist

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: kmilb-seclist

1つのエグレス・セキュリティ・ルール:

  • ステートレス: ボックスをクリア

  • エグレスCIDR: 0.0.0.0/0

  • IPプロトコル: すべてのプロトコルの場合

  • 説明: 「すべての送信トラフィックを許可します。」

1つのエグレス・セキュリティ・ルール:

--egress-security-rules

  • isStateless: false

  • destination: 0.0.0.0/0

  • destinationType: CIDR_BLOCK

  • protocol: all

  • description: 「すべての送信トラフィックを許可します。」

8つのイングレス・セキュリティ・ルール:

8つのイングレス・セキュリティ・ルール:

--ingress-security-rules

イングレス・ルール 1:

  • ステートレス: ボックスをクリア

  • イングレスCIDR: kube_internal_cidr

    この値は必須です。このCIDR値は変更しないでください。

  • IPプロトコル: TCP

    • 宛先ポートの範囲: kubernetes_api_port

  • 説明: 「KubernetesコンテナがKubernetes APIと通信できるようにします。」

イングレス・ルール 1:

  • isStateless: false

  • source: kube_internal_cidr

    この値は必須です。このCIDR値は変更しないでください。

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: kubernetes_api_port

    • min: kubernetes_api_port

  • description: KubernetesコンテナがKubernetes APIと通信できるようにします。

イングレス・ルール 2:

  • ステートレス: ボックスをクリア

  • イングレスCIDR: kube_client_cidr

  • IPプロトコル: TCP

    • 宛先ポートの範囲: kubernetes_api_port

  • 説明: 「クライアントがKubernetesクラスタに接続できるようにします。」

イングレス・ルール 2:

  • isStateless: false

  • source: kube_client_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: kubernetes_api_port

    • min: kubernetes_api_port

  • description: クライアントがKubernetesクラスタに接続できるようにします。

イングレス・ルール 3:

  • ステートレス: ボックスをクリア

  • イングレスCIDR: kmi_cidr

  • IPプロトコル: TCP

    • 宛先ポートの範囲: kubernetes_api_port

  • 説明: 「コントロール・プレーンがロード・バランサを介して自身に到達できるようにします。」

イングレス・ルール 3:

  • isStateless: false

  • source: kmi_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: kubernetes_api_port

    • min: kubernetes_api_port

  • description: 「コントロール・プレーンがロード・バランサを介して自身に到達できるようにします。」

イングレス・ルール 4:

  • ステートレス: ボックスをクリア

  • イングレスCIDR: worker_cidr

  • IPプロトコル: TCP

    • 宛先ポートの範囲: kubernetes_api_port

  • 説明: 「ワーカー・ノードがコントロール・プレーン・ロード・バランサを介してクラスタに接続できるようにします。」

イングレス・ルール 4:

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: kubernetes_api_port

    • min: kubernetes_api_port

  • description: ワーカー・ノードがコントロール・プレーン・ロード・バランサを介してクラスタに接続できるようにします。

イングレス・ルール 5:

  • ステートレス: ボックスをクリア

  • イングレスCIDR: worker_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: 12250

  • 説明: ロード・バランサを介したKubernetesワーカーからKubernetes APIエンドポイントへの通信を許可します。

イングレス・ルール 5:

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 12250

    • min: 12250

  • description: ロード・バランサを介したKubernetesワーカーからKubernetes APIエンドポイントへの通信を許可します。

イングレス・ルール 6:

  • ステートレス: ボックスをクリア

  • イングレスCIDR: pod_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: 12250

  • 説明: 「ロード・バランサを介したKubernetes APIエンドポイントへのKubernetesポッド通信を許可します。」

イングレス・ルール 6:

  • isStateless: false

  • source: pod_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 12250

    • min: 12250

  • description: 「ロード・バランサを介したKubernetes APIエンドポイントへのKubernetesポッド通信を許可します。」

イングレス・ルール7: プライベート・エンドポイント

  • ステートレス: ボックスをクリア

  • イングレスCIDR: kmilb_cidr

  • IPプロトコル: TCP

    • 宛先ポートの範囲: kubernetes_api_port

  • 説明: 「プライベート・コントロール・プレーン・エンドポイントの作成に使用されます。」

イングレス・ルール7: プライベート・エンドポイント

  • isStateless: false

  • source: kmilb_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: kubernetes_api_port

    • min: kubernetes_api_port

  • description: プライベート・コントロール・プレーン・エンドポイントの作成に使用されます。

イングレス・ルール8: パブリック・エンドポイント

  • ステートレス: ボックスをクリア

  • イングレスCIDR: public_ip_cidr

  • IPプロトコル: TCP

    • 宛先ポートの範囲: kubernetes_api_port

  • 説明: パブリックCIDRからコントロール・プレーン・エンドポイントにアクセスするために使用されます。パブリックIP CIDRが何であるかわからない場合は、サポート・リクエストを開きます。サポート・リクエストの作成を参照してください。サポートにアクセスするには、OCIコンソールへのサインインの説明に従ってOracle Cloudコンソールにサインインします。」

イングレス・ルール8: パブリック・エンドポイント

  • isStateless: false

  • source: public_ip_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: kubernetes_api_port

    • min: kubernetes_api_port

  • description: パブリックCIDRからコントロール・プレーン・エンドポイントにアクセスするために使用されます。パブリックIP CIDRが何であるかわからない場合は、サポート・リクエストを開きます。サポート・リクエストの作成を参照してください。サポートにアクセスするには、OCIコンソールへのサインインの説明に従ってOracle Cloudコンソールにサインインします。」

コントロール・プレーン・ロード・バランサ・サブネットの作成

サブネットの作成「サブネットの作成」を参照してください。Terraform入力については、Terraformスクリプトの例(VCNネイティブ・ポッド)を参照してください。

この例では、次の入力を使用してコントロール・プレーン・ロード・バランサ・サブネットを作成します。VCN (VCNネイティブ・ポッド)の作成で作成したVCNのOCIDを使用します。VCNを作成したのと同じコンパートメントにコントロール・プレーン・ロード・バランサ・サブネットを作成します。

プライベート・コントロール・プレーン・ロード・バランサまたはパブリック・コントロール・プレーン・ロード・バランサ・サブネットを作成します。パブリック・クラスタで使用するパブリック・コントロール・プレーン・ロード・バランサ・サブネットを作成します。プライベート・クラスタで使用するプライベート・コントロール・プレーン・ロード・バランサ・サブネットを作成します。

ローカル・ピアリング・ゲートウェイを使用してプライベート・クラスタをCompute Cloud@Customer上の他のインスタンスに接続し、Dynamic Routing Gatewaysを使用してプライベート・クラスタをオンプレミスIPアドレス領域に接続する方法の詳細は、プライベート・クラスタを参照してください。プライベート・コントロール・プレーン・ロード・バランサ・サブネットを作成するには、次のいずれかのルート表を指定します:

  • vcn_private

  • lpg_rt

  • drg_rt

パブリック・コントロール・プレーン・ロード・バランサ・サブネットの作成

「Compute Cloud@Customer Console」プロパティ

CLIプロパティー

  • 名前: control-plane-endpoint

  • CIDRブロック: kmilb_cidr

  • Route Table: リストから「public」を選択します。

  • パブリック・サブネット: ボックスをチェックします。

  • DNSホスト名:

    このサブネットでDNSホスト名を使用: チェック・ボックスをオンにします

    • DNSラベル: kmilb

  • セキュリティ・リスト: リストから「kmilb-seclist」および「oketest-vcnのデフォルト・セキュリティ・リスト」を選択します。

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: control-plane-endpoint

  • --cidr-block: kmilb_cidr

  • --dns-label: kmilb

  • --prohibit-public-ip-on-vnic: false

  • --route-table-id: パブリック・ルート表のOCID

  • --security-list-ids: 「kmilb-seclist」セキュリティ・リストおよび「oketest-vcnのデフォルト・セキュリティ・リスト」セキュリティ・リストのOCIDs

次のプライベート・サブネットの違いは、パブリック・ルート表のかわりにVCNプライベート・ルート表が使用されることです。ニーズに応じて、かわりにLPGルート表またはDRGルート表を指定できます。

プライベート・コントロール・プレーン・ロード・バランサ・サブネットの作成

「Compute Cloud@Customer Console」プロパティ

CLIプロパティー

  • 名前: control-plane-endpoint

  • CIDRブロック: kmilb_cidr

  • ルート表: リストから「vcn_private」を選択します。

  • Private Subnet: チェックボックスをオンにします。

  • DNSホスト名:

    このサブネットでDNSホスト名を使用: チェック・ボックスをオンにします

    • DNSラベル: kmilb

  • セキュリティ・リスト: リストから「kmilb-seclist」および「oketest-vcnのデフォルト・セキュリティ・リスト」を選択します。

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: control-plane-endpoint

  • --cidr-block: kmilb_cidr

  • --dns-label: kmilb

  • --prohibit-public-ip-on-vnic: true

  • --route-table-id: vcn_privateルート表のOCID

  • --security-list-ids: 「kmilb-seclist」セキュリティ・リストおよび「oketest-vcnのデフォルト・セキュリティ・リスト」セキュリティ・リストのOCIDs