El recurso AWSManagementService
contiene información de configuración para su servicio de administración de GKE en AWS.
Antes de crear el servicio de administración, configure un archivo YAML llamado anthos-gke.yaml
. La herramienta anthos-gke
utiliza esta configuración al crearlo.
El contenido de su archivo anthos-gke.yaml
depende de si utiliza anthos-gke
para crear una AWS Virtual Private Cloud (VPC) dedicada para usted o si utiliza una AWS VPC 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 section
rootVolume:
volumeType: ROOT_VOLUME_TYPE
iops: ROOT_VOLUME_IOPS
kmsKeyARN: ROOT_VOLUME_KEY
dataVolume:
volumeType: DATA_VOLUME_TYPE
iops: DATA_VOLUME_IOPS
kmsKeyARN: DATA_VOLUME_KEY
tags:
tag-name: tag-value
bastionHost:
allowedSSHCIDRBlocks:
- SSH_CIDR_BLOCK
rootVolume:
volumeType: ROOT_VOLUME_TYPE
iops: ROOT_VOLUME_IOPS
kmsKeyARN: ROOT_VOLUME_KEY
bootstrapS3Bucket: BOOTSTRAP_S3_BUCKET
proxy: PROXY_JSON_FILE
terraform:
invokeManually: No
stateGCSBucket: GCS_BUCKET_NAME
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]
# Optional fields
rootVolume:
volumeType: ROOT_VOLUME_TYPE
iops: ROOT_VOLUME_IOPS
kmsKeyARN: ROOT_VOLUME_KEY
dataVolume:
volumeType: DATA_VOLUME_TYPE
iops: DATA_VOLUME_IOPS
kmsKeyARN: DATA_VOLUME_KEY
ubuntuRepositoryMirror: 'packages.cloud.google.com'
bastionHost:
subnetID: [BASTION_HOST_SUBNET_ID]
allowedSSHCIDRBlocks:
- [SSH_CIDR_BLOCK]
rootVolume:
volumeType: ROOT_VOLUME_TYPE
iops: ROOT_VOLUME_IOPS
kmsKeyARN: ROOT_VOLUME_KEY
bootstrapS3Bucket: BOOTSTRAP_S3_BUCKET
tags:
tag-name: tag-value
proxy: PROXY_JSON_FILE
terraform:
invokeManually: No
stateGCSBucket: GCS_BUCKET_NAME
Las siguientes secciones describen estos campos.
spec.version
El valor de spec.version
corresponde a la versión del servicio de administración que crea anthos- gke
. Esta versión coincide con la salida de anthos-gke version
. Por ejemplo, aws-1.14.1-gke.0
.
spec.region
El valor de spec.region
es la región de AWS donde desea implementar el servicio de administración. Por ejemplo, us-east-1
.
spec.authentication.awsIAM
El valor de spec.authentication.awsIAM.adminIdentityARNs
es una cadena con el nombre de recurso de Amazon (ARN) de un usuario de AWS IAM con permisos para crear un servicio de administración de GKE en AWS. Por ejemplo, arn:aws:iam::123456789:user/someuser
.
spec.kmsKeyARN
El valor de spec.kmsKeyARN
es una cadena con el nombre del recurso de Amazon (ARN) o el alias de la clave de AWS KMS creada en Prerrequisitos . GKE en AWS utiliza la clave para el cifrado de sobres . 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 cadena con el nombre de recurso de Amazon (ARN) o el alias de clave de la clave de AWS KMS que GKE en AWS utiliza para cifrar los secretos de la capa de aplicación en los 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 IDs de grupos de seguridad de AWS adicionales asignados a la máquina virtual del servicio de administración. Por ejemplo, [sg-00123456789abcd, sg-00123456789def1]`.
spec.dedicatedVPC
Este campo representa la configuración de VPC deseada.
Nombre | Descripción | Tipo | Ejemplo |
---|---|---|---|
vpcCIDRBlock | El bloque CIDR de la VPC de AWS deseada. Debe tener entre /16 y /28 bits. | string | 10.0.0.0/16 |
zonas de disponibilidad | Zonas de disponibilidad para implementar réplicas del plano de control. Cada zona tendrá su propia subred y necesitará un bloque CIDR separado. | list(string) | [us-east-1a, us-east-1b] |
BloquesCIDR de subred privada | Bloque CIDR para subredes privadas dentro de la VPC en cada zona de disponibilidad. Debe ser un subconjunto de vpcCIDRBlock . Se requiere una subred por zona de disponibilidad. | list(string) | [10.0.101.0/24, 10.0.102.0/24] |
publicSubnetCIDRBlocks | Bloque CIDR para subredes públicas dentro de la VPC en cada zona de disponibilidad. Debe ser un subconjunto de vpcCIDRBlock . Se requiere una subred por zona de disponibilidad. | list(string) | [10.0.1.0/24, 10.0.2.0/24] |
bastiónPermitidoSSHCIDRBlocks | Bloques CIDR para permitir el acceso SSH entrante. Este campo está obsoleto en GKE en AWS 1.5. Use spec.bastionHost en la versión 1.5 o posterior. | string | [104.132.0.0/14] |
spec.existingVPC
Los campos bajo spec.existingVPC
configuran GKE en AWS para usar una VPC de AWS existente.
Nombre | Descripción | Tipo | Ejemplo |
---|---|---|---|
ID de subred | ID de subred donde se ejecuta el servicio de administración. | string | subred-00123456789ab |
ID de grupo de seguridad SSH permitidos | Lista de ID de grupos de seguridad a los que se les permite acceso SSH dentro de la VPC. | lista(cadena) | [sg-00123456789abcd, sg-00123456789def1] |
spec.googleCloud
Los campos en spec.googleCloud
configuran su Google Cloud claves de cuenta de proyecto y de servicio IAM.
Nombre | Descripción | Tipo | Ejemplo |
---|---|---|---|
ID del proyecto | Google Cloud Google Cloud proyecto. | string | my-gcp-project-id |
Claves de cuenta de servicio | Rutas de archivos a las claves de la cuenta de servicio . | Claves de cuenta de servicio |
spec.googleCloud.serviceAccountKeys
Los campos de spec.googleCloud.serviceAccountKeys
incluyen las rutas de los archivos locales a las claves de la cuenta de servicio de GCP. Consulte los requisitos previos para obtener descripciones detalladas de cada clave.
Nombre | Descripción | Tipo | Ejemplo |
---|---|---|---|
managementService | Clave de cuenta de servicio utilizada por el clúster de administración | cadena | path/to/key/management-sa-key.json |
connectAgent | Clave de cuenta de servicio utilizada por el agente de GKE Hub Connect | cadena | path/to/key/hub-sa-key.json |
node | Clave de cuenta de servicio utilizada por los nodos | cadena | path/to/key/node-sa-key.json |
spec.iam
Los campos bajo spec.iam
configuran parámetros opcionales de AWS IAM para su entorno de GKE en AWS.
Nombre | Descripción | Tipo | Ejemplo |
---|---|---|---|
permisosLímite | ARN de los límites de permisos para roles de IAM | string | arn:aws:iam::126285863215:policy/testPolicyBoundary |
camino | Ruta hacia el rol de IAM | string | /org_abc/team_abc/member_abc/ |
spec.bastionHost
La sección spec.bastionHost
es opcional y describe un host bastión.
Un host bastión es una instancia de EC2 ubicada en una subred pública. Permite el acceso SSH entrante desde un bloque CIDR específico y tiene acceso SSH saliente a su servicio de administración de GKE en AWS y a los clústeres de usuarios.
Puede crear un host bastión para instalaciones dedicatedVPC
o existingVPC
. El campo allowedSSHCIDRBlocks
" especifica el rango de direcciones entrantes permitidas y no debe estar vacío.
Si no existe un host bastión, GKE en AWS crea un nuevo host bastión.
- Para una instalación
dedicatedVPC
, GKE en AWS crea una subred. - Para una instalación
existingVPC
, debe proporcionar una subred para el host bastión y asegurarse de que esta subred tenga conectividad con su VPC.
Puede modificar su host bastión cambiando o eliminando el campo spec.bastionHost
y ejecutando anthos-gke aws management init
, seguido de anthos-gke aws management apply
.
Nombre | Descripción | Tipo | Ejemplo |
---|---|---|---|
ID de subred | El ID de la subred donde se ejecuta el host bastión. En instalaciones existingVPC , la subred debe permitir el acceso desde el puerto 22. Además, asegúrese de que su VPC permita el acceso entrante desde esta subred. En instalaciones dedicatedVPC , no especifique este campo. GKE en AWS proporcionará a la subred el acceso necesario. | cadena | subred-003bdf7b0f5e21e45 |
BloquesSSHCIDR permitidos | Bloques CIDR para permitir el acceso SSH entrante desde. | list(string) | [104.132.0.0/14] |
volumen raíz | Un objeto que describe el volumen raíz del host bastión. | object | {volumeType: gp2} |
spec.rootVolume, spec.dataVolume y spec.bastionHost.rootVolume
La siguiente tabla describe los campos comunes para los siguientes objetos:
-
spec.rootVolume
, para volúmenes de disco raíz del plano de control -
spec.dataVolume
, para volúmenes de disco de datos del plano de control -
spec.bastionHost.rootVolume
, para volúmenes de disco raíz del host bastión
Nombre | Descripción | Tipo | Ejemplo | Requerido |
---|---|---|---|---|
tipo de volumen | El tipo de volumen de AWS EBS del nodo. Puede ser gp2 (predeterminado) o gp3 . | string | gp2 | No |
yops | Cantidad de operaciones de E/S por segundo (IOPS) aprovisionadas para volúmenes. Solo es válido cuando volumeType es GP3 . Para más información, consulte Volúmenes SSD de propósito general (gp3) . | integer | 5000 | No |
kmsKeyARN | El ARN de la clave AWS KMS utilizada para cifrar el volumen EBS. Para obtener más información, consulte "Uso de una CMK administrada por el cliente para cifrar volúmenes" . | string | arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee | No |
spec.tags
Nombre | Descripción | Tipo | Ejemplo |
---|---|---|---|
etiquetas | Metadatos de clave/valor opcionales asignados a cada recurso de AWS que respalda el servicio de administración. | map(string) | {Entorno: Producción, Equipo: Analítica} |
spec.proxy
El campo spec.proxy
configura un proxy HTTP/HTTPS opcional.
Nombre | Descripción | Tipo | Ejemplo |
---|---|---|---|
apoderado | Ruta al archivo de configuración del proxy . | Ruta relativa desde anthos-gke.yaml | proxy.json |
spec.bootstrapS3Bucket
El campo spec.bootstrapS3Bucket
configura un nombre de depósito S3 para GKE en AWS.
Nombre | Descripción | Tipo | Ejemplo |
---|---|---|---|
bootstrapS3Bucket | Campo opcional para el nombre del bucket de AWS S3 donde GKE en AWS almacena la información de configuración. Si desea crear varios servicios de administración de GKE en AWS en la misma región de AWS, configure este valor con un nombre de bucket único. | string | example-s3-bucket |
spec.terraform
El campo spec.terraform.invokeManually
configura el comando anthos-gke
para no crear un servicio de administración.
Nombre | Descripción | Tipo | Ejemplo |
---|---|---|---|
invocar manualmente | Campo opcional que configura la herramienta de línea de comandos anthos-gke para que no cree un servicio de administración después de compilar y validar la configuración. Si define invokeManually " como Yes , podrá editar y aplicar los archivos de configuración de Terraform manualmente. | Yes , No | Yes |
stateGCSBucket | Campo opcional que especifica un depósito de Google Cloud Storage preexistente para que Terraform almacene sus datos de configuración. | string | example-GCS-bucket |