AtlasDataFederation
사용자 지정 리소스
참고
Atlas Kubernetes Operator는 정부용 Atlas에 대해 AtlasDataFederation
사용자 지정 리소스를 지원하지 않습니다.
AtlasDataFederation
사용자 지정 리소스는 Atlas에서 federated database instance
를 구성합니다. AtlasDataFederation
사용자 지정 리소스를 만들면 Atlas Kubernetes Operator가 Atlas에서 연합 데이터베이스 인스턴스를 만들거나 업데이트하려고 시도합니다. 연합 데이터베이스 인스턴스를 사용하여 연합 쿼리를 실행할 수 있습니다.
중요
Custom Resource(사용자 정의 리소스)는 더 이상 기본적으로 객체를 삭제하지 않음
Atlas Kubernetes Operator 는 사용자 지정 리소스 구성 파일을 관리 하여 Atlas 구성을 2.0 관리하지만, Atlas Kubernetes Operator Kubernetes 에서 삭제 한 사용자 지정 리소스가 더 이상 ( 기본값) Atlas 에서 삭제되지 않습니다. 대신 Atlas Kubernetes Operator 는 Atlas 에서 해당 리소스 관리를 중지할 뿐입니다. 예를 예시 , Kubernetes 에서
AtlasProject
Custom Resource(사용자 지정 리소스)를 삭제 하면 기본값 으로 Atlas Kubernetes Operator 는 더 이상 Atlas 에서 해당 프로젝트 를 자동으로 삭제하지 않습니다. 이러한 동작 변경은 우발적이거나 예기치 않은 삭제를 방지하기 위한 것입니다. 이 동작을 Atlas Kubernetes Operator 이전에 사용된 기본값 으로 되돌리는 방법 등 학습 보세요.,2 0 새 기본값: Atlas Kubernetes Operator 의 삭제 보호 기능을 2 참조하세요.0.마찬가지로, Atlas Kubernetes Operator 를 사용하여 Kubernetes 의 Atlas 프로젝트 에서 팀을 제거 하는 경우 Atlas Kubernetes Atlas Kubernetes Operator 는 Atlas 에서 팀을 삭제 하지 않습니다.
기본값 Atlas 구성 값을 암시적으로 사용하지 않으려면 원하는 구성 세부 정보를 명시적으로 정의하세요. 경우에 따라 Atlas 기본값을 상속하면 조정 루프가 발생하여 사용자 지정 리소스 가
READY
상태 를 달성하지 못할 수 있습니다. 예를 예시AtlasDeployment
사용자 지정 리소스 에 원하는 자동 확장 동작을 명시적으로 정의하면 포함된 예시 와 같이 사용자 지정 리소스 의 정적 인스턴스 크기가 자동 확장이 활성화된 Atlas 배포서버 서버에 반복적으로 적용되지 않도록 할 수 있습니다.autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40
Atlas Kubernetes Operator는 Atlas Clusters API Resource (클러스터 API 리소스) 및 Advanced Clusters API Resource (고급 클러스터 API 리소스)를 사용하여 새 연합 데이터베이스 인스턴스를 생성하거나 기존 연합 데이터베이스 인스턴스를 업데이트합니다. spec.serverlessSpec
아래의 필드에 값을 지정하는 경우, Atlas Kubernetes Operator는 Atlas Serverless Instance API Resource (서버리스 인스턴스 API 리소스)를 사용하여 연합 데이터베이스 인스턴스에 대한 비공개 엔드포인트를 생성하거나 구성합니다.
Kubernetes 클러스터에서 AtlasDataFederation
리소스를 제거하면 Atlas Kubernetes Operator가 Atlas에서 연합 데이터베이스 인스턴스를 제거합니다.
예시
다음 예제에서는 비공개 엔드포인트가 구성된 AtlasDataFederation
사용자 지정 리소스 사양을 보여줍니다.
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 privateEndpoints: - endpointId: vpce-3bf78b0ddee411ba1 provider: AWS type: DATA_LAKE - endpointId: vpce-3bf78b0ddee411ba2 provider: AWS type: DATA_LAKE
매개변수
이 섹션에서는 사용 가능한 주요 AtlasDataFederation
사용자 지정 리소스 매개변수 몇 가지에 대해 설명합니다. 사용 가능한 매개변수의 전체 목록은 Atlas Data Federation API를 참조하세요.
사양을 사용자 지정하려면 이러한 설명, 사용 가능한 예제, API 문서를 참조하세요.
metadata.name
유형: 문자열
필수 사항
Atlas Kubernetes Operator가 이 연합 데이터베이스 인스턴스를 프로젝트에 추가하는 데 사용하는
AtlasDataFederation
사용자 지정 리소스 를 식별하는 레이블입니다.
spec.cloudProviderConfig
유형: 객체
필수 사항
연합 데이터베이스 인스턴스에 대한 클라우드 제공자 구성이 포함된 목록입니다.
spec.cloudProviderConfig.aws
유형: 객체
필수 사항
연합 데이터베이스 인스턴스를 호스팅하는 cloud 서비스 제공자의 이름입니다.
spec.cloudProviderConfig.aws.roleId
유형: 문자열
필수 사항
연합 데이터베이스 인스턴스가 데이터 저장소에 액세스하는 데 사용할 수 있는 역할의 고유 식별자입니다.
spec.cloudProviderConfig.aws.testS3Bucket
유형: 문자열
필수 사항
제공된 역할 ID에 액세스 권한이 부여된 S3 데이터 버킷의 이름입니다.
spec.dataProcessRegion
유형: 객체
필수 사항
연합 데이터베이스 인스턴스가 클라이언트 연결을 라우팅하는 클라우드 제공자 리전에 대한 정보입니다. Atlas Kubernetes Operator는 Amazon Web Services 만 지원합니다.
spec.dataProcessRegion.cloudProvider
유형: 문자열
필수 사항
연합 데이터베이스 인스턴스의 데이터 저장소를 호스팅하는 클라우드 서비스 제공자의 이름입니다. Atlas Kubernetes Operator에서는 다음 값을 허용합니다.
AWS
TENANT
SERVERLESS
spec.dataProcessRegion.region
유형: 문자열
필수 사항
연합 데이터베이스 인스턴스 데이터 저장소의 지리적 위치를 나타내는 레이블입니다. Atlas Kubernetes Operator에서는 다음 값을 허용합니다.
SYDNEY_AUS
MUMBAI_IND
FRANKFURT_DEU
DUBLIN_IRL
LONDON_GBR
VIRGINIA_USA
OREGON_USA
SAOPAULO_BRA
SINGAPORE_SGP
spec.name
유형: 문자열
옵션
Atlas에서 연합 데이터베이스 인스턴스를 식별하는 레이블입니다.
spec.storage
유형: 객체
옵션
각 데이터 저장소 및 Atlas 데이터베이스에 대한 매핑에 대한 구성 정보입니다.
spec.storage.databases
유형: 배열
옵션
이 연합 데이터베이스 인스턴스에 대한 쿼리 가능 데이터베이스 및 collection이 포함된 목록입니다.
spec.storage.databases.collections
유형: 배열
옵션
stores
데이터 저장소에 매핑되는 컬렉션 및 데이터 소스의 목록입니다.
spec.storage.databases.collections.dataSources
유형: 배열
옵션
이 연합 데이터베이스 인스턴스의 컬렉션에 매핑되는 데이터 저장소가 포함된 목록입니다.
spec.storage.databases.collections.dataSources.allowInsecure
유형: 부울
옵션
지정된 URL의 체계의 유효성을 검사하는 플래그입니다.
true
인 경우, Atlas Kubernetes Operator는 안전하지 않은HTTP
체계를 허용하고, 서버의 인증서 체인과 호스트 이름을 확인하지 않으며, 서버에서 제공하는 호스트 이름을 가진 인증서를 수락합니다.false
인 경우, Atlas Kubernetes Operator는HTTPS
체계만 보안을 허용합니다.
spec.storage.databases.collections.dataSources.collection
유형: 문자열
옵션
데이터베이스에서 컬렉션을 식별하는 사람이 읽을 수 있는 레이블입니다. 와일드카드(
*
) collection을 만들려면 이 매개변수를 생략해야 합니다.
spec.storage.databases.collections.dataSources.collectionRegex
유형: 문자열
옵션
와일드카드(
*
) collection을 만드는 데 사용할 정규식 패턴입니다.
spec.storage.databases.collections.dataSources.database
유형: 문자열
옵션
클러스터의 컬렉션을 포함하는 데이터베이스를 식별하는 사람이 읽을 수 있는 레이블입니다. 동적으로 생성된 데이터베이스에 대한 와일드카드(
*
) collection을 생성하려면 이 매개변수를 생략해야 합니다.
spec.storage.databases.collections.dataSources.databaseRegex
유형: 문자열
옵션
와일드카드(
*
) 데이터베이스를 만드는 데 사용할 정규식 패턴입니다.
spec.storage.databases.collections.dataSources.defaultFormat
유형: 문자열
옵션
storeName
을(를) 검색하는 동안 파일 확장자가 없는 파일을 발견하는 경우 Atlas Kubernetes Operator가 사용하는 파일 형식입니다. Atlas Kubernetes Operator에서는 다음 값을 허용합니다..avro
.avro.bz2
.avro.gz
.bson
.bson.bz2
.bson.gz
.bsonx
.csv
.csv.bz2
.csv.gz
.json
.json.bz2
.json.gz
.orc
.parquet
.tsv
.tsv.bz2
.tsv.gz
spec.storage.databases.collections.dataSources.path
유형: 문자열
옵션
Atlas Kubernetes Operator가 파일을 collection에 매핑하기 전에
storeName
에서 파일을 검색하는 방법을 제어하는 파일 경로입니다. 접두사 경로의 모든 파일과 폴더를 캡처하려면/
을 지정합니다.
spec.storage.databases.collections.dataSources.provenanceFieldName
유형: 문자열
옵션
결과에 있는 문서의 출처가 포함된 필드를 식별하는 사람이 읽을 수 있는 레이블입니다. Atlas Kubernetes Operator는 지원되는 각 제공자에 대해 결과에서 서로 다른 필드를 반환합니다.
spec.storage.databases.collections.dataSources.storeName
유형: 문자열
옵션
Atlas Kubernetes Operator가 컬렉션에 매핑하는 데이터 저장소를 식별하는 인간 판독 가능 레이블.
spec.storage.databases.collections.dataSources.urls
유형: 배열
옵션
공개적으로 액세스할 수 있는 데이터 파일의 URL입니다. 인증이 필요한 URL은 지정할 수 없습니다. Atlas Data Federation은 각 URL에 대한 파티션을 생성합니다. 비어 있거나 생략된 경우 Atlas Data Federation은 dataSources.storeName 매개변수에 지정된 스토어의 URL을 사용합니다.
spec.storage.databases.collections.name
유형: 문자열
옵션
Atlas Kubernetes Operator가 데이터 저장소의 데이터를 매핑하는 collection을 식별하는 인간 판독 가능 레이블.
spec.storage.databases.maxWildcardCollections
유형: int32
옵션
데이터베이스에 있는 와일드카드 collection의 최대 개수입니다. 이는 S3 데이터 소스에만 적용됩니다. 기본값은
100
입니다.
spec.storage.databases.name
유형: 문자열
옵션
연합 데이터베이스 인스턴스가 데이터를 매핑하는 데이터베이스를 식별하는 인간 판독 가능 레이블.
spec.storage.databases.views
유형: 배열
옵션
collection에 적용되는 집계 파이프라인의 목록입니다. 이는 S3 데이터 소스에만 적용됩니다.
spec.storage.databases.views.name
유형: 문자열
옵션
collection의 집계 파이프라인에 해당하는 뷰를 식별하는 인간 판독 가능 레이블.
spec.storage.databases.views.pipeline
유형: 문자열
옵션
소스 collection에 적용할 집계 파이프라인 단계입니다.
spec.storage.databases.views.source
유형: 문자열
옵션
뷰의 소스 collection을 식별하는 사람이 읽을 수 있는 레이블입니다.
spec.storage.stores
유형: 배열
옵션
연합 데이터베이스 인스턴스의 데이터 저장소가 포함된 목록입니다.
spec.storage.stores.name
유형: 문자열
옵션
데이터 저장소를 식별하는 사람이 읽을 수 있는 레이블입니다. spec.storage.databases.collections.dataSources.storeName 필드는 매핑 구성의 일부로 이 값을 참조합니다.
spec.storage.stores.provider
유형: 문자열
조건부
스토어의 제공자입니다. Atlas Kubernetes Operator는
S3
만 지원합니다. 데이터 저장소를 사용하려면 이 필드를 지정해야 합니다.
spec.storage.stores.additionalStorageClasses
유형: 배열
옵션
AWS S3 스토리지 클래스의 컬렉션입니다. Atlas Data Federation은 쿼리 결과에 이러한 저장소 클래스의 파일을 포함합니다. Atlas Kubernetes Operator에서는 다음 값을 허용합니다.
STANDARD
INTELLIGENT_TIERING
STANDARD_IA
spec.storage.stores.bucket
유형: 문자열
옵션
AWS S3 버킷을 식별하는 사람이 읽을 수 있는 레이블입니다. 이 레이블은 연합 데이터베이스 인스턴스가 구성된 Amazon Web Services IAM 자격 증명을 사용하여 액세스할 수 있는 S3 버킷의 이름과 정확히 일치해야 합니다.
spec.storage.stores.delimiter
유형: 문자열
옵션
데이터 저장소에서 spec.storage.databases.collections.dataSources.path 세그먼트를 구분하는 구분 기호입니다. Atlas Kubernetes Operator는 구분 기호를 사용하여 계층적 디렉토리 구조의 S3 버킷을 효율적으로 탐색합니다. S3 객체 키에서 지원하는 모든 문자를 구분 기호로 지정할 수 있습니다. 예를 들어 밑줄(
_
) 또는 더하기 기호(+
)를 지정하거나 이중 밑줄(__
)과 같은 여러 문자를 구분 기호로 지정할 수 있습니다. 생략하면 기본값은/
입니다.
spec.storage.stores.includeTags
유형: 부울
옵션
지정된 경로의 파일에 S3 태그를 추가 파티션 속성으로 사용할지 여부를 나타내는 플래그입니다. true로 설정하면 Atlas Kubernetes Operator가 S3 태그를 추가 파티션 속성으로 추가하고, 각 태그를 각 문서에 연결하는 새로운 최상위 BSON 요소를 추가합니다. 생략하면 기본값은
false
입니다.
spec.storage.stores.prefix
유형: 문자열
옵션
S3 버킷에서 파일을 검색할 때 Atlas Kubernetes Operator가 적용하는 접두사입니다. 데이터 저장소는 spec.storage.databases.collections.dataSources.path 에 접두사 값을 추가하여 수집할 파일의 전체 경로를 생성합니다. 생략하면 Atlas Kubernetes Operator가 S3 버킷의 루트에서 모든 파일을 검색합니다.
spec.storage.stores.public
유형: 부울
옵션
버킷의 공개 여부를 나타내는 플래그입니다.
true
으로 설정된 경우 Atlas Kubernetes Operator는 구성된 Amazon Web Services IAM 역할을 사용하여 S3 버킷에 액세스하지 않습니다.false
로 설정된 경우 구성된 Amazon Web Services IAM 역할에 S3 버킷에 액세스할 수 있는 권한이 포함되어야 합니다.
spec.storage.stores.region
유형: 문자열
옵션
S3 버킷의 물리적 위치를 나타내는 AWS 리전입니다.
spec.privateEndpoints
유형: 배열
옵션
연합 데이터베이스 인스턴스에 대한 비공개 엔드포인트 구성이 포함된 목록입니다.
spec.privateEndpoints.endpointId
유형: 문자열
필수 사항
AWS의 비공개 엔드포인트를 식별하는
vpce-
로 시작하는 고유한 22자 영숫자 문자열
spec.privateEndpoints.provider
유형: 문자열
옵션
cloud 서비스 제공자를 식별하는 사람이 읽을 수 있는 레이블입니다. Atlas Data Federation은
AWS
만 지원합니다.
spec.privateEndpoints.type
유형: 문자열
옵션
이 비공개 엔드포인트와 연결된 리소스 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. Atlas Data Federation은
DATA_LAKE
만 지원합니다.
spec.projectRef.name
유형: 문자열
필수 사항
연합 데이터베이스 인스턴스가 속한 프로젝트의 이름입니다. 기존
AtlasProject
사용자 지정 리소스를 지정해야 합니다.
spec.projectRef.namespace
유형: 문자열
필수 사항
spec.projectRef.name 에 지정된
AtlasProject
사용자 지정 리소스 가 존재하는 네임스페이스입니다.