Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes Operator

Configurar la federación de datos

Este tutorial muestra cómo crear una instancia de base de datos federada en Atlas a partir de archivos de configuración de Kubernetes con Atlas Kubernetes Operator. La instancia de base de datos federada de este tutorial conecta un AWS CuboS y un clúster Atlas.3

Este tutorial requiere:

Importante

Los recursos personalizados ya no eliminan objetos de forma predeterminada

Atlas Kubernetes Operator utiliza archivos de configuración de recursos personalizados para administrar la configuración de Atlas. Sin embargo, a partir de Atlas Kubernetes Operator 2.0, los recursos personalizados que elimine en Kubernetes ya no se eliminan en Atlas. En su lugar, Atlas Kubernetes Operator simplemente deja de administrarlos. Por ejemplo, si elimina un recurso AtlasProject personalizado en Kubernetes, Atlas Kubernetes Operator ya no elimina automáticamente el proyecto correspondiente de Atlas, lo que evita eliminaciones accidentales o inesperadas. Para obtener más información, incluido cómo revertir este comportamiento al valor predeterminado anterior a Atlas Kubernetes Operator 2.0, consulte Nuevo valor predeterminado: Protección contra eliminación en Atlas Kubernetes Operator 2.0.

1
  1. Ejecute el siguiente comando de la CLI de Atlas para crear el nuevo rol de AWS IAM en Atlas. Reemplace el siguiente marcador de posición con su valor:

    Marcador de posición
    Descripción

    PROJECT-ID

    Cadena hexadecimal única de 24 caracteres que identifica el proyecto Atlas a utilizar.

    atlas cloudProviders accessRoles aws create --projectId <PROJECT-ID>
  2. Tenga en cuenta los valores de campo devueltos RoleID, Atlas AWS Account ARN y Unique External ID:

    AWS IAM role '<RoleID>' successfully created.
    Atlas AWS Account ARN: <AtlasAWSAccountARN>
    Unique External ID: <AtlasAssumedRoleExternalID>
2
  1. Inicie sesión en su consola de administración de AWS.

  2. Navegar hasta el Identity and Access Management (IAM) servicio.

  3. Seleccione Roles en la navegación del lado izquierdo.

  4. Haga clic en el rol de IAM existente que desea utilizar para acceder a Atlas de la lista de roles.

  5. Seleccione la pestaña Trust Relationships.

  6. Haga clic en el botón Edit trust relationship.

  7. Edite el Policy Document. Agregue un nuevo objeto Statement con el siguiente contenido.

    Nota

    Reemplace las líneas resaltadas con los valores devueltos en el paso anterior.

    {
    "Version":"2012-10-17",
    "Statement":[
    {
    "Effect":"Allow",
    "Principal":{
    "AWS":"<atlasAWSAccountArn>"
    },
    "Action":"sts:AssumeRole",
    "Condition":{
    "StringEquals":{
    "sts:ExternalId":"<atlasAssumedRoleExternalId>"
    }
    }
    }
    ]
    }
  8. Haga clic en el botón Update Trust Policy.

3

Ejecute el siguiente comando para crear el AtlasDataFederation recurso personalizado.roleId El valor debe coincidir con el valor devuelto para RoleID en el paso anterior y spec.projectRef.name el valor debe coincidir con el nombre de su AtlasProject recurso personalizado:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasDataFederation
metadata:
name: my-federated-deployment
spec:
projectRef:
name: my-project
namespace: default
cloudProviderConfig:
aws:
roleId: 12345678
testS3Bucket: my-bucket
dataProcessRegion:
cloudProvider: AWS
region: OREGON_USA
name: my-fdi
storage:
databases:
- collections:
- dataSources:
- allowInsecure: false
collection: my-collection
collectionRegex:
database: my-database
databaseRegex:
defaultFormat: ".avro"
path: /
provenanceFieldName: string
storeName: my-data-store
urls:
- string:
name: my-collection-mdb
maxWildcardCollections: 100
name: my-database-mdb
views:
- name: my-view
pipeline:
source: my-source-collection
stores:
- name: my-store
provider: S3
additionalStorageClasses:
- STANDARD
bucket: my-bucket
delimiter: /
includeTags: false
prefix: data-
public: false
region: US_WEST_1
EOF
4

Ejecute el siguiente comando hasta que reciba una respuesta True, que indica que el usuario de la base de datos está listo:

kubectl get atlasdatafederation my-federated-deployment -o=jsonpath='{.status.conditions[?(@.type=="Ready")].status}'

Para configurar puntos finales privados para su instancia de base de datos federada, consulte Administrar puntos finales privados.

Volver

Importar proyectos

En esta página