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 recurso personalizado AtlasPrivateEndpoint configura un
punto final privado para un proyecto Atlas. Esto le permite conectar su 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 tu red virtual.
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.De manera similar, Atlas Kubernetes Operator no elimina equipos de Atlas si los elimina de un proyecto Atlas en Kubernetes con 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 acciónes utilizando el Resource API del servicio privado de Atlas Private Endpoint Service API Resource:
Crea un nuevo servicio de nodo privado.
Actualiza un servicio de punto final privado existente.
Para aprender más sobre la implementación de nodos privados en Atlas Kubernetes Operator, consulte Administrar nodos privados.
Ejemplos
Ejemplo básico
El siguiente ejemplo muestra un AtlasPrivateEndpoint recurso personalizado 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 endpoint privado definido en el Ejemplo básico. Esta definición de recurso personalizado te permite crear este nodo privado en un Proyecto que no gestionas, en la misma instancia de Atlas Kubernetes Operator con el que defines este recurso. Para permitir la operación independiente, debes usar un externalProjectRef en lugar de un projectRef, y debes proveer 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: externalProjectRef: projectID: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret provider: AWS region: US_EAST_1 awsConfiguration: - id: vpcpe-xyz
Parámetros
Nodo privado de Atlas
La definición de recurso personalizado (CRD) AtlasPrivateEndpoint define la configuración deseada de un punto final privado para un proyecto Atlas. Permite una conexión privada entre su proveedor de nube y Atlas que no envía información a través de una red pública.
Puedes utilizar nodos privados para crear una conexión unidireccional a los clústeres Atlas desde tu red virtual.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | atlas.mongodb.com/v1 | true |
| string |
| true |
| Objeto | Consulte la documentación de Kubernetes | true |
| Objeto |
| false |
| Objeto |
| false |
AtlasPrivateEndpoint.spec
AtlasPrivateEndpointSpec es la especificación de la configuración deseada de un punto final privado del proyecto
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| enum | Nombre del servicio en la nube | true |
| string | Región del proveedor de nube elegido en la que deseas crear el servicio de nodos privados. | true |
| []objeto | AWSConfiguration es la configuración | false |
| []objeto |
| false |
| Objeto | Nombre del secreto que contiene las claves privadas y las llaves públicas de Atlas | false |
| Objeto |
| false |
| []objeto | GCPConfiguration es la configuración específica de Google Cloud para el punto final privado. | false |
| Objeto |
| false |
Punto final privado de Atlas.spec.awsConfiguration
AWSPrivateEndpointConfiguration mantiene la configuración de AWS realizada en la red del cliente.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| true |
AtlasPrivateEndpoint.spec.azureConfiguration
AzurePrivateEndpointConfiguration contiene la configuración de Azure realizada en la red del cliente.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| true |
| string |
| true |
AtlasPrivateEndpoint.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 |
Punto final privado de Atlas.spec.referencia de proyecto externo
externalProjectRef contiene el ID del proyecto principal de Atlas. Mutuamente exclusivo con el campo 'projectRef'.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| true |
AtlasPrivateEndpoint.spec.gcpConfiguration
GCPPrivateEndpointConfiguration contiene la configuración de GCP realizada en la red del cliente.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| []objeto | Puntos finales es la lista de | true |
| string |
| true |
| string |
| true |
AtlasPrivateEndpoint.spec.gcpConfiguration.endpoints
GCPPrivateEndpoint mantiene las reglas de reenvío de GCP configuradas en la red del cliente.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| true |
| string | Nombre que identifica la regla de reenvío de Google Cloud como consumidor que creaste. | true |
AtlasPrivateEndpoint.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 |
AtlasPrivateEndpoint.status
AtlasPrivateEndpointStatus es el estado observado más reciente del clúster de AtlasPrivateEndpoint. Solo lectura.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| []objeto | Condiciones es la lista de estados que muestra el estado actual del recurso personalizado de Atlas | true |
| []objeto | Los puntos finales son el estado del | false |
| string | Error es la descripción de la falla que se produjo al configurar el nodo privado | false |
| entero |
| false |
| string |
| false |
| []cadena |
| false |
| string |
| false |
| string |
| false |
| string |
| false |
AtlasPrivateEndpoint.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 | Última vez que la condición cambió de un estado a otro. Representado en | false |
| string | Un | false |
| string | El | false |
AtlasPrivateEndpoint.status.endpoints
EndpointInterfaceStatus es el estado observado más reciente de las interfaces asociadas al servicio configurado. Solo lectura.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| false |
| string |
| false |
| string |
| false |
| string | Error es la descripción de la falla que se produjo al configurar el nodo privado | false |
| []objeto | GCPForwardingRules es el estado del nodo privado (reglas de reenvío) del cliente | false |
AtlasPrivateEndpoint.status.endpoints.gcpForwardingRules
GCPForwardingRule es el estado observado más reciente de las reglas de reenvío de GCP configuradas para una interfaz. Solo lectura.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Etiqueta legible por humanos que identifica la regla de reenvío de consumidores de Google Cloud que creaste. | false |
| string | Estado del grupo de puntos finales Atlas | false |