En esta página, se muestra cómo preparar tu entorno y clúster para instalar Anthos Service Mesh.
Instala las herramientas requeridas
Puedes ejecutar asmcli
en Cloud Shell o en tu máquina local que ejecuta Linux. Cloud Shell instala previamente todas las herramientas necesarias.
Si ejecutas asmcli
de forma local, asegúrate de tener instaladas las siguientes herramientas:
- Google Cloud CLI
- Las herramientas de línea de comandos estándar:
awk
,curl
,grep
,sed
ytr
- git
- kubectl
- jq
Configura gcloud
Sigue estos pasos incluso si usas Cloud Shell.
Autentica con Google Cloud CLI
gcloud auth login --project PROJECT_ID
Actualiza los componentes:
gcloud components update
Si instalas Anthos Service Mesh en un clúster de GKE, configura
kubectl
para que apunte al clúster.gcloud container clusters get-credentials CLUSTER_NAME \ --zone CLUSTER_LOCATION \ --project PROJECT_ID
Descarga asmcli
En esta sección, se describe cómo descargar la asmcli
.
Descarga la versión que instala de Anthos Service Mesh 1.10.6 en el directorio de trabajo actual:
curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_alpha > asmcli
Haz que la secuencia de comandos sea ejecutable:
chmod +x asmcli
Otorga permisos de administrador del clúster
Cambia el contexto del clúster de usuario:
kubectl config use-context CLUSTER_NAME
Otorga permisos de administrador de clúster a tu cuenta de usuario (tu dirección de correo electrónico de acceso de Google Cloud). Estos permisos son obligatorios a fin de crear las reglas de control de acceso basado en funciones (RBAC) necesarias para Anthos Service Mesh:
kubectl create clusterrolebinding cluster-admin-binding \ --clusterrole=cluster-admin \ --user=USER_ACCOUNT
Valida el proyecto y el clúster
Puedes ejecutar asmcli validate
a fin de asegurarte de que tu proyecto y clúster estén configurados según sea requerido para instalar Anthos Service Mesh. Con esta opción, asmcli
no realiza ningún cambio en tu proyecto o clúster y no instala Anthos Service Mesh.
La secuencia de comandos valida lo siguiente:
Tu entorno tiene las herramientas necesarias.
El clúster cumple con los requisitos mínimos.
Tienes los permisos requeridos en el proyecto especificado.
El proyecto tiene habilitadas todas las API de Google requeridas.
De forma predeterminada, la secuencia de comandos descarga y extrae el archivo de instalación, y descarga el paquete de configuración asm
de GitHub a un directorio temporal. Antes de salir, la secuencia de comandos genera un mensaje que proporciona el nombre del directorio temporal.
Te recomendamos que especifiques un directorio para las descargas con la opción --output_dir DIR_PATH
. La opción --output_dir
te permite usar la herramienta de línea de comandos de istioctl
si la necesitas. Además, los archivos de configuración para habilitar funciones
opcionales se incluyen en el directorio asm/istio/options
.
Ejecuta el siguiente comando para validar tu configuración y descargar el archivo de instalación, y el paquete asm
en el directorio OUTPUT_DIR
:
GKE
./asmcli validate \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--output_dir DIR_PATH
--project_id
,--cluster_name
y--cluster_location
: Especifica el ID del proyecto en el que se encuentra el clúster, el nombre del clúster y la zona o región del clúster.--output_dir
: Incluye esta opción para especificar un directorio en el queasmcli
descarga el paqueteasm
y extrae el archivo de instalación, que contieneistioctl
, muestras y manifiestos. De lo contrario,asmcli
descarga los archivos en un directoriotmp
. Puedes especificar una ruta de acceso relativa o una completa. La variable de entorno$PWD
no funciona aquí.
Local
Configura el contexto actual en tu clúster de usuario:
kubectl config use-context CLUSTER_NAME
Ejecuta el siguiente comando para validar tu configuración y descargar el archivo de instalación, y el paquete
asm
en el directorioOUTPUT_DIR
:./asmcli validate \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud
--kubeconfig
: La ruta akubeconfig
. Puedes especificar una ruta de acceso relativa o una completa. La variable de entorno$PWD
no funciona aquí.--output_dir
: Incluye esta opción para especificar un directorio en el queasmcli
descarga el paqueteasm
y extrae el archivo de instalación, que contieneistioctl
, muestras y manifiestos. De lo contrario,asmcli
descarga los archivos en un directoriotmp
. Puedes especificar una ruta de acceso relativa o una completa. La variable de entorno$PWD
no funciona aquí.--platform multicloud
Especifica que la plataforma local es la plataforma.
Si la operación es exitosa, la secuencia de comandos mostrará lo siguiente:
asmcli: Setting up necessary files... asmcli: Using asm_kubeconfig as the kubeconfig... asmcli: Checking installation tool dependencies... asmcli: Fetching/writing GCP credentials to kubeconfig file... asmcli: Verifying connectivity (10s)... asmcli: kubeconfig set to asm_kubeconfig asmcli: using context gke_example-project-12345_us-central1_cluster-2 asmcli: Getting account information... asmcli: Downloading ASM.. asmcli: Downloading ASM kpt package... fetching package "/asm" from "https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages" to "asm" asmcli: Checking required APIs... asmcli: Checking for project example-project-12345... asmcli: Reading labels for us-central1/cluster-2... asmcli: Checking for istio-system namespace... asmcli: Confirming node pool requirements for example-project-12345/us-central1/cluster-2... asmcli: Checking Istio installations... asmcli: [WARNING]: There is no way to validate that the meshconfig API has been initialized. asmcli: [WARNING]: This needs to happen once per GCP project. If the API has not been initialized asmcli: [WARNING]: for example-project-12345, please re-run this tool with the --enable_gcp_components asmcli: [WARNING]: flag. Otherwise, installation will succeed but Anthos Service Mesh asmcli: [WARNING]: will not function correctly. asmcli: Successfully validated all requirements to install ASM.
Si una de las pruebas no pasa la validación, la secuencia de comandos mostrará un mensaje de error. Por ejemplo, si tu proyecto no tiene habilitadas todas las API de Google necesarias, verás el siguiente error:
ERROR: One or more APIs are not enabled. Please enable them and retry, or run the script with the '--enable_gcp_apis' flag to allow the script to enable them on your behalf.
Si recibiste un mensaje de error que indica que debes ejecutar la secuencia de comandos con una marca de habilitación, tienes las siguientes opciones:
Incluye la marca específica del mensaje de error o la marca
--enable_all
cuando ejecutes la secuencia de comandos para realizar la instalación real (es decir, sin--only_validate
).Si lo prefieres, puedes actualizar tu proyecto y clúster antes de ejecutar la secuencia de comandos como se describe en Configuración para la instalación de Anthos Service Mesh en GKE.
Ten en cuenta que asmcli
no permite ninguna marca de habilitación con --only_validate
.
Inspecciona los requisitos de instalación y actualización del clúster
Antes de realizar la actualización, debes verificar que la configuración sea compatible con la nueva versión de Anthos Service Mesh.
Cambia al directorio que especificaste en
--output_dir
.Ejecuta el siguiente comando para inspeccionar el clúster de Kubernetes en busca de requisitos de instalación y actualización. Asegúrate de usar la versión de
istioctl
distribuida con la versión nueva de Anthos Service Mesh.istioctl experimental precheck