Establezca una conexión entre el cliente kubectl y el plano de control de una instancia de ASM para gestionar los recursos de Istio en dicha instancia.
Contexto
kubectl es la herramienta de línea de comandos para clústeres de Kubernetes. Con este cliente, usted gestiona el clúster, instala y despliega aplicaciones en contenedores, y administra los recursos de Service Mesh.
La conexión que se describe en este tema se dirige al plano de control de la instancia de ASM.
Requisitos previos
Permisos RBAC: su cuenta tiene asignado un rol RBAC predefinido de ASM que cubre los recursos que desea gestionar. Para obtener más información, consulte Permissions granted by predefined RBAC roles.
Acceso a internet (solo en la pestaña Internet Access): el acceso a internet hacia el servidor API está habilitado para la instancia de ASM. Es decir, la instancia expone su servidor API mediante una dirección IP elástica (EIP) de Alibaba Cloud. De esta forma, cualquier computadora con conexión a internet funciona como cliente.
Procedimiento
Instale y configure el cliente kubectl. Para consultar la información sobre las versiones de Kubernetes, revise las notas de la versión de Kubernetes. Para ver las instrucciones de instalación, consulte Install and Set Up kubectl.
-
Configure las credenciales de conexión de la instancia de ASM.
Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, elija .
En la página Mesh Management, haga clic en el nombre de la instancia de ASM. En el panel de navegación izquierdo, elija .
En la esquina superior derecha de la página Base Information, haga clic en Connection.
-
En el panel Connection, haga clic en la pestaña que corresponda a la red de su cliente. Elija la pestaña Internet Access si el cliente se conecta a la instancia de ASM por internet. Seleccione la pestaña Internal Access si la conexión utiliza la red interna.
NotaSi el acceso a internet hacia el servidor API no está habilitado para la instancia de ASM, la configuración de conexión correspondiente no se muestra en el panel Connection.
Haga clic en Copy Kubeconfig File y copie el contenido en
$HOME/.kube/configde su computadora local, ya que ahí es donde kubectl busca las credenciales. Si el archivoconfigno existe en el directorio$HOME/.kube, créelo manualmente.
-
Ejecute el siguiente comando para comprobar si la conexión se estableció correctamente.
kubectl get ns
Si se muestra la información de los namespaces, la conexión ya está establecida.
Si no aparece ninguna información de namespaces, compruebe los siguientes puntos y vuelva a ejecutar el comando:
El contenido de kubeconfig que copió en el paso 2 se guardó en
$HOME/.kube/configdel cliente.Si el cliente se conecta a la instancia por internet, el acceso a internet hacia el servidor API debe estar habilitado para la instancia de ASM. Consulte Prerequisites.
El rol RBAC de su cuenta debe cubrir los recursos que consulta. Consulte Permissions granted by predefined RBAC roles.
Permisos que otorgan los roles RBAC predefinidos
Service Mesh (ASM) se basa en el mecanismo de control de acceso basado en roles (RBAC) de Kubernetes y ofrece roles RBAC predefinidos que otorgan a los usuarios un conjunto específico de permisos de acceso para los recursos de Service Mesh.
El rol istio-admin es uno de estos roles predefinidos y otorga a continuación permisos:
Namespaces en el plano de control: crear, eliminar, obtener, listar, aplicar parches, actualizar y observar.
Recursos de Istio: crear, eliminar, obtener, listar, aplicar parches, actualizar y observar. A continuación ClusterRole detalla los grupos de API de Istio que abarcan estos permisos.
**Recursos
istiogatewaysdel grupo de APIistio.alibabacloud.com**: crear, eliminar, obtener, listar, aplicar parches, actualizar y observar. Estos recursos sirven para definir servicios de puerta de enlace de entrada.**Otros recursos del grupo de API
istio.alibabacloud.com**: solo obtener y listar.
A continuación ClusterRole define los permisos del rol predefinido istio-admin. ASM proporciona este ClusterRole, por lo que la definición es únicamente de referencia.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: istio-admin
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- config.istio.io
- networking.istio.io
- authentication.istio.io
- rbac.istio.io
- security.istio.io
resources: ["*"]
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- istio.alibabacloud.com
resources: ["istiogateways"]
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- istio.alibabacloud.com
resources: ["*"]
verbs:
- get
- list