En esta página, se describen los pasos que debes completar antes de instalar los clústeres de Anthos en AWS (GKE en AWS).
Entorno
Para instalar clústeres de Anthos en AWS, necesitas un entorno en el que puedas instalar y ejecutar una variedad de herramientas. En los siguientes pasos, se supone que usas un shell Bash en Linux o macOS. Si no tienes acceso a un entorno de shell Bash, puedes usar Cloud Shell.
Requisitos de AWS
Para completar este tema, necesitas una cuenta de AWS con acceso a la línea de comandos y dos claves del servicio de administración de claves (KMS) de AWS en la misma región que tus clústeres de usuario.
Para obtener más información sobre otros recursos necesarios de AWS, consulta Requisitos.
Configurar AWS
Antes de comenzar
Antes de completar esta sección, haz lo siguiente:
- Descarga y, luego, instala la CLI de AWS.
Para confirmar la instalación, ejecuta
aws --version
. Si no se encuentra el ejecutable, agrega la herramientaaws
aPATH
. - Configura tus credenciales de IAM de AWS y la región de AWS con
aws configure
.
Permisos del usuario administrador
Los clústeres de Anthos en AWS requieren que el creador de un servicio de administración tenga ciertos permisos. Antes de crear un servicio de administración o clústeres de usuarios, crea o consigue acceso a credenciales de IAM de AWS que cumplan con los requisitos.
Crea una clave KMS
Los clústeres de Anthos en AWS requieren dos claves de KMS de AWS. Las claves de KMS encriptan los siguientes elementos:
- Los datos durante el proceso de instalación con la encriptación de sobre.
- Secrets de la capa de la aplicación en tus clústeres de usuarios
Sigue los pasos a continuación para crear dos claves de KMS de AWS.
Línea de comandos
Crea una clave de KMS en tu cuenta de AWS.
aws kms create-key
En el resultado se incluyen los metadatos de la clave.
En el resultado del comando anterior, copia el nombre del recurso de Amazon (ARN) de la clave del campo
Arn
. Por ejemplo, una clave en la regiónus-west-2
tiene el ARNarn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.Crea un alias para la clave con
aws kms create-alias
. Un alias te permite administrar tus claves de KMS de AWS por nombre.aws kms create-alias \ --alias-name=alias/key-name \ --target-key-id=key-arn
Repite los pasos anteriores para otra clave.
Consola
- Acceda a la consola de AWS.
- Navega a KMS y selecciona Claves administradas por el cliente en la barra lateral.
- Haz clic en Crear clave.
- Deje las opciones predeterminadas seleccionadas.
- Una vez creada, selecciona la clave de la lista.
- Copia el ARN de la clave.
- Repite los pasos anteriores para otra clave.
Requisitos de Google Cloud
Algunos de los pasos de este documento podrían no funcionar correctamente si tu organización aplica restricciones a tu entorno de Google Cloud. En ese caso, es posible que no puedas completar tareas como crear direcciones IP públicas o claves de cuenta de servicio. Si realizas una solicitud que muestra un error sobre las restricciones, consulta cómo desarrollar aplicaciones en un entorno restringido de Google Cloud.
Antes de comenzar
Asegúrate de tener permisos del propietario del proyecto en una Cuenta de Google para habilitar las API en el proyecto de Google Cloud en el que conectas tus clústeres de Anthos en el entorno de AWS. Usa los permisos de propietario solamente para crear los clústeres de Anthos en las cuentas de servicio de AWS en la siguiente sección.
Instala Google Cloud CLI.
La API de Anthos debe estar habilitada para tu proyecto de Google Cloud. Habilitar esta API te permite usar otras funciones de Anthos con tu proyecto de Cloud.
Crea tus clústeres de Anthos en cuentas de servicio de AWS
En esta sección, crearás tres cuentas de servicio de IAM y claves para los clústeres de Anthos en AWS. Estas cuentas de servicio se describen en la siguiente lista:
Nombre | Roles | Descripción |
---|---|---|
management-sa
|
gkehub.admin | Permisos para administrar membresías de Hub |
hub-sa
|
gkehub.connect | Permiso para configurar la conexión entre tus clústeres de usuario y Hub. |
node-sa
|
storage.objectViewer | Permiso para acceder a Container Registry. |
Línea de comandos
Autentica con Google Cloud CLI.
gcloud auth login &&\ gcloud auth application-default login
Se te pedirá dos veces que visites
cloud.google.com
y te autentiques con tu cuenta de Google.Configura el proyecto de Google Cloud como una variable de entorno y configura tu project-id predeterminado con la CLI de gcloud.
export PROJECT_ID=project-id gcloud config set project $PROJECT_ID
Reemplaza el valor de project-id por tu proyecto de Google Cloud.
Habilita las API de Google Cloud
gcloud services enable anthos.googleapis.com gcloud services enable cloudresourcemanager.googleapis.com gcloud services enable gkehub.googleapis.com gcloud services enable gkeconnect.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com gcloud services enable serviceusage.googleapis.com gcloud services enable stackdriver.googleapis.com gcloud services enable storage-api.googleapis.com gcloud services enable storage-component.googleapis.com
Crea las cuentas de servicio con
gcloud
mediante la ejecución de los siguientes comandos.gcloud iam service-accounts create management-sa gcloud iam service-accounts create hub-sa gcloud iam service-accounts create node-sa
Descarga las claves para cada cuenta de servicio con
gcloud
mediante la ejecución de los siguientes comandos.gcloud iam service-accounts keys create management-key.json \ --iam-account management-sa@$PROJECT_ID.iam.gserviceaccount.com gcloud iam service-accounts keys create hub-key.json \ --iam-account hub-sa@$PROJECT_ID.iam.gserviceaccount.com gcloud iam service-accounts keys create node-key.json \ --iam-account node-sa@$PROJECT_ID.iam.gserviceaccount.com
Otorga funciones a la cuenta de servicio de administración.
gcloud projects add-iam-policy-binding \ $PROJECT_ID \ --member serviceAccount:management-sa@$PROJECT_ID.iam.gserviceaccount.com \ --role roles/gkehub.admin
Otorga funciones a la cuenta de servicio de Hub.
gcloud projects add-iam-policy-binding \ $PROJECT_ID \ --member serviceAccount:hub-sa@$PROJECT_ID.iam.gserviceaccount.com \ --role roles/gkehub.connect
Otorga funciones a la cuenta de servicio del nodo.
gcloud projects add-iam-policy-binding \ $PROJECT_ID \ --member serviceAccount:node-sa@$PROJECT_ID.iam.gserviceaccount.com \ --role roles/storage.objectViewer
Consola
- Abre la página de la biblioteca de API de la consola de Google Cloud.
- Selecciona tu proyecto preferido en el menú desplegable en la parte superior de la pantalla.
Busca y habilita las siguientes API.
- Anthos
- Cloud Resource Manager
- Cloud Storage
- Cloud Logging
- API de Google Cloud Storage JSON
- GKE Hub
- API de GKE Connect
- Service Usage
- Stackdriver
- Stackdriver Monitoring
Abre la página Cuentas de servicio.
A continuación, crea una cuenta de servicio y asígnale funciones para la cuenta de servicio
management-sa
.- Haga clic en Crear cuenta de servicio.
- Asigna un nombre al SA de administración de la cuenta y haz clic en Crear. Aparecerá la pantalla Otorgar a esta cuenta de servicio acceso al proyecto.
- Agrega los roles de administrador de GKE HUB.
- Haga clic en Continuar. Aparecerá la pantalla Otorgar a los usuarios acceso a esta cuenta de servicio.
- Haga clic en Listo. Aparecerá la pantalla Cuentas de servicio para el proyecto.
- Busca la fila que contiene el Correo electrónico de tu cuenta de servicio,
management-sa@project_id.iam.gserviceaccount.com
. - Haz clic en el menú de acción more_vert para la cuenta de servicio y selecciona Administrar claves.
- Haz clic en el menú desplegable Agregar clave.
- Haz clic en Crear nueva clave.
- Selecciona JSON como tipo de clave y haz clic en Crear. El navegador descarga la clave de la cuenta de servicio.
- Cambie el nombre del archivo
management-key.json
.
A continuación, crea una cuenta de servicio y asígnale funciones para la cuenta de servicio
hub-sa
.- Haga clic en Crear cuenta de servicio.
- Asigna un nombre al SA de Hub de la cuenta y haz clic en Crear. Aparecerá la pantalla Otorgar a esta cuenta de servicio acceso al proyecto.
- Agrega la función de agente de conexión de Hub de GKE.
- Haz clic en Continuar. Aparecerá la pantalla Otorgar a los usuarios acceso a esta cuenta de servicio.
- Haga clic en Listo. Aparecerá la pantalla Cuentas de servicio para el proyecto.
- Busca la fila que contiene el Correo electrónico de tu cuenta de servicio,
hub-sa@project_id.iam.gserviceaccount.com
. - Haz clic en el menú de acción more_vert para la cuenta de servicio y selecciona Administrar claves.
- Haz clic en el menú desplegable Agregar clave.
- Haz clic en Crear nueva clave.
- Selecciona JSON como tipo de clave y haz clic en Crear. El navegador descarga la clave de la cuenta de servicio.
- Cambie el nombre del archivo
hub-key.json
.
A continuación, crea una cuenta de servicio y asígnale funciones para la cuenta de servicio
node-sa
.- Haga clic en Crear cuenta de servicio.
- Asigna un nombre al SA del nodo de la cuenta y haz clic en Crear. Aparecerá la pantalla Otorgar a esta cuenta de servicio acceso al proyecto.
- Agrega la función Visualizador de objetos de almacenamiento.
- Haz clic en Listo. Aparecerá la pantalla Cuentas de servicio para el proyecto.
- Busca la fila que contiene el Correo electrónico de tu cuenta de servicio,
node-sa@project_id.iam.gserviceaccount.com
. - Haz clic en el menú de acción more_vert para la cuenta de servicio y selecciona Administrar claves.
- Haz clic en el menú desplegable Agregar clave.
- Haz clic en Crear nueva clave.
- Selecciona JSON como tipo de clave y haz clic en Crear. El navegador descarga la clave de la cuenta de servicio.
- Cambie el nombre del archivo
node-key.json
.
Herramienta de línea de comandos de anthos-gke
anthos-gke
es una herramienta de línea de comandos para clústeres de Anthos en AWS. Usa anthos-gke
para crear la configuración e instalar un servicio de administración. La versión más reciente de anthos-gke
es aws-1.14.1-gke.0.
La herramienta de línea de comandos de anthos-gke
solo es compatible con Linux y macOS.
Descarga el objeto binario desde Cloud Storage.
Linux
gsutil cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/linux/amd64/anthos-gke .
macOS
gsutil cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/darwin/amd64/anthos-gke .
Actualiza los permisos de
anthos-gke
y cópialo en/usr/local/bin
.chmod 755 anthos-gke sudo mv anthos-gke /usr/local/bin
Confirma que la versión sea
aws-1.14.1-gke.0
.anthos-gke version
Permisos para la herramienta de línea de comandos de anthos-gke
Para usar la herramienta de línea de comandos de anthos-gke
, el usuario que ejecuta el comando debe tener los roles ServiceUsageViewer y StorageAdmin. Para agregar los roles a tu principal de IAM, ejecuta estos comandos:
gcloud projects add-iam-policy-binding PROJECT_NAME \
--member user:USER_NAME \
--role roles/serviceusage.serviceUsageViewer
gcloud projects add-iam-policy-binding PROJECT_NAME \
--member user:USER_NAME \
--role roles/storage.admin
Reemplaza lo siguiente:
PROJECT_NAME
: es tu proyecto de Google CloudUSER_NAME
: El nombre de usuario que ejecuta la herramienta de línea de comandos deanthos-gke
. Si usas una cuenta de servicio, usaserviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
Terraform
La herramienta de anthos-gke
genera archivos de configuración de Terraform y llama a la herramienta de línea de comandos de terraform
.
Clústeres de Anthos alojados en AWS requiere una versión de Terraform superior a la v0.14.3. Puedes verificar tu versión de Terraform con el siguiente comando:
terraform version
Si no tienes la versión v0.14.3 o superior, descarga y, luego, instala Terraform antes de crear un servicio de administración.
Actualiza Terraform
Para actualizar Terraform después de instalar clústeres de Anthos en AWS, debes actualizar tu objeto binario de Terraform a través de cada versión secundaria en orden.
Por ejemplo, si deseas actualizar Terraform de v0.12.x a v0.14.x, debes instalar la versión v0.13.x de manera temporal. Después de instalar v0.13.x, ejecuta anthos-gke aws
management init
y anthos-gke aws management apply
. Los clústeres de Anthos en AWS actualizan tu configuración. Luego puede actualizar a la versión v0.14.x.
Kubernetes
Los clústeres de Anthos alojados en AWS requieren la versión 1.17 o superior de kubectl
. Para verificar tu versión de kubectl
, ejecuta lo siguiente:
kubectl version --client -o yaml | grep gitVersion
Si no tienes la versión 1.17 o una superior, instala una versión más reciente de kubectl
.
¿Qué sigue?
- Instala un servicio de administración en una VPC dedicada con un host de bastión.
- Integración de la infraestructura existente en una VPC existente.