이 페이지에서는 AlloyDB Omni Kubernetes Operator에 대한 개요와 이를 사용하여 AlloyDB Omni를 Kubernetes 클러스터에 배포하는 방법을 안내합니다. 이 페이지에서는 Kubernetes 작업에 대한 기본적인 지식이 있다고 가정합니다.
표준 Linux 환경에 AlloyDB Omni를 설치하는 방법에 관한 안내는 AlloyDB Omni 설치를 참고하세요.
개요
Kubernetes 클러스터에 AlloyDB Omni를 배포하려면 Google에서 제공하는 Kubernetes API 확장 프로그램인 AlloyDB Omni Operator를 설치합니다.
다른 Kubernetes 기반 배포와 마찬가지로 선언적 매니페스트 파일을 kubectl
유틸리티와 페어링하여 Kubernetes 기반 AlloyDB Omni 데이터베이스 클러스터를 구성하고 제어합니다. Kubernetes 클러스터가 아닌 개별 Linux 머신에 배포하기 위한 AlloyDB Omni CLI를 사용하지 않습니다.
시작하기 전에
다음에 대한 액세스 권한이 필요합니다.
- 다음 소프트웨어를 실행하는 Kubernetes 클러스터입니다.
- Kubernetes 버전 1.21 이상
cert-manager
서비스.
kubectl
유틸리티helm
패키지 관리자-
gcloud CLI를 설치해야 하는 경우
gcloud init
를 실행하는 단계는 선택사항입니다. AlloyDB Omni를 설치할 때 Google 계정으로 인증할 필요는 없습니다.
Kubernetes 클러스터의 각 노드에는 다음이 있어야 합니다.
- x86 또는 AMD64 CPU 2개 이상
- 8GB 이상의 RAM
- Linux 커널 버전 4.18 이상
- Control group v2 (cgroup v2)가 사용 설정되었습니다.
Helm 차트 사용
저장소 alloydb-omni-samples의 Helm 차트를 사용하여 이 가이드에 표시된 구성요소를 배포할 수 있습니다.
AlloyDB Omni 연산자 설치
AlloyDB Omni 연산자를 설치하려면 다음 단계를 따르세요.
여러 환경 변수를 정의합니다.
export GCS_BUCKET=alloydb-omni-operator
export HELM_PATH=$(gcloud storage cat gs://$GCS_BUCKET/latest)
export OPERATOR_VERSION="${HELM_PATH%%/*}"
AlloyDB Omni Operator를 다운로드합니다.
gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
AlloyDB Omni Operator를 설치합니다.
helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --create-namespace \ --namespace alloydb-omni-system \ --atomic \ --timeout 5m
설치가 완료되면 다음과 같은 출력이 표시됩니다.
NAME: alloydbomni-operator LAST DEPLOYED: CURRENT_TIMESTAMP NAMESPACE: alloydb-omni-system STATUS: deployed REVISION: 1 TEST SUITE: None
다운로드한 AlloyDB Omni Operator 설치 파일을 삭제하여 정리합니다. 이 파일의 이름은
alloydbomni-operator-VERSION_NUMBER.tgz
이며 현재 작업 디렉터리에 있습니다.
데이터베이스 클러스터 만들기
AlloyDB Omni 데이터베이스 클러스터에는 기본 서버, 모든 복제본, 모든 데이터를 비롯하여 AlloyDB Omni 서버를 실행하는 데 필요한 모든 스토리지 및 컴퓨팅 리소스가 포함되어 있습니다.
Kubernetes 클러스터에 AlloyDB Omni Operator를 설치한 후 다음과 유사한 매니페스트를 적용하여 Kubernetes 클러스터에 AlloyDB Omni 데이터베이스 클러스터를 만들 수 있습니다.
apiVersion: v1
kind: Secret
metadata:
name: db-pw-DB_CLUSTER_NAME
type: Opaque
data:
DB_CLUSTER_NAME: "ENCODED_PASSWORD"
---
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
databaseVersion: "15.5.2"
primarySpec:
adminUser:
passwordRef:
name: db-pw-DB_CLUSTER_NAME
resources:
cpu: CPU_COUNT
memory: MEMORY_SIZE
disks:
- name: DataDisk
size: DISK_SIZE
storageClass: standard
다음을 바꿉니다.
DB_CLUSTER_NAME
: 이 데이터베이스 클러스터의 이름입니다(예:my-db-cluster
).ENCODED_PASSWORD
: 기본postgres
사용자 역할의 데이터베이스 로그인 비밀번호로, base64 문자열로 인코딩됩니다(예:ChangeMe123
의 경우Q2hhbmdlTWUxMjM=
).CPU_COUNT
: 이 데이터베이스 클러스터의 각 데이터베이스 인스턴스에서 사용할 수 있는 CPU 수입니다.MEMORY_SIZE
: 이 데이터베이스 클러스터의 데이터베이스 인스턴스당 메모리 양입니다. CPU당 8GB로 설정하는 것이 좋습니다. 예를 들어 이 매니페스트에서 앞서cpu
를2
로 설정한 경우memory
를16Gi
로 설정하는 것이 좋습니다.DISK_SIZE
: 데이터베이스 인스턴스당 디스크 크기입니다(예:10Gi
).
이 매니페스트를 적용하면 Kubernetes 클러스터에 지정된 메모리, CPU, 스토리지 구성이 포함된 AlloyDB Omni 데이터베이스 클러스터가 포함됩니다. 새 데이터베이스 클러스터와 테스트 연결을 설정하려면 사전 설치된 psql
를 사용하여 연결을 참고하세요.
Kubernetes 매니페스트 및 적용 방법에 관한 자세한 내용은 리소스 관리를 참고하세요.