クラスタの作成

Container Engine for Kubernetes (OKE)を使用してクラスタを作成する方法を確認します。

Container Engine for Kubernetesを使用して、新しいKubernetesクラスタを作成できます。クラスタを作成するには、テナンシの管理者グループに属しているか、ポリシーがCLUSTER_MANAGE権限を付与するグループに属している必要があります。クラスタの作成とデプロイメントのためのポリシー構成を参照してください。

高可用性を確保するために、Container Engine for Kubernetesは次のタスクを実行します:

  • Kubernetesコントロール・プレーンを複数のOracle管理コントロール・プレーン・ノード上に作成し、コントロール・プレーン・ノードをリージョン内の異なる可用性ドメインに分散します(サポートされている場合)。
  • 可用性ドメイン内の各フォルト・ドメインにワーカー・ノードを作成し、フォルト・ドメイン全体にできるだけ均等にワーカー・ノードを分散します(その他のインフラストラクチャの制限に従います)。
    1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「コンテナとアーティファクト」で、「Kubernetesクラスタ(OKE)」をクリックします。
    2. クラスタを作成するコンパートメントを選択します。
    3. クラスタ」ページで、「クラスタの作成」をクリックします。
    4. 次のいずれかのワークフローを選択して、クラスタを作成します。
      • クイック作成:クラスタの作成に不可欠なプロパティのみを指定する場合は、このワークフローを選択します。このオプションを選択すると、Container Engine for Kubernetesでは多くのクラスタ・プロパティにデフォルト値が使用され、必要に応じて新しいネットワーク・リソースが作成されます。
      • カスタム作成:クラスタのすべてのプロパティの指定、既存のネットワーク・リソースの使用および拡張オプションの選択が可能な場合に、このワークフローを選択します。

      様々なワークフローの詳細は、コンソール・ワークフローを使用したKubernetesクラスタの作成を参照してください。

    5. 「送信」をクリックします。
    6. 選択したワークフローのページを入力します。詳細は、次を参照してください:
  • クラスタを作成するには、oci ce cluster createコマンドと必要なパラメータを使用します:

    oci ce cluster create --compartment-id <compartment-ocid> --kubernetes-version <kubernetes-version> --name <cluster-name> --vcn-id <vcn-ocid> [OPTIONS]

    例:

    oci ce cluster create --compartment-id ocid1.compartment.oc1..aaaaaaaay______t6q --kubernetes-version v1.24.1 --name Finance-Cluster --vcn-id ocid1.vcn.oc1.iad.aaaaaae___yja

    仮想ノード・プールおよび仮想ノードを使用してクラスタを作成するには:

    1. 新しいクラスタを作成し、ポッド・ネットワーク用のOCI VCNネイティブ・ポッド・ネットワークCNIプラグインを指定します:
      oci ce cluster create \
      --compartment-id <compartment-ocid> \
      --name <cluster-name> \
      --vcn-id <vcn-ocid> \
      --type ENHANCED_CLUSTER \
      --kubernetes-version <kubernetes-version> \
      --service-lb-subnet-ids "[\"<lb-subnet-ocid>\"]" \
      --endpoint-subnet-id <api-endpoint-subnet-ocid> \
      --endpoint-public-ip-enabled <true|false> \
      --endpoint-nsg-ids "[\"<api-endpoint-nsg-ocid>"]" \
      --cluster-pod-network-options '[{"cniType":"OCI_VCN_IP_NATIVE"}]'

      例:

      oci ce cluster create \
      --compartment-id ocid1.compartment.oc1..aaaaaaaa______n5q \
      --name sales \
      --vcn-id ocid1.vcn.oc1.phx.aaaaaaaa______lhq \
      --type ENHANCED_CLUSTER \
      --kubernetes-version v1.25.4 \
      --service-lb-subnet-ids "[\"ocid1.subnet.oc1.phx.aaaaaaaa______g7q"]" \
      --endpoint-subnet-id ocid1.subnet.oc1.phx.aaaaaaaa______sna \
      --endpoint-public-ip-enabled true \
      --endpoint-nsg-ids "[\"ocid1.networksecuritygroup.oc1.phx.aaaaaaaa______5qq\"]" \
      --cluster-pod-network-options '[{"cniType":"OCI_VCN_IP_NATIVE"}]'
    2. 次のステップで使用する新しいクラスタのOCIDを取得します。
    3. クラスタに新しい仮想ノード・プールを作成します。
      oci ce virtual-node-pool create \
      --cluster-id <cluster-ocid> \
      --compartment-id <compartment-ocid> \
      --display-name <node-pool-name> \
      --kubernetes-version <kubernetes-version> \
      --placement-configurations "[{\"availabilityDomain\":\"<ad-name>\",\"faultDomain\":[\"FAULT-DOMAIN-<n>\"],\"subnetId\":\"<virtualnode-subnet-ocid>\"}]" \
      --nsg-ids "[\"<virtual-node-nsg-ocid>\"]" \
      --pod-configuration "{\"subnetId\":\"<pod-subnet-ocid>\",\"nsgIds\":[\"<pod-nsg-ocid>\"],\"shape\":\"<shape-name>\"}" \
      --size <number-of-nodes>
      ここでは:
      • <ad-name>は、仮想ノードを配置する可用性ドメインの名前です。使用する可用性ドメイン名を確認するには、次を実行します:
        oci iam availability-domain list
      • <shape-name>は、Pod.Standard.E3.FlexPod.Standard.E4.Flexのいずれかです。

      例:

      oci ce virtual-node-pool create \
      --cluster-id ocid1.cluster.oc1.phx.aaaaaaaa______w5q \
      --compartment-id ocid1.compartment.oc1..aaaaaaaa______n5q \
      --display-name sales-vnp \
      --kubernetes-version v1.24.1 \
      --placement-configurations "[{\"availabilityDomain\":\"GMvH:PHX-AD-1\",\"faultDomain\":[\"FAULT-DOMAIN-1\"],\"subnetId\":\"ocid1.subnet.oc1.phx.aaaaaaaa______sra\"}]" \
      --nsg-ids "[\"ocid1.networksecuritygroup.oc1.phx.aaaaaaaa______hpa\"]" \
      --pod-configuration "{\"subnetId\":\"ocid1.subnet.oc1.phx.aaaaaaaa______o7q\",\"nsgIds\":[\"ocid1.networksecuritygroup.oc1.phx.aaaaaaaa______osq\"],\"shape\":\"Pod.Standard.E4.Flex\"}" \
      --size 1
  • CreateCluster操作を実行して、クラスタを作成します。