kubectlを使用したイングレス・ゲートウェイ・ルート表の管理

kubectlコマンドを使用すると、イングレス・ゲートウェイ・ルート表を作成、更新、移動、リスト、表示および削除できます。次のトピックでは、kubectlを使用してこれらの操作を管理する方法について説明します。

イングレス・ゲートウェイのルート表に必要なIAMポリシー

イングレス・ゲートウェイ・ルート表を使用するには、管理者がポリシー(IAM)で必要なアクセス・タイプを付与する必要があります。コンソール、REST API、SDK、CLI、Kubernetes kubectlまたはその他のツールのいずれを使用している場合でも、適切な権限が必要です。

アクションによって権限が拒否または認可されていないメッセージが生成される場合は、管理者にいくつかの設定を確認してください。管理者は、適切なタイプのアクセス権が付与され、正しいコンパートメントが指定されていることを確認する必要があります。

たとえば、グループMeshAdminsのユーザーがコンパートメントsales-app内のすべてのイングレス・ルート表を作成、更新および削除できるようにするには:

Allow group MeshAdmins to manage mesh-ingress-gateway-route-tables in compartment sales-app

各リソースのサービス・メッシュIAMポリシー・リファレンスの詳細は、サービス・メッシュIAMポリシーを参照してください。

サービス・メッシュに必要なすべてのIAMポリシーを設定するステップバイステップ・ガイドは、サービス・メッシュに必要なポリシーの設定を参照してください

イングレス・ゲートウェイのルート表のKubernetes構成オプションの表示

カスタム・リソース定義(CRD)を表示することで、Kubernetes CLIイングレス・ゲートウェイ・ルート表YAML構成オプションを表示できます。次のコマンドを使用します:

kubectl describe crd ingressgatewayroutetables.servicemesh.oci.oracle.com

CRDでは、spec:schema:openAPIV3Schema:properties:specの下のYAML構成ファイルで使用されているフィールドが表示されます。CRD出力には、フィールド・タイプ、範囲および制限に関する情報も含まれます。次の項では、YAML構成ファイルの例を示します。

イングレス・ゲートウェイのルート表の作成、更新または移動

イングレス・ゲートウェイ・ルート表を作成するには、kubectl applyコマンドを使用します。次に例を示します。

kubectl apply -f ingress-gateway-rt.yaml

イングレス・ゲートウェイ・ルート表の作成に使用されるサンプルyaml構成ファイルを次に示します。

apiVersion: servicemesh.oci.oracle.com/v1beta1
kind: IngressGatewayRouteTable
metadata:
  name: <sample-ingress-gateway>-route-table    # Name of Ingress Gateway Route Table
  namespace: <sample-namespace>
spec:
  compartmentId: ocid1.compartment.oc1..aaa...
  name: <sample-ig-rt>       # Ingress Gateway Route Table name inside the mesh
  description: This Ingress Gateway Route Table
  ingressGateway:
    ref:
      name: <sample-ingress-gateway>
  routeRules:
    - httpRoute:
        ingressGatewayHost:
          name: samplehost
        path: /foo
        pathType: PREFIX
        isGrpc: false
        destinations:
          - virtualService:
              ref:
                name: <vs-sample-page>
kubectlを使用してイングレス・ゲートウェイのルート表を更新するには:
  1. 構成ファイルを必要に応じて変更します。
  2. ファイルを保存します。
  3. applyコマンドを再度実行します。
イングレス・ゲートウェイ・ルート表を別のコンパートメントに移動するには:
  1. コンパートメントOCIDをターゲット・コンパートメントの値に更新します。
  2. ファイルを保存します。
  3. applyコマンドを再度実行します。

イングレス・ゲートウェイのルート表のリストの取得

ネームスペース内のイングレス・ゲートウェイ・ルート表のリストを取得するには、次のコマンドを使用します:

kubectl get ingressgatewayroutetables -n <namespace>

イングレス・ゲートウェイのルート表の表示

ネームスペース内の特定のイングレス・ゲートウェイ・ルート表の詳細を表示するには、次のコマンドを使用します:

kubectl describe ingressgatewayroutetable <name> -n <namespace>

イングレス・ゲートウェイのルート表の削除

ネームスペース内の特定のイングレス・ゲートウェイ・ルート表を削除するには、次のコマンドを使用します:

kubectl delete ingressgatewayroutetable <name> -n <namespace>