APIG Ingress を使用して、Cloud-native API Gateway 経由でクラスター内サービスを公開します。
セキュリティ上の理由から、APIG Ingress では kube-system 名前空間内のサービスを公開することはできません。
前提条件
-
作成した Container Service for Kubernetes (ACK) マネージドクラスターが、Kubernetes 1.18 以降を実行していること。
-
APIG Controller に必要な権限を付与済みであること。
APIG Controller のインストール
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
-
アドオン管理 ページで、
APIGを検索し、APIG Controller カードの インストール をクリックします。 -
インストール APIG Controller ダイアログボックスで、パラメーターを設定し、OK をクリックします。
-
Create:
apig.small.x1仕様の従量課金制 Cloud-native API Gateway インスタンスを自動的に作成します。重要-
Create を選択すると、デフォルトで ApigConfig リソースと Cloud-native API Gateway インスタンスが作成されます。ApigConfig リソースを削除すると、関連付けられた Cloud-native API Gateway インスタンスも削除されます。ApigConfig リソースは削除しないでください。
-
クラスター内に
apigという名前の IngressClass がすでに存在する場合、アドオンは ApigConfig リソースや Cloud-native API Gateway インスタンスを作成しません。
-
-
既存を使用:
既存の従量課金制 Cloud-native API Gateway インスタンスを選択します。インスタンスはクラスターと同じ VPC 内にあり、他のクラスターにバインドされていない必要があります。
インストール中に [事前チェックに合格しませんでした。] エラーが発生した場合は、APIG Controller に必要な権限を付与してください。
-
-
インストール後、
apig-controller-pro-{clusterid}という名前の ApigConfig リソースがクラスターに表示されます。Cloud-native API Gateway コンソールでは、対応するリージョンにapig-controller-pro-{clusterid}という名前のゲートウェイインスタンスが表示されます。
サンプルアプリケーションの作成
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
-
デプロイメント ページで、YAML のリソースの作成 をクリックします。次の YAML を使用して、
httpbinという名前のデプロイメントとhttpbinという名前のサービスをデプロイします。apiVersion: apps/v1 kind: Deployment metadata: name: httpbin namespace: default spec: replicas: 1 selector: matchLabels: app: httpbin template: metadata: labels: app: httpbin version: v1 spec: containers: - image: registry.cn-hangzhou.aliyuncs.com/mse-ingress/go-httpbin args: - "--version=v1" imagePullPolicy: Always name: httpbin --- apiVersion: v1 kind: Service metadata: name: httpbin namespace: default spec: ports: - port: 8080 protocol: TCP selector: app: httpbin type: ClusterIP -
[表示] をクリックし、Pod のステータスが
Runningであることを確認します。
APIG Ingress の設定
-
左側メニューで、Ingress > Ingress を選択します。Ingress ページで、Ingress の作成 をクリックします。
-
Ingress の作成 ダイアログボックスで、ゲートウェイタイプ を [APIG Ingress] に、Ingress を [プレフィックス一致] に、パス を
/に設定してリクエストをhttpbinサービスに転送するようにし、OK をクリックします。 -
Ingress ページで、エンドポイント 列にある Ingress エンドポイントを見つけます。ブラウザまたは CLI から
endpoint/versionまたはgateway public IP/versionにアクセスします。version: v1という応答があれば、Ingress が機能していることを確認できます。 -
Cloud-native API Gateway コンソールにログインします。対応するゲートウェイインスタンスで、名前に
{gwid}-ingressが含まれる API を見つけます。