AtlasBackupSchedule
๋ฆฌ์์ค ๋ฅผ ์กฐ์ ํ์ง ๋ชปํ๋ ๋ฌธ์ ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ด ๋ฒ์ (2.0.0) ๋์ 2 ์(๋ฅผ) ์ฌ์ฉํ์ธ์.1.0.์ด ์
๊ทธ๋ ์ด๋ ์ ์ฐจ์ ๋ฐ๋ผ v1.x
Atlas Kubernetes Operator ๋ฐฐํฌ์์ ์
๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด v2.x
์ YAML ํ๋ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋๊ณ ๋ชจ๋ ์๊ฒฉ ์ฆ๋ช
์ด ์ด์ Kubernetes Secret์ผ๋ก ์ ๋ฌ๋๋ฏ๋ก ๊ธฐ์กด MongoDB ์ฌ์ฉ์ ์ง์ ๋ฆฌ์์ค ์ฌ์์ ์
๋ฐ์ดํธํด์ผ ํฉ๋๋ค. ๋ํ ์ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ๊ฐ๋ํ๊ณ ์ฌ๊ธฐ์ Atlas Kubernetes Operator v2.x
๋ฅผ ๋ฐฐํฌํ ๋ค์ ๊ธฐ์กด MongoDB Atlas ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค์ ๊ด๋ฆฌ๋ฅผ ์ด ์๋ก์ด Atlas Kubernetes Operator v2.x
๋ฐฐํฌ๋ก ์ ํํด์ผ ํฉ๋๋ค.
์ ์ฐจ
์ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
์ด ์ ํด๋ฌ์คํฐ๊ฐ ๋ฐฐํฌ๋๋ฉด ์ด์ ๋ ๊ฐ์ Kubernetes ํด๋ฌ์คํฐ๊ฐ ์๊ฒผ์ต๋๋ค. ๋ค์ ๋จ๊ณ์์๋ ์ด๋ฌํ ๊ฐ Kubernetes ํด๋ฌ์คํฐ์ ๋ํด kubectl
๋ช
๋ น์ ์คํํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ๊ฐ์ํํ๊ธฐ ์ํด ๋ค์ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ๊ฐ Kubernetes ์ปจํ
์คํธ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
kubectl config set-cluster old --server=https://<OLD_CLUSTER_ULR> kubectl config set-context old --cluster=old kubectl config set-cluster new --server=https://<NEW_CLUSTER_ULR> kubectl config set-context new --cluster=new
v2.x
์ K8ํด๋ฌ์คํฐ ์ Atlas Kubernetes Operator ๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
๋ค์ ๋ช
๋ น์ <version>
์๋ฆฌ ํ์์๋ฅผ ์ํ๋ Atlas Kubernetes Operator ๋ฒ์ ์ผ๋ก ๋ฐ๊พธ๊ณ ๋ช
๋ น์ ์คํํ์ฌ ์๋ก ํ๋ก๋น์ ๋๋ Kubernetes ํด๋ฌ์คํฐ์ Atlas Kubernetes Operator๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
kubectl use-context new kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/<version>/deploy/all-in-one.yaml
Atlas Kubernetes Operator ์ ๋ณต์ ๋ณธ ์๋ฅผ 0์ผ๋ก ํ์ฅํฉ๋๋ค.v1.x
"์ด์ " Kubernetes ํด๋ฌ์คํฐ์์ v1.x
Atlas Kubernetes Operator ๋ฐฐํฌ์ ๋ณต์ ๋ณธ ์๋ฅผ 0
๋ก ํ์ฅํ์ฌ ๋ค์์ ์คํํ์ฌ ์ฐ๊ฒฐ๋ MongoDB Atlas ๋ฐฐํฌ๋ฅผ ๋ ์ด์ ๋ชจ๋ํฐ๋งํ๊ณ ์
๋ฐ์ดํธํ์ง ์๋๋ก ํฉ๋๋ค.
kubectl use-context old kubectl scale --replicas=0 deployment.apps/mongodb-atlas-operator -n mongodb-atlas-system
๊ธฐ์กด AtlasProject
CR ์ ์๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค.
๋ค์ ์์ ์ ๋ง๊ฒ ๊ธฐ์กด YAML ์ ์๋ฅผ ์ ๋ฐ์ดํธํ์ฌ ํ์์ ๋ฐ๋ผ ๋ค์ API ์ํฌ๋ฆฟ ๋ฐ ์๊ฒฉ ์ฆ๋ช ์ ์ฐธ์กฐํ๋๋ก ํฉ๋๋ค.
CR ์น์
| ํด๋ผ์ฐ๋ ์ ๊ณต์ | v1.x | v2.x |
---|---|---|---|
|
|
| |
|
| ||
|
| ||
|
| ||
|
| ||
|
| ||
| AWS |
|
|
Azure |
|
| |
GCP |
|
|
์ด์ ๋จ๊ณ์์ ์ ๋ฐ์ดํธํ ๊ฒฐ๊ณผ CRD๋ ๋ค์ ์์ ์ ์ฌํ๊ฒ ํ์๋ ์ ์์ต๋๋ค.
apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project labels: app.kubernetes.io/version: 1.6.0 spec: name: Test Atlas Operator Project projectIpAccessList: - ipAddress: "<Public-IP-of-K8s-Cluster>" comment: "This IP is added to your Atlas Project's Access List."
๊ธฐ์กด AtlasDeployment
CR ์ ์๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค.
๊ธฐ์กด YAML ์ ์์
advancedDeploymentSpec
ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ ํด๋น ์น์ ์ ์ด๋ฆ์deploymentSpec
๋ก ๋ณ๊ฒฝํฉ๋๋ค.๊ธฐ์กด YAML ์ ์์
deploymentSpec
ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ ๋ค์deploymentSpec
์์ ์ ๋ง๊ฒ ํด๋น ์น์ ์ ์ ๋ฐ์ดํธํฉ๋๋ค.๊ธฐ์กด YAML ์ ์์
serverlessSpec
ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค.
์ด์ ๋จ๊ณ์์ ์ ๋ฐ์ดํธํ ๊ฒฐ๊ณผ CRD๋ ๋ค์ ์์ ์ ์ฌํ๊ฒ ํ์๋ ์ ์์ต๋๋ค.
deploymentSpec: clusterType: REPLICASET name: advanced-deployment-2 mongoDBMajorVersion: "5.0" replicationSpecs: - regionConfigs: regionName: EASTERN_US - electableSpecs: nodeCount: 4 instanceSize: M10 autoScaling: compute: scaleDownEnabled: true enabled: true minInstanceSize: M10 maxInstanceSize: M20 providerName: GCP backingProviderName: GCP priority: 7 regionName: US_EAST_2 - electableSpecs: nodeCount: 1 instanceSize: M10 autoScaling: compute: scaleDownEnabled: true enabled: true minInstanceSize: M10 maxInstanceSize: M20 providerName: AWS backingProviderName: AWS priority: 6
์ ๊ทธ๋ ์ด๋๋ ๋ฐฐํฌ์์ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ ์๋ฅผ ํ์ฅํฉ๋๋ค.
Atlas Kubernetes Operator 2.x ๋ฐฐํฌ์์ ๋ณต์ ๋ณธ ์๋ฅผ 1
๋ก ์ค์ ํ์ฌ ์ Atlas Kubernetes Operator๊ฐ ๋ง์ด๊ทธ๋ ์ด์
๋ ๋ฆฌ์์ค๋ฅผ ์ ํํ ์ ์๋๋ก ํฉ๋๋ค. ์ด๋ฌํ ๋ฆฌ์์ค๋ ๊ธฐ์กด AKO 1.9.x์ ์๋ฏธ์ ๋์ผํ๊ธฐ ๋๋ฌธ์
๋๋ค. MongoDB Atlas ๋ฆฌ์์ค ์์ฒด๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.