ネットワーク・リソース構成例

Container Engine for Kubernetes (OKE)を使用するときに、3つの可用性ドメインを持つリージョンに高可用性クラスタを作成およびデプロイするためのネットワーク・リソースの構成方法の例をご紹介します。

新しいクラスタを作成する場合、クイック作成ワークフローを使用して、新しいネットワーク・リソースを自動的に作成できます。または、カスタム作成ワークフローを使用して、既存のネットワーク・リソースを明示的に指定できます。必要なネットワーク・リソースの詳細は、クラスタの作成とデプロイメントのためのネットワーク・リソース構成を参照してください。

このトピックでは、カスタム作成ワークフローを使用して可用性ドメインが3つあるリージョンに高可用性クラスタを作成する場合に、ネットワーク・リソースを構成する方法の例を示します:

紹介のチュートリアルは、Oracle Cloud Infrastructure Container Engine for Kubernetesを使用したクラスタの作成を参照してください。関連する開発者チュートリアルも多数用意されています。

ノート

この項の例では、セキュリティ・リストでのセキュリティ・ルールを使用したクラスタへのアクセスの制御を示しています。セキュリティ・リストよりも(推奨されている)ネットワーク・セキュリティ・グループを使用する場合は、ネットワーク・セキュリティ・グループに同じセキュリティ・ルールを指定できます。

例1: Flannel CNIプラグイン、パブリックKubernetes APIエンドポイント、プライベート・ワーカー・ノードおよびパブリック・ロード・バランサを含むクラスタ

この例では、Kubernetes APIエンドポイントおよびロード・バランサにインターネットから直接アクセスできるようにすることを前提としています。ワーカー・ノードは、VCN内からアクセスできます。

Kubernetes APIエンドポイントには、デフォルトでプライベートIPアドレスが割り当てられることに注意してください。Kubernetes APIエンドポイントをインターネットに公開するには、次のいずれかを実行します:

  • Kubernetes APIエンドポイントをホストするためのパブリック・サブネットを選択します。
  • パブリックIPアドレスをKubernetes APIエンドポイント(およびプライベートIPアドレス)に割り当てることを指定します。

この図は、パブリックKubernetes APIエンドポイント・サブネット、プライベート・ワーカー・ノード・サブネット、パブリック・ロード・バランサ・サブネットおよびプライベート・要塞サブネットを含むクラスタ構成の例を示しています。サブネットへのアクセスは、それぞれseclist-KubernetesAPIendpoint、seclist-workernodes、seclist-loadbalancersおよびseclist-Bastionセキュリティ・リストによって制御されます。このクラスタでは、ポッド・ネットワーキングにflannel CNIプラグインを使用します。Kubernetes APIエンドポイント・サブネットはVNICによってクラスタ・コントロール・プレーンに接続されます。この構成例のその他の機能については、前後のテキストで説明しています。

VCN

リソース
VCN
  • 名前: acme-dev-vcn
  • CIDRブロック: 10.0.0.0/16
  • DNS解決: 選択済
インターネット・ゲートウェイ
  • 名前: internet-gateway-0
NATゲートウェイ
  • 名前: nat-gateway-0
サービス・ゲートウェイ
  • 名前: service-gateway-0
  • サービス: Oracle Services Networkのすべての<region>サービス
DHCPオプション
  • DNSタイプ インターネットおよびVCNリゾルバに設定

サブネット

リソース
Kubernetes APIエンドポイントのパブリック・サブネット

名前: KubernetesAPIendpoint。次のプロパティを使用します:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.0.0/30
  • ルート表: routetable-KubernetesAPIendpoint
  • サブネット・アクセス: パブリック
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-KubernetesAPIendpoint
ワーカー・ノードのプライベート・サブネット

名前: workernodes。次のプロパティを使用します:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.1.0/24
  • ルート表: routetable-workernodes
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-workernodes
サービス・ロード・バランサのパブリック・サブネット

名前: loadbalancers。プロパティは次のとおりです:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.2.0/24
  • ルート表: routetable-serviceloadbalancers
  • サブネット・アクセス: パブリック
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-loadbalancers
要塞のプライベート・サブネット

名前: 次のプロパティを持つ要塞:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.3.0/24
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist- Bastion

ルート表

リソース
パブリックKubernetes APIエンドポイント・サブネットのルート表

名前: routetable-KubernetesAPIendpoint。次のように定義されたルート・ルールを使用します:

  • 宛先CIDRブロック: 0.0.0.0/0
  • ターゲット・タイプ: インターネット・ゲートウェイ
  • ターゲット: internet-gateway-0
プライベート・ワーカー・ノード・サブネットのルート表

名前: routetable-workernodes。次のように定義された2つのルート・ルールを使用します:

  • インターネットへのトラフィックのルール:
    • 宛先CIDRブロック: 0.0.0.0/0
    • ターゲット・タイプ: NATゲートウェイ
    • ターゲット: nat-gateway-0
  • OCIサービスへのトラフィックのルール:
    • 宛先: Oracle Services Networkのすべての<region>サービス
    • ターゲット・タイプ: サービス・ゲートウェイ
    • ターゲット: service-gateway-0
パブリック・ロード・バランサ・サブネットのルート表

名前: routetable-serviceloadbalancers。次のように定義されたルート・ルールを使用します:

  • 宛先CIDRブロック: 0.0.0.0/0
  • ターゲット・タイプ: インターネット・ゲートウェイ
  • ターゲット: internet-gateway-0

パブリックKubernetes APIエンドポイント・サブネットのセキュリティ・リスト・ルール

seclist-KubernetesAPIendpointセキュリティ・リストには、ここに示すイングレス・ルールおよびエグレス・ルールがあります。

イングレス・ルール:

状態 ソース プロトコル/宛先ポート 説明
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/6443 KubernetesワーカーからKubernetes APIエンドポイントへの通信。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/12250 Kubernetesワーカーからコントロール・プレーンへの通信。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ICMP 3,4 パス検出。
ステートフル 0.0.0.0/0、要塞サブネットCIDRまたは特定のCIDR TCP/6443

(オプション)Kubernetes APIエンドポイントへの外部アクセス。

  • ソースがインターネット、サブネットがパブリックで、パブリックIPがAPIエンドポイントに割り当てられている場合の0.0.0.0/0
  • OCI Bastionを介してアクセスが行われる場合の要塞サブネットCIDR
  • 他の特定のCIDRからアクセスした場合の特定のCIDR

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル Oracle Services Networkのすべての<region>サービス TCP/すべて Kubernetesコントロール・プレーンがOKEと通信することを許可します。
ステートフル Oracle Services Networkのすべての<region>サービス ICMP 3,4 パス検出。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/すべて Kubernetesコントロール・プレーンがワーカー・ノードと通信することを許可します。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ICMP 3,4 パス検出。

プライベート・ワーカー・ノード・サブネットのセキュリティ・リスト・ルール

seclist-workernodesセキュリティ・リストには、ここに示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) すべて/すべて あるワーカー・ノードのポッドが他のワーカー・ノードのポッドと通信することを許可します。
ステートフル 10.0.0.0/30 (Kubernetes APIエンドポイントCIDR) TCP/すべて Kubernetesコントロール・プレーンがワーカー・ノードと通信することを許可します。
ステートフル 0.0.0.0/0 ICMP 3,4 パス検出。
ステートフル BastionサブネットCIDRまたは特定のCIDR TCP/22 (オプション)管理対象ノードへのインバウンドSSHトラフィックを許可します。
ステートフル ロード・バランサ・サブネットCIDR すべて/30000- 32767 ロード・バランサからワーカー・ノード・ポートまで。
ステートフル ロード・バランサ・サブネットCIDR ALL/10256 ロード・バランサがワーカー・ノードでkube-proxyと通信できるようにします。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) すべて/すべて あるワーカー・ノードのポッドが他のワーカー・ノードのポッドと通信することを許可します。
ステートフル 0.0.0.0/0 ICMP 3,4 パス検出。
ステートフル Oracle Services Networkのすべての<region>サービス TCP/すべて ワーカー・ノードがOKEと通信することを許可します。
ステートフル 10.0.0.0/30 (Kubernetes APIエンドポイントCIDR) TCP/6443 KubernetesワーカーからKubernetes APIエンドポイントへの通信。
ステートフル 10.0.0.0/30 (Kubernetes APIエンドポイントCIDR) TCP/12250 Kubernetesワーカーからコントロール・プレーンへの通信。
ステートフル 0.0.0.0/0 TCP/すべて (オプション)ワーカー・ノードがインターネットと通信することを許可します。

パブリック・ロード・バランサ・サブネットのセキュリティ・リスト・ルール

seclist-loadbalancersセキュリティ・リストには、ここに示すイングレス・ルールおよびエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル

アプリケーション固有(インターネットまたは特定のCIDR)

アプリケーション固有(TCP、UDP - 443、8080など)

(オプション)ロード・バランサのリスナー・プロトコルおよびポート。必要に応じてカスタマイズします。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) すべて/30000- 32767 ロード・バランサからワーカー・ノード・ポートまで。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ALL/10256 ロード・バランサがワーカー・ノードでkube-proxyと通信できるようにします。

プライベート・要塞サブネットのセキュリティ・リスト・ルール

seclist- Bastionセキュリティ・リストには、次に示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール: なし

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.0.0/30 (Kubernetes APIエンドポイントCIDR) TCP/6443

(オプション)要塞がKubernetes APIエンドポイントにアクセスできるようにします。

ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/22 (オプション)ワーカー・ノードへのSSHトラフィックを許可します。

例2: Flannel CNIプラグイン、プライベートKubernetes APIエンドポイント、プライベート・ワーカー・ノードおよびパブリック・ロード・バランサを含むクラスタ

この例では、インターネットから直接アクセスできるのはロード・バランサのみであることを前提としています。Kubernetes APIエンドポイントおよびワーカー・ノードには、VCN内からアクセスできます。

この図は、プライベートKubernetes APIエンドポイント・サブネット、プライベート・ワーカー・ノード・サブネット、パブリック・ロード・バランサ・サブネットおよびプライベート・要塞サブネットを含むクラスタ構成の例を示しています。サブネットへのアクセスは、それぞれseclist-KubernetesAPIendpoint、seclist-workernodes、seclist-loadbalancersおよびseclist-Bastionセキュリティ・リストによって制御されます。このクラスタでは、ポッド・ネットワーキングにflannel CNIプラグインを使用します。Kubernetes APIエンドポイント・サブネットはVNICによってクラスタ・コントロール・プレーンに接続されます。この構成例のその他の機能については、前後のテキストで説明しています。

VCN

リソース
VCN
  • 名前: acme-dev-vcn
  • CIDRブロック: 10.0.0.0/16
  • DNS解決: 選択済
インターネット・ゲートウェイ
  • 名前: internet-gateway-0
NATゲートウェイ
  • 名前: nat-gateway-0
サービス・ゲートウェイ
  • 名前: service-gateway-0
  • サービス: Oracle Services Networkのすべての<region>サービス
DHCPオプション
  • DNSタイプ インターネットおよびVCNリゾルバに設定

サブネット

リソース
Kubernetes APIエンドポイントのプライベート・サブネット

名前: KubernetesAPIendpoint。次のプロパティを使用します:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.0.0/30
  • ルート表: routetable-KubernetesAPIendpoint
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-KubernetesAPIendpoint
ワーカー・ノードのプライベート・サブネット

名前: workernodes。次のプロパティを使用します:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.1.0/24
  • ルート表: routetable-workernodes
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-workernodes
サービス・ロード・バランサのパブリック・サブネット

名前: loadbalancers。プロパティは次のとおりです:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.2.0/24
  • ルート表: routetable-serviceloadbalancers
  • サブネット・アクセス: パブリック
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-loadbalancers
要塞のプライベート・サブネット

名前: 次のプロパティを持つ要塞:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.3.0/24
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist- Bastion

ルート表

リソース
プライベートKubernetes APIエンドポイント・サブネットのルート表

名前: routetable-KubernetesAPIendpoint。次のように定義されたルート・ルールを使用します:

  • インターネットへのトラフィックのルール:
    • 宛先CIDRブロック: 0.0.0.0/0
    • ターゲット・タイプ: NATゲートウェイ
    • ターゲット: nat-gateway-0
  • OCIサービスへのトラフィックのルール:
    • 宛先: Oracle Services Networkのすべての<region>サービス
    • ターゲット・タイプ: サービス・ゲートウェイ
    • ターゲット: service-gateway-0
プライベート・ワーカー・ノード・サブネットのルート表

名前: routetable-workernodes。次のように定義された2つのルート・ルールを使用します:

  • インターネットへのトラフィックのルール:
    • 宛先CIDRブロック: 0.0.0.0/0
    • ターゲット・タイプ: NATゲートウェイ
    • ターゲット: nat-gateway-0
  • OCIサービスへのトラフィックのルール:
    • 宛先: Oracle Services Networkのすべての<region>サービス
    • ターゲット・タイプ: サービス・ゲートウェイ
    • ターゲット: service-gateway-0
パブリック・ロード・バランサ・サブネットのルート表

名前: routetable-serviceloadbalancers。次のように定義されたルート・ルールを使用します:

  • 宛先CIDRブロック: 0.0.0.0/0
  • ターゲット・タイプ: インターネット・ゲートウェイ
  • ターゲット: internet-gateway-0

プライベートKubernetes APIエンドポイント・サブネットのセキュリティ・リスト・ルール

seclist-KubernetesAPIendpointセキュリティ・リストには、ここに示すイングレス・ルールおよびエグレス・ルールがあります。

イングレス・ルール:

状態 ソース プロトコル/宛先ポート 説明
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/6443 KubernetesワーカーからKubernetes APIエンドポイントへの通信。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/12250 Kubernetesワーカーからコントロール・プレーンへの通信。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ICMP 3,4 パス検出。
ステートフル 0.0.0.0/0、要塞サブネットCIDRまたは特定のCIDR TCP/6443

(オプション)Kubernetes APIエンドポイントへの外部アクセス。

  • ソースがインターネット、サブネットがパブリックで、パブリックIPがAPIエンドポイントに割り当てられている場合の0.0.0.0/0
  • OCI Bastionを介してアクセスが行われる場合の要塞サブネットCIDR
  • 他の特定のCIDRからアクセスした場合の特定のCIDR

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル

Oracle Services Networkのすべての<region>サービス

TCP/すべて Kubernetesコントロール・プレーンがOKEと通信することを許可します。
ステートフル Oracle Services Networkのすべての<region>サービス ICMP 3,4 パス検出。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/すべて Kubernetesコントロール・プレーンがワーカー・ノードと通信することを許可します。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ICMP 3,4 パス検出。

プライベート・ワーカー・ノード・サブネットのセキュリティ・リスト・ルール

seclist-workernodesセキュリティ・リストには、ここに示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) すべて/すべて あるワーカー・ノードのポッドが他のワーカー・ノードのポッドと通信することを許可します。
ステートフル 10.0.0.0/30 (Kubernetes APIエンドポイントCIDR) TCP/すべて Kubernetesコントロール・プレーンがワーカー・ノードと通信することを許可します。
ステートフル 0.0.0.0/0 ICMP 3,4 パス検出。
ステートフル BastionサブネットCIDRまたは特定のCIDR TCP/22 (オプション)管理対象ノードへのインバウンドSSHトラフィックを許可します。
ステートフル ロード・バランサ・サブネットCIDR すべて/30000- 32767 ロード・バランサからワーカー・ノード・ポートまで。
ステートフル ロード・バランサ・サブネットCIDR ALL/10256 ロード・バランサがワーカー・ノードでkube-proxyと通信できるようにします。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) すべて/すべて あるワーカー・ノードのポッドが他のワーカー・ノードのポッドと通信することを許可します。
ステートフル Oracle Services Networkのすべての<region>サービス TCP/すべて ワーカー・ノードがOKEと通信することを許可します。
ステートフル 10.0.0.0/30 (Kubernetes APIエンドポイントCIDR) TCP/6443 KubernetesワーカーからKubernetes APIエンドポイントへの通信。
ステートフル 10.0.0.0/30 (Kubernetes APIエンドポイントCIDR) TCP/12250 Kubernetesワーカーからコントロール・プレーンへの通信。
ステートフル 0.0.0.0/0 TCP/すべて (オプション)ワーカー・ノードがインターネットと通信することを許可します。

パブリック・ロード・バランサ・サブネットのセキュリティ・リスト・ルール

seclist-loadbalancersセキュリティ・リストには、ここに示すイングレス・ルールおよびエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル

アプリケーション固有(インターネットまたは特定のCIDR)

アプリケーション固有(TCP、UDP - 443、8080など)

(オプション)ロード・バランサのリスナー・プロトコルおよびポート。必要に応じてカスタマイズします。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) すべて/30000- 32767 ロード・バランサからワーカー・ノード・ポートまで。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ALL/10256 ロード・バランサがワーカー・ノードでkube-proxyと通信できるようにします。

プライベート・要塞サブネットのセキュリティ・リスト・ルール

seclist- Bastionセキュリティ・リストには、次に示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール: なし

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.0.0/30 (Kubernetes APIエンドポイントCIDR) TCP/6443

(オプション)要塞がKubernetes APIエンドポイントにアクセスできるようにします。

ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/22 (オプション)ワーカー・ノードへのSSHトラフィックを許可します。

例3: OCI CNIプラグイン、パブリックKubernetes APIエンドポイント、プライベート・ワーカー・ノードおよびパブリック・ロード・バランサを含むクラスタ

この例では、Kubernetes APIエンドポイントおよびロード・バランサにインターネットから直接アクセスできるようにすることを前提としています。ワーカー・ノードは、VCN内からアクセスできます。

Kubernetes APIエンドポイントには、デフォルトでプライベートIPアドレスが割り当てられることに注意してください。Kubernetes APIエンドポイントをインターネットに公開するには、次のいずれかを実行します:

  • Kubernetes APIエンドポイントをホストするためのパブリック・サブネットを選択します。
  • パブリックIPアドレスをKubernetes APIエンドポイント(およびプライベートIPアドレス)に割り当てることを指定します。

この図は、パブリックKubernetes APIエンドポイント・サブネット、プライベート・ワーカー・ノード・サブネット、パブリック・ロード・バランサ・サブネット、プライベート・ポッド・サブネットおよびプライベート・要塞サブネットを含むクラスタ構成の例を示しています。サブネットへのアクセスは、それぞれseclist-KubernetesAPIendpoint、seclist-workernodes、seclist-loadbalancers、seclist-podsおよびseclist-Bastionセキュリティ・リストによって制御されます。このクラスタでは、ポッド・ネットワーキングにOCI CNIプラグインを使用します。Kubernetes APIエンドポイント・サブネットはVNICによってクラスタ・コントロール・プレーンに接続されます。この構成例のその他の機能については、前後のテキストで説明しています。

VCN

リソース
VCN
  • 名前: acme-dev-vcn
  • CIDRブロック: 10.0.0.0/16
  • DNS解決: 選択済
インターネット・ゲートウェイ
  • 名前: internet-gateway-0
NATゲートウェイ
  • 名前: nat-gateway-0
サービス・ゲートウェイ
  • 名前: service-gateway-0
  • サービス: Oracle Services Networkのすべての<region>サービス
DHCPオプション
  • DNSタイプ インターネットおよびVCNリゾルバに設定

サブネット

リソース
Kubernetes APIエンドポイントのパブリック・サブネット

名前: KubernetesAPIendpoint。次のプロパティを使用します:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.0.0/29
  • ルート表: routetable-KubernetesAPIendpoint
  • サブネット・アクセス: パブリック
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-KubernetesAPIendpoint
ワーカー・ノードのプライベート・サブネット

名前: workernodes。次のプロパティを使用します:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.1.0/24
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-workernodes
ポッドのプライベート・サブネット

名前: 次のプロパティを持つポッド:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.32.0/19
  • ルート表: routetable- pods
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist- pods
サービス・ロード・バランサのパブリック・サブネット

名前: loadbalancers。プロパティは次のとおりです:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.2.0/24
  • ルート表: routetable-serviceloadbalancers
  • サブネット・アクセス: パブリック
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-loadbalancers
要塞のプライベート・サブネット

名前: 次のプロパティーでの指定。

  • タイプ: リージョナル
  • CIDRブロック: 10.0.3.0/24
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist- Bastion

ルート表

リソース
パブリックKubernetes APIエンドポイント・サブネットのルート表

名前: routetable-KubernetesAPIendpoint。次のように定義されたルート・ルールを使用します:

  • 宛先CIDRブロック: 0.0.0.0/0
  • ターゲット・タイプ: インターネット・ゲートウェイ
  • ターゲット: internet-gateway-0
プライベート・ポッド・サブネットのルート表

名前: routetable- pods。次のように定義された2つのルート・ルールを使用します:

  • インターネットへのトラフィックのルール:
    • 宛先CIDRブロック: 0.0.0.0/0
    • ターゲット・タイプ: NATゲートウェイ
    • ターゲット: nat-gateway-0
  • OCIサービスへのトラフィックのルール:
    • 宛先: Oracle Services Networkのすべての<region>サービス
    • ターゲット・タイプ: サービス・ゲートウェイ
    • ターゲット: service-gateway-0
パブリック・ロード・バランサ・サブネットのルート表

名前: routetable-serviceloadbalancers。次のように定義されたルート・ルールを使用します:

  • 宛先CIDRブロック: 0.0.0.0/0
  • ターゲット・タイプ: インターネット・ゲートウェイ
  • ターゲット: internet-gateway-0

パブリックKubernetes APIエンドポイント・サブネットのセキュリティ・リスト・ルール

seclist-KubernetesAPIendpointセキュリティ・リストには、ここに示すイングレス・ルールおよびエグレス・ルールがあります。

イングレス・ルール:

状態 ソース プロトコル/宛先ポート 説明
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/6443 KubernetesワーカーからKubernetes APIエンドポイントへの通信。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/12250 KubernetesワーカーからKubernetes APIエンドポイントへの通信。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ICMP 3,4 パス検出。
ステートフル 10.0.32.0/19(ポッドCIDR) TCP/6443 Kubernetes APIエンドポイント通信へのポッド(VCNネイティブ・ポッド・ネットワーキングを使用している場合)。
ステートフル 10.0.32.0/19(ポッドCIDR) TCP/12250 Kubernetes APIエンドポイント通信へのポッド(VCNネイティブ・ポッド・ネットワーキングを使用している場合)。
ステートフル 0.0.0.0/0、要塞サブネットCIDRまたは特定のCIDR TCP/6443

(オプション)Kubernetes APIエンドポイントへの外部アクセス。

  • ソースがインターネット、サブネットがパブリックで、パブリックIPがAPIエンドポイントに割り当てられている場合の0.0.0.0/0
  • OCI Bastionを介してアクセスが行われる場合の要塞サブネットCIDR
  • 他の特定のCIDRからアクセスした場合の特定のCIDR

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル Oracle Services Networkのすべての<region>サービス TCP/すべて Kubernetes APIエンドポイントにOKEとの通信を許可します。
ステートフル Oracle Services Networkのすべての<region>サービス ICMP 3,4 パス検出。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/10250 Kubernetes APIエンドポイントにワーカー・ノードとの通信を許可します。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ICMP 3,4 パス検出。
ステートフル 10.0.32.0/19(ポッドCIDR) すべて/すべて Kubernetes APIエンドポイントがポッドと通信できるようにします(VCNネイティブ・ポッド・ネットワーキングを使用している場合)。

プライベート・ワーカー・ノード・サブネットのセキュリティ・リスト・ルール

seclist-workernodesセキュリティ・リストには、ここに示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/10250 Kubernetes APIエンドポイントにワーカー・ノードとの通信を許可します。
ステートフル 0.0.0.0/0 ICMP 3,4 パス検出。
ステートフル BastionサブネットCIDRまたは特定のCIDR TCP/22 (オプション)管理対象ノードへのインバウンドSSHトラフィックを許可します。
ステートフル ロード・バランサ・サブネットCIDR すべて/30000- 32767 ロード・バランサからワーカー・ノード・ポートまで。
ステートフル ロード・バランサ・サブネットCIDR ALL/10256 ロード・バランサがワーカー・ノードでkube-proxyと通信できるようにします。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.32.0/19(ポッドCIDR) すべて/すべて ワーカー・ノードがポッドにアクセスできるようにします。
ステートフル 0.0.0.0/0 ICMP 3,4 パス検出。
ステートフル Oracle Services Networkのすべての<region>サービス TCP/すべて ワーカー・ノードがOKEと通信することを許可します。
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/6443 KubernetesワーカーからKubernetes APIエンドポイントへの通信。
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/12250 KubernetesワーカーからKubernetes APIエンドポイントへの通信。

プライベート・ポッド・サブネットのセキュリティ・リスト・ルール

seclist- podsセキュリティ・リストには、次に示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) すべて/すべて ワーカー・ノードがポッドにアクセスできるようにします。
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) すべて/すべて Kubernetes APIエンドポイントにポッドとの通信を許可します。
ステートフル 10.0.32.0/19(ポッドCIDR) すべて/すべて ポッドが他のポッドと通信することを許可します。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.32.0/19(ポッドCIDR) すべて/すべて ポッドが他のポッドと通信することを許可します。
ステートフル Oracle Services Networkのすべての<region>サービス

ICMP 3,4

パス検出。
ステートフル Oracle Services Networkのすべての<region>サービス

TCP/すべて

ポッドがOCIサービスと通信できるようにします。
ステートフル 0.0.0.0/0

TCP/443

(オプション)ポッドがインターネットと通信することを許可します。
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/6443 Kubernetes APIエンドポイント通信へのポッド(VCNネイティブ・ポッド・ネットワーキングを使用している場合)。
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/12250 Kubernetes APIエンドポイント通信へのポッド(VCNネイティブ・ポッド・ネットワーキングを使用している場合)。

パブリック・ロード・バランサ・サブネットのセキュリティ・リスト・ルール

seclist-loadbalancersセキュリティ・リストには、ここに示すイングレス・ルールおよびエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル

アプリケーション固有(インターネットまたは特定のCIDR)

アプリケーション固有(TCP、UDP - 443、8080など)

(オプション)ロード・バランサのリスナー・プロトコルおよびポート。必要に応じてカスタマイズします。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) すべて/30000- 32767 ロード・バランサからワーカー・ノード・ポートまで。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ALL/10256 ロード・バランサがワーカー・ノードでkube-proxyと通信できるようにします。

プライベート・要塞サブネットのセキュリティ・リスト・ルール

seclist- Bastionセキュリティ・リストには、次に示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール: なし

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/6443

(オプション)要塞がKubernetes APIエンドポイントにアクセスできるようにします。

ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/22 (オプション)ワーカー・ノードへのSSHトラフィックを許可します。

例4: OCI CNIプラグイン、プライベートKubernetes APIエンドポイント、プライベート・ワーカー・ノードおよびパブリック・ロード・バランサを含むクラスタ

この例では、インターネットから直接アクセスできるのはロード・バランサのみであることを前提としています。Kubernetes APIエンドポイントおよびワーカー・ノードには、VCN内からアクセスできます。

この図は、プライベートKubernetes APIエンドポイント・サブネット、プライベート・ワーカー・ノード・サブネット、パブリック・ロード・バランサ・サブネット、プライベート・ポッド・サブネットおよびプライベート・要塞サブネットを含むクラスタ構成の例を示しています。サブネットへのアクセスは、それぞれseclist-KubernetesAPIendpoint、seclist-workernodes、seclist-loadbalancers、seclist-podsおよびseclist-Bastionセキュリティ・リストによって制御されます。このクラスタでは、ポッド・ネットワーキングにOCI CNIプラグインを使用します。Kubernetes APIエンドポイント・サブネットはVNICによってクラスタ・コントロール・プレーンに接続されます。この構成例のその他の機能については、前後のテキストで説明しています。

VCN

リソース
VCN
  • 名前: acme-dev-vcn
  • CIDRブロック: 10.0.0.0/16
  • DNS解決: 選択済
インターネット・ゲートウェイ
  • 名前: internet-gateway-0
NATゲートウェイ
  • 名前: nat-gateway-0
サービス・ゲートウェイ
  • 名前: service-gateway-0
  • サービス: Oracle Services Networkのすべての<region>サービス
DHCPオプション
  • DNSタイプ インターネットおよびVCNリゾルバに設定

サブネット

リソース
Kubernetes APIエンドポイントのプライベート・サブネット

名前: KubernetesAPIendpoint。次のプロパティを使用します:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.0.0/29
  • ルート表: routetable-KubernetesAPIendpoint
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-KubernetesAPIendpoint
ワーカー・ノードのプライベート・サブネット

名前: workernodes。次のプロパティを使用します:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.1.0/24
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-workernodes
ポッドのプライベート・サブネット

名前: 次のプロパティを持つポッド:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.32.0/19
  • ルート表: routetable- pods
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist- pods
サービス・ロード・バランサのパブリック・サブネット

名前: loadbalancers。プロパティは次のとおりです:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.2.0/24
  • ルート表: routetable-serviceloadbalancers
  • サブネット・アクセス: パブリック
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-loadbalancers
要塞のプライベート・サブネット

名前: 次のプロパティを持つ要塞:

  • タイプ: リージョナル
  • CIDRブロック: 10.0.3.0/24
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist- Bastion

ルート表

リソース
プライベートKubernetes APIエンドポイント・サブネットのルート表

名前: routetable-KubernetesAPIendpoint。次のように定義されたルート・ルールを使用します:

  • インターネットへのトラフィックのルール:
    • 宛先CIDRブロック: 0.0.0.0/0
    • ターゲット・タイプ: NATゲートウェイ
    • ターゲット: nat-gateway-0
  • OCIサービスへのトラフィックのルール:
    • 宛先: Oracle Services Networkのすべての<region>サービス
    • ターゲット・タイプ: サービス・ゲートウェイ
    • ターゲット: service-gateway-0
プライベート・ポッド・サブネットのルート表

名前: routetable- pods。次のように定義された2つのルート・ルールを使用します:

  • インターネットへのトラフィックのルール:
    • 宛先CIDRブロック: 0.0.0.0/0
    • ターゲット・タイプ: NATゲートウェイ
    • ターゲット: nat-gateway-0
  • OCIサービスへのトラフィックのルール:
    • 宛先: Oracle Services Networkのすべての<region>サービス
    • ターゲット・タイプ: サービス・ゲートウェイ
    • ターゲット: service-gateway-0
パブリック・ロード・バランサ・サブネットのルート表

名前: routetable-serviceloadbalancers。次のように定義されたルート・ルールを使用します:

  • 宛先CIDRブロック: 0.0.0.0/0
  • ターゲット・タイプ: インターネット・ゲートウェイ
  • ターゲット・インターネット・ゲートウェイ: internet-gateway-0

プライベートKubernetes APIエンドポイント・サブネットのセキュリティ・リスト・ルール

seclist-KubernetesAPIendpointセキュリティ・リストには、ここに示すイングレス・ルールおよびエグレス・ルールがあります。

イングレス・ルール:

状態 ソース プロトコル/宛先ポート 説明
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/6443 KubernetesワーカーからKubernetes APIエンドポイントへの通信。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/12250 KubernetesワーカーからKubernetes APIエンドポイントへの通信。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ICMP 3,4 パス検出。
ステートフル 10.0.32.0/19(ポッドCIDR) TCP/6443 Kubernetes APIエンドポイント通信へのポッド(VCNネイティブ・ポッド・ネットワーキングを使用している場合)。
ステートフル 10.0.32.0/19(ポッドCIDR) TCP/12250 Kubernetes APIエンドポイント通信へのポッド(VCNネイティブ・ポッド・ネットワーキングを使用している場合)。
ステートフル BastionサブネットCIDRまたは特定のCIDR TCP/6443

(オプション)Kubernetes APIエンドポイントへの外部アクセス。

  • OCI Bastionを介してアクセスが行われる場合の要塞サブネットCIDR
  • 他の特定のCIDRからアクセスした場合の特定のCIDR

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル

Oracle Services Networkのすべての<region>サービス

TCP/すべて Kubernetes APIエンドポイントにOKEとの通信を許可します。
ステートフル Oracle Services Networkのすべての<region>サービス ICMP 3,4 パス検出。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/10250 Kubernetes APIエンドポイントにワーカー・ノードとの通信を許可します。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ICMP 3,4 パス検出。
ステートフル 10.0.32.0/19(ポッドCIDR) すべて/すべて Kubernetes APIエンドポイントにポッドとの通信を許可します。

プライベート・ワーカー・ノード・サブネットのセキュリティ・リスト・ルール

seclist-workernodesセキュリティ・リストには、ここに示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/10250 Kubernetes APIエンドポイントにワーカー・ノードとの通信を許可します。
ステートフル 0.0.0.0/0 ICMP 3,4 パス検出。
ステートフル BastionサブネットCIDRまたは特定のCIDR TCP/22 (オプション)管理対象ノードへのインバウンドSSHトラフィックを許可します。
ステートフル ロード・バランサ・サブネットCIDR すべて/30000- 32767 ロード・バランサからワーカー・ノード・ポートまで。
ステートフル ロード・バランサ・サブネットCIDR ALL/10256 ロード・バランサがワーカー・ノードでkube-proxyと通信できるようにします。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.32.0/19(ポッドCIDR) すべて/すべて ワーカー・ノードがポッドにアクセスできるようにします。
ステートフル 0.0.0.0/0 ICMP 3,4 パス検出。
ステートフル Oracle Services Networkのすべての<region>サービス TCP/すべて ワーカー・ノードがOKEと通信することを許可します。
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/6443 KubernetesワーカーからKubernetes APIエンドポイントへの通信。
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/12250 KubernetesワーカーからKubernetes APIエンドポイントへの通信。

プライベート・ポッド・サブネットのセキュリティ・リスト・ルール

seclist- podsセキュリティ・リストには、次に示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) すべて/すべて ワーカー・ノードがポッドにアクセスできるようにします。
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) すべて/すべて Kubernetes APIエンドポイントにポッドとの通信を許可します。
ステートフル 10.0.32.0/19(ポッドCIDR) すべて/すべて ポッドが他のポッドと通信することを許可します。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.32.0/19(ポッドCIDR) すべて/すべて ポッドが他のポッドと通信することを許可します。
ステートフル Oracle Services Networkのすべての<region>サービス

ICMP 3,4

パス検出。
ステートフル Oracle Services Networkのすべての<region>サービス

TCP/すべて

ポッドがOCIサービスと通信できるようにします。
ステートフル 0.0.0.0/0

TCP/443

(オプション)ポッドがインターネットと通信することを許可します。
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/6443 Kubernetes APIエンドポイント通信へのポッド(VCNネイティブ・ポッド・ネットワーキングを使用している場合)。
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/12250 Kubernetes APIエンドポイント通信へのポッド(VCNネイティブ・ポッド・ネットワーキングを使用している場合)。

パブリック・ロード・バランサ・サブネットのセキュリティ・リスト・ルール

seclist-loadbalancersセキュリティ・リストには、ここに示すイングレス・ルールおよびエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル

アプリケーション固有(インターネットまたは特定のCIDR)

アプリケーション固有(TCP、UDP - 443、8080など)

(オプション)ロード・バランサのリスナー・プロトコルおよびポート。必要に応じてカスタマイズします。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) すべて/30000- 32767 ロード・バランサからワーカー・ノード・ポートまで。
ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) ALL/10256 ロード・バランサがワーカー・ノードでkube-proxyと通信できるようにします。

プライベート・要塞サブネットのセキュリティ・リスト・ルール

seclist- Bastionセキュリティ・リストには、次に示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール: なし

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.0.0/29 (Kubernetes APIエンドポイントCIDR) TCP/6443

(オプション)要塞がKubernetes APIエンドポイントにアクセスできるようにします。

ステートフル 10.0.1.0/24(ワーカー・ノードCIDR) TCP/22 (オプション)ワーカー・ノードへのSSHトラフィックを許可します。