Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes Operator
/

AtlasNetworkContainer 사용자 지정 리소스

이 페이지의 내용

  • 예시
  • 기본 예시
  • 독립적인 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 매개 변수에 대해 설명합니다.

metadata.name

유형: 문자열

필수 사항

AtlasNetworkContainer 사용자 지정 리소스 가 이 네트워크 컨테이너 프로젝트에 추가하는 데 사용하는 이름입니다.

metadata.namespace

유형: 문자열

옵션

AtlasNetworkContainer 사용자 지정 리소스 포함하려는 default 이외의 네임스페이스입니다.

spec.connectionSecret.name

유형: 문자열

조건부

Atlas Kubernetes Operator Atlas 에 연결하는 데 사용하는 조직 ID 및 API 키가 포함된 불투명 시크릿 의 이름입니다. 지정하지 않으면 Atlas Kubernetes Operator 다음 옵션 중 하나로 기본 설정됩니다.

  • 상위 atlasProjectspec.connectionSecretRef.name 매개 변수

  • 기본값 global 시크릿(상위 atlasProject에 대해 spec.connectionSecretRef.name 을 정의하지 않은 경우)

이 매개변수는 독립적인 CRD에 필요합니다.

Atlas Kubernetes Operator는 불필요한 시크릿 을 감시하지 atlas.mongodb.com/type=credentials 않기 위해 레이블이 있는 시크릿 만 감시합니다. .

다음 예시에서는 시크릿에 레이블을 지정합니다.

kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.externalProjectRef.id

유형: 문자열

조건부

네트워크 컨테이너 속한 프로젝트 의 ID . 기존 Atlas 프로젝트의 프로젝트 ID 지정해야 합니다. 다음 중 하나에서 managed 프로젝트에 속한 네트워크 컨테이너에 대해 이 매개변수를 지정해야 합니다.

  • Atlas Kubernetes Operator 의 다른 인스턴스

  • Atlas Kubernetes Operator 이외의 도구

동일한 Atlas Kubernetes Operator 인스턴스 에서 managed 프로젝트에 속한 배포서버의 경우 spec.projectRef.name을(를) 사용하세요. 이러한 매개변수는 상호 배타적입니다.

spec.projectRef.name

유형: 문자열

조건부

네트워크 컨테이너 속한 프로젝트 의 이름입니다. 기존 AtlasProject Custom Resource(사용자 지정 리소스)를 지정해야 합니다. 이 매개변수는 동일한 인스턴스 Atlas Kubernetes Operator 에서 managed 프로젝트에 속한 네트워크 컨테이너에만 적용됩니다.

다음 중 하나에서 managed 프로젝트에 속한 네트워크 컨테이너의 경우:

  • Atlas Kubernetes Operator 의 다른 인스턴스

  • Atlas Kubernetes Operator 이외의 도구

spec.externalProjectRef.id을(를) 사용하세요. 이러한 매개변수는 상호 배타적입니다.

spec.projectRef.namespace

유형: 문자열

조건부

AtlasProject 지정된 사용자 지정 리소스가 존재하는 네임스페이스입니다.spec.projectRef.name

다음 중 하나에서 managed 프로젝트에 속한 배포서버에는 이 매개변수를 설정하다 하지 마세요.

  • Atlas Kubernetes Operator 의 다른 인스턴스

  • Atlas Kubernetes Operator 이외의 도구

spec.provider

유형: 문자열

필수 사항

VPC 피어링 연결을 지원 클라우드 제공자 입니다. 다음 중 하나여야 합니다.

  • AWS

  • Azure

  • GCP

spec.id

유형: 문자열

조건부

Atlas 에 있는 기존 네트워크 컨테이너 의 고유 식별자입니다. 이 매개변수는 Atlas Kubernetes Operator 기존 네트워크 피어링 컨테이너 관리하는 시나리오에 필요하며 이 시나리오로 제한됩니다.

spec.cidrBlock

유형: 문자열

필수 사항

Atlas 네트워크 컨테이너 의 CIDR 차단 .

spec.region

유형: 문자열

조건부

네트워크 컨테이너 호스팅하다 할 Atlas 리전 입니다. 호스팅 리전의 Atlas 형식을 준수해야 합니다. 이 매개변수는 Amazon Web ServicesAzure 네트워크 컨테이너에 필수이며 이에 국한됩니다.

돌아가기

AtlasIPAccessList