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
Recursos personalizados ya no borran objetos por defecto
Atlas Kubernetes Operator uses custom resource archivos de configuración to manage your Atlas configuration, but as of Atlas Kubernetes Operator 2.0, custom resources you borrar in Kubernetes are no longer (por defecto) borrados in Atlas. En su lugar, Atlas Kubernetes Operator simplemente deja de gestionar esos recursos en Atlas. Por ejemplo, si eliminas un
AtlasProjectCustom recurso en Kubernetes, de forma predeterminada, el Atlas Kubernetes Operator ya no elimina automáticamente el Proyecto correspondiente de Atlas. Este cambio de comportamiento está diseñado para ayudar a prevenir eliminaciones accidentales o inesperadas. Para saber más, incluido cómo revertir este comportamiento al por defecto utilizado antes de Atlas Kubernetes Operator 2.0, consulta Nuevo valor por defecto: Protección de Eliminación en Atlas Kubernetes Operator 2.0.De manera similar, Atlas Kubernetes Operator no elimina equipos de Atlas si los elimina de un proyecto Atlas en Kubernetes con Atlas Kubernetes Operator.
Define explícitamente los detalles de configuración que deseas para evitar el uso implícito de los valores de configuración por defecto de Atlas. En algunos casos, heredar los valores por defecto de Atlas puede crear un ciclo de conciliación que impida que el recurso personalizado alcance un estado de
READY. Por ejemplo, definir explícitamente el comportamiento de escalado automático deseado en el recurso personalizadoAtlasDeployment, como se muestra en el ejemplo incluido, garantiza que un tamaño de instancia estático en el recurso personalizado no se aplique repetidamente a una implementación de Atlas que tiene 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 API de emparejamiento de red:
Crea una nueva conexión peering 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 las configuraciones para los AtlasNetworkPeering CRDs.
La configuración básica de ejemplo define un recurso que gestionas con la misma instancia del Atlas Kubernetes Operator con la que gestionas su proyecto padre de Atlas.
El ejemplo CRD independiente configura el 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 recurso personalizado AtlasNetworkPeering que define la conexión green-leaf-peering entre el proyecto my-project VPC y tu AWS VPC. Para administrar este recurso en la misma instancia del Atlas Kubernetes Operator que el Proyecto principal de Atlas, se debe identificar el Proyecto con projectRef en vez de externalProjectRef.
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 por el Ejemplo básico. Para permitir la gestión de recursos de forma independiente del proyecto principal, debes usar un externalProjectRef en lugar de un projectRef, y debes proporcionar un connectionSecret directamente, ya que este recurso no puede heredar 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
AtlasNetworkPeering
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 nube | true |
| Objeto | AWSConfiguration son los ajustes específicos de | false |
| Objeto |
| false |
| Objeto | Nombre del secreto que contiene las claves privadas y las llaves 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 se refiere a un Contenedor de Red, ya sea por el nombre de Kubernetes o por el ID de Atlas.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| false |
| string | Nombre del recurso contenedor de Kubernetes, debe estar presente en el mismo namespace. Utilice | false |
AtlasNetworkPeering.spec.awsConfiguration
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 son los ajustes específicos 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.connectionSecret
Nombre del secreto que contiene las claves privadas y públicas 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.externalProjectRef
externalProjectRef contiene el ID del proyecto principal de Atlas. Mutuamente exclusivo 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 padre AtlasProject. Mutuamente excluyente con el campo "externalProjectRef".
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso de Kubernetes | true |
| string | namespace del recurso de Kubernetes | false |
Estado de AtlasNetworkPeering
AtlasNetworkPeeringStatus es un estado para el recurso personalizado AtlasNetworkPeering. No es el que se incluye en el 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 recursos personalizados de Atlas. | true |
| string | Última vez que la condición cambió de un estado a otro. Representado en | false |
| string | Un | 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 información de estado exclusiva de Azure
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| false |
| string |
| false |
AtlasNetworkPeering.status.gcpStatus
GCPStatus contiene información de estado relacionada únicamente con GCP
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | GCPProjectID es | false |
| string |
| false |