OKEクラスタの作成

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

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

重要

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

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

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

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

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

  • クラスタを作成するには、十分なリソースを使用できる必要があります。

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

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

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キー

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

          重要

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

        • Number of nodes.

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

        • Node shape.

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

      • Network Type. Specifies how pods running on nodes in the cluster communicate with each other, with the cluster's control plane nodes, with pods on other clusters, with other services (such as storage services), and with the internet.

        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 Networking).

      • 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 Service CIDR Block. (Optional) The default value is 10.96.0.0/16.

      • Pods CIDR Block. (Optional) The default value is 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 文字列が名前に含まれているインスタンスをリストで検索します。

    次の手順:

    1. クラスタのKubernetes構成ファイルを作成します。Kubernetes構成ファイルの作成を参照してください。

    2. Kubernetes Dashboardをデプロイして、クラスタを管理し、クラスタで実行されているアプリケーションを管理およびトラブルシューティングします。https://kubernetes.io/サイトで、Kubernetes Dashboardのデプロイおよびアクセスを参照してください。

    3. クラスタのノード・プールを作成します。「OKEワーカー・ノード・プールの作成」を参照してください。

    4. ワークロード・クラスタのバックアップを作成します。たとえば、Kubernetesのetcdクラスタの操作etcdクラスタのバックアップおよびetcdクラスタのリストアを参照してください。etcdバックアップを使用して、すべてのコントロール・プレーン・ノードの損失などの障害シナリオでOKEクラスタをリカバリします。etcdバックアップには、すべてのOKE状態および重要な情報が含まれます。etcdバックアップでは、クラスタ・ノード上のアプリケーションやその他のコンテンツはバックアップされません。

  • 新しいクラスタを作成するには、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"

        リストされていないバージョンを指定するもう1つの方法は、--cluster-option-idオプションの引数としてキーワードallのかわりに古いクラスタのOCIDを使用して、指定したクラスタに使用される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および10ギガバイトのメモリーです。

        シェイプ構成情報を指定するには、タグ・キーに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コマンド、フラグおよびオプションの完全なリストは、コマンドライン・リファレンスを参照してください。

    次の手順:

    1. クラスタのKubernetes構成ファイルを作成します。Kubernetes構成ファイルの作成を参照してください。

    2. Kubernetes Dashboardをデプロイして、クラスタを管理し、クラスタで実行されているアプリケーションを管理およびトラブルシューティングします。https://kubernetes.io/サイトで、Kubernetes Dashboardのデプロイおよびアクセスを参照してください。

    3. クラスタのノード・プールを作成します。「OKEワーカー・ノード・プールの作成」を参照してください。

    4. ワークロード・クラスタのバックアップを作成します。たとえば、Kubernetesのetcdクラスタの操作etcdクラスタのバックアップおよびetcdクラスタのリストアを参照してください。etcdバックアップを使用して、すべてのコントロール・プレーン・ノードの損失などの障害シナリオでOKEクラスタをリカバリします。etcdバックアップには、すべてのOKE状態および重要な情報が含まれます。etcdバックアップでは、クラスタ・ノード上のアプリケーションやその他のコンテンツはバックアップされません。

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

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

    次の手順:

    1. クラスタのKubernetes構成ファイルを作成します。Kubernetes構成ファイルの作成を参照してください。

    2. Kubernetes Dashboardをデプロイして、クラスタを管理し、クラスタで実行されているアプリケーションを管理およびトラブルシューティングします。https://kubernetes.io/サイトで、Kubernetes Dashboardのデプロイおよびアクセスを参照してください。

    3. クラスタのノード・プールを作成します。「OKEワーカー・ノード・プールの作成」を参照してください。

    4. ワークロード・クラスタのバックアップを作成します。たとえば、Kubernetesのetcdクラスタの操作etcdクラスタのバックアップおよびetcdクラスタのリストアを参照してください。etcdバックアップを使用して、すべてのコントロール・プレーン・ノードの損失などの障害シナリオでOKEクラスタをリカバリします。etcdバックアップには、すべてのOKE状態および重要な情報が含まれます。etcdバックアップでは、クラスタ・ノード上のアプリケーションやその他のコンテンツはバックアップされません。