El recurso personalizado AtlasPrivateEndpoint configura un endpoint privado para un Proyecto de Atlas. Esto te permite conectar tu proveedor de nube a Atlas sin enviar información a través de una red pública. Los nodos privados son conexiones unidireccionales hacia Atlas desde su red virtual.
Importante
Los recursos personalizados ya no eliminan objetos de forma predeterminada
El operador de Kubernetes de Atlas utiliza Archivosde configuración de recursos personalizados para administrar la configuración de Atlas. Sin embargo, a partir del Operador de 2.0 Kubernetes 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
AtlasProjectRecurso 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 ayudar a prevenir 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 de Atlas.,2 0consulte 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 personalizadoAtlasDeployment, 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 del servicio de punto final privado de Atlas:
Crea un nuevo servicio de punto final privado.
Actualiza un servicio de punto final privado existente.
Para obtener más información sobre cómo implementar puntos finales privados en Atlas Kubernetes Operator, consulte Administrar puntos finales privados.
Ejemplos
Ejemplo básico
El siguiente ejemplo muestra un recurso personalizado AtlasPrivateEndpoint que define un Punto final privado my-project de AWS dentro del proyecto.
apiVersion: atlas.mongodb.com/v1 kind: AtlasPrivateEndpoint metadata: name: my-atlas-pe1 spec: projectRef: name: my-project namespace: my-operator-namespace provider: AWS region: US_EAST_1 awsConfiguration: - id: vpcpe-xyz
Ejemplo de CRD independiente
El siguiente ejemplo muestra un AtlasPrivateEndpoint CRD independiente que define el mismo punto final privado definido en el Ejemplo Básico. Esta definición de recurso personalizada le permite crear este punto final privado en un proyecto que no administra en la misma instancia de Atlas Kubernetes Operator con la que define este recurso. Para habilitar la operación independiente, debe usar un externalProjectRef en lugar de un projectRef y debe 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: AtlasPrivateEndpoint metadata: name: my-atlas-pe1 spec: atlasRef: projectID: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret provider: AWS region: US_EAST_1 awsConfiguration: - id: vpcpe-xyz
Parámetros
Esta sección describe los AtlasPrivateEndpoint parámetros de recursos personalizados disponibles.
metadata.nameTipo: string
Requerido
Nombre que utiliza
AtlasProjectel recurso personalizado para agregar este punto final privado a un proyecto.
metadata.namespaceTipo: string
Opcional
Espacio
defaultde nombres distinto de que desea que contenga elatlasPrivateEndpointrecurso personalizado. Si define un espacio de nombres personalizado, debe agregarlo al recurso personalizado enAtlasProjectelspec.privateEndpoint.privateEndpointRef.namespacecampo.
spec.awsConfiguration.idTipo: string
Condicional
ID de la interfaz de red del punto final privado. Este parámetro es obligatorio y está limitado a los puntos finales privados de AWS.
spec.azureConfiguration.idTipo: string
Condicional
ID de la interfaz de red del punto de conexión privado. Este parámetro es obligatorio y está limitado a los puntos de conexión privados de Azure.
spec.azureConfiguration.ipAddressTipo: string
Condicional
Dirección IP del endpoint privado en tu Azure VNet. Este parámetro es obligatorio y está restringido a Azure nodos privados.
spec.connectionSecret.nameTipo: 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 recurre a:
El parámetro
spec.connectionSecretRef.namedel padreatlasProjectEl secreto predeterminado
global, sispec.connectionSecretRef.nameno está definido para el padreatlasProject
Este parámetro es obligatorio para los CRD independientes.
El operador Atlas Kubernetes solo observa secretos con la etiqueta
atlas.mongodb.com/type=credentialspara evitar observar secretos innecesarios.El siguiente ejemplo etiqueta un secreto:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.externalProjectRef.idTipo: string
Condicional
ID del proyecto al que pertenece el punto final privado. Debe especificar el ID de proyecto de un proyecto Atlas existente. Este parámetro es obligatorio para los puntos finales privados que pertenecen a proyectos gestionados por:
Una instancia diferente de Atlas Kubernetes Operator
Herramientas distintas a Atlas Kubernetes Operator
Para las implementaciones que pertenecen a proyectos administrados por la misma instancia de Atlas Kubernetes Operator, use
spec.projectRef.namesi no usaspec.externalProjectRef.id.Un punto de conexión privado solo puede pertenecer a un proyecto. Para definir el mismo punto de conexión privado para varios proyectos, cree definiciones de recursos personalizadas para cada proyecto.
spec.gcpConfiguration.endpointsTipo: arreglo
Condicional
Lista de puntos finales privados individuales que componen este grupo. Este parámetro es obligatorio y está limitado a los puntos finales privados de Google Cloud.
spec.gcpConfiguration.endpoints.[n].ipAddressTipo: string
Condicional
Dirección IP a la que se resuelve el punto de conexión privado de Google Cloud. Este parámetro es obligatorio y está limitado a los puntos de conexión privados de Google Cloud.
spec.gcpConfiguration.endpoints.[n].nameTipo: string
Condicional
Nombre que identifica de forma única el punto de conexión privado de Google Cloud. Este parámetro es obligatorio y está limitado a los puntos de conexión privados de Google Cloud.
spec.gcpConfiguration.groupNameTipo: string
Condicional
Nombre que identifica de forma única un conjunto de puntos de conexión privados de Google Cloud. Este parámetro es obligatorio y está limitado a los puntos de conexión privados de Google Cloud.
spec.gcpConfiguration.projectIdTipo: string
Condicional
Identificador único del proyecto de Google Cloud al que pertenecen sus puntos finales privados.
spec.projectRef.nameTipo: string
Condicional
Nombre del proyecto al que pertenece el punto de conexión privado. Debe especificar un recurso personalizado existente. Este parámetro solo se aplica a los puntos de conexión privados que pertenecen a proyectos administrados por la misma instancia del operador de Kubernetes de
AtlasProjectAtlas.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.Un punto de conexión privado solo puede pertenecer a un proyecto. Para definir el mismo punto de conexión privado para varios proyectos, cree definiciones de recursos personalizadas para cada proyecto.
spec.projectRef.namespaceTipo: string
Condicional
Espacio de nombres en el que
AtlasProjectspec.projectRef.nameexiste el recurso personalizado especificado en.Para implementaciones que pertenecen a proyectos administrados por:
una instancia diferente de Atlas Kubernetes Operator
herramientas distintas de Atlas Kubernetes Operator
No configure este parámetro.