Docs Menu
Docs Home
/ /
/ / /

AtlasNetworkContainer 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 AtlasNetworkContainer recurso personalizado define un contenedor de red para un proyecto Atlas. Crea Conexiones de peering deVPC entre contenedores de red y las redes que alojan sus aplicaciones.

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 Atlas Kubernetes realiza una de las siguientes acciones utilizando Atlas Recurso de API de interconexión de redes:

  • Crea un nuevo contenedor de red.

  • Actualiza un contenedor de red existente.

Los siguientes ejemplos ilustran configuraciones para AtlasNetworkContainer 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 el mismo contenedor de red que el ejemplo básico, pero para un proyecto Atlas que administra fuera de la instancia de Atlas Kubernetes Operator con la que administra el contenedor de red.

A continuación, se muestra un AtlasNetworkContainer recurso personalizado para un contenedor llamado my-atlas-nc que permite crear una conexión de interconexión de VPC entre Atlas y AWS dentro del my-project proyecto. Para administrar este recurso en la misma instancia de Operador de Kubernetes de Atlas que su proyecto Atlas principal, debe identificar el proyecto con projectRef en lugar externalProjectRef de.

apiVersion: atlas.mongodb.com/v1
kind: AtlasNetworkContainer
metadata:
name: my-atlas-nc
spec:
projectRef:
name: my-project
namespace: my-operator-namespace
provider: AWS
id: 66e2f2b7e69a89b66b621571
cidrBlock: 10.11.0.0/16
region: US_EAST_1

El siguiente ejemplo muestra un AtlasNetworkContainer CRD independiente que habilita el intercambio de VPC con los mismos parámetros habilitados en el Ejemplo Básico. Para habilitar la operación independiente, 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: AtlasNetworkContainer
metadata:
name: my-atlas-nc
spec:
externalProjectRef:
projectId: 66e2f2b621571b7e69a89b66
connectionSecret:
name: atlas-connection-secret
provider: AWS
id: 66e2f2b7e69a89b66b621571
cidrBlock: 10.11.0.0/16
region: US_EAST_1

AtlasNetworkContainer es el esquema para la API AtlasNetworkContainer

Name
Tipo
Descripción
Requerido

apiVersion

string

atlas.mongodb.com/v1

true

kind

string

AtlasNetworkContainer

true

metadata

Objeto

Consulte la documentación de Kubernetes API para conocer los campos del campo metadata.

true

spec

Objeto

AtlasNetworkContainerSpec define el estado objetivo de un AtlasNetworkContainer. Validaciones:

  • (has(self.``externalProjectRef``) && !has(self.``projectRef``)) || (!has(self.``externalProjectRef``) && has(self.``projectRef``)): debe definir solo una referencia de proyecto a través de externalProjectRef o projectRef

  • (has(self.``externalProjectRef``) && has(self.``connectionSecret``)) || !has(self.``externalProjectRef``): debe definir un secreto de conexión local al hacer referencia a un proyecto externo

  • (self.provider == 'GCP' && !has(self.region)) || (self.provider != 'GCP'): no debe establecer la región para GCP contenedores

  • ((self.provider == 'AWS' || self.provider == 'AZURE') && has(self.region)) || (self.provider == 'GCP'): debe establecer la región para AWS y los contenedores de Azure

  • (self.id == oldSelf.id) || (!has(self.id) && !has(oldSelf.id)): id es inmutable

  • (self.region == oldSelf.region) || (!has(self.region) && !has(oldSelf.region)): la región es inmutable

false

status

Objeto

AtlasNetworkContainerStatus es un(a) status para el AtlasNetworkContainer recurso personalizado. No el incluido en el AtlasProject

false

AtlasNetworkContainerSpec define el estado de destino de un AtlasNetworkContainer.

Name
Tipo
Descripción
Requerido

provider

enum

El proveedor es el nombre de la nube provider que aloja el contenedor de red. Enum: AWS, GCP, AZURE

true

cidrBlock

string

Atlas CIDR. Debe configurarse si ContainerID no está configurado.

false

connectionSecret

Objeto

Nombre del secreto que contiene las claves privadas y públicas de Atlas API.

false

externalProjectRef

Objeto

externalProjectRef Contiene el proyecto Atlas principal ID. Se excluye mutuamente con el campo "projectRef".

false

id

string

ID Es el identificador de contenedor de un contenedor de red ya existente que el operador gestionará. Este campo se puede usar junto con cidrBlock para actualizar el cidrBlock de un contenedor existente. Este campo es inmutable.

false

projectRef

Objeto

projectRef Es una referencia al recurso principal AtlasProject. Se excluye mutuamente con el campo "externalProjectRef".

false

region

string

ContainerRegion Es el nombre del proveedor region del contenedor de red de Atlas en formato Atlas region. Esto es requerido por AWS y Azure, pero no lo usa GCP. Este campo es inmutable; Atlas no admite cambios en el contenedor de red.

false

Nombre del secreto que contiene las claves públicas y privadas de la API de Atlas.

externalProjectRef contiene el ID del proyecto Atlas principal. Se excluye mutuamente con el campo "projectRef".

Name
Tipo
Descripción
Requerido

id

string

ID es el proyecto Atlas ID.

true

projectRef es una referencia al recurso AtlasProject principal. Es mutuamente excluyente con el campo "externalProjectRef".

Name
Tipo
Descripción
Requerido

name

string

Nombre del recurso de Kubernetes

true

namespace

string

Espacio de nombres del recurso de Kubernetes

false

AtlasNetworkContainerStatus es un estado del recurso personalizado AtlasNetworkContainer. No el incluido en AtlasProject.

Name
Tipo
Descripción
Requerido

conditions

[]objeto

Condiciones es la lista de estados que muestra el estado actual del recurso personalizado de Atlas

true

id

string

ID Registrar el identificador del contenedor en Atlas

false

observedGeneration

entero

ObservedGeneration Indica la generación de la especificación del recurso que el operador Atlas conoce. El operador Atlas actualiza este campo con el valor 'metadata.generation' en cuanto inicia la conciliación del recurso. Formato: int64

false

provisioned

booleano

Provisionadas es verdadero cuando los clústeres se han implementado en el contenedor antes de la última conciliación

false

La condición describe el estado de un recurso personalizado de Atlas en un momento determinado.

Name
Tipo
Descripción
Requerido

status

string

Estado de la condición; uno de Verdadero, Falso, Desconocido.

true

type

string

Tipo de condición de recurso personalizado de Atlas.

true

lastTransitionTime

string

Última vez que la condición cambió de un estado a otro. Representado en ISO 8601 formato. Formato: fecha y hora.

false

message

string

A message proporcionando detalles sobre la transición.

false

reason

string

El reason para la última transición de la condición.

false

Volver

Lista de acceso IP de Atlas

En esta página