クラスタ・アドオンとしてのOCIネイティブ・イングレス・コントローラのインストール

OCIネイティブ・イングレス・コントローラをクラスタ・アドオンとしてインストールする方法を確認します。

前提条件が完了したら、OCIネイティブ・イングレス・コントローラをクラスタ・アドオンとしてデプロイできます。OCI Native Ingress Controllerアドオンのデプロイを参照してください。

OCIネイティブ・イングレス・コントローラ・クラスタ・アドオンをインストールした後、それを使用する前に、必要なKubernetesイングレス関連リソースも作成する必要があります。IngressClassParameters、IngressClassおよびイングレス・リソースの作成を参照してください

OCIネイティブ・イングレス・コントローラ・アドオンのデプロイ

次のステップの手順では、OCIネイティブ・イングレス・コントローラをクラスタ・アドオン(OCIネイティブ・イングレス・コントローラ・アドオン)としてデプロイし、Kubernetesイングレス・リソースで定義されたルールおよび構成オプションを実装して、受信トラフィックをロード・バランシングし、クラスタ内のワーカー・ノードで実行されているサービス・ポッドにルーティングする方法について説明します:

ステップ1: OCIネイティブ・イングレス・コントローラ・アドオン構成ファイルの作成

ノート

次の手順では、CLIを使用してOCIネイティブ・イングレス・コントローラ・アドオンをデプロイできるようにするOCIネイティブ・イングレス・コントローラ・アドオン構成ファイルを作成する方法について説明します。構成ファイルには、承認されたキー/値ペアの構成引数が含まれています。CLI (またはAPI)を使用してアドオンをデプロイする場合は、構成ファイルを作成する必要があります。コンソールを使用してOCIネイティブ・イングレス・コントローラ・アドオンをデプロイすることもできます。その場合は、UIで構成引数を指定します。コンソールを使用したOCIネイティブ・イングレス・コントローラ・アドオンのデプロイの詳細は、クラスタ・アドオンのインストールを参照してください。

  1. 適切なエディタで、選択した名前でJSONファイルを作成します(これらの手順は、ファイルがnative-ingress-controller-addon.jsonという名前であると想定しています)。これには、次のものが含まれます。

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "<compartment-ocid>"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "<load-balancer-subnet-ocid>"
        }    
      ]
    }

    ここでは:

    • <compartment-id>は、OCIネイティブ・イングレス・コントローラがOCIロード・バランサおよび証明書を作成するコンパートメントのOCIDです。
    • <load-balancer-subnet-ocid>は、ロード・バランサのサブネットのOCIDです。

    例:

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "ocid1.compartment.oc1..aaaaaaaa______ddq"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "ocid1.subnet.oc1.iad.aaaaaaaa______dba"
        }    
      ]
    }
  2. 作成したnative-ingress-controller-addon.jsonファイルで、authTypeパラメータを使用して、OCIサービスおよびリソースにアクセスするためのOCIネイティブ・イングレス・コントローラの設定方法を指定します:
    • OCIネイティブ・イングレス・コントローラがOCIサービスおよびリソースにアクセスできるようにインスタンス・プリンシパルを設定した場合は、authTypeパラメータをinstanceに設定します。
    • OCIネイティブ・イングレス・コントローラがOCIサービスおよびリソースにアクセスできるようにワークロード・アイデンティティ・プリンシパルを設定した場合は、authTypeパラメータをworkloadに設定します。
    • OCIネイティブ・イングレス・コントローラがOCIサービスおよびリソースにアクセスできるようにユーザー・プリンシパルを設定した場合は、authTypeパラメータをuserに設定します。

    例:

          "key": "authType",
          "value": "workload"

    instanceauthTypeパラメータのデフォルト値であるため、authTypeの値を明示的に指定しない場合、OCIネイティブ・イングレス・コントローラは、OCIサービスおよびリソースにアクセスするために実行されているインスタンスのアイデンティティを使用します。詳細は、OCIサービスおよびリソースへのアクセスを有効にするためのInstance Principal、User PrincipalまたはWorkload Identity Principalの設定を参照してください。

  3. 作成したnative-ingress-controller-addon.jsonファイルで、OCIネイティブ・イングレス・コントローラの他のパラメータを指定します。設定できるパラメータの詳細は、OCIネイティブ・イングレス・コントローラのアドオン構成の引数を参照してください。

    例:

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "ocid1.compartment.oc1..aaaaaaaa______ddq"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "ocid1.subnet.oc1.iad.aaaaaaaa______dba"
        },
        {
          "key": "authType",
          "value": "workload"
        },
        {
          "key": "logVerbosity",
          "value": "2"
        }        
      ]
    }
  4. native-ingress-controller-addon.jsonファイルを保存して閉じます。

ステップ2: クラスタにOCIネイティブ・イングレス・コントローラ・アドオンをデプロイし、デプロイメントが成功したことを確認します

ノート

次の手順では、CLIおよび構成ファイルを使用してOCIネイティブ・イングレス・コントローラ・アドオンをデプロイする方法について説明します。コンソールおよびAPIを使用してアドオンをデプロイすることもできます。詳細は、クラスタ・アドオンのインストールを参照してください。

  1. まだ実行していない場合は、ステップに従って、クラスタのkubeconfig構成ファイルを設定し、(必要に応じて)そのファイルを指すようにKUBECONFIG環境変数を設定します。自分のkubeconfigファイルを設定する必要があります。別のユーザーが設定したkubeconfigファイルを使用してクラスタにアクセスすることはできません。クラスタ・アクセスの設定を参照してください。
  2. 次のように入力して、OCIネイティブ・イングレス・コントローラ・アドオンがまだクラスタにインストールされていないことを確認します:
    oci ce cluster list-addons --cluster-id <cluster-ocid>

    <cluster-ocid>は、OCIネイティブ・イングレス・コントローラ・アドオンをデプロイするクラスタのOCIDです。

  3. 次のように入力して、OCIネイティブ・イングレス・コントローラ・アドオンをクラスタにデプロイします:

    oci ce cluster install-addon --addon-name NativeIngressController --cluster-id <cluster-ocid> --from-json file://./<path-to-config-file>

    ここでは:

    • --cluster-id <cluster-ocid>は、OCIネイティブ・イングレス・コントローラ・アドオンをデプロイするクラスタのOCIDです。
    • --from-json file://<path-to-config-file>は、前に作成したOCIネイティブ・イングレス・コントローラ・アドオン構成ファイルの場所を指定します。たとえば、--from-json file://./native-ingress-controller-addon.jsonです。

    例:

    oci ce cluster install-addon --addon-name NativeIngressController --from-json file://./native-ingress-controller-addon.json --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr

    OCIネイティブ・イングレス・コントローラ・アドオンをデプロイするための作業リクエストが作成されます。

  4. 次のように入力して、OCIネイティブ・イングレス・コントローラ・アドオンの正常なデプロイメントを確認します:

    oci ce cluster list-addons --cluster-id <cluster-ocid>

    デプロイメントが成功すると、ACTIVEのライフサイクル状態を持つOCIネイティブ・イングレス・コントローラ・アドオンが出力に表示されます。例:

    {
      "data": [
        {
          "addon-error": null,
          "current-installed-version": "v1.19.0",
          "lifecycle-state": "ACTIVE",
          "name": "NativeIngressController",
          "time-created": "2023-11-06T11:21:11+00:00",
          "version": null
        }
      ]
    }

OCIネイティブ・イングレス・コントローラ・アドオンの更新

ノート

次の手順では、CLIおよび構成ファイルを使用してOCIネイティブ・イングレス・コントローラ・アドオンを更新する方法について説明します。コンソールおよびAPIを使用してアドオンを更新することもできます。詳細は、「クラスタ・アドオンの更新」を参照してください。

  1. 適切なエディタでOCIネイティブ・イングレス・コントローラ・アドオン構成ファイルを開きます。

  2. 必要に応じて、構成ファイルの構成引数を追加、削除または変更します。設定できる引数の詳細は、OCI Native Ingress Controllerのアドオン構成の引数を参照してください。

  3. Update the OCI native ingress controller add-on using the oci ce cluster update-addon command, by entering:
    oci ce cluster update-addon --addon-name NativeIngressController --from-json file://<path-to-config-file> --cluster-id <cluster-ocid>

    ここでは:

    • --cluster-id <cluster-ocid>は、OCIネイティブ・イングレス・コントローラ・アドオンを更新するクラスタのOCIDです。
    • --from-json file://<path-to-config-file>は、アドオンの更新時に使用するOCIネイティブ・イングレス・コントローラ・アドオン構成ファイルの場所を指定します。たとえば、--from-json file://./native-ingress-controller-addon.jsonです。

    例:

    oci ce cluster update-addon --addon-name NativeIngressController --from-json file://./native-ingress-controller-addon.json --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr

    OCIネイティブ・イングレス・コントローラ・アドオンを更新するための作業リクエストが作成されます。

OCIネイティブ・イングレス・コントローラ・アドオンの無効化(および削除)

ノート

次の手順では、CLIおよび構成ファイルを使用してOCIネイティブ・イングレス・コントローラ・アドオンを無効化および削除する方法について説明します。コンソールおよびAPIを使用してアドオンを更新することもできます。詳細は、クラスタ・アドオンの無効化(および削除)を参照してください。

  1. Disable (and optionally remove) the OCI native ingress controller add-on using the oci ce cluster disable-addon command, by entering:

    oci ce cluster disable-addon --addon-name NativeIngressController --cluster-id <cluster-ocid> --is-remove-existing-add-on <true|false>

    ここでは:

    • --cluster-id <cluster-ocid>は、OCIネイティブ・イングレス・コントローラ・アドオンを無効にする(およびオプションで削除する)クラスタのOCIDです。
    • --is-remove-existing-add-on <true|false>は、OCIネイティブ・イングレス・コントローラ・アドオンを完全に削除するか(trueに設定されている場合)、アドオンを削除せずに、単に無効化して使用しないか(falseに設定されている場合)を指定します。アドオンを無効にすると、新しいバージョンが使用可能になったときに Oracleによって自動的に更新されなくなります。

    例:

    oci ce cluster disable-addon --addon-name NativeIngressController --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr --is-remove-existing-add-on true

    OCIネイティブ・イングレス・コントローラ・アドオンを無効にする(およびオプションで削除する)作業リクエストが作成されます。

  2. (オプション) kubectl deleteコマンドを使用して、OCIネイティブ・イングレス・コントローラ・アドオンによって管理されていないKubernetesイングレス関連リソース(IngressClassParameters、IngressClass、イングレス・リソースなど)を削除します。