Importante
Los subrecursos heredados se deprecian desde la publicación de sus CRD correspondientes. Si tu configuración actualmente depende de la forma de subrecurso de esta definición de recurso, migra a un CRD.
El recurso personalizado AtlasNetworkContainer define un contenedor de red para un proyecto de Atlas. Se crean conexiones de emparejamiento VPC entre contenedores de red y las redes que alojan las aplicaciones.
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.Del mismo modo, Atlas Kubernetes Operator no elimina los equipos de Atlas si los eliminas de un proyecto Atlas en Kubernetes utilizando 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
Atlas Kubernetes Operator realiza una de las siguientes acciones usando el recurso API de Peering de Red Atlas API de recurso de emparejamiento de red:
Crea un nuevo contenedor de red.
Actualiza un contenedor de red existente.
Ejemplos
Los siguientes ejemplos ilustran las configuraciones para los AtlasNetworkContainer 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.
La configuración del CRD independiente configura el mismo contenedor de red que el ejemplo básico, pero para un Proyecto de Atlas que gestionas fuera de la instancia del Atlas Kubernetes Operator con la que gestionas el contenedor de red.
Ejemplo básico
A continuación se muestra un recurso personalizado AtlasNetworkContainer para un contenedor llamado my-atlas-nc que permite crear una conexión de emparejamiento de VPC entre Atlas y AWS dentro del proyecto my-project. Para administrar este recurso en la misma instancia de Atlas Kubernetes Operator que su proyecto principal de Atlas, debe identificar el proyecto con projectRef en lugar de externalProjectRef.
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
Ejemplo independiente de CRD
El siguiente ejemplo muestra un CRD independiente AtlasNetworkContainer que habilita el emparejamiento de VPC con los mismos parámetros que el Ejemplo Básico. Para habilitar el funcionamiento 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 la 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
Parámetros
AtlasNetworkContainer
AtlasNetworkContainer es el esquema para la API de AtlasNetworkContainer
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | atlas.mongodb.com/v1 | true |
| string |
| true |
| Objeto | Consulta la documentación de Kubernetes | true |
| Objeto |
| false |
| Objeto |
| false |
AtlasNetworkContainer.spec
AtlasNetworkContainerSpec define el estado objetivo de un AtlasNetworkContainer.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| enum | El proveedor es el nombre de la nube | true |
| string | Atlas | false |
| Objeto | Nombre del secreto que contiene las claves privadas y las llaves públicas de Atlas | false |
| Objeto |
| false |
| string |
| false |
| Objeto |
| false |
| string |
| false |
AtlasNetworkContainer.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 |
AtlasNetworkContainer.spec.externalProjectRef
externalProjectRef contiene el ID del proyecto principal de Atlas. Mutuamente exclusivo con el campo 'projectRef'.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| true |
AtlasNetworkContainer.especificación.referenciaProyecto
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 |
AtlasNetworkContainer.estado
AtlasNetworkContainerStatus es un estado para el recurso personalizado AtlasNetworkContainer. No 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 Atlas | true |
| string |
| false |
| entero |
| false |
| booleano | Provisionadas es verdadero cuando los clústeres se han implementado en el contenedor antes de la última conciliación | false |
AtlasNetworkContainer.status.conditions
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 | La última vez, la condición pasó de un estado a otro. Representado en formato | false |
| string | Un | false |
| string | El | false |