GitHub에서 Atlas Kubernetes Operator 프로젝트에 액세스할 수 있습니다.
Atlas 계정
Atlas Kubernetes Operator 배포 전에 Atlas 계정을 만들어야 합니다. 자세히 학습 Atlas 에 등록 및 로그인을 참조하세요.
API 키
Atlas에 대한 Atlas Kubernetes Operator 액세스 권한을 구성하려면 다음의 공개 API 키, 비공개 API 키 및 조직 ID 정보가 필요합니다.
Atlas Kubernetes Operator 가 새 Atlas 프로젝트 를 생성하도록 하려면Grant Programmatic Access to an Organization(조직에 프로그래밍 방식 액세스 권한을 부여합니다)을 클릭합니다. 조직 에서 Atlas 관리 API 에 대한 IP 액세스 목록 이 필요한 경우 API 액세스 목록도 구성해야 합니다.
중요
API 키에 Organization Project Creator 조직 역할 이상을 할당해야 합니다.
기존 Atlas 프로젝트 로 작업하려면 프로젝트에서 프로젝트액세스를 추가합니다. 조직 에서 Atlas 관리 API 에 대한 IP 액세스 목록 이 필요한 경우 API 액세스 목록도 구성해야 합니다.
중요
API 키에 Project Owner 프로젝트 역할을 할당해야 합니다.
학습 보려면 Atlas 에 대한 액세스 구성을 참조하세요.
네임스페이스
Atlas Kubernetes Operator 배포 Kubernetes 클러스터 의 모든 네임스페이스를 감시하거나 해당 네임스페이스 만 감시할 수 있습니다.
Amazon Web Services 보안 그룹
액세스 목록에AWS 보안 그룹을 추가하려면 먼저 프로젝트에 대한 VPC 피어링을 구성 해야 합니다. AWS 보안 그룹은 임시 액세스 목록 항목으로 설정하다 수 없습니다.
더 이상 사용되지 않는 구성 매개변수
다음 매개변수는 Atlas API 에서 더 이상 사용되지 않으며 Atlas Kubernetes Operator에서 지원하지 않습니다.
replicationSpecreplicationFactor
cluster 생성
프리 티어 Atlas 클러스터 만드는 데 15 초도 걸리지 않습니다.
Flex 클러스터 또는 전용 클러스터 만드는 데 최대 10 분이 걸릴 수 있습니다.
연결 문자열
연결 URL 직접 사용할 수 없습니다. Atlas 클러스터에는 인증 필요합니다. Kubernetes 클러스터 의 애플리케이션 이 Atlas cluster 에 연결하려면 먼저 AtlasDatabaseUser 사용자 지정 리소스 를 하나 이상 만들어야 합니다. Atlas Kubernetes Operator 프로젝트 의 각 클러스터 및 데이터베이스 사용자 조합에 대한 특수 시크릿 을 생성합니다. Kubernetes 클러스터의 애플리케이션이 이 시크릿 을 사용하여 Atlas cluster에 연결할 수 있습니다. AtlasDatabaseUser 사용자 지정 리소스 의 spec.scopes 매개 변수는 데이터베이스 사용자를 생성하는 클러스터를 제한합니다.
연결 정보
Atlas 관리 API에 연결하기 위해 Atlas Kubernetes Operator는 다음 위치 중 하나에서 조직 ID 및 API 키를 읽습니다.
spec.connectionSecretRef.name (
AtlasProjectCustom Resource(사용자 지정 리소스)에 지정된 경우).기본값 으로 Atlas Kubernetes Operator
AtlasProjectCustom Resource(사용자 지정 리소스)와 동일한 네임스페이스 에 연결 비밀을 유지합니다. 다른 네임스페이스 에 시크릿을 저장 하려면 spec.connectionSecretRef를 지정합니다. 네임스페이스 매개변수입니다.globalAtlas Kubernetes Operator<operator-deployment-name>-api-key시크릿(spec.connectionSecretRef.name이 지정되지 않은 경우).
Atlas에서 리소스를 만들거나 업데이트하기 위해 Atlas Kubernetes Operator는 연결 정보를 사용하여 Atlas에 API 호출합니다.
참고
Atlas Kubernetes Operator가 사용자 지정 리소스를 조정하는 동안 Atlas에서 여러 API 호출을 수행하는 경우가 있습니다. 예를 들어AtlasProject 에는 일치하는 API 를 호출하기 위한 IP 액세스 목록 구성이 있습니다.
조정 중에 오류가 발생하면 status.conditions 이 오류를 반영하도록 업데이트됩니다.
예시
- lastTransitionTime: "2021-03-15T14:26:44Z" message: 'POST https://cloud.mongodb.com/api/atlas/v1.0/groups/604a47de73cd8cag77239021/accessList: 400 (request "INVALID_IP_ADDRESS_OR_CIDR_NOTATION") The address 192.0.2.1dfdfd5 must be in valid IP address or CIDR notation.' reason: ProjectIPAccessListNotCreatedInAtlas status: "False" type: IPAccessListReady
지원되는 배포 플래그
를 배포하는 경우. kubectl 을(를) 사용하는 Atlas Kubernetes Operator 다음 플래그를 추가하여 구성을 사용자 지정할 수 있습니다.
플래그 | 설명 | 기본값 |
|---|---|---|
| 슬래시로 끝나는 Atlas URL 도메인 이름입니다. |
|
| 지표 엔드포인트가 바인딩되는 주소입니다. |
|
| 프로브 엔드포인트가 바인딩되는 주소입니다. |
|
| Atlas API 키가 포함된 시크릿의 이름입니다. Atlas Kubernetes Operator는 |
|
| 컨트롤러 관리자에 대한 리더 투표를 활성화할지 여부를 나타내는 플래그입니다. 리더 투표는 한 번에 하나의 컨트롤러 관리자만 활성화되도록 합니다. |
|
| 로그 항목의 중요도 또는 긴급도 수준입니다. 다음 수준 중 하나를 지정할 수 있습니다.
|
|
| 로그 기록의 형식입니다. 다음 형식 중 하나를 지정할 수 있습니다.
|
|
예시
다음 명령어는 로그 수준 error 을 사용하여 포트 :8084 에 메트릭 엔드포인트가 있는 Atlas Kubernetes Operator 1.8.2 배포를 설정합니다.
kubectl apply --metrics-bind-address :8084 \ --log-level error \ -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/1.8.2/deploy/all-in-one.yaml