APIG Ingress を使用して、Cloud-native API Gateway を介してクラスター内のサービスを公開します。
セキュリティ上の理由から、APIG Ingress では kube-system 名前空間内のサービスを公開することはできません。
前提条件
-
Kubernetes 1.18 以降を実行する Container Service for Kubernetes (ACK) マネージドクラスターを作成済みであること。
-
APIG コントローラーに必要な権限を付与済みであること。
APIG コントローラーのインストール
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
ACS コンソール にログインします。左側のナビゲーションペインで、クラスター をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
-
アドオン管理 ページで、
APIGを検索し、[APIG コントローラー] カードの インストール をクリックします。 -
インストール ダイアログボックスで、パラメーターを設定し、OK をクリックします。
-
Create:
apig.small.x1仕様の従量課金制 Cloud-native API Gateway インスタンスが自動的に作成されます。重要-
Create を選択すると、ApigConfig リソースと Cloud-native API Gateway インスタンスが自動的に作成されます。 ApigConfig リソースを削除すると、関連付けられたゲートウェイインスタンスも削除されます。 ApigConfig リソースは削除しないでください。
-
apigという名前の IngressClass がクラスターにすでに存在する場合、アドオンは ApigConfig リソースやゲートウェイインスタンスを作成しません。
-
-
既存を使用:
既存の従量課金制 Cloud-native API Gateway インスタンスを選択します。 インスタンスはクラスターと同じ VPC 内にあり、他のクラスターにバインドされていない必要があります。 使用したいインスタンスがリストに表示されない場合は、そのインスタンスがすでに別のクラスターにバインドされていないか確認してください。 すでにバインドされているインスタンスはリストに表示されません。 この場合は、Create を選択して、新しい Cloud-native API Gateway インスタンスを作成します。
インストール中に [事前チェックに合格しませんでした。] という事前チェックエラーが発生した場合は、APIG コントローラーに必要な権限を付与してください。
-
-
インストール後、
apig-controller-pro-{clusterid}という名前の ApigConfig リソースがクラスターに作成されます。 Cloud-native API Gateway コンソールでは、対応するリージョンにapig-controller-pro-{clusterid}という名前のゲートウェイインスタンスが表示されます。
サンプルアプリケーションの作成
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
-
デプロイメント ページで、YAML のリソースの作成 をクリックします。 次の YAML を使用して、
httpbinという名前のデプロイメントとhttpbinという名前の Service をデプロイします。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 を [前方一致] に、パス を
/に設定してリクエストをhttpbinService に転送し、OK をクリックします。 -
Ingress ページで、エンドポイント 列にある Ingress のエンドポイントを見つけます。 ブラウザーまたは CLI から
endpoint/versionまたはゲートウェイのパブリック IP/versionにアクセスします。version: v1というレスポンスが返ってくれば、Ingress が機能していることが確認できます。 -
Cloud-native API Gateway コンソールにログインします。 対応するゲートウェイインスタンスで、名前に
{gwid}-ingressが含まれる API を見つけることができます。