AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.

GKE 클러스터 배포

Kubernetes 벤더 에 따라 달라지지 않습니다. 그러나 멀티 클러스터 Kubernetes Operator 구현 의 모든 요소를 배포하기 위한 명시적이고 완전한 지침을 제공하기 위해 이 섹션에서는 GCP 에 여러 Kubernetes 클러스터를 배포하는 프로세스 구체적으로 안내합니다.

시작하기 전에 다음 작업을 수행합니다.

# GCP project name - this is the only parameter that is mandatory to change hereexport MDB_GKE_PROJECT="${MDB_GKE_PROJECT:="### Set your GKE project name here ###"}" # Adjust the values for each Kubernetes cluster in your deployment.# The deployment script references the following variables to get values for each cluster.export K8S_CLUSTER_0="k8s-mdb-0${K8S_CLUSTER_SUFFIX:-""}"export K8S_CLUSTER_0_ZONE="europe-central2-a"export K8S_CLUSTER_0_NUMBER_OF_NODES=3export K8S_CLUSTER_0_MACHINE_TYPE="e2-standard-4"export K8S_CLUSTER_0_CONTEXT_NAME="gke_${MDB_GKE_PROJECT}_${K8S_CLUSTER_0_ZONE}_${K8S_CLUSTER_0}" export K8S_CLUSTER_1="k8s-mdb-1${K8S_CLUSTER_SUFFIX:-""}"export K8S_CLUSTER_1_ZONE="europe-central2-b"export K8S_CLUSTER_1_NUMBER_OF_NODES=3export K8S_CLUSTER_1_MACHINE_TYPE="e2-standard-4"export K8S_CLUSTER_1_CONTEXT_NAME="gke_${MDB_GKE_PROJECT}_${K8S_CLUSTER_1_ZONE}_${K8S_CLUSTER_1}" export K8S_CLUSTER_2="k8s-mdb-2${K8S_CLUSTER_SUFFIX:-""}"export K8S_CLUSTER_2_ZONE="europe-central2-c"export K8S_CLUSTER_2_NUMBER_OF_NODES=1export K8S_CLUSTER_2_MACHINE_TYPE="e2-standard-4"export K8S_CLUSTER_2_CONTEXT_NAME="gke_${MDB_GKE_PROJECT}_${K8S_CLUSTER_2_ZONE}_${K8S_CLUSTER_2}" # Comment out the following line so that the script does not create preemptible nodes.# DO NOT USE preemptible nodes in production.export GKE_SPOT_INSTANCES_SWITCH="--preemptible"

포함된 모든 소스 코드 MongoDB Kubernetes Operator 리포지토리 에서 찾을 수 있습니다.

1
gcloud config set project "${MDB_GKE_PROJECT}"
2

3개의 GKE(Google Kubernetes Engine) 클러스터를 만듭니다. Kubernetes Operator는 이러한 클러스터 중 하나에 배포되고 MongoDB 사용자 지정 리소스는 모든 클러스터에 배포되며 Kubernetes Operator가 managed .

gcloud container clusters create "${K8S_CLUSTER_0}" \ --zone="${K8S_CLUSTER_0_ZONE}" \ --num-nodes="${K8S_CLUSTER_0_NUMBER_OF_NODES}" \ --machine-type "${K8S_CLUSTER_0_MACHINE_TYPE}" \ --tags=mongodb \ "${GKE_SPOT_INSTANCES_SWITCH:-""}"
gcloud container clusters create "${K8S_CLUSTER_1}" \ --zone="${K8S_CLUSTER_1_ZONE}" \ --num-nodes="${K8S_CLUSTER_1_NUMBER_OF_NODES}" \ --machine-type "${K8S_CLUSTER_1_MACHINE_TYPE}" \ --tags=mongodb \ "${GKE_SPOT_INSTANCES_SWITCH:-""}"
gcloud container clusters create "${K8S_CLUSTER_2}" \ --zone="${K8S_CLUSTER_2_ZONE}" \ --num-nodes="${K8S_CLUSTER_2_NUMBER_OF_NODES}" \ --machine-type "${K8S_CLUSTER_2_MACHINE_TYPE}" \ --tags=mongodb \ "${GKE_SPOT_INSTANCES_SWITCH:-""}"
3

자격 증명 얻고 현재 kubeconfig 파일 에 컨텍스트를 저장합니다. 기본값 으로 이 파일 ~/.kube/config 디렉토리 $KUBECONFIG 에 있으며 환경 변수에 의해 참조됩니다.

gcloud container clusters get-credentials "${K8S_CLUSTER_0}" --zone="${K8S_CLUSTER_0_ZONE}"gcloud container clusters get-credentials "${K8S_CLUSTER_1}" --zone="${K8S_CLUSTER_1_ZONE}"gcloud container clusters get-credentials "${K8S_CLUSTER_2}" --zone="${K8S_CLUSTER_2_ZONE}"

모든 kubectl 명령은 다음 변수를 사용하여 이러한 컨텍스트를 참조합니다.

  • $K8S_CLUSTER_0_CONTEXT_NAME

  • $K8S_CLUSTER_1_CONTEXT_NAME

  • $K8S_CLUSTER_2_CONTEXT_NAME

4
echo "Nodes in cluster ${K8S_CLUSTER_0_CONTEXT_NAME}"kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" get nodesecho; echo "Nodes in cluster ${K8S_CLUSTER_1_CONTEXT_NAME}"kubectl --context "${K8S_CLUSTER_1_CONTEXT_NAME}" get nodesecho; echo "Nodes in cluster ${K8S_CLUSTER_2_CONTEXT_NAME}"kubectl --context "${K8S_CLUSTER_2_CONTEXT_NAME}" get nodes
Nodes in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-69429168b45x2c95c2-13333NAME STATUS ROLES AGE VERSIONgke-k8s-mdb-0-69429168b4-default-pool-feef27fe-jz7j Ready <none> 2m43s v1.33.5-gke.1308000gke-k8s-mdb-0-69429168b4-default-pool-feef27fe-vbsw Ready <none> 2m39s v1.33.5-gke.1308000gke-k8s-mdb-0-69429168b4-default-pool-feef27fe-xq9h Ready <none> 2m45s v1.33.5-gke.1308000 Nodes in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-69429168b45x2c95c2-13333NAME STATUS ROLES AGE VERSIONgke-k8s-mdb-1-69429168b4-default-pool-03e6c0a2-20vb Ready <none> 30s v1.33.5-gke.1308000gke-k8s-mdb-1-69429168b4-default-pool-03e6c0a2-g1hd Ready <none> 33s v1.33.5-gke.1308000gke-k8s-mdb-1-69429168b4-default-pool-03e6c0a2-vnhg Ready <none> 33s v1.33.5-gke.1308000 Nodes in cluster gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-69429168b45x2c95c2-13333NAME STATUS ROLES AGE VERSIONgke-k8s-mdb-2-69429168b4-default-pool-d83e143b-qgjq Ready <none> 2m42s v1.33.5-gke.1308000
이 페이지 평가하기

이 페이지의 내용