۱. مقدمه
این آزمایشگاه کد، استقرار کلاستر با قابلیت دسترسی بالا (HA) از AlloyDB Omni را بر روی ماشینهای مجازی (VM) موتور محاسبات گوگل (GCE) نشان میدهد. در پایان این آزمایشگاه کد، شما یک معماری مرجع HA متشکل از ۳ گره پایگاه داده و ۲ گره HAProxy به همراه یک گره کنترل برای عملیات مدیریتی تهیه خواهید کرد.
پیشنیازها
- دسترسی به پروژه ابری گوگل و پوسته ابری از طریق کنسول ابری.
- نصب و پیکربندی کیت توسعه نرمافزار گوگل کلود (
gcloud) - Terraform نسخه ۱.۹.۸ نصب شد.
آنچه یاد خواهید گرفت
- نحوه ایجاد و آمادهسازی ماشینهای مجازی GCE برای AlloyDB Omni.
- نحوه نصب و اجرای AlloyDB Omni RPM Orchestrator.
- نحوه نصب و پیکربندی RPM های AlloyDB Omni برای معماری مرجع HA.
آنچه نیاز دارید
- لینک URL به RPM های AlloyDB Omni و RPM orchestrator را دریافت کنید. برای این کار، باید فرم ثبت نام alloydb omni را پر کنید. لینک ها به ایمیل شما که در سرور URL مخزن قرار دارد ارسال می شوند. متغیرهای محیطی زیر را مقداردهی اولیه کنید تا URL هایی که در طول codelab استفاده خواهند شد، در دسترس باشند.
export ORCHESTRATOR_ANSIBLE_COLLECTION_PATH="..." export ALLOYDB_OMNI_REPOSITORY_URL="..." export ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL="..." export ALLOYDB_OMNI_COMMON_REPOSITORY_URL=.... export ETCD_REPOSITORY_URL="..." - یک ترمینال فعال با دسترسی به پشته استقرار AlloyDB Omni. برای این منظور میتوانید از cloud shell استفاده کنید.
۲. تنظیمات و الزامات
راهاندازی پروژه
ایجاد یک پروژه ابری گوگل
- در کنسول گوگل کلود ، در صفحه انتخاب پروژه، یک پروژه گوگل کلود را انتخاب یا ایجاد کنید .
- مطمئن شوید که صورتحساب برای پروژه ابری شما فعال است. یاد بگیرید که چگونه بررسی کنید که آیا صورتحساب در یک پروژه فعال است یا خیر .
شروع پوسته ابری
اگرچه میتوان از راه دور و از طریق لپتاپ، گوگل کلود را مدیریت کرد، اما در این آزمایشگاه کد، از گوگل کلود شل ، یک محیط خط فرمان که در فضای ابری اجرا میشود، استفاده خواهید کرد.
از کنسول گوگل کلود ، روی آیکون Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:

همچنین میتوانید دکمههای G و سپس S را فشار دهید. اگر در کنسول ابری گوگل باشید یا از این لینک استفاده کنید، این توالی، Cloud Shell را فعال میکند.
آمادهسازی و اتصال به محیط فقط چند لحظه طول میکشد. وقتی تمام شد، باید چیزی شبیه به این را ببینید:

این ماشین مجازی با تمام ابزارهای توسعهای که نیاز دارید، مجهز شده است. این ماشین مجازی یک دایرکتوری خانگی دائمی ۵ گیگابایتی ارائه میدهد و روی گوگل کلود اجرا میشود که عملکرد شبکه و احراز هویت را تا حد زیادی بهبود میبخشد. تمام کارهای شما در این آزمایشگاه کد را میتوان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.
۳. ماشینهای مجازی موتور محاسبات ابری گوگل (Google Cloud Compute Engine) ایجاد کنید
آمادهسازی اسکریپتهای Terraform
- متغیرهای محیطی را برای شناسه پروژه و نام خوشه مورد نظر خود تعریف کنید. از این موارد در سراسر codelab استفاده خواهید کرد.
توجه: شناسه پروژه Google Cloud باید فقط بین ۶ تا ۳۰ کاراکتر باشد. برای اطلاعات بیشتر، به https://docs.cloud.google.com/resource-manager/docs/creating-managing-projects#before_you_begin مراجعه کنید.export PROJECT="your-project-id" export CLUSTER="your-cluster-name" - مطمئن شوید که با حساب کاربری گوگل کلود وارد سیستم شدهاید.
gcloud auth login - یک دایرکتوری کاری برای استقرار خود ایجاد کنید و فایلهای پیکربندی مورد نیاز Terraform را از منبع مخزن خود کپی کنید.
mkdir -p ~/alloydb-omni/$PROJECT/$CLUSTER cd ~/alloydb-omni/$PROJECT/$CLUSTER gcloud storage cp gs://alloydb-omni-install/rpm-orchestrator/gce/terraform/*.tf . - یک فایل
terraform.tfvarsایجاد کنید تا پارامترهای مورد نیاز را طبق معماری مرجع و طبق محتویات زیر مشخص کنید:cat > terraform.tfvars <<EOF # Required instance counts for reference architecture db_instance_count = 3 haproxy_instance_count = 2 control_instance_count = 1 # Optional: Customize if needed with the below variables # os_image = "rocky-linux-cloud/rocky-linux-9" # zone = "us-west4-c" # region_1 = "us-west4" # db_instance_type = "c4-highmem-4" # db_disk_type = "hyperdisk-balanced" # db_data_size = "50" # GB # data_dir = "/data" EOF
اجرای اسکریپتهای Terraform و اعتبارسنجی
- اکنون میتوانید ماشینهای مجازی را آمادهسازی کنید.
terraform init - قبل از ایجاد ماشینهای مجازی، مطمئن شوید که دسترسی لازم برای ایجاد ماشینهای مجازی و سایر منابع را دارید. به طور خلاصه، به مجوزهای زیر نیاز خواهید داشت.
roles/compute.admin roles/iam.roleAdmin roles/compute.osAdminLogin roles/iam.serviceAccountCreator roles/iam.serviceAccountUser roles/artifactregistry.repoAdmin roles/storage.objectUser roles/resourcemanager.projectIamAdmin roles/serviceusage.serviceUsageAdmin - پیکربندی را اعتبارسنجی کنید و پیکربندی را برای تأمین منابع اعمال کنید.
توجه: مطمئن شوید که از Terraform نسخه ۱.۹.۸ مطابق با پیکربندی پیادهسازی استفاده میکنید.terraform validate terraform apply --auto-approve - پس از اتمام Terraform، با فهرست کردن نمونههای ایجاد شده با استفاده از
gcloud، تأیید کنید که ماشینهای مجازی با موفقیت ایجاد شدهاند. شما باید نمونههای مربوط به ۳ گره پایگاه داده، ۲ گره HAProxy و ماشین مجازی کنترل و مناطق مربوطه را ببینید. منطقه (ZONE) را برای گره کنترل ثبت کنید. بعداً در طول این آزمایش کد به آن نیاز خواهیم داشت.gcloud compute instances list --filter="name~$CLUSTER" --project=$PROJECTexport ZONE=$(gcloud compute instances list \ --filter="name=$CLUSTER-control" \ --format="value(zone)" --project=$PROJECT)
۴. ماشینهای مجازی را برای استقرار آماده کنید
شما باید یک جلسه SSH به گره کنترل ایجاد کنید و مراحلی را برای فعال کردن دسترسی SSH به تمام ماشینهای مجازی (که به آنها گره نیز گفته میشود) انجام دهید.
- مطمئن شوید که متغیرهای محیطی برای پروژه و کلاستر شما تعریف شدهاند.
export PROJECT="your-project-id" export CLUSTER="your-cluster-name" - کلید SSH را ایجاد کنید و برای ورود به ماشین مجازی کنترل، همان را اضافه کنید.
# Replace values with your specific GCP project, cluster and zone details ssh-keygen -t ed25519 -f $HOME/.ssh/google_compute_engine gcloud compute os-login ssh-keys add --key-file=$HOME/.ssh/google_compute_engine.pub --project=$PROJECT - یک قانون فایروال ایجاد کنید تا به اتصالات SSH و همچنین ترافیک VRRP اجازه دسترسی بدهد.
gcloud compute config-ssh --project=$PROJECT gcloud compute firewall-rules create $CLUSTER-allow-ssh --network=$CLUSTER --project=$PROJECT --direction=INGRESS --action=allow --rules=tcp:22 --source-ranges="0.0.0.0/0" gcloud compute firewall-rules create $CLUSTER-allow-vrrp --network=$CLUSTER --project=$PROJECT --allow=112 --source-ranges="0.0.0.0/0" - از طریق SSH به ماشین مجازی کنترل متصل شوید:
gcloud compute ssh "$CLUSTER-control" --zone=$ZONE --project=$PROJECT - یک گروه لینوکس روی گره کنترل با نامی مشابه نام کاربری ایجاد کنید:
sudo groupadd $(id -un) sudo usermod -aG $(id -un) $(id -un) - Terraform setup چند اسکریپت پیکربندی ایجاد میکند و آنها را در دایرکتوری
/tmp/ماشین مجازی کنترل قرار میدهد که شامل مواردی مانند نام خوشه، حساب سرویس، نام پروژه و غیره است. با استفاده از اسکریپتهای راهاندازی روی گره کنترل، دسترسی ssh بدون رمز عبور را از گرههای کنترل به تمام گرههای خوشه ایجاد کنید. مهم : نام کاربری service_account را یادداشت کنید. ما بعداً در این آزمایشگاه کد از آن به عنوان SSH_USER استفاده خواهیم کرد./tmp/setup-ssh-for-cluster.sh - برای این کدلاگ، میتوانیم SELinux را روی تمام گرهها غیرفعال کنیم. اسکریپت Terraform فایل '/tmp/run-all.sh' را اضافه میکند که میتواند برای این منظور استفاده شود.
/tmp/run-all.sh sudo setenforce 0 - اگر در AlloyDB Omni ثبت نام کردهاید و لینکها را دریافت کردهاید، وقت آن رسیده که آن URLها را نیز به متغیرهای محیطی اضافه کنید.
یک IP مجازی برای محیط خود از متغیر ورودی cidr_range در فایلcat >> ~/.codelab.env <<EOF export ORCHESTRATOR_ANSIBLE_COLLECTION_PATH="..." export ALLOYDB_OMNI_REPOSITORY_URL="..." export ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL="..." export ALLOYDB_OMNI_COMMON_REPOSITORY_URL=.... export ETCD_REPOSITORY_URL="..." EOFterraform/variables.tfانتخاب کنید، به طوری که با گرههای دیگر تداخل نداشته باشد، همانطور که در مثال زیر نشان داده شده است:cat >> ~/.codelab.env <<EOF export VIRTUAL_IP="10.1.0.50" EOF
۵. اجزای نرمافزاری مورد نیاز را روی تمام ماشینهای مجازی نصب کنید
مرحله بعدی نصب اجزای مورد نیاز SW روی ماشینهای مجازی است. این کار میتواند در گره کنترل هماهنگ شود. تمام دستورات زیر باید روی گره کنترل اجرا شوند.
- اگر از قبل روی گره کنترل نیستید، از طریق SSH به ماشین مجازی کنترل متصل شوید.
وقتی در خط فرمان ssh ماشین مجازی هستید، فایل محیط را منبع (source environment) کنید.gcloud compute ssh "$CLUSTER-control" --zone=$ZONE --project=$PROJECTsource ~/.codelab.env - روی گره کنترل، Ansible و کتابخانههای پایتون مورد نیاز را نصب کنید.
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm -y sudo dnf install -y ansible sudo dnf install -y python3-grpcio python3-protobuf python3-googleapis-common-protos python3-grpcio-status - در مرحله بعد، فایل tar مجموعه RPM Orchestrator Ansible را دانلود و نصب کنید.
نکته: مطمئن شوید که متغیر ORCHESTRATOR_ANSIBLE_COLLECTION_PATH در انتها دارای علامت "/" باشد.gcloud storage cp "gs://${ORCHESTRATOR_ANSIBLE_COLLECTION_PATH#https://storage.googleapis.com/}google-alloydbomni_orchestrator-*.tar.gz" . ansible-galaxy collection install google-alloydbomni_orchestrator-0.1.0-6.tar.gz ansible-galaxy collection list | grep alloydbomni_orchestrator - هماهنگکننده از یک فایل مشخصات استقرار در قالب فهرست Ansible برای درک توپولوژی خوشه شما استفاده میکند. فایلی با نام deployment_spec.yaml با جزئیات گره خود در گره کنترل ایجاد کنید.
نکته: فایل تولید شده را بررسی کنید تا مطمئن شوید که به مقادیر معتبر اشاره دارد.cat > deployment_spec.yaml <<EOF alloydbomni: vars: cluster_manager: name: "$CLUSTER" etcd: setup: true config_forcewrite: true alloydbomni: major_version: "18" repo_url: $ALLOYDB_OMNI_REPOSITORY_URL alloydbomni_monitor: repo_url: $ALLOYDB_OMNI_COMMON_REPOSITORY_URL alloydbomni_cluster_manager: repo_url: $ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL alloydbomni_node_manager: repo_url: $ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL pgbouncer: repo_url: $ALLOYDB_OMNI_COMMON_REPOSITORY_URL pgbackrest: repo_url: $ALLOYDB_OMNI_COMMON_REPOSITORY_URL children: primary_instance_nodes: hosts: $CLUSTER-db1: $CLUSTER-db2: $CLUSTER-db3: load_balancer_nodes: hosts: $CLUSTER-haproxy1: $CLUSTER-haproxy2: EOF - یک playbook با نام install.yaml ایجاد کنید که به نقش install از مجموعه orchestrator ارجاع دهد.
نکته: فایل تولید شده را بررسی کنید تا مطمئن شوید که به مقادیر معتبر اشاره دارد.cat > install.yaml <<EOF - name: Install AlloyDB Omni cluster components hosts: all vars: ansible_become: true ansible_user: $SSH_USER ansible_ssh_private_key_file: $HOME/ssh-key-cluster-sa roles: - role: google.alloydbomni_orchestrator.install EOF - با استفاده از فایل inventory خود، playbook را اجرا کنید تا RPMها را در تمام گرههای مشخص شده دانلود و نصب کنید.
ansible-playbook -i deployment_spec.yaml install.yaml
۶. کلاستر Omni بوتاسترپ AlloyDB
در این مرحله، تمام اجزای مورد نیاز را روی تمام گرهها نصب کردهایم و آمادهایم تا کلاستر AlloyDB Omni را بوتاسترپ کنیم.
- اگر از قبل روی گره کنترل نیستید، از طریق SSH به ماشین مجازی کنترل متصل شوید.
وقتی در خط فرمان ssh ماشین مجازی هستید، فایل محیط را منبع (source environment) کنید.gcloud compute ssh "$CLUSTER-control" --zone=$ZONE --project=$PROJECTsource ~/.codelab.env - برای رمز عبور خود یک هش ایجاد کنید و آن را یادداشت کنید.
encoded_password=$(echo -n "your unique password" | base64) - برای ایجاد کلاستر، AlloyDB Omni باید نحوه پیکربندی آن را بداند. برای مشخصات کلاستر پایگاه داده، فایلی با نام dbcluster.yaml ایجاد کنید.
cat > dbcluster.yaml <<EOF Secret: metadata: name: db-pw-$CLUSTER spec: type: Opaque data: $CLUSTER: $encoded_password --- DBCluster: metadata: name: $CLUSTER spec: databaseVersion: 18.1.0 mode: "" availability: numberOfStandbys: 2 enableAutoFailover: true enableAutoHeal: true autoFailoverTriggerThreshold: 2 autoHealTriggerThreshold: 2 healthcheckPeriodSeconds: 5 replayReplicationSlotsOnStandbys: false primarySpec: adminUser: passwordRef: name: db-pw-$CLUSTER resources: cpu: 4 memory: 32Gi disks: - name: DataDisk path: $PGDATA dbLoadBalancerOptions: gcp: loadBalancerIP: "$VIRTUAL_IP" loadBalancerType: "internal" loadBalancerInterface: "eth0" EOF - یک playbook با نام bootstrap.yaml ایجاد کنید که به نقش ansible در bootstrap برای ایجاد AlloyDB Omni Cluster اشاره خواهد کرد.
cat > bootstrap.yaml <<EOF - name: Create DBCluster hosts: localhost vars: ansible_become: true ansible_user: $SSH_USER ansible_ssh_private_key_file: $HOME/ssh-key-cluster-sa roles: - role: google.alloydbomni_orchestrator.bootstrap EOF - برای ایجاد خوشه، playbook خود را اجرا کنید
ansible-playbook bootstrap.yaml -i deployment_spec.yaml -e resource_spec=dbcluster.yaml
۷. (اختیاری) پیکربندی PgBouncer Connection Pooler
AlloyDB Omni با استفاده از PgBouncer از ادغام اتصال سبک پشتیبانی میکند. میتوانید PgBouncer را بلافاصله پس از آمادهسازی کلاستر خود پیکربندی و بوتاسترپ کنید.
- یک فایل مشخصات منبع با نام pgbouncer.yaml ایجاد کنید که connection pooler را با کلاستر پایگاه داده شما مرتبط کند:
cat > pgbouncer.yaml <<EOF PgBouncer: metadata: name: pgbouncer-pooler spec: dbclusterRef: $CLUSTER allowSuperUserAccess: true accessMode: "rw" port: 6432 EOF - با استفاده از همان bootstrap.yaml playbook که قبلاً ایجاد شده است، PgBouncer pooler را بوتاسترپ کنید و فایل مشخصات جدید را به آن ارسال کنید:
ansible-playbook bootstrap.yaml -i deployment_spec.yaml -e resource_spec=pgbouncer.yaml
۸. بررسی خوشه Omni مربوط به AlloyDB
برای تأیید اینکه کلاستر شما به درستی کار میکند و با استفاده از متعادلکننده بار قابل دسترسی است، میتوانید با استفاده از کلاینت استاندارد PostgreSQL از گره کنترل به آن متصل شوید.
- مخزن کلاینت PostgreSQL 18 و بسته آن را روی گره کنترل نصب کنید:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo dnf install -y postgresql18 - با استفاده از IP مجازی که قبلاً رزرو شده است، به کلاستر متصل شوید. از شما رمز عبوری که در dbcluster.yaml رمزگذاری کردهاید، درخواست میشود:
/usr/pgsql-18/bin/psql -h $VIRTUAL_IP -U postgres -W - پس از اتصال، میتوانید کوئریهای SQL پایه را برای تأیید وضعیت کلاستر اجرا کنید، برای مثال، بررسی نسخه پایگاه داده:
باید خروجی را ببینید که نشان میدهد PostgreSQL 18 با AlloyDB Omni در حال اجرا است. برای خروج از اعلانpostgres=# SELECT version();\qرا تایپ کنید.
۹. (اختیاری) پشتیبانگیری از دادهها با استفاده از pgBackRest
AlloyDB Omni با pgBackRest ادغام میشود تا پشتیبانگیریها را مستقیماً در فضای ذخیرهسازی ابری مدیریت کند. میتوانید یک طرح پشتیبانگیری پیکربندی کنید و یک پشتیبانگیری بر اساس تقاضا را در باکت GCS ایجاد شده توسط تنظیمات Terraform خود راهاندازی کنید.
- یک فایل مشخصات طرح پشتیبانگیری با نام backup_plan.yaml ایجاد کنید که به سطل GCS تأمینشده شما اشاره کند:
cat > backup_plan.yaml <<EOF BackupPlan: metadata: name: pgb-plan spec: dbclusterRef: $CLUSTER backupLocation: type: GCS gcsOptions: bucket: $CLUSTER-gcs-backups key: /backups EOF - یک Playbook در Ansible با نام backup.yaml ایجاد کنید که به نقش مدیریت پشتیبانگیری اشاره داشته باشد:
cat > backup.yaml <<EOF - name: Manage AlloyDB Omni Backups hosts: localhost vars: ansible_become: true ansible_user: $SSH_USER ansible_ssh_private_key_file: $HOME/ssh-key-cluster-sa roles: - role: google.alloydbomni_orchestrator.backup EOF - طرح پشتیبانگیری را با استفاده از فایل backup.yaml playbook اعمال کنید:
ansible-playbook backup.yaml -i deployment_spec.yaml -e resource_spec=backup_plan.yaml - پس از اینکه طرح با موفقیت ایجاد شد، یک فایل منبع پشتیبان بر اساس تقاضا با نام create_backup.yaml ایجاد کنید.
cat > create_backup.yaml <<EOF Backup: metadata: name: on-demand-backup spec: backupPlanRef: pgb-plan dbclusterRef: $CLUSTER EOF - برای شروع پشتیبانگیری، playbook را اجرا کنید:
ansible-playbook backup.yaml -i deployment_spec.yaml -e resource_spec=create_backup.yaml - برای تأیید وضعیت پشتیبان، یک playbook با نام status.yaml ایجاد کنید:
- name: Fetch AlloyDB Omni Resource Status
hosts: localhost
vars:
ansible_become: true
ansible_user: $SSH_USER
ansible_ssh_private_key_file: $HOME/ssh-key-cluster-sa
roles:
- role: google.alloydbomni_orchestrator.status
EOF
- برای فهرست کردن تمام نسخههای پشتیبان ، playbook را اجرا کنید:
ansible-playbook status.yaml -i deployment_spec.yaml -e resource_type=Backup
- روش دیگر ، برای دریافت اطلاعات دقیق در مورد یک نسخه پشتیبان خاص که قبلاً ایجاد شده است، از
-e resource_name=on-demand-backupاستفاده کنید:
ansible-playbook status.yaml -i deployment_spec.yaml \
-e resource_type=Backup \
-e resource_name=on-demand-backup
۱۰. منابع پاکسازی
وقتی کار استقرار تمام شد، میتوانید منابع تأمینشده را از بین ببرید تا از تحمیل هزینهها جلوگیری کنید.
- یک playbook با نام teardown.yaml ایجاد کنید:
cat > teardown.yaml <<EOF - name: Tear down AlloyDB Omni cluster hosts: localhost vars: ansible_become: true ansible_user: $SSH_USER ansible_ssh_private_key_file: $HOME/ssh-key-cluster-sa roles: - role: google.alloydbomni_orchestrator.delete EOF - با استفاده از ansible-playbook، فایل playbook را اجرا کنید. اگر پشتیبانگیری پیکربندی کردهاید، ابتدا منابع Backup و BackupPlan را حذف کنید:
اگر PgBouncer را پیکربندی کردهاید، در مرحله بعد منبع connection pooler را حذف کنید:ansible-playbook teardown.yaml -i deployment_spec.yaml -e "resource_type=Backup" -e "resource_name=on-demand-backup" ansible-playbook teardown.yaml -i deployment_spec.yaml -e "resource_type=BackupPlan" -e "resource_name=pgb-plan" سپس، DBCluster را به عنوان resource_type مشخص کنید و خود کلاستر پایگاه داده را حذف کنید:ansible-playbook teardown.yaml -i deployment_spec.yaml -e "resource_type=PgBouncer" -e "resource_name=pgbouncer-pooler"ansible-playbook teardown.yaml -i deployment_spec.yaml -e "resource_type=DBCluster" -e "resource_name=$CLUSTER" - پس از حذف کلاستر، از گره کنترل خارج شوید، به ترمینال خود برگردید و به دایرکتوری کاری Terraform خود بروید.
توجه : اگر تازه وارد پوسته ابری شدهاید، به یاد داشته باشید که این موارد را تنظیم کنید:export PROJECT="your-project-id" export CLUSTER="your-cluster-name" - قانون فایروال VRRP را حذف کنید و منابع مدیریت شده توسط Terraform را از بین ببرید:
gcloud compute firewall-rules delete -q "$CLUSTER-allow-vrrp" --project="$PROJECT" gcloud compute firewall-rules delete -q "$CLUSTER-allow-ssh" --project="$PROJECT" terraform destroy - در صورت درخواست، تخریب را تأیید کنید. از آنجایی که منابع یا مسیرهای شبکه باقی مانده ممکن است گاهی اوقات مانع از تخریب کامل شوند، دستورات پاکسازی ایمن زیر را اجرا کنید تا مطمئن شوید که تمام قوانین فایروال، دروازههای NAT، روترها، مسیرها، زیرشبکهها و شبکهها به طور کامل حذف شدهاند.
REGIONبا منطقه استقرار خاص خود، مانند 'us-central1'، جایگزین کنید:# Delete any remaining firewall rules associated with the cluster gcloud compute firewall-rules list --project=$PROJECT 2> /dev/null | grep ^$CLUSTER- | cut -f1 -d' ' | \ while read rule; do gcloud compute firewall-rules delete --project=$PROJECT --quiet $rule; done # Delete the Cloud NAT gateway and router if they still exist gcloud compute routers nats describe $CLUSTER-nat-gw --router=$CLUSTER-router --region=REGION --project=$PROJECT 2>/dev/null \ && gcloud compute routers nats delete $CLUSTER-nat-gw --router=$CLUSTER-router --region=REGION --project=$PROJECT --quiet gcloud compute routers describe $CLUSTER-router --region=REGION --project=$PROJECT 2>/dev/null \ && gcloud compute routers delete $CLUSTER-router --region=REGION --project=$PROJECT --quiet # Delete any remaining custom routes gcloud compute routes list --project=$PROJECT --filter="network:$CLUSTER" --format="value(name)" 2>/dev/null | \ while read route; do gcloud compute routes delete --project=$PROJECT --quiet $route 2>/dev/null || true; done # Delete the subnet and network if they still exist gcloud compute networks subnets describe $CLUSTER --region=REGION --project=$PROJECT 2>/dev/null \ && gcloud compute networks subnets delete $CLUSTER --region=REGION --project=$PROJECT --quiet gcloud compute networks describe $CLUSTER --project $PROJECT 2> /dev/null \ && gcloud compute networks delete $CLUSTER --project $PROJECT --quiet
۱۱. تبریک
تبریک میگویم که آزمایشگاه کد را تمام کردی.
آنچه ما پوشش دادهایم
- نحوه ایجاد و آمادهسازی ماشینهای مجازی GCE برای AlloyDB Omni.
- نحوه نصب و اجرای AlloyDB Omni RPM Orchestrator.
- نحوه نصب و پیکربندی RPM های AlloyDB Omni برای معماری مرجع HA.
میتوانید اطلاعات بیشتر در مورد AlloyDB Omni را در مستندات مطالعه کنید.