중요
레거시 하위 리소스는 해당 CRD 출시하다 시점부터 더 이상 사용되지 않습니다. 현재 구성이 이 리소스 정의의 하위 리소스 형식을 사용하는 경우 를 CRD로 마이그레이션.
AtlasCustomRole 사용자 지정 리소스 사용자 지정 데이터베이스 역할 정의하여 데이터베이스 사용자에게권한을 할당합니다.
지정된 프로젝트 내에서 이 사용자 지정 역할 만들려면 다음 중 하나를 수행해야 합니다.
Atlas Kubernetes Operator 로 관리 프로젝트의 경우 사용자
AtlasProject지정 리소스 에서 사용자 지정 리소스 이름을 참조하세요.AtlasCustomRoleAtlas Kubernetes Operator 로 관리 하지 않는 프로젝트의 경우 사용자 지정 리소스 에서 Atlas 프로젝트 의 프로젝트 ID 참조하세요.
AtlasCustomRole
중요
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 Custom Database Role API Resource(사용자 지정 데이터베이스 역할 API리소스)를 사용하여 다음 작업 중 하나를 수행합니다.
새 사용자 지정 데이터베이스 역할 만듭니다.
기존 사용자 지정 데이터베이스 역할 업데이트합니다.
예시
기본 예시
다음 예시 my-project 프로젝트 내에서 샤딩된 클러스터를 백업하고 모니터링 할 수 있는 권한이 있는 shard-operator 사용자 지정 역할 정의하는 AtlasCustomRole 사용자 지정 리소스 보여줍니다.
apiVersion: atlas.mongodb.com/v1 kind: AtlasCustomRole metadata: name: shard-operator-role namespace: mongodb-atlas-system labels: mongodb.com/atlas-reconciliation-policy: keep spec: projectRef: name: my-project namespace: my-operator-namespace role: name: my-role actions: - name: getShardMap resources: cluster: true - name: shardingState resources: cluster: true - name: connPoolStats resources: cluster: true - name: getLog resources: cluster: true inheritedRoles: - name: operator-role-1 role: backup
독립적인 CRD 예제
다음 예시 AtlasCustomRole shard-operator 기본 예제 에 정의된 것과 동일한 사용자 지정 역할 정의하는 독립적인 CRD를 보여줍니다. 이 사용자 지정 리소스 정의를 사용하면 이 리소스 정의하는 데 사용된 동일한 Atlas Kubernetes Operator 인스턴스 에서 관리 하지 않는 프로젝트 에서 이 역할 생성할 수 있습니다. 독립적인 작업을 활성화 하려면 projectRef 대신 externalProjectRef 를 사용해야 하며, 이 리소스 상위 프로젝트 로부터 API 자격 증명 상속할 수 없으므로 connectionSecret 를 직접 제공해야 합니다.
apiVersion: atlas.mongodb.com/v1 kind: AtlasCustomRole metadata: name: shard-operator-role namespace: mongodb-atlas-system labels: mongodb.com/atlas-reconciliation-policy: keep spec: externalProjectRef: id: 671998971c8520583f24f411 connectionSecret: name: my-atlas-key role: name: my-role actions: - name: getShardMap resources: cluster: true - name: shardingState resources: cluster: true - name: connPoolStats resources: cluster: true - name: getLog resources: cluster: true inheritedRoles: - name: operator-role-1 role: backup
매개변수
AtlasCustomRole
AtlasCustomRole은 AtlasCustomRole API 의 스키마입니다.
Name | 유형 | 설명 | 필수 사항 |
|---|---|---|---|
| 문자열 | atlas.mongodb.com/v1 | true |
| 문자열 |
| true |
| 객체 |
| true |
| 객체 |
| 거짓 |
| 객체 |
| 거짓 |
AtlasCustomRole.spec
AtlasCustomRoleSpec은 Atlas 에서 CustomRole의 대상 상태 정의합니다.
Name | 유형 | 설명 | 필수 사항 |
|---|---|---|---|
| 객체 | 역할은 Atlas 에서 사용자 지정 역할을 나타냅니다. | true |
| 객체 | Atlas | 거짓 |
| 객체 |
| 거짓 |
| 객체 |
| 거짓 |
AtlasCustomRole.spec. 역할
역할은 Atlas 에서 사용자 지정 역할을 나타냅니다.
Name | 유형 | 설명 | 필수 사항 |
|---|---|---|---|
| 문자열 | 역할 식별하는 사람이 읽을 수 있는 레이블입니다. 이 | true |
| [] 객체 | 역할 부여하는 개별 권한 | 거짓 |
| [] 객체 | 이 사용자 지정 역할이 상속하는 기본 제공 역할의 목록. | 거짓 |
AtlasCustomRole.spec. 역할.조치
Name | 유형 | 설명 | 필수 사항 |
|---|---|---|---|
| 문자열 | 권한 작업을 식별하는 사람이 읽을 수 있는 레이블입니다. | true |
| [] 객체 | 조치 을 부여하는 | true |
AtlasCustomRole.spec. 역할.actions.resources
Name | 유형 | 설명 | 필수 사항 |
|---|---|---|---|
| 부울 |
| 거짓 |
| 문자열 | 한 명의 | 거짓 |
| 문자열 | 한 명의 | 거짓 |
AtlasCustomRole.spec. 역할.inheritedRoles
Name | 유형 | 설명 | 필수 사항 |
|---|---|---|---|
| 문자열 | 누군가가 한 명의 | true |
| 문자열 | 상속된 역할 식별하는 사람이 읽을 수 있는 레이블입니다. | true |
AtlasCustomRole.spec.connectionSecret
Atlas API 비공개 및 공개 키가 포함된 시크릿의 이름입니다.
Name | 유형 | 설명 | 필수 사항 |
|---|---|---|---|
| 문자열 | 참조되는 리소스 의 이름 추가 정보: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
AtlasCustomRole.spec.externalProjectRef
externalProjectRef는 상위 Atlas 그룹 ID 보유합니다. "projectRef" 필드 와 상호 배타적입니다.
Name | 유형 | 설명 | 필수 사항 |
|---|---|---|---|
| 문자열 |
| true |
AtlasCustomRole.spec.projectRef
projectRef는 상위 AtlasProject 리소스 에 대한 참조입니다. "externalProjectRef" 필드 와 상호 배타적입니다.
Name | 유형 | 설명 | 필수 사항 |
|---|---|---|---|
| 문자열 | Kubernetes 리소스의 이름 | true |
| 문자열 | Kubernetes 리소스의 네임스페이스 | 거짓 |
AtlasCustomRole.status
AtlasCustomRoleStatus는 AtlasCustomRole Custom 리소스 의 상태입니다. AtlasProject에 포함된 것이 아님
Name | 유형 | 설명 | 필수 사항 |
|---|---|---|---|
| [] 객체 | 조건은 Atlas Custom Resource(사용자 지정 리소스)의 현재 상태 보여주는 상태 목록입니다. | true |
| integer |
| 거짓 |
AtlasCustomRole.status.conditions
조건은 특정 점 의 Atlas Custom Resource(사용자 지정 리소스) 상태 를 설명합니다.
Name | 유형 | 설명 | 필수 사항 |
|---|---|---|---|
| 문자열 | 조건의 상태입니다. 참, 거짓, 알 수 없음 중 하나입니다. | true |
| 문자열 | Atlas Custom Resource(사용자 지정 리소스) 조건 유형입니다. | true |
| 문자열 | 마지막으로 조건이 한 상태에서 다른 상태로 전환된 시간입니다. | 거짓 |
| 문자열 | 전환에 대한 세부 정보를 제공하는 | 거짓 |
| 문자열 | 조건의 마지막 전환에 대한 | 거짓 |