Docs Menu
Docs Home
/ /
Recursos personalizados
/ / /

AtlasNetworkPeering Recurso personalizado

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 AtlasProject Recurso 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 personalizado AtlasDeployment, 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 Kubernetes de Atlas realiza una de las siguientes acciones utilizando el recurso de API de emparejamiento de red de Atlas:

  • 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.

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.

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

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

Esta sección describe los AtlasNetworkPeering parámetros disponibles en esta definición de recurso personalizada.

metadata.name

Tipo: string

Requerido

Nombre que utiliza AtlasNetworkPeering el recurso personalizado para agregar esta conexión de intercambio de redes a un proyecto.

metadata.namespace

Tipo: string

Opcional

Espacio de nombres que desea que contenga el recurso personalizado atlasNetworkPeering. Si no se especifica, Atlas Kubernetes Operator usa el espacio de nombres actual definido por kubectl.

spec.connectionSecret.name

Tipo: string

Condicional

Nombre del secreto opacoQue contiene el ID de la organización y las claves API que Atlas Kubernetes Operator utiliza para conectarse a Atlas. Si no se especifica, Atlas Kubernetes Operator utiliza una de las siguientes opciones de forma predeterminada:

  • El parámetro spec.connectionSecretRef.name del padre atlasProject

  • El secreto predeterminado global, si no ha definido el spec.connectionSecretRef.name para el padre atlasProject

Este parámetro es necesario para CRD independientes.

El operador Atlas Kubernetes solo observa secretos con la etiqueta atlas.mongodb.com/type=credentials para evitar observar secretos innecesarios.

El siguiente ejemplo etiqueta un secreto:

kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.containerRef.id

Tipo: string

Condicional

Si este recurso representa una nueva conexión de interconexión de red, omita este parámetro.

ID del contenedor de interconexión de red existente. Proporcione este campo solo si desea que este recurso administre una conexión de interconexión de red existente dentro de Atlas Kubernetes Operator. Si prefiere que este recurso comience a administrar un recurso local de Kubernetes, use el parámetro spec.containerRef.name.

spec.containerRef.name

Tipo: string

Condicional

Nombre de un contenedor de interconexión de red existente que administra con un recurso local de Kubernetes en el espacio de nombres de su proyecto. Proporcione este campo solo si desea que este recurso administre un recurso local de Kubernetes. Si prefiere que este recurso comience a administrar una conexión de interconexión de red ya administrada por Atlas Kubernetes Operator, use el parámetro spec.containerRef.id. Si este recurso representa una nueva conexión de interconexión de red, omita este campo.

spec.externalProjectRef.id

Tipo: string

Condicional

ID del proyecto al que pertenece la conexión de interconexión de red. Debe especificar el ID de proyecto de un proyecto Atlas existente. Debe especificar este parámetro para las conexiones de interconexión de red que pertenecen a proyectos administrados por:

  • Una instancia diferente de Atlas Kubernetes Operator

  • Herramientas distintas a Atlas Kubernetes Operator

Para implementaciones que pertenezcan a proyectos gestionados por la misma instancia del Atlas Kubernetes Operator, utiliza spec.projectRef.name. Estos parámetros se excluyen mutuamente entre sí.

Una conexión de interconexión de red solo puede pertenecer a un proyecto. Para definir la misma conexión de interconexión de red para varios proyectos, cree definiciones de recursos personalizadas para cada proyecto.

spec.projectRef.name

Tipo: string

Condicional

Nombre del proyecto al que pertenece la conexión de interconexión de red. Debe especificar un recurso personalizado existente. Este parámetro solo se aplica a las conexiones de interconexión de red que pertenecen a proyectos administrados por la misma instancia del operador de Kubernetes de AtlasProject Atlas.

Para implementaciones que pertenecen a proyectos administrados por:

  • una instancia diferente de Atlas Kubernetes Operator

  • herramientas distintas de Atlas Kubernetes Operator

Utilice spec.externalProjectRef.id. Estos parámetros son mutuamente excluyentes.

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.

spec.projectRef.namespace

Tipo: string

Condicional

Espacio de nombres en el que AtlasProject spec.projectRef.name existe el recurso personalizado especificado en.

No configure este parámetro para implementaciones que pertenezcan a proyectos administrados por:

  • una instancia diferente de Atlas Kubernetes Operator

  • herramientas distintas de Atlas Kubernetes Operator

spec.id

Tipo: string

Condicional

Identificador único de la conexión de interconexión de red existente en Atlas. Este parámetro es obligatorio y está limitado a escenarios en los que el operador de Kubernetes de Atlas asume la gestión de una conexión de interconexión de red preexistente.

spec.provider

Tipo: string

Requerido

Proveedor de nube con el que se establecerá una conexión de peering de VPC. Debe ser uno de los siguientes:

  • AWS

  • Azure

  • GCP

spec.awsConfiguration.accepterRegionName

Tipo: string

Condicional

Región deAWS con la que se establecerá una conexión de peering de VPC. Obligatorio y limitado a conexiones de AWS.

spec.awsConfiguration.awsAccountId

Tipo: string

Condicional

Identificador único de la cuenta de AWS a la que pertenece la conexión. Obligatorio y limitado a las conexiones de AWS.

spec.awsConfiguration.routeTableCidrBlock

Tipo: string

Condicional

Bloque CIDR de su VPC de AWS.Requerido y limitado a conexiones de AWS.

spec.awsConfiguration.vpcId

Tipo: string

Condicional

Identificador único de su VPC de AWS.Obligatorio y limitado a las conexiones de AWS.

spec.azureConfiguration.azureDirectoryId

Tipo: string

Condicional

Identificador único de tu directorio de Azure. Requerido y limitado para las conexiones de Azure.

spec.azureConfiguration.azureSubscriptionId

Tipo: string

Condicional

Identificador único de su suscripción de Azure. Obligatorio y limitado a las conexiones de Azure.

spec.azureConfiguration.resourceGroupName

Tipo: string

Condicional

Nombre del grupo de recursos de Azure al que pertenece la conexión. Obligatorio y limitado a las conexiones de Azure.

spec.azureConfiguration.vNetName

Tipo: string

Condicional

Nombre de su red virtual de Azure. Obligatorio y limitado a conexiones de Azure.

spec.gcpConfiguration.gcpProjectId

Tipo: string

Condicional

Nombre de tu proyecto de Google Cloud. Obligatorio y limitado a las conexiones de Google Cloud.

spec.gcpConfiguration.networkName

Tipo: string

Condicional

Nombre de tu red de Google Cloud. Obligatorio y limitado a las conexiones de Google Cloud.

Volver

Federación de Datos Atlas

En esta página