Importante
Los subrecursos tradicionales están en desuso desde la versión de sus CRD correspondientes. Si su configuración depende actualmente del formulario de subrecurso de esta definición de recurso, migrar a un CRD.
El recurso personalizado AtlasIPAccessList configura un Lista de acceso IP para un proyecto Atlas. Una lista de acceso IP permite asegurar el proyecto mediante una política de acceso mínimo. Cada proyecto de Atlas admite como máximo un recurso de AtlasIPAccessList. Si se definen múltiples recursos AtlasIPAccessList para el mismo proyecto, estos entran en conflicto entre sí.
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
El Atlas Kubernetes Operator realiza una de las siguientes acciones utilizando el recurso de API de lista de acceso de IP del Proyecto de Atlas :
Crea una nueva lista de acceso IP.
Reemplazar una lista de acceso IP existente.
Ejemplos
Ejemplo básico
El siguiente ejemplo muestra un recurso personalizado AtlasIPAccessList que permite el acceso al proyecto my-project desde las siguientes fuentes:
bloque CIDR
192.168.1.0/24Dirección IP
10.0.0.1
El acceso desde 10.0.0.1 expira después del 31de marzo de 2025.
apiVersion: atlas.mongodb.com/v1 kind: AtlasIPAccessList metadata: name: atlasipaccesslist-sample spec: projectRef: name: my-project namespace: my-operator-namespace entries: - cidrBlock: 192.168.1.0/24 - ipAddress: 10.0.0.1 deleteAfterDate: 2025-03-31T23:59:59+02:00 - awsSecurityGroup: sg-1234 comment: "AWS Access to my network peering"
Ejemplo independiente de CRD
El siguiente ejemplo muestra un AtlasIPAccessList CRD independiente que permite el acceso desde el mismo bloque CIDR y dirección IP permitidos por el Ejemplo básico. Esta definición de recursos personalizados te permite crear una lista de acceso IP en un proyecto que gestiona fuera de la instancia de Atlas Kubernetes Operator con la que define este recurso. Para habilitar la operación independiente, debes usar un externalProjectRef en lugar de un projectRef, y debes proporcionar un connectionSecret directamente, ya que este recurso no puede heredar credenciales API de su proyecto principal.
apiVersion: atlas.mongodb.com/v1 kind: AtlasIPAccessList metadata: name: atlasipaccesslist-sample spec: externalProjectRef: projectId: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret entries: - cidrBlock: 192.168.1.0/24 - ipAddress: 10.0.0.1 deleteAfterDate: 2025-03-31T23:59:59+02:00 - awsSecurityGroup: sg-1234 comment: "AWS Access to my network peering"
Parámetros
Lista de acceso IP de Atlas
AtlasIPAccessList es el esquema para la API atlasipaccesslists.
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 |
AtlasIPAccessList.spec
AtlasIPAccessListSpec define el estado objetivo de AtlasIPAccessList.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| []objeto | Entradas es la lista de accesos de | true |
| Objeto | Nombre del secreto que contiene las claves privadas y las llaves públicas de Atlas | false |
| Objeto |
| false |
| Objeto |
| false |
AtlasIPAccessList.spec.entries
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Identificador único del grupo de seguridad | false |
| string | Rango de direcciones | false |
| string | Comentario asociado con esta entrada en la lista de acceso. | false |
| string | Fecha y hora después de las cuales Atlas elimina la entrada de la lista de acceso temporal. Formato: fecha-hora | false |
| string | Entrada usando una dirección | false |
AtlasIPAccessList.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 |
AtlasIPAccessList.spec.externalProjectRef
externalProjectRef contiene el ID del proyecto principal de Atlas. Mutuamente exclusivo con el campo 'projectRef'.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| true |
AtlasIPAccessList.spec.projectRef
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 |
AtlasIPAccessList.estado
AtlasIPAccessListStatus es el estado más reciente observado del clúster AtlasIPAccessList. Solo lectura.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| []objeto | Condiciones es la lista de estados que muestra el estado actual del Recurso Personalizado Atlas | true |
| []objeto | El estado es el estado de la lista de acceso IP | false |
| entero |
| false |
AtlasIPAccessList.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 |
AtlasIPAccessList.status.entries
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | La entrada es el acceso IP que Atlas está gestionando | true |
| string | El estado es el estado correspondiente de la entrada | true |