Utilisez l'Ingress APIG pour exposer les services du cluster via la passerelle API native cloud.
Pour des raisons de sécurité, l'Ingress APIG ne permet pas d'exposer les services dans le namespace kube-system.
Prérequis
Vous avez créé un cluster managé ACK exécutant Kubernetes 1.18 ou une version ultérieure.
Vous avez accordé les permissions requises à l'APIG Controller.
Installer l'APIG Controller
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Components and Add-ons .
Sur la page Add-ons, recherchez
APIGet cliquez sur Install sur la carte APIG Controller.-
Dans la boîte de dialogue Install APIG Controller, configurez les paramètres et cliquez sur OK.
-
Create :
Crée automatiquement une instance de passerelle API native cloud en paiement à l'utilisation avec la spécification
apig.small.x1.ImportantLorsque vous sélectionnez Create, une ressource ApigConfig et une instance de passerelle API native cloud sont automatiquement créées. La suppression de la ressource ApigConfig entraîne également la suppression de l'instance de passerelle associée. Ne supprimez pas la ressource ApigConfig.
Si un IngressClass nommé
apigexiste déjà dans le cluster, le module complémentaire ne crée ni ressource ApigConfig ni instance de passerelle.
-
Select Existing VPC :
Sélectionnez une instance existante de passerelle API native cloud en paiement à l'utilisation. L'instance doit se trouver dans le même VPC que le cluster et ne doit pas être liée à un autre cluster. Si l'instance que vous souhaitez utiliser n'apparaît pas dans la liste, vérifiez si elle est déjà liée à un autre cluster. Les instances déjà liées n'apparaissent pas dans la liste. Dans ce cas, sélectionnez Create pour créer une nouvelle instance de passerelle API native cloud.
Si une erreur Failed to pass the precheck. survient lors de l'installation, accordez les permissions requises à l'APIG Controller .
-
Après l'installation, une ressource ApigConfig nommée
apig-controller-pro-{clusterid}est créée dans le cluster. Dans la console Cloud-native API Gateway, une instance de passerelle nomméeapig-controller-pro-{clusterid}apparaît dans la région correspondante.
Créer un exemple d'application
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
-
Sur la page Deployments, cliquez sur Create from YAML. Utilisez le code YAML suivant pour déployer un Deployment nommé
httpbinet un Service nommé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 Cliquez sur View et vérifiez que le statut du pod est
Running.
Configurer l'Ingress APIG
Dans le volet de navigation de gauche, choisissez Ingresses > Ingresses. Sur la page Ingresses, cliquez sur Create Ingress.
Dans la boîte de dialogue Create Ingress, définissez Gateway Type sur APIG Ingress, Ingresses sur Prefix Match et Path sur
/pour transférer les requêtes vers le servicehttpbin, puis cliquez sur OK.Sur la page Ingresses, repérez le point de terminaison Ingress dans la colonne Endpoint. Accédez à
endpoint/versionougateway public IP/versiondepuis un navigateur ou la CLI. Une réponseversion: v1confirme que l'Ingress fonctionne.Connectez-vous à la console Cloud-native API Gateway. Dans l'instance de passerelle correspondante, recherchez une API dont le nom contient
{gwid}-ingress.