OKEクラスタの作成

Compute Cloud@CustomerでOKEクラスタを作成する方法について学習します。

パブリック・クラスタを作成すると、ネットワーク・ロード・バランサおよびパブリックIPアドレスが作成され、クラスタ作成の一部として割り当てられます。

重要

クラスタを作成する前に、次の条件を満たす必要があります:

  • OraclePCA-OKE.cluster_id定義済タグがテナンシに存在する必要があります。OKEのOraclePCAタグの作成を参照してください

    OKEクラスタまたはノード・プールを作成または更新するには、OraclePCA-OKE/cluster_id定義タグが必要です。このタグは、動的グループ内に存在する必要があるインスタンスを識別するためにも使用されます。

  • すべてのフォルト・ドメインが正常である必要があります。

  • 各フォルト・ドメインには、1つ以上の正常なコンピュート・インスタンスが必要です。

  • クラスタを作成するには、十分なリソースが使用可能である必要があります。Compute Cloud@Customerメトリックを参照してください。

  • クラスタの作成中にインフラストラクチャのアップグレードがスケジュールされていないことを確認します。アップグレード・スケジュールの管理を参照してください。

クラスタの作成時にノード・プールを同時に作成するには、コンソールを使用する必要があります。

Kubernetesサービスによって作成されたすべてのロード・バランサに適用されるタグを指定するには、CLIを使用する必要があります。

    1. 「コンピュートCloud@Customerコンソール」ナビゲーション・メニューで、「コンテナ」「Kubernetesクラスタ」の順に選択します。
    2. クラスタ・リスト・ページで、「クラスタの作成」を選択します。

    3. 「クラスタの作成」ダイアログ・ボックスで、次の情報を指定します:

      • 名前: 新しいクラスタの名前を入力します。機密情報を入力しないでください。

      • コンパートメント: 新規クラスタを作成するコンパートメントを選択します。

      • Kubernetesバージョン: コントロール・プレーン・ノードで実行するKubernetesのバージョンを選択します。デフォルトのバージョンを受け入れるか、別のバージョンを選択します。

        使用するKubernetesバージョンがリストされていない場合は、CLIまたはAPIを使用してクラスタを作成し、Kubernetesバージョンを指定します。

      • タグ付け: クラスタ・リソースに次のフリーフォーム・タグを追加します。

        ノート

        OraclePCA-OKE.cluster_id定義済タグまたはClusterResourceIdentifierフリーフォーム・タグの値を指定しないでください。これらのタグ値はシステムによって生成され、クラスタ・リソースではなくノード(インスタンス)にのみ適用されます。

        OraclePCA定義済タグを使用して、コントロール・プレーン・ノードに関する次の情報を指定します。これらのタグがCompute Cloud@Customerコンソールのタグ付けメニューにリストされていない場合は、作成する必要があります。OKEのOraclePCAタグの作成を参照してください。

        ノート

        これらの値(SSHキー、ノード数、ノード・シェイプまたはノード・シェイプ構成)は、クラスタの作成後に設定または変更できません。クラスタの更新時にこれらのタグを設定した場合、新しい値は無視されます。

        • 公開SSHキー

          タグ・キー(OraclePCA.sshkey)にsshkeyを指定します。公開SSH鍵を「Value(値)」フィールドに貼り付けます。

          重要

          クラスタの作成後にSSHキーを追加することはできません。

        • ノードの数

          デフォルトでは、コントロール・プレーンのノード数は3です。1ノード、3ノードまたは5ノードを指定できます。コントロール・プレーン・ノードの数を指定するには、タグ・キー(OraclePCA.cpNodeCount)にcp_node_countを指定し、「値」フィールドで13または5を選択します。

        • ノード・シェイプ

          VM.PCAStandard.E5などのシェイプを指定します。フレックス

        • ノード・シェイプ構成

          デフォルトのシェイプ構成を変更できます。

          シェイプ構成情報を指定するには、タグ・キー(OraclePCA.cpNodeShapeConfig)にcp_node_shape_configを指定します。必要なOCPUの数(ocpus)を指定する必要があります。オプションで、必要なメモリーの合計量(memoryInGBs)を指定できます。ギガバイトのメモリーのデフォルト値は、OCPUに指定した数の16倍です。

          ノート

          クラスタに1から10のワーカー・ノードが含まれる場合は、16 GB以上のメモリーを指定します。クラスタに11から128のワーカー・ノードが含まれる場合は、少なくとも2つのOCPUと32 GBのメモリーを指定します。クラスタの更新時に、OCPUの数やメモリー量を変更することはできません。

          タグの「値」フィールドに、次の例に示すように、ノード・シェイプ構成値を入力します。

          次の例では、デフォルトのメモリー容量が構成されます。

          {"ocpus":1}

          次の例では、メモリー量が指定されます。

          {"ocpus":2, "memoryInGBs":48}
          ノート

          Terraformを使用して複雑な値(キーと値のペアである値)を指定する場合は、次の例に示すように、値の二重引用符をエスケープする必要があります:

          "OraclePCA.cpNodeShapeConfig"="{\"ocpus\":2,\"memoryInGBs\":48}"
      • アドオン: このセクションには、このクラスタで使用可能なアドオンの各タイルが表示されます。「クラスタの作成」ダイアログ・ボックスでは、すべてのアドオンが無効化されています。「WebLogic Kubernetes Operatorアドオンのインストール」を参照してください。

    4. 「次へ」を選択します。

    5. 「ネットワーク」ページの「クラスタの作成」ダイアログ・ボックスで、次の情報を指定します:

      • ネットワーク・タイプ クラスタ内のノードで実行されているポッドが、クラスタのコントロール・プレーン・ノード、他のクラスタ上のポッド、他のサービス(ストレージ・サービスなど)およびインターネットと通信する方法を指定します。

        Flannel Overlayネットワーク・タイプは、Flannel Overlayネットワーク内のポッド間の通信をカプセル化します。Flannelオーバーレイ・ネットワークとは、IPアドレスがコンテナにアタッチされることでOKEネットワーキング・モデルの要件を満たす、単純なプライベート・オーバーレー仮想ネットワークのことです。プライベート・オーバーレイ・ネットワークのポッドには、同じクラスタ内の他のポッドからのみアクセスできます。詳細は、Creating Flannel Overlay Network Resourcesを参照してください。

      • VCNネイティブ・ポッド・ネットワーキングは、Kubernetesクラスタ内のノードをOKE VCN内のポッド・サブネットに接続します。As a result, pod IP addresses within the OKE VCN are directly routable from other VCNs that are connected (peered) to the OKE VCN, and from on-premises networks.詳細は、VCNネイティブ・ポッド・ネットワーク・リソースの作成を参照してください。

        ノート

        VCNネイティブ・ポッド・ネットワーキングを指定する場合、指定するVCNにはpodという名前のサブネットが必要です。VCNネイティブ・ポッド・ネットワーク・リソースの作成を参照してください。

      • VCN. Select the VCN that has the configuration of the "oke_vcn" VCN described in Creating a VCN (Flannel Overlay) or Creating a VCN (VCN-Native Pod).

      • KubernetesサービスLBのサブネット。Kubernetesクラスタでロード・バランサをホストするように構成されたサブネット。パブリック・クラスタを作成するには、ワーカー・ロード・バランサ・サブネット(Flannel Overlay)の作成またはワーカー・ロード・バランサ・サブネット(VCNネイティブ・ポッド)の作成で説明されている、service-lbサブネットのパブリック・バージョンを作成して指定します。プライベート・クラスタを作成するには、ここでservice-lbサブネットのプライベート・バージョンを作成して指定します。

      • Kubernetes API Endpoint Subnet. The regional subnet in which to place the cluster endpoint. To create a public cluster, create and specify here the public version of the "control-plane-endpoint" subnet described in Creating an OKE Control Plane Subnet (Flannel Overlay) or Creating a Control Plane Subnet (VCN-Native Pod). To create a private cluster, create and specify here the private version of the "control-plane-endpoint" subnet.

      • KubernetesサービスCIDRブロック(オプション)デフォルト値は10.96.0.0/16です。

      • ポッドCIDRブロック(オプション)デフォルト値は10.244.0.0/16です。

      • Network Security Group. If you check the box to enable network security groups, select Add Network Security Group and select an NSG from the drop-down list. You might need to change the compartment to find the NSG you want.

    6. 「次へ」を選択します。

    7. 「ノード・プール」ページで、「ノード・プールの追加」ボタンを選択し、オプションで、このクラスタの作成の一部としてノード・プールを追加します。クラスタの作成後にノード・プールを追加するには、「OKEワーカー・ノード・プールの作成」を参照してください。

      「ノード・プールの追加」ボタンを選択した場合は、「ノード・プールの追加」セクションに次の情報を入力します。

      • 名前: 新しいノード・プールの名前。機密情報の使用は避けてください。

      • コンパートメント: 新しいノード・プールを作成するコンパートメントです。

      • ノード数: このノード・プール内のノード数を入力します。デフォルトは0です。最大数はクラスタ当たり128で、複数のノード・プールに分散できます。

      • ネットワーク・セキュリティ・グループ、配置構成、ソース・イメージ、シェイプおよびポッド通信の詳細は、OKEワーカー・ノード・プールの作成を参照してください。

    8. 入力を確認してください。

      ノード・プールを作成した場合は、このレビューでノード・プールを編集または削除できます。

    9. 「発行」を選択します。

      クラスタの詳細ページが表示されます。「リソース」セクションまでスクロールし、「作業リクエスト」を選択して、クラスタ作成の進行状況を確認します。ノード・プールを作成した場合、クラスタがアクティブでCLUSTER_CREATE作業リクエストが成功した後も、NODEPOOL_CREATE作業リクエストがしばらく進行中である可能性があります。

      「リソース」で、「作業リクエスト」を選択して、クラスタ作成の進行状況を確認します。

      クラスタの詳細ページでは、「タグ」タブにOraclePCAタグはリストされません(また、OraclePCAタグの値でクラスタのリストをフィルタすることはできません)。OraclePCAタグの設定を確認するには、CLIを使用します。

      クラスタの詳細ページには、クラスタ・コントロール・プレーン・ノードは表示されません。コントロール・プレーン・ノードを表示するには、このクラスタを作成したコンパートメント内のインスタンスのリストを表示します。コントロール・プレーン・ノードの名前は、次の形式になります。

      oke-ID1-control-plane-ID2
                     
      • ID1 - ccc_name の後の最初の32文字がクラスタOCIDです。

      • ID2 - クラスタに複数のコントロール・プレーン・ノードがある場合に追加される一意の識別子。

      このクラスタOCIDの ID1 文字列を含む名前を持つインスタンスをリストで検索します。

    次の手順:

  • 新しいクラスタを作成するには、oci ce cluster createコマンドと必要なパラメータを使用します。

    oci ce cluster create --compartment-id <coompartment_OCID> --kubernetes-version <version-to-install> --name <cluster_name> --vcn-id <VCN_OCID> [OPTIONS]

    クラスタ・アドオンをインストールするには、クラスタの作成後にcluster install-addonコマンドを使用します。「WebLogic Kubernetes Operatorアドオンのインストール」を参照してください。

    プロシージャ

    1. コマンドの実行に必要な情報を取得します。

      • クラスタを作成するコンパートメントのOCID: oci iam compartment list

      • クラスタの名前。機密情報を入力しないでください。

      • 使用するKubernetesバージョン。使用可能なKubernetesバージョンのリストを表示するには、次のコマンドを使用します:

        oci ce cluster-options get --cluster-option-id all

        compute image listコマンドを使用して表示名を検索することで、より多くのKubernetesバージョンをリストできる場合があります。次の例では、イメージ内のKubernetesバージョンは1.29.9です:

        "display-name": "uln-pca-Oracle-Linux8-OKE-1.29.9-20250325.oci"

        リストされていないバージョンを指定する別の方法は、キーワードallのかわりに古いクラスタのOCIDを--cluster-option-idオプションの引数として使用して、指定したクラスタに使用されるKubernetesバージョンをリストすることです。

        oci ce cluster-options get --cluster-option-id cluster_OCID
      • クラスタを作成する仮想クラウド・ネットワーク(VCN)のOCID。VCNの作成(Flannel Overlay)またはVCNの作成(VCNネイティブ・ポッド)の説明に従って、oke_vcn VCNの構成を持つVCNを指定します。

      • OKEサービスLBサブネットのOCID。「ワーカー・ロード・バランサ・サブネット(Flannel Overlay)の作成」または「ワーカー・ロード・バランサ・サブネット(VCNネイティブ・ポッド)の作成」で説明されているservice-lbサブネットなどの構成を持つサブネットを指定します。1つのOKEサービスLBサブネットのみを指定してください。

      • Kubernetes APIエンドポイント・サブネットのOCID。「OKEコントロール・プレーン・ロード・バランサ・サブネット(フランネル・オーバーレイ)の作成」または「コントロール・プレーン・サブネット(VCNネイティブ・ポッド)」で説明されている、制御プレーン・エンドポイント・サブネットなどの構成を持つサブネットを指定します。パブリック・クラスタの場合は、手順に従って、service-lbサブネットのパブリック・バージョンを作成します。プライベート・クラスタの場合は、service-lbサブネットのプライベート・バージョンを作成します。OKEサービスLBサブネットを1つのみ指定します。

      • OKEサービスCIDRブロック。(オプション)デフォルト値は10.96.0.0/16です。

      • ポッドCIDRブロック(オプション)デフォルト値は10.244.0.0/16です。

      • (オプション)クラスタ・エンドポイントに適用するネットワーク・セキュリティ・グループのOCID。複数のNSGを指定しないでください。NSGを指定する場合は、次の構文を使用します。

        --endpoint-nsg-ids '["ocid1.networksecuritygroup.unique_ID"]'
      • (オプション) RSA形式の公開SSH鍵。クラスタの作成後にSSHキーを追加または更新することはできません。

      • ネットワークタイプ。(オプション)--cluster-pod-network-optionsオプションの引数で、cniTypeパラメータの値にOCI_VCN_IP_NATIVEまたはFLANNEL_OVERLAYを指定します。コンソール・タブのFlannelオーバーレイおよびVCNネイティブ・ポッド・ネットワーキングの説明を参照してください。--cluster-pod-network-optionsオプションを指定しない場合、FLANNEL_OVERLAYが使用されます。

        --cluster-pod-network-options '[{"cniType": "OCI_VCN_IP_NATIVE"}]'
        ノート

        OCI_VCN_IP_NATIVEを指定する場合、指定するVCNには、podという名前のサブネットが必要です。

    2. (オプション) --defined-tagsまたは--freeform-tagsオプションを使用して、クラスタ・リソースのフリーフォーム・タグを追加します。

      ノート

      OraclePCA-OKE.cluster_id定義済タグまたはClusterResourceIdentifierフリーフォーム・タグの値を指定しないでください。これらのタグ値はシステムによって生成され、クラスタ・リソースではなくノード(インスタンス)にのみ適用されます。

      --defined-tagsオプションの引数を定義して、コントロール・プレーン・ノードに次の情報を指定します。タグ・ネームスペースとしてOraclePCAを指定します。

      ノート

      これらの値(SSHキー、ノード数、ノード・シェイプまたはノード・シェイプ構成)は、クラスタの作成後に設定または変更できません。クラスタの更新時にこれらのタグを設定した場合、新しい値は無視されます。

      • SSH公開鍵

        タグ・キーにsshkeyを指定し、値として公開SSHキーを貼り付けます。

        重要

        クラスタの作成後にSSHキーを追加することはできません。

      • ノードの数

        デフォルトでは、コントロール・プレーンのノード数は3です。1ノード、3ノードまたは5ノードを指定できます。コントロール・プレーン・ノードの数を指定するには、タグ・キーにcpNodeCountを指定し、値に13または5を入力します。

      • ノード・シェイプ

        VM.PCAStandard.E5などのシェイプを指定します。フレックス

      • ノード・シェイプ構成

        シェイプの構成を指定します。

        デフォルト構成は、1 OCPUおよび10GBのメモリーです。

        シェイプ構成情報を指定するには、タグ・キーにcpNodeShapeConfigを指定します。必要なOCPUの数(ocpus)を指定し、必要なメモリーの合計量(memoryInGBs)を指定できます。ギガバイトのメモリーのデフォルト値は、OCPUに指定した数の16倍です。

        ノート

        クラスタに1から10のワーカー・ノードが含まれる場合は、16 GB以上のメモリーを指定します。クラスタに11から128のワーカー・ノードが含まれる場合は、少なくとも2つのOCPUと32 GBのメモリーを指定します。クラスタの更新時に、OCPUの数やメモリー量を変更することはできません。

        次のサンプル・ファイルなど、定義済タグをインラインまたはJSON形式のファイルで指定します。

        {
          "OraclePCA": {
            "sshkey": "ssh-rsa <remainder_of_key_text>",
            "cpNodeCount": 1,
            "cpNodeShape": "VM.PCAStandard1.Flex",
            "cpNodeShapeConfig": {
              "ocpus": 2,
              "memoryInGBs": 48
            }
          }
        }

        次の構文を使用して、タグのファイルを指定します。ファイルがコマンドを実行しているディレクトリと同じディレクトリにある場合を除き、.jsonファイルへのフルパスを指定します。

        --defined-tags file://cluster_tags.json
    3. (オプション)--service-lb-defined-tagsまたは--service-lb-freeform-tagsオプションを使用して、Kubernetesサービスによって作成されたすべてのロード・バランサに適用されるタグを指定できます。適用可能な動的グループにuse tag-namespacesポリシーが含まれていることを確認します。コンテナ化されたアプリケーションの公開を参照してください。

    4. クラスタの作成コマンドを実行します。

      指定する--endpoint-subnet-idがパブリック・サブネットの場合、パブリック・エンドポイントが作成され、--endpoint-public-ip-enabledオプションをtrueに設定する必要があります。

      指定する--endpoint-subnet-idがプライベート・サブネットの場合は、プライベート・エンドポイントが作成され、--endpoint-public-ip-enabledオプションをfalseに設定する必要があります。

      例:

      $ oci ce cluster create \
      --compartment-id ocid1.compartment.unique_ID --kubernetes-version version \
      --name "Native Cluster" --vcn-id ocid1.vcn.unique_ID \
      --cluster-pod-network-options '{"cniType":"OCI_VCN_IP_NATIVE"}' \
      --endpoint-subnet-id control-plane-endpoint_subnet_OCID \
      --endpoint-public-ip-enabled false \
      --service-lb-subnet-ids '["service-lb_subnet_OCID"]' \
      --defined-tags '{"OraclePCA":{"sshkey":"ssh-rsa remainder_of_key_text"}}'

      このcluster createコマンドの出力は、cluster getコマンドの出力と同じです。

      work-request getコマンドを使用して、作成操作のステータスを確認します。作業リクエストOCIDは、cluster create出力のmetadataセクションのcreated-by-work-request-idにあります。

      $ oci ce work-request get --work-request-id workrequest_OCID
      

      このクラスタのコントロール・プレーン・ノードを識別するには、クラスタを作成したコンパートメント内のインスタンスをリストします。コントロール・プレーン・ノードの名前は、次の形式になります。

      oke-ID1-control-plane-ID2
      • ID1 - クラスタOCIDの pca_name の後の最初の32文字。

      • ID2 - クラスタに複数のコントロール・プレーン・ノードがある場合に追加される一意の識別子。

      このクラスタOCIDの ID1 文字列を含む名前を持つインスタンスをリストで検索します。

    CLIのコマンド、フラグおよびオプションの完全なリストは、コマンドライン・リファレンスを参照してください。

    次の手順:

  • CreateCluster操作を使用して、新しいクラスタを作成します。

    APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKについては、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。

    次の手順: