Importante
Los subrecursos heredados quedan obsoletos a partir del lanzamiento de sus CRD correspondientes. Si su configuración actualmente utiliza el formato de subrecurso de esta definición de recurso, migrar a un CRD.
El AtlasNetworkPeering recurso personalizado define una conexión peering de red para un Proyecto de Atlas. Las conexiones peering de red aíslan el tráfico de las redes públicas para mayor seguridad.
Importante
Los recursos personalizados ya no eliminan objetos de forma predeterminada
El Operador de Kubernetes de Atlas utiliza archivos de configuración de recursos personalizados para administrar la configuración de Atlas. Sin embargo, a partir del Operador de Kubernetes 2.0 de Atlas, los recursos personalizados que elimine en Kubernetes ya no se eliminan (de forma predeterminada) en Atlas. En su lugar, el Operador de Kubernetes de Atlas simplemente deja de administrar esos recursos en Atlas. Por ejemplo, si elimina un
AtlasProjectRecurso Personalizado en Kubernetes, el Operador de Kubernetes de Atlas ya no elimina automáticamente el proyecto correspondiente de Atlas. Este cambio de comportamiento tiene como objetivo evitar eliminaciones accidentales o inesperadas. Para obtener más información, incluido cómo revertir este comportamiento al valor predeterminado utilizado antes del Operador de Kubernetes 2 0de Atlas., consulte Nuevo valor predeterminado: Protección contra eliminaciones en el Operador de Kubernetes 2 de0 Atlas..De manera similar, Atlas Kubernetes Operator no elimina equipos de Atlas si los elimina de un proyecto Atlas en Kubernetes con Atlas Kubernetes Operator.
Defina explícitamente los detalles de configuración deseados para evitar el uso implícito de los valores predeterminados de Atlas. En algunos casos, heredar los valores predeterminados de Atlas puede generar un bucle de conciliación que impide que su recurso personalizado alcance el estado
READY. Por ejemplo, definir explícitamente el comportamiento de escalado automático deseado en su recurso personalizadoAtlasDeployment, como se muestra en el ejemplo incluido, garantiza que un tamaño de instancia estático en su recurso personalizado no se aplique repetidamente a una implementación de Atlas con el escalado automático habilitado.autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40
El operador de Atlas Kubernetes realiza una de las siguientes acciones utilizando Atlas Recurso de API de interconexión de redes:
Crea una nueva conexión de interconexión de red.
Actualiza una conexión de intercambio de redes existente.
Nota
Una conexión peering de red solo puede pertenecer a un Proyecto. Para definir la misma conexión peering de red para varios Proyectos, crea definiciones de recursos personalizadas para cada Proyecto.
Ejemplos
Los siguientes ejemplos ilustran configuraciones para AtlasNetworkPeering CRD.
La configuración de ejemplo básica define un recurso que administra con la misma instancia de Atlas Kubernetes Operator con la que administra su proyecto Atlas principal.
El ejemplo de CRD independiente configura lo mismo Conexiónde emparejamiento de VPC como ejemplo básico, pero para un proyecto Atlas que administra fuera de la instancia de Atlas Kubernetes Operator con la que administra la conexión de emparejamiento de VPC.
Ejemplo básico
El siguiente ejemplo muestra un AtlasNetworkPeering recurso personalizado que define la green-leaf-peering conexión entre la my-project VPC del proyecto y su VPC de AWS. Para administrar este recurso en la misma instancia de Operador de Kubernetes de Atlas que su proyecto Atlas principal, debe identificar el proyecto con en projectRef lugar externalProjectRef de.
apiVersion: atlas.mongodb.com/v1 kind: AtlasNetworkPeering metadata: name: green-leaf-peering spec: projectRef: name: my-project namespace: my-operator-namespace containerRef: id: 72a6d2a69388ba121943ae27 id: 72a6d2a69388ba121943ae27 provider: AWS awsConfiguration: accepterRegionName: us-east-1 awsAccountId: 389226183042 routeTableCiderBlock: 10.0.0.0/21 vpcId: vpc-abc
Ejemplo de CRD independiente
El siguiente ejemplo muestra un AtlasNetworkPeering CRD independiente que configura la misma conexión de emparejamiento de VPC definida en el Ejemplo Básico. Para habilitar la gestión de recursos independientemente del proyecto principal, debe usar un externalProjectRef en lugar de un projectRef y proporcionar un connectionSecret directamente, ya que este recurso no puede heredar las credenciales de API de su proyecto principal.
apiVersion: atlas.mongodb.com/v1 kind: AtlasNetworkPeering metadata: name: green-leaf-peering spec: externalProjectRef: projectId: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret containerRef: id: 72a6d2a69388ba121943ae27 id: 72a6d2a69388ba121943ae27 provider: AWS awsConfiguration: accepterRegionName: us-east-1 awsAccountId: 389226183042 routeTableCiderBlock: 10.0.0.0/21 vpcId: vpc-abc
Parámetros
Intercambio de pares de AtlasNetwork
AtlasNetworkPeering es el esquema para la API AtlasNetworkPeering
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | atlas.mongodb.com/v1 | true |
| string |
| true |
| Objeto | Consulte la documentación de Kubernetes | true |
| Objeto |
| false |
| Objeto |
| false |
AtlasNetworkPeering.spec
AtlasNetworkPeeringSpec define el estado objetivo de AtlasNetworkPeering.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| Objeto |
| true |
| enum | Nombre del servicio en la | true |
| Objeto | AWSConfiguration es la configuración | false |
| Objeto |
| false |
| Objeto | Nombre del secreto que contiene las claves privadas y públicas de Atlas | false |
| Objeto |
| false |
| Objeto | GCPConfiguration es la configuración específica de Google Cloud para el emparejamiento de redes. | false |
| string |
| false |
| Objeto |
| false |
AtlasNetworkPeering.spec.containerRef
ContainerDualReference hace referencia a un contenedor de red ya sea por nombre de Kubernetes o ID de Atlas.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| false |
| string | El nombre del recurso de Kubernetes del contenedor debe estar presente en el mismo espacio de nombres. Use | false |
Configuración de AtlasNetworkPeering.spec.aws
AWSConfiguration es la configuración específica de AWS para el emparejamiento de redes.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| true |
| string |
| true |
| string | Usuario | true |
| string |
| true |
AtlasNetworkPeering.spec.azureConfiguration
AzureConfiguration es la configuración específica de Azure para el emparejamiento de redes.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| true |
| string |
| true |
| string |
| true |
| string | VNetName es el nombre de su red virtual de Azure. Solo se aplica a Azure. | true |
AtlasNetworkPeering.spec.conexiónSecreto
Nombre del secreto que contiene las claves públicas y privadas de la API de Atlas.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso al que se hace referencia Más información: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
AtlasNetworkPeering.spec.referenciaDeProyectoExterno
externalProjectRef contiene el ID del proyecto Atlas principal. Se excluye mutuamente con el campo "projectRef".
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| true |
AtlasNetworkPeering.spec.gcpConfiguration
GCPConfiguration es la configuración específica de Google Cloud para el emparejamiento de redes.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Usuario | true |
| string |
| true |
AtlasNetworkPeering.spec.proyectoRef
projectRef es una referencia al recurso AtlasProject principal. Es mutuamente excluyente con el campo "externalProjectRef".
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso de Kubernetes | true |
| string | Espacio de nombres del recurso de Kubernetes | false |
Estado de AtlasNetworkPeering
AtlasNetworkPeeringStatus es un estado del recurso personalizado AtlasNetworkPeering. No el incluido en AtlasProject.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| []objeto | Condiciones es la lista de estados que muestra el estado actual del recurso personalizado de Atlas | true |
| Objeto | AWSStatus contiene | false |
| Objeto |
| false |
| Objeto | GCPStatus contiene | false |
| string |
| false |
| entero |
| false |
| string | El estado describe el último | false |
Condiciones de estado de AtlasNetworkPeering
La condición describe el estado de un recurso personalizado de Atlas en un momento determinado.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Estado de la condición; uno de Verdadero, Falso, Desconocido. | true |
| string | Tipo de condición de recurso personalizado de Atlas. | true |
| string | Última vez que la condición cambió de un estado a otro. Representado en | false |
| string | A | false |
| string | El | false |
AtlasNetworkPeering.status.awsStatus
AWSStatus contiene únicamente información de estado relacionada con AWS
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| false |
| string |
| false |
AtlasNetworkPeering.status.azureStatus
AzureStatus contiene únicamente información de estado relacionada con Azure
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| false |
| string |
| false |
AtlasNetworkPeering.status.gcpStatus
GCPStatus contiene únicamente información de estado relacionada con GCP
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | GCPProjectID es el proyecto | false |
| string |
| false |