PrivateLink connecte un plan de contrôle ASM à un cluster ACK (plan de données) situé dans la même région mais dans un autre VPC. ASM fournit la définition de ressource personnalisée (CRD) ASMPvlConfig pour simplifier la configuration réseau requise par cette connexion inter-VPC.
Prérequis
Vous avez créé une instance ASM. Pour plus d'informations, consultez la rubrique Créer une instance ASM.
Vous avez créé un cluster ACK dans la même région que l'instance ASM, mais dans un VPC différent. Pour plus d'informations, consultez la rubrique Créer un cluster.
Vous avez activé le service PrivateLink. Pour plus d'informations, consultez la rubrique Prise en main de PrivateLink.
Pour utiliser PrivateLink afin d'établir une connectivité inter-VPC, le vSwitch spécifié pour l'instance ASM et celui spécifié pour le cluster ACK doivent se trouver dans la même zone de disponibilité.
Procédure
-
Ajoutez le cluster ACK à l'instance ASM. Pour plus d'informations, consultez la rubrique Ajouter un cluster à une instance ASM.
Une fois le cluster ajouté, son statut est Connecting. Suivez les étapes ci-dessous pour établir la connectivité.
-
Créez un fichier nommé
asmpvlconfig.yamlavec le contenu suivant.apiVersion: istio.alibabacloud.com/v1beta1 kind: ASMPvlConfig metadata: name: default spec: ackVpcEndpoint: - clusterId: cab9ace222210457a83f09fcd42e9**** vSwitches: - vSwitchId: vsw-bp1jsgsanpvxpj32yai50 zoneId: cn-hangzhou-j asmVpcEndpoint: vSwitches: - vSwitchId: vsw-bp1l5hini55sstnwd2skf zoneId: cn-hangzhou-iLe tableau suivant décrit les champs.
Paramètre Sous-paramètre Description metadatanameNom de l'objet de ressource. La valeur de namedoit êtredefault. Toute autre valeur est invalide.specackVpcEndpointTableau contenant les sous-paramètres suivants pour le VPC du cluster ACK. specackVpcEndpoint.clusterIdID du cluster ACK ajouté à l'instance ASM. Exemple : cab9ace222210457a83f09fcd42e9****.specackVpcEndpoint.vSwitchesTableau des configurations de vSwitch disponibles dans le VPC du cluster ACK. specackVpcEndpoint.vSwitches.vSwitchIdID d'un vSwitch spécifique. Exemple : vsw-bp1jsgsanpvxpj32yai50.specackVpcEndpoint.vSwitches.zoneIdID de la zone de disponibilité du vSwitch. Par exemple, cn-hangzhou-jcorrespond à une zone de disponibilité de la région Chine (Hangzhou). Pour connaître les exigences relatives aux zones de disponibilité, consultez la section Prérequis.specasmVpcEndpointContient les configurations de vSwitch pour le VPC de l'instance ASM. specasmVpcEndpoint.vSwitchesTableau des configurations de vSwitch contenant les sous-paramètres suivants. specasmVpcEndpoint.vSwitches.vSwitchIdID d'un vSwitch spécifique dans le VPC de l'instance ASM. specasmVpcEndpoint.vSwitches.zoneIdID de la zone de disponibilité où se trouve le vSwitch de l'instance ASM. Pour connaître les exigences relatives aux zones de disponibilité, consultez la section Prérequis. -
À l'aide du fichier kubeconfig de l'instance ASM, exécutez la commande suivante pour appliquer la ressource ASMPvlConfig.
kubectl apply -f asmpvlconfig.yaml -
Attendez quelques minutes, puis exécutez la commande suivante pour vérifier le statut de l'objet de ressource ASMPvlConfig.
kubectl get asmpvlconfig default -o yamlSortie attendue :
apiVersion: istio.alibabacloud.com/v1beta1 kind: ASMPvlConfig metadata: name: default spec: ackVpcEndpoint: - clusterId: cab9ace222210457a83f09fcd42**** vSwitches: - vSwitchId: vsw-bp1jsgsanpvxpj32yai50 zoneId: cn-hangzhou-j asmVpcEndpoint: vSwitches: - vSwitchId: vsw-bp1l5hini55sstnwd2skf zoneId: cn-hangzhou-i status: clusters: - clusterId: cab9ace222210457a83f09fcd42**** pvlEndpoint: connectionStatus: Connected domainName: ep-bp1i06bad79eb60c60cc.epsrv-bp1gqb8g1b8d7uactd.cn-hangzhou.privatelink.aliyuncs.com id: ep-bp1i06bad79eb60c60 status: Active pvlEndpointService: id: epsrv-bp1gqb8g1b8d7uactd name: com.aliyuncs.privatelink.cn-hangzhou.epsrv-bp1gqb8g1b8d7uactd status: Active pilot: clusters: - clusterId: cab9ace222210457a83f09fcd42**** pvlEndpoint: connectionStatus: Connected domainName: ep-bp1i52311b91a5a25e.epsrv-bp1cl4qwzkf747ug6tmy.cn-hangzhou.privatelink.aliyuncs.com id: ep-bp1i52311b91a5a25e status: Active pvlEndpointService: id: epsrv-bp1cl4qwzkf747ug6t name: com.aliyuncs.privatelink.cn-hangzhou.epsrv-bp1cl4qwzkf747ug6tmy status: Active status: AvailableLa sortie inclut une section
statusdont les champs sont décrits dans le tableau suivant.Paramètre Description clustersListe des informations de statut des clusters ACK. clusters.clusterIdID unique du cluster ACK. clusters.pvlEndpointDétails relatifs à un endpoint PrivateLink spécifique. clusters.pvlEndpoint.connectionStatusStatut de la connexion PrivateLink utilisée par l'instance ASM. clusters.pvlEndpoint.domainNameNom de domaine de l'endpoint PrivateLink utilisé par l'instance ASM. clusters.pvlEndpoint.idID unique de l'endpoint PrivateLink utilisé par l'instance ASM. clusters.pvlEndpoint.statusStatut de l'endpoint PrivateLink utilisé par l'instance ASM. clusters.pvlEndpointServiceInformations sur la ressource de service d'endpoint PrivateLink. clusters.pvlEndpointService.idID unique du service d'endpoint PrivateLink pour l'instance SLB du serveur API du cluster ACK. clusters.pvlEndpointService.nameNom du service d'endpoint PrivateLink pour l'instance SLB du serveur API du cluster ACK. clusters.pvlEndpointService.statusStatut du service d'endpoint PrivateLink pour l'instance SLB du serveur API du cluster ACK. pilotListe des informations de statut du service géré du plan de contrôle ASM. pilot.clustersListe des statuts des clusters ACK. pilot.clusters.clusterIdID unique du cluster ACK. pilot.clusters.pvlEndpointDétails relatifs à un endpoint PrivateLink spécifique. pilot.clusters.pvlEndpoint.connectionStatusStatut de la connexion PrivateLink utilisée par le cluster ACK. pilot.clusters.pvlEndpoint.domainNameNom de domaine de l'endpoint PrivateLink utilisé par le cluster ACK. pilot.clusters.pvlEndpoint.idID unique de l'endpoint PrivateLink utilisé par le cluster ACK. pilot.clusters.pvlEndpoint.statusStatut de l'endpoint PrivateLink utilisé par le cluster ACK. pilot.pvlEndpointServiceInformations sur la ressource de service d'endpoint PrivateLink. pilot.pvlEndpointService.idID unique du service d'endpoint PrivateLink pour l'instance SLB Pilot de l'instance ASM. pilot.pvlEndpointService.nameNom du service d'endpoint PrivateLink pour l'instance SLB Pilot de l'instance ASM. pilot.pvlEndpointService.statusStatut du service d'endpoint PrivateLink pour l'instance SLB Pilot de l'instance ASM. statusStatut de disponibilité global. La valeur Availableindique que la configuration de connectivité est terminée. Toute autre valeur signale un échec. -
Vérifiez le statut du service d'endpoint et de l'endpoint dans la console PrivateLink.
Connectez-vous à la console PrivateLink. Dans le volet de navigation de gauche, cliquez sur Endpoint Service.
Dans la barre de navigation supérieure, sélectionnez la région où réside le service d'endpoint.
Sur la page Endpoint Service, cliquez sur l'ID d'instance du service d'endpoint cible pour afficher ses détails.
Dans le volet de navigation de gauche, cliquez sur Endpoints, puis cliquez sur l'ID d'instance de l'endpoint cible pour afficher ses détails.
Dans la sortie de l'étape 4, repérez la valeur
pvlEndpoint.domainNameindiquée sousclusterspour leclusterIddu cluster ACK. Ajoutez cette valeur au champ Subject Alternative Name (SAN) du certificat personnalisé du serveur API de ce cluster ACK. Un exemple de cette valeur estep-bp1i06bad79eb60c60cc.epsrv-bp1gqb8g1b8d7uactd.cn-hangzhou.privatelink.aliyuncs.com. Pour plus d'informations, consultez la rubrique Personnaliser le SAN du certificat du serveur API pour un cluster ACK.-
Vérifiez le statut du cluster ACK.
Si le cluster est à l'état Running, la connectivité inter-VPC via PrivateLink est établie.