El 2 de noviembre, se lanzó una nueva versión de GKE en AWS. Consulta las notas de la versión para obtener más información.

AWSManagementService

El recurso AWSManagementService contiene información de configuración para el servicio de administración GKE on AWS.

Configura un archivo YAML llamado anthos-gke.yaml antes de crear el servicio de administración. La herramienta anthos-gke usa la configuración cuando creas el servicio de administración.

El contenido de tu archivo anthos-gke.yaml depende de si usas anthos-gke para crear una nube privada de AWS (VPC) dedicada o si usa una VPC de AWS existente.

VPC dedicada

apiVersion: multicloud.cluster.gke.io/v1
kind: AWSManagementService
metadata:
  name: management
spec:
  version: ANTHOS_CLI_VERSION
  region: AWS_REGION
  authentication:
    awsIAM:
      adminIdentityARNs:
      - ADMIN_AWS_IAM_ARN
  kmsKeyARN: KMS_KEY_ARN
  databaseEncryption:
    kmsKeyARN: KMS_KEY_ARN
  googleCloud:
    projectID: GCP_PROJECT_ID
    serviceAccountKeys:
      managementService: MANAGEMENT_KEY_PATH
      connectAgent: CONNECT_KEY_PATH
      node: NODE_KEY_PATH
  iam:
      permissionsBoundary: IAM_PERMISSIONS_BOUNDARY
      path: IAM_PATH
  dedicatedVPC:
    vpcCIDRBlock: VPC_CIDR_BLOCK
    availabilityZones:
    - ZONE_1
    - ZONE_2
    - ZONE_3
    privateSubnetCIDRBlocks:
    - PRIVATE_CIDR_BLOCK_1
    - PRIVATE_CIDR_BLOCK_2
    - PRIVATE_CIDR_BLOCK_3
    publicSubnetCIDRBlocks:
    - PUBLIC_CIDR_BLOCK_1
    - PUBLIC_CIDR_BLOCK_2
    - PUBLIC_CIDR_BLOCK_3
  # Optional
  tags:
    <var>tag-name</var>: <var>tag-value</var>
  bastionHost:
    allowedSSHCIDRBlocks:
    - SSH_CIDR_BLOCK
  proxy: PROXY_JSON_FILE

VPC existente

apiVersion: multicloud.cluster.gke.io/v1
kind: AWSManagementService
metadata:
  name: management
spec:
  version: ANTHOS_CLI_VERSION
  region: AWS_REGION
  authentication:
    awsIAM:
      adminIdentityARNs:
      - ADMIN_AWS_IAM_ARN
  kmsKeyARN: KMS_KEY_ARN
  databaseEncryption:
    kmsKeyARN: KMS_KEY_ARN
  securityGroupIDs:
    - SECURITY_GROUP_IDS
  googleCloud:
    projectID: GCP_PROJECT_ID
    serviceAccountKeys:
      managementService: MANAGEMENT_KEY_PATH
      connectAgent: CONNECT_KEY_PATH
      node: NODE_KEY_PATH
  iam:
      permissionsBoundary: IAM_PERMISSIONS_BOUNDARY
      path: IAM_PATH
  existingVPC:
    subnetID: [MANAGEMENT_SUBNET_ID]
    allowedSSHSecurityGroupIDs: [SSH_SECURITY_GROUPS]
  bastionHost:
    subnetID: [BASTION_HOST_SUBNET_ID]
    allowedSSHCIDRBlocks:
    - [SSH_CIDR_BLOCK]
  tags:
    <var>tag-name</var>: <var>tag-value</var>
  proxy: PROXY_JSON_FILE

Estos campos se describen a continuación.

spec.version

El valor de spec.version es la versión del servicio de administración que crea anthos- gke. La versión coincide con la salida de anthos-gke version. Por ejemplo:aws-1.5.0-gke.6

spec.region

El valor de spec.region es la región de AWS en la que deseas implementar el servicio de administración. Por ejemplo, us-east-1.

spec.authentication.awsIAM

El valor de spec.authentication.awsIAM.adminIdentityARNs es una string con el nombre del recurso de Amazon (ARN) de un usuario IAM de AWS con permisos para crear un GKE en el servicio de administración de AWS. Por ejemplo, arn:aws:iam::123456789:user/someuser.

spec.kmsKeyARN

El valor de spec.kmsKeyARN es una string con el nombre del recurso de Amazon (ARN) de la clave de AWS KMS creada en los requisitos previos. GKE on AWS usa la clave para la encriptación de sobre. Por ejemplo:arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee

spec.databaseEncryption

El valor de spec.databaseEncryption.kmsKeyARN es una string con el nombre del recurso de Amazon (ARN) de la clave de AWS KMS que GKE usa en AWS para encriptar secretos de la capa de la aplicación en clústeres. Por ejemplo, arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee

spec.securityGroupIDs

El valor de spec.securityGroupIDs es una lista de ID de grupos de seguridad adicionales de AWS asignados a la VM del servicio de administración. For example [sg-00123456789abcd, sg-00123456789def1]`.

spec.dedicatedVPC

Este campo representa la configuración de VPC deseada.

Nombre Description Tipo Ejemplo
vpcCIDRBlock El bloque CIDR de la VPC de AWS deseada. Debe estar entre /16 y /28 bits. string 10.0.0.0/16
availabilityZones Zonas de disponibilidad para implementar réplicas del plano del control. Cada zona tendrá su propia subred y necesita un bloque CIDR independiente. list(string) [us-east-1a, us-east-1b]
privateSubnetCIDRBlocks Bloque CIDR para subredes privadas dentro de la VPC en cada zona de disponibilidad. Debe ser un subconjunto de vpcCIDRBlock. Debes tener una subred por zona de disponibilidad. list(string) [10.0.101.0/24, 10.0.102.0/24]
publicSubnetCIDRBlocks Bloque CIDR para las subredes públicas dentro de la VPC en cada zona de disponibilidad. Debe ser un subconjunto de vpcCIDRBlock. Debes tener una subred por zona de disponibilidad. list(string) [10.0.1.0/24, 10.0.2.0/24]
bastionAllowedSSHCIDRBlocks Bloques CIDR para permitir el acceso SSH entrante Este campo dejará de estar disponible en GKE en AWS 1.5. Usa spec.bastionHost en la versión 1.5 o en versiones posteriores. string [104.132.0.0/14]

spec.existingVPC

Los campos en spec.existingVPC configuran GKE en AWS para usar una VPC de AWS existente.

Nombre Description Tipo Ejemplo
subnetID ID de la subred en la que se ejecuta el servicio de administración. string subnet-00123456789ab
allowedSSHSecurityGroupIDs Lista de ID de los grupos de seguridad permitidos en el acceso de SSH dentro de la VPC. list(string) [sg-00123456789abcd, sg-00123456789def1]

spec.bastionHost

En este campo, se describe un Host de bastión opcional.

Un Host de bastión es una instancia de EC2 que se encuentra en una subred pública. Permite el acceso SSH entrante desde un bloque CIDR especificado y tiene acceso SSH saliente a tu GKE en la administración de AWS y los clústeres de usuarios.

Puedes crear un Host de bastión para las instalaciones de dedicatedVPC o existingVPC. El campo allowedSSHCIDRBlocks especifica el rango entrante de direcciones permitidas y no debe estar vacío.

Si no existe un Host de bastión, GKE en AWS crea un host de bastión nuevo.

  • Para una instalación de dedicatedVPC, GKE en AWS crea una subred.
  • Para una instalación existingVPC, debes proporcionar una subred para el Host de bastión y asegurarte de que esta subred tenga conectividad en tu VPC.

Puedes modificar el Host de bastión si cambias o borras el campo spec.bastionHost y ejecutas anthos-gke aws management init, seguido de anthos-gke aws management apply.

Name Description Tipo Ejemplo
subnetID El ID de la subred en la que se ejecuta el host de bastión En las instalaciones de existingVPC, la subred debe permitir la entrada desde el lugar en el que se accederá a en el puerto 22. Además, asegúrate de que tu VPC permita el acceso entrante desde esta subred. Para las instalaciones de dedicatedVPC, no especifiques este campo. GKE en AWS aprovisionará la subred con el acceso requerido. string subnet-003bdf7b0f5e21e45
allowedSSHCIDRBlocks Bloques CIDR para permitir el acceso SSH entrante list(string) [104.132.0.0/14]

spec.googleCloud

Los campos en spec.googleCloud configuran tu proyecto de Google Cloud y las claves de cuenta de servicio de IAM.

Name Description Tipo Ejemplo
projectID Proyecto de Google Cloud. string my-gcp-project-id
serviceAccountKeys Rutas de acceso de archivo a las claves de cuenta de servicio. serviceAccountKeys

spec.googleCloud.serviceAccountKeys

Los campos en spec.googleCloud.serviceAccountKeys incluyen rutas de archivos locales a las claves de la cuenta de servicio de GCP. Consulta Requisitos previos para obtener descripciones detalladas de cada clave.

Name Description Tipo Ejemplo
managementService Clave de la cuenta de servicio que usa el clúster de administración. String path/to/key/management-sa-key.json
connectAgent Clave de la cuenta de servicio que usa el agente de Connect de GKE Hub. String path/to/key/hub-sa-key.json
node Clave de la cuenta de servicio que usan los nodos. string path/to/key/node-sa-key.json

spec.iam

Los campos en spec.iam configuran parámetros opcionales de IAM de AWS para tu GKE en el entorno de AWS.

Name Description Tipo Ejemplo
permissionsBoundary ARN de los Límites de permisos para las funciones de IAM string arn:aws:iam::126285863215:policy/testPolicyBoundary
path Ruta de acceso a la función de IAM string /org_abc/team_abc/member_abc/

spec.tags

Name Description Tipo Ejemplo
tags Metadatos opcionales de clave-valor asignados a cada recurso de AWS que admiten el grupo de nodos. map(string) {Environment: Production, Team: Analytics}

spec.proxy

El campo spec.proxy configura un proxy HTTP/HTTPS opcional.

Name Description Tipo Ejemplo
proxy Ruta de acceso al archivo de configuración de proxy. Ruta de acceso relativa de anthos-gke.yaml proxy.json

spec.bootstrapS3Bucket

El campo spec.bootstrapS3Bucket configura un nombre de depósito S3 para GKE en AWS.

Name Description Tipo Ejemplo
bootstrapS3Bucket Campo opcional para el nombre del depósito de AWS S3 en el que GKE en AWS almacena la información de configuración. string example-s3-bucket