MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs Menu
Docs Home
/ /
/ / /

AtlasNetworkContainer 사용자 지정 리소스

중요

레거시 하위 리소스는 해당 CRD 출시하다 시점부터 더 이상 사용되지 않습니다. 현재 구성이 이 리소스 정의의 하위 리소스 형식을 사용하는 경우 를 CRD로 마이그레이션.

AtlasNetworkContainer 사용자 지정 리소스는 Atlas 프로젝트의 네트워크 컨테이너 를 정의합니다. 네트워크 컨테이너와 애플리케이션을 호스팅하는 네트워크 간에 VPC 피어링 연결을 생성합니다.

중요

Custom Resource(사용자 정의 리소스)는 더 이상 기본적으로 객체를 삭제하지 않음

  • Atlas Kubernetes Operator 사용자 지정 리소스 구성 파일을 사용하여 Atlas 구성을 관리 하지만, Atlas Kubernetes Operator 부터는 Kubernetes 에서 삭제 사용자 지정 2.0 리소스가 더 이상 ( 기본값) Atlas 에서 삭제되지 않습니다. 대신 Atlas Kubernetes Operator Atlas 에서 해당 리소스 관리를 중지할 뿐입니다. 예시 들어, Kubernetes 에서 Custom Resource(사용자 AtlasProject 지정 리소스)를 삭제 하면 기본값 으로 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 네트워크 피어링 API 리소스를 사용하여 다음 작업 중 하나를 수행합니다.

  • 새 네트워크 컨테이너 만듭니다.

  • 기존 네트워크 컨테이너 업데이트합니다.

다음 예는 AtlasNetworkContainer CRD에 대한 구성을 보여줍니다.

다음은 AtlasNetworkContainer my-atlas-nc my-project 프로젝트 내에서 Atlas 와 Amazon Web Services 간에 VPC 피어링 연결을 생성할 수 있는 컨테이너 에 대한 사용자 지정 리소스 보여줍니다. 상위 Atlas 프로젝트 와 동일한 Atlas Kubernetes Operator 인스턴스 에서 이 리소스 관리 하려면 externalProjectRef 대신 projectRef(으)로 프로젝트 식별해야 합니다.

apiVersion: atlas.mongodb.com/v1
kind: AtlasNetworkContainer
metadata:
name: my-atlas-nc
spec:
projectRef:
name: my-project
namespace: my-operator-namespace
provider: AWS
id: 66e2f2b7e69a89b66b621571
cidrBlock: 10.11.0.0/16
region: US_EAST_1

다음 예시 AtlasNetworkContainer 기본 예제 에서 활성화된 것과 동일한 매개변수로 VPC피어링을 활성화하는 독립적인 CRD를 보여줍니다. 독립적인 작업을 활성화 하려면 projectRef 대신 externalProjectRef 를 사용해야 하며, 이 리소스 상위 프로젝트 로부터 API 자격 증명 상속할 수 없으므로 connectionSecret 를 직접 제공해야 합니다.

apiVersion: atlas.mongodb.com/v1
kind: AtlasNetworkContainer
metadata:
name: my-atlas-nc
spec:
externalProjectRef:
projectId: 66e2f2b621571b7e69a89b66
connectionSecret:
name: atlas-connection-secret
provider: AWS
id: 66e2f2b7e69a89b66b621571
cidrBlock: 10.11.0.0/16
region: US_EAST_1

AtlasNetworkContainer는 AtlasNetworkContainer API 의 스키마입니다.

Name
유형
설명
필수 사항

apiVersion

문자열

atlas.mongodb.com/v1

true

kind

문자열

AtlasNetworkContainer

true

metadata

객체

metadata 필드 의 필드에 대해서는 Kubernetes API 설명서를 참조하세요.

true

spec

객체

AtlasNetworkContainerSpec AtlasNetworkContainer의 대상 상태 정의합니다. 유효성 검사:

  • (has(self.``externalProjectRef``) && !has(self.``projectRef``)) || (!has(self.``externalProjectRef``) && has(self.``projectRef``)): externalProjectRef 또는 projectRef를 통해 프로젝트 참조를 하나만 정의해야 합니다.

  • (has(self.``externalProjectRef``) && has(self.``connectionSecret``)) || !has(self.``externalProjectRef``): 외부 프로젝트 참조할 때 로컬 연결 비밀을 정의해야 합니다.

  • (self. 제공자 == 'GCP' && !has(self. 리전)) || (self. 제공자 != 'GCP'): GCP 컨테이너에 대한 리전 설정하다 안 됩니다.

  • ((self. 제공자 == 'AWS' || self. 제공자 == 'AZURE') && has(self. 리전)) || (self. 제공자 == 'GCP'): AWS 및 Azure container에 대한 리전 설정하다 해야 합니다.

  • (self.id == oldSelf.id) || (!has(self.id) && !has(oldSelf.id)): id는 변경할 수 없습니다.

  • (self. 리전 == oldSelf. 리전) || (!has(self. 리전) && !has(oldSelf. 리전)): 리전 변경할 수 없습니다.

거짓

status

객체

AtlasNetworkContainerStatus AtlasNetworkContainer 사용자 지정 리소스 에 대한 status 입니다. AtlasProject에 포함된 것이 아닙니다.

거짓

AtlasNetworkContainerSpec은 AtlasNetworkContainer의 대상 상태 정의합니다.

Name
유형
설명
필수 사항

provider

열거형

제공자는 네트워크 컨테이너 호스팅하는 cloud provider 의 이름입니다. 열거형: AWS, GCP, AZURE

true

cidrBlock

문자열

Atlas CIDR. ContainerID 가 설정하다 되지 않은 경우 설정하다 해야 합니다.

거짓

connectionSecret

객체

Atlas API 비공개 및 공개 키가 포함된 시크릿의 이름입니다.

거짓

externalProjectRef

객체

externalProjectRef 상위 Atlas 프로젝트 ID을(를) 보유합니다. "projectRef" 필드 와 상호 배타적입니다.

거짓

id

문자열

ID 연산자 managed 해야 하는 이미 존재하는 네트워크 컨테이너 의 컨테이너 식별자입니다. 이 필드 cidrBlock 와 함께 사용하여 기존 컨테이너 의 cidrBlock 를 업데이트 할 수 있습니다. 이 필드 변경할 수 없습니다.

거짓

projectRef

객체

projectRef 상위 AtlasProject 리소스 에 대한 참조입니다. "externalProjectRef" 필드 와 상호 배타적입니다.

거짓

region

문자열

ContainerRegion 은(는 ) Atlas region 형식의 Atlas 네트워크 피어 컨테이너 의 제공자 region 이름입니다. 이 이름은 AWS 및 Azure 에서 필요하지만 GCP에서는 사용되지 않습니다. 이 필드 변경되지 않으며, Atlas 네트워크 컨테이너 변경을 허용하지 않습니다.

거짓

Atlas API 비공개 및 공개 키가 포함된 시크릿의 이름입니다.

externalProjectRef는 상위 Atlas 그룹 ID 보유합니다. "projectRef" 필드 와 상호 배타적입니다.

Name
유형
설명
필수 사항

id

문자열

ID Atlas 프로젝트 ID입니다.

true

projectRef는 상위 AtlasProject 리소스 에 대한 참조입니다. "externalProjectRef" 필드 와 상호 배타적입니다.

Name
유형
설명
필수 사항

name

문자열

Kubernetes 리소스의 이름

true

namespace

문자열

Kubernetes 리소스의 네임스페이스

거짓

AtlasNetworkContainerStatus는 AtlasNetworkContainer Custom 리소스 의 상태입니다. AtlasProject에 포함된 것이 아님

Name
유형
설명
필수 사항

conditions

[] 객체

조건은 Atlas Custom Resource(사용자 지정 리소스)의 현재 상태 보여주는 상태 목록입니다.

true

id

문자열

ID Atlas 에 컨테이너 의 식별자 기록

거짓

observedGeneration

integer

ObservedGeneration Atlas Operator가 인식하는 리소스 사양의 생성을 나타냅니다. Atlas 연산자는 이 필드 &39;메타데이터.generation&39; 값으로 업데이트합니다. 리소스 조정을 시작하는 즉시 형식: int64

거짓

provisioned

부울

Provisioned는 마지막 조정 전에 클러스터가 컨테이너 에 배포된 경우 true입니다.

거짓

조건은 특정 점 의 Atlas Custom Resource(사용자 지정 리소스) 상태 를 설명합니다.

Name
유형
설명
필수 사항

status

문자열

조건의 상태입니다. 참, 거짓, 알 수 없음 중 하나입니다.

true

type

문자열

Atlas Custom Resource(사용자 지정 리소스) 조건 유형입니다.

true

lastTransitionTime

문자열

마지막으로 조건이 한 상태에서 다른 상태로 전환된 시간입니다. ISO 8601 형식으로 표시됩니다. 형식: 날짜-시간

거짓

message

문자열

전환에 대한 세부 정보를 제공하는 message 입니다.

거짓

reason

문자열

조건의 마지막 전환에 대한 reason 입니다.

거짓

돌아가기

AtlasIPAccessList

이 페이지의 내용