OKEクラスタの作成

次の手順では、OKEクラスタを作成する方法について説明します。

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

重要:

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

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

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

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

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

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

システム・アップグレードなどの操作について通知が構成されている場合は、このような計画停止を通知するリストが表示されていることを確認します。

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

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

クラスタを作成したら、「クラスタの次のステップ」の項を参照してください。

「コンピュートWeb UI」の使用

  1. ダッシュボードで、「コンテナ / ビュー」Kubernetesクラスタ (OKE)を選択します。

  2. クラスタ・リスト・ページで、「クラスタの作成」ボタンを選択します。

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

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

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

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

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

    • タグ付け: クラスタ・リソースの定義済タグまたはフリーフォーム・タグを追加します。

      ノート:

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

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

      重要:

      Private Cloud Applianceリリース3.0.2-b1081557を使用している場合、これらの定義済タグは認識されません。 フリーフォーム・タグを使用して、「クラスタの作成は拡張パラメータをサポートしていません」の回避策の説明に従ってこれらの値を指定する必要があります。 Private Cloud Applianceリリース3.0.2-b1185392以降では、フリーフォーム・タグは非推奨です。SSHキー、コントロール・プレーン・ノードの数、ノード・シェイプおよびノード構成については、Private Cloud Applianceリリース3.0.2-b1185392以降で定義済のタグを使用してください。

      ノート:

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

      • 公開SSHキー。

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

        重要:

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

      • ノードの数。

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

      • ノード・シェイプ。

        Private Cloud Appliance X10システムの場合、コントロール・プレーン・ノードのシェイプはVM.PCAStandard.E5.Flexであり、変更できません。 他のすべてのPrivate Cloud Applianceシステムでは、デフォルトのシェイプはVM.PCAStandard1.1で、別のシェイプを指定できます。

        別のシェイプを使用するには、タグ・キー(OraclePCA.cpNodeShape)にcpNodeShapeを指定し、「値」フィールドにシェイプの名前を入力します。 各シェイプの説明は、「Oracle Private Cloud Appliance概要ガイド」「コンピュート・シェイプ」を参照してください。

      • ノード・シェイプ構成。

        フレキシブル・シェイプではないシェイプを指定する場合は、シェイプ構成を指定しないでください。 OCPUの数とメモリー容量は、「Oracle Private Cloud Appliance概要ガイド」「コンピュート・シェイプ」の「標準シェイプ」でこのシェイプに表示される値に設定されます。

        フレキシブル・シェイプを指定する場合は、デフォルトのシェイプ構成を変更できます。

        シェイプ構成情報を指定するには、タグ・キー(OraclePCA.cpNodeShapeConfig)にcpNodeShapeConfigを指定します。 必要な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}"
    • Add-ons: このセクションには、このクラスタで使用可能なアドオンのタイルが表示されます。 「クラスタの作成」ダイアログでは、すべてのアドオンが無効化されています。 「WebLogic Kubernetes Operatorアドオンのインストール」を参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

OCI CLIの使用

クラスタ・アドオンをインストールするには、クラスタの作成後に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

      Private Cloud Applianceリリース3.0.2-b1081557を使用している場合、cluster-options getコマンドは使用できません。 compute image listコマンドを使用して、イメージ表示名からKubernetesバージョンを取得します。

    • クラスタを作成する仮想クラウド・ネットワーク(VCN)のOCID。 「フランネル・オーバーレイVCNの作成」または「VCNネイティブ・ポッド・ネットワーキングVCNの作成」で説明されている"oke_vcn" VCNの構成を持つVCNを指定します。

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

    • Kubernetes APIエンドポイント・サブネットのOCID。 「フランネル・オーバーレイ・コントロール・プレーン・ロード・バランサ・サブネットの作成」または「VCNネイティブ・ポッド・ネットワーキング・コントロール・プレーン・ロード・バランサ・サブネットの作成」で説明されている"control-plane-endpoint"サブネットのような構成を持つサブネットを指定します。 パブリック・クラスタの場合は、手順に従って、"control-plane-endpoint"サブネットのパブリック・バージョンを作成します。 プライベート・クラスタの場合は、"control-plane-endpoint"サブネットのプライベート・バージョンを作成します。

    • 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を指定します。 「コンピュートWeb UI」プロシージャの「フランネル・オーバーレイ」および「VCNネイティブ・ポッド・ネットワーキング」の説明を参照してください。 --cluster-pod-network-optionsオプションを指定しない場合は、FLANNEL_OVERLAYが使用されます。

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

      ノート:

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

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

    ノート:

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

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

    重要:

    Private Cloud Applianceリリース3.0.2-b1081557を使用している場合、これらの定義済タグは認識されません。 フリーフォーム・タグを使用して、「クラスタの作成は拡張パラメータをサポートしていません」の回避策の説明に従ってこれらの値を指定する必要があります。 Private Cloud Applianceリリース3.0.2-b1185392以降では、フリーフォーム・タグは非推奨です。SSHキー、コントロール・プレーン・ノードの数、ノード・シェイプおよびノード構成については、Private Cloud Applianceリリース3.0.2-b1185392以降で定義済のタグを使用してください。

    ノート:

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

    • 公開SSHキー。

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

      重要:

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

    • ノードの数。

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

    • ノード・シェイプ。

      Private Cloud Appliance X10システムの場合、コントロール・プレーン・ノードのシェイプはVM.PCAStandard.E5.Flexであり、変更できません。 他のすべてのPrivate Cloud Applianceシステムでは、デフォルトのシェイプはVM.PCAStandard1.1で、別のシェイプを指定できます。

      別のシェイプを使用するには、タグ・キーにcpNodeShapeを指定し、シェイプの名前を値として入力します。 次のコマンドを使用して、使用可能なシェイプとその特性をリストします。

      $ oci compute shape list --compartment-id compartment_OCID
    • ノード・シェイプ構成。

      フレキシブル・シェイプではないシェイプを指定する場合は、シェイプ構成を指定しないでください。 OCPUの数とメモリー容量は、「Oracle Private Cloud Appliance概要ガイド」「コンピュート・シェイプ」の「標準シェイプ」でこのシェイプに表示される値に設定されます。

      フレキシブル・シェイプを指定する場合は、デフォルトのシェイプ構成を変更できます。

      シェイプ構成情報を指定するには、タグ・キーに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文字列を含む名前を持つリスト内のインスタンスを検索します。

クラスタの次のステップ

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

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

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

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