Instalar herramientas dependientes y verificar el clúster
En esta página se explica cómo preparar tu entorno y tu clúster para instalar Cloud Service Mesh en el clúster para cargas de trabajo de Kubernetes off Google Cloud.
Instalar las herramientas necesarias
Puedes ejecutar asmcli en Cloud Shell o en tu máquina local con Linux. Cloud Shell preinstala todas las herramientas necesarias.
Si ejecutas asmcli de forma local, asegúrate de que tienes instaladas las siguientes herramientas:
- La CLI de Google Cloud
- Las herramientas de línea de comandos estándar:
awk,curl,grep,sedytr gitkubectljq- (Opcional, para probar la conectividad) netcat (
nc)
Configurar gcloud
Sigue estos pasos aunque estés usando Cloud Shell.
Autentícate con Google Cloud CLI:
gcloud auth login --project PROJECT_IDActualiza los componentes:
gcloud components update
Define el contexto actual en tu clúster de usuario:
Define el contexto de kubectl para que apunte a tu clústerGoogle Cloud , según las instrucciones específicas de la plataforma.
Descargar asmcli
En esta sección se describe cómo descargar el asmcli.
Descarga la versión que instala Cloud Service Mesh 1.24.6 en el directorio de trabajo actual:
curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_1.24 > asmcliResultado esperado:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 167k 100 167k 0 0 701k 0 --:--:-- --:--:-- --:--:-- 701kHaz que la secuencia de comandos sea ejecutable:
chmod +x asmcli
Conceder permisos de administrador de clúster
Asegúrate de que has definido el contexto en tu clúster de usuarios:
kubectl config use-context CONTEXT
Concede permisos de administrador de clúster a tu cuenta de usuario (tu dirección de correo de Google Cloud inicio de sesión ). Necesitas estos permisos para crear las reglas de control de acceso basado en roles (RBAC) necesarias para Cloud Service Mesh:
kubectl create clusterrolebinding cluster-admin-binding \ --clusterrole=cluster-admin \ --user=USER_ACCOUNT
Validar el proyecto y el clúster
Puedes ejecutar asmcli validate para asegurarte de que tu proyecto y tu clúster están configurados como es necesario para instalar Cloud Service Mesh. Con esta opción, asmcli no hace ningún cambio en tu proyecto ni en tu clúster, y no instala Cloud Service Mesh.
asmcli valida lo siguiente:
Tu entorno tiene las herramientas necesarias.
El clúster cumple los requisitos mínimos.
Tienes los permisos necesarios en el proyecto especificado.
El proyecto tiene habilitadas todas las APIs de Google necesarias.
De forma predeterminada, asmcli descarga y extrae el archivo de instalación, y descarga el paquete de configuración asm de GitHub en un directorio temporal. Antes de salir, asmcli muestra un mensaje con 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 istioctl de forma cómoda. Es posible que necesites istioctl para solucionar problemas de configuración.
Además, los archivos de configuración para habilitar funciones opcionales mediante asmcli
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.
Usa el siguiente comando para ejecutar asmcli validate en las siguientes plataformas: Google Distributed Cloud (solo software) para VMware, Google Distributed Cloud (solo software) para bare metal, GKE en AWS (obsoleto), GKE en Azure (obsoleto), Amazon EKS (obsoleto) y Microsoft AKS (obsoleto).
Define el contexto actual en tu clúster de usuario:
kubectl config use-context CLUSTER_NAMEEjecuta el siguiente comando para validar tu configuración y descargar el archivo de instalación y el paquete
asmen el directorioOUTPUT_DIR:./asmcli validate \ --kubeconfig KUBECONFIG_FILE \ --fleet_id FLEET_PROJECT_ID \ --output_dir DIR_PATH \ --platform multicloud--kubeconfigLa ruta akubeconfigPuede especificar una ruta relativa o una ruta completa. La variable de entorno$PWDno funciona aquí.--fleet_idEl ID del proyecto del proyecto host de la flota.asmcli validatecomprueba que el clúster esté registrado en la flota especificada.--output_dirIncluye esta opción para especificar un directorio dondeasmclidescargue el paqueteasmy extraiga el archivo de instalación, que contieneistioctl, muestras y manifiestos. De lo contrario,asmclidescarga los archivos en un directoriotmp. Puede especificar una ruta relativa o una ruta completa. La variable de entorno$PWDno funciona aquí.--platform multicloudEspecifica que la plataforma es algo distinto Google Cloud, como una plataforma local o multicloud.
Si la operación se realiza correctamente, asmcli muestra 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 supera la validación, asmcli muestra un mensaje de error.
Por ejemplo, si tu proyecto no tiene todas las APIs de Google necesarias habilitadas, verás el siguiente error:
ERROR: One or more APIs are not enabled. Please enable them and retry, or run `asmcli` with the '--enable_gcp_apis' flag to allow `asmcli` to enable them on your behalf.
Si has recibido un mensaje de error que indica que debes ejecutar asmcli con una marca de habilitación,
tienes las siguientes opciones:
Incluye la marca específica del mensaje de error o la marca
--enable_allal ejecutarasmclipara realizar la instalación.Si lo prefieres, puedes actualizar tu proyecto y tu clúster antes de ejecutar
asmclicomo se describe en Configurar el proyecto y el clúster de GKE por tu cuenta.
Ten en cuenta que asmcli validate no permite ninguna marca de habilitación, ya que solo valida que tu proyecto y tu clúster estén listos para la instalación.
Inspeccionar los requisitos de instalación y actualización de clústeres
Antes de actualizar, debes comprobar que tu configuración sea compatible con la nueva versión de Cloud Service Mesh.
Cambia al directorio que has especificado en
--output_dir.Ejecuta el siguiente comando para inspeccionar el clúster de Kubernetes y comprobar los requisitos de instalación y actualización. Asegúrate de usar la versión de
istioctldistribuida con la nueva versión de Cloud Service Mesh.istioctl experimental precheck