クラスタ・アドオンとしてのOCIネイティブ・イングレス・コントローラのインストール
OCIネイティブ・イングレス・コントローラをクラスタ・アドオンとしてインストールする方法をご紹介します。
前提条件が完了したら、OCIネイティブ・イングレス・コントローラをクラスタ・アドオンとしてデプロイできます。OCI Native Ingress Controllerアドオンのデプロイを参照してください。
OCIネイティブ・イングレス・コントローラ・クラスタ・アドオンをインストールした後で、それを使用する前に、必要なKubernetesイングレス関連リソースも作成する必要があります。IngressClassParameters、IngressClassおよびイングレス・リソースの作成を参照してください
OCIネイティブ・イングレス・コントローラ・アドオンのデプロイ
次のステップの手順では、OCIネイティブ・イングレス・コントローラをクラスタ・アドオン(OCIネイティブ・イングレス・コントローラ・アドオン)としてデプロイし、Kubernetesイングレス・リソースで定義されたルールおよび構成オプションを実装して、受信トラフィックをロード・バランシングし、クラスタ内のワーカー・ノードで実行されているサービス・ポッドにルーティングする方法について説明します:
- ステップ1: OCIネイティブ・イングレス・コントローラのアドオン構成ファイルの作成
- ステップ2: OCIネイティブ・イングレス・コントローラ・アドオンをクラスタにデプロイし、デプロイメントが成功したことを確認します
ステップ1: OCIネイティブ・イングレス・コントローラのアドオン構成ファイルの作成
次の手順では、CLIを使用してOCIネイティブ・イングレス・コントローラ・アドオンをデプロイできるようにするOCIネイティブ・イングレス・コントローラ・アドオン構成ファイルを作成する方法について説明します。構成ファイルには、承認されたキー/値ペアの構成引数が含まれています。CLI (またはAPI)を使用してアドオンをデプロイする場合は、構成ファイルを作成する必要があります。コンソールを使用してOCIネイティブ・イングレス・コントローラ・アドオンをデプロイすることもできます。その場合は、UIで構成引数を指定します。コンソールを使用したOCIネイティブ・イングレス・コントローラ・アドオンのデプロイの詳細は、クラスタ・アドオンのインストールを参照してください。
-
適切なエディタで、選択した名前で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" } ] }
- 作成した
native-ingress-controller-addon.json
ファイルで、authType
パラメータを使用して、OCIネイティブ・イングレス・コントローラを設定してOCIサービスおよびリソースにアクセスする方法を指定します:- OCIネイティブ・イングレス・コントローラがOCIサービスおよびリソースにアクセスできるようにインスタンス・プリンシパルを設定した場合は、
authType
パラメータをinstance
に設定します。 - OCIネイティブ・イングレス・コントローラがOCIサービスおよびリソースにアクセスできるようにワークロード・アイデンティティ・プリンシパルを設定した場合は、
authType
パラメータをworkloadIdentity
に設定します。 - OCIネイティブ・イングレス・コントローラがOCIサービスおよびリソースにアクセスできるようにユーザー・プリンシパルを設定した場合は、
authType
パラメータをuser
に設定します。
例:
"key": "authType", "value": "workloadIdentity"
instance
はauthType
パラメータのデフォルト値であるため、authType
の値を明示的に指定しない場合、OCIネイティブ・イングレス・コントローラは、OCIサービスおよびリソースにアクセスするために実行されているインスタンスのIDを使用します。詳細は、OCIサービスおよびリソースへのアクセスを有効にするためのInstance Principal、User PrincipalまたはWorkload Identity Principalの設定を参照してください。 - OCIネイティブ・イングレス・コントローラがOCIサービスおよびリソースにアクセスできるようにインスタンス・プリンシパルを設定した場合は、
- 作成した
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": "workloadIdentity" }, { "key": "logVerbosity", "value": "2" } ] }
native-ingress-controller-addon.json
ファイルを保存して閉じます。
ステップ2: OCIネイティブ・イングレス・コントローラ・アドオンをクラスタにデプロイし、デプロイメントが成功したことを確認します
次の手順では、CLIおよび構成ファイルを使用してOCIネイティブ・イングレス・コントローラ・アドオンをデプロイする方法について説明します。コンソールとAPIを使用してアドオンをデプロイすることもできます。詳細は、クラスタ・アドオンのインストールを参照してください。
-
まだ実行していない場合は、ステップに従って、クラスタのkubeconfig構成ファイルを設定し、(必要に応じて)そのファイルを指すようにKUBECONFIG環境変数を設定します。自分のkubeconfigファイルを設定する必要があります。別のユーザーが設定したkubeconfigファイルを使用してクラスタにアクセスすることはできません。クラスタ・アクセスの設定を参照してください。
- 次のように入力して、OCIネイティブ・イングレス・コントローラ・アドオンがまだクラスタにインストールされていないことを確認します:
oci ce cluster list-addons --cluster-id <cluster-ocid>
<cluster-ocid>
は、OCIネイティブ・イングレス・コントローラ・アドオンをデプロイするクラスタのOCIDです。 -
次のように入力して、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ネイティブ・イングレス・コントローラ・アドオンをデプロイするための作業リクエストが作成されます。
-
次のように入力して、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を使用してアドオンを更新することもできます。詳細は、「クラスタ・アドオンの更新」を参照してください。
-
OCIネイティブ・イングレス・コントローラのアドオン構成ファイルを適切なエディタで開きます。
-
必要に応じて、構成ファイルの構成引数を追加、削除または変更します。設定できる引数の詳細は、OCI Native Ingress Controllerのアドオン構成の引数を参照してください。
- OCI ce cluster update-addonコマンドを使用して、次のように入力してOCIネイティブ・イングレス・コントローラ・アドオンを更新します:
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を使用してアドオンを更新することもできます。詳細については、Disabling (and Removing) a Cluster Add-onを参照してください。
-
次のように入力して、OCI ce cluster disable-addonコマンドを使用してOCIネイティブ・イングレス・コントローラ・アドオンを無効化(およびオプションで削除)します:
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ネイティブ・イングレス・コントローラ・アドオンを無効化(およびオプションで削除)するための作業リクエストが作成されます。
- (オプション)
kubectl delete
コマンドを使用して、OCIネイティブ・イングレス・コントローラ・アドオンによって管理されていないKubernetesイングレス関連リソース(IngressClassParameters、IngressClass、イングレス・リソースなど)を削除します。