RPM Orchestrator'ı kullanarak GCE VM'lerinde AlloyDB Omni yüksek kullanılabilirlik kümesi dağıtma

1. Giriş

Bu codelab'de, Google Compute Engine (GCE) sanal makinelerinde (VM) AlloyDB Omni yüksek kullanılabilirlik (HA) kümesi dağıtımı gösterilmektedir. Bu codelab'in sonunda, yönetim işlemleri için bir kontrol düğmesinin yanı sıra 3 veritabanı düğmesi ve 2 HAProxy düğmesinden oluşan bir HA referans mimarisi sağlayacaksınız.

Ön koşullar

  • Cloud Console'dan Google Cloud projesine ve Cloud Shell'e erişim.
  • Google Cloud SDK (gcloud) yüklenmiş ve yapılandırılmış olmalıdır. gcloud'u yükleme hakkında ayrıntılı bilgi için gcloud-install başlıklı makaleyi inceleyin.
  • Terraform v1.9.8 yüklü olmalıdır.

Neler öğreneceksiniz?

  • AlloyDB Omni için GCE VM'leri oluşturma ve hazırlama
  • AlloyDB Omni RPM Orchestrator'ı yükleme ve çalıştırma
  • Yüksek kullanılabilirlik referans mimarisi için AlloyDB Omni RPM'lerini yükleme ve yapılandırma

Gerekenler

  • AlloyDB Omni RPM'leri ve RPM düzenleyicisi için URL bağlantısı alın. Bunun için AlloyDB Omni kayıt formunu doldurmanız gerekir. Bağlantılar, e-posta adresinize ve depo URL'si sunucunuza gönderilir. Codelab sırasında kullanılacak URL'leri elinizin altında tutmak için aşağıdaki ortam değişkenlerini ilk kullanıma hazırlayın.
    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 dağıtım yığınına erişimi olan çalışan bir terminal. Bu amaçla Cloud Shell'i kullanabilirsiniz.

2. Kurulum ve Gereksinimler

Proje kurulumu

Google Cloud projesi oluşturma

  1. Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.
  2. Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını nasıl kontrol edeceğinizi öğrenin.

Cloud Shell'i başlatma

Google Cloud, dizüstü bilgisayarınızdan uzaktan çalıştırılabilir ancak bu codelab'de Cloud'da çalışan bir komut satırı ortamı olan Google Cloud Shell'i kullanacaksınız.

Google Cloud Console'da sağ üstteki araç çubuğunda Cloud Shell simgesini tıklayın:

Cloud Shell'i etkinleştirme simgesi

Alternatif olarak G ve ardından S tuşuna basabilirsiniz. Bu sıra, Google Cloud Console'da bulunuyorsanız Cloud Shell'i etkinleştirir veya bu bağlantıyı kullanır.

Ortamın temel hazırlığı ve bağlantı kurulması yalnızca birkaç dakikanızı alır. İşlem tamamlandığında şuna benzer bir şey görürsünüz:

Ortamın bağlandığını gösteren Google Cloud Shell terminali

Bu sanal makine, ihtiyaç duyacağınız tüm geliştirme araçlarıyla birlikte gelir. 5 GB boyutunda kalıcı bir ana dizin bulunur ve Google Cloud'da çalışır. Bu sayede ağ performansı ve kimlik doğrulama önemli ölçüde güçlenir. Bu codelab'deki tüm çalışmalarınızı tarayıcıda yapabilirsiniz. Herhangi bir şey yüklemeniz gerekmez.

3. Google Cloud Compute Engine sanal makineleri oluşturma

Terraform komut dosyalarını hazırlama

  1. Proje kimliğiniz ve istediğiniz küme adı için ortam değişkenleri tanımlayın. Bu bilgileri, codelab boyunca kullanacaksınız.
    export PROJECT="your-project-id"
    export CLUSTER="your-cluster-name"
    
    Not: Google Cloud proje kimliği yalnızca 6 ila 30 karakter uzunluğunda olmalıdır. Daha fazla bilgi için https://docs.cloud.google.com/resource-manager/docs/creating-managing-projects#before_you_begin adresine bakın.
  2. Google Cloud Hesabı kullanıcısıyla giriş yaptığınızdan emin olun.
    gcloud auth login
    
  3. Dağıtımınız için bir çalışma dizini oluşturun ve gerekli Terraform yapılandırma dosyalarını depo kaynağınızdan kopyalayın.
    mkdir -p ~/alloydb-omni/$PROJECT/$CLUSTER
    cd ~/alloydb-omni/$PROJECT/$CLUSTER
    gcloud storage cp gs://alloydb-omni-install/rpm-orchestrator/gce/terraform/*.tf .
    
  4. Aşağıdaki içeriklere göre referans mimarideki gerekli parametreleri belirtmek için bir terraform.tfvars dosyası oluşturun:
    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 komut dosyalarını yürütme ve doğrulama

  1. Artık VM'leri sağlayabilirsiniz.
    terraform init
    
  2. Sanal makineler oluşturmadan önce, sanal makineler ve diğer kaynakları oluşturmak için gerekli erişime sahip olduğunuzdan emin olun. Özetle, aşağıdaki izinlere ihtiyacınız olacak.
    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
    
  3. Yapılandırmayı doğrulayın ve kaynakları sağlamak için yapılandırmayı uygulayın.
    terraform validate
    terraform apply --auto-approve
    
    Not: Dağıtım yapılandırmasının gerektirdiği gibi Terraform v1.9.8 kullandığınızdan emin olun.
  4. Terraform tamamlandıktan sonra, gcloud komutunu kullanarak oluşturulan örnekleri listeleyerek sanal makinelerin başarıyla oluşturulduğunu doğrulayın.
    gcloud compute instances list --filter="name~$CLUSTER" --project=$PROJECT
    
    3 veritabanı düğümünüze, 2 HAProxy düğümünüze, kontrol sanal makinenize ve ilgili bölgelere karşılık gelen örnekleri görmeniz gerekir. Kontrol düğümü için ZONE'u kaydedin. Bu bilgiye daha sonra bu codelab sırasında ihtiyacımız olacak.
    export ZONE=$(gcloud compute instances list \
      --filter="name=$CLUSTER-control"          \
      --format="value(zone)" --project=$PROJECT)
    

4. Sanal makineleri dağıtıma hazırlama

Kontrol düğümü için bir SSH oturumu oluşturmanız ve tüm sanal makinelere (düğümler olarak da adlandırılır) SSH erişimini etkinleştirmek için adımları uygulamanız gerekir.

  1. Projeniz ve kümeniz için ortam değişkenlerinin tanımlandığından emin olun.
    export PROJECT="your-project-id"
    export CLUSTER="your-cluster-name"
    
  2. SSH anahtarı oluşturun ve kontrol VM'sine giriş için aynı anahtarı ekleyin.
    # 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
    
  3. SSH bağlantılarına izin vermek ve VRRP trafiğine de izin vermek için güvenlik duvarı kuralı oluşturun.
    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"
    
  4. SSH üzerinden kontrol sanal makinesine bağlanın:
    gcloud compute ssh "$CLUSTER-control" --zone=$ZONE --project=$PROJECT
    
  5. Kontrol düğümünde, kullanıcı adıyla aynı ada sahip bir Linux grubu oluşturun:
    sudo groupadd -f $(id -un)
    sudo usermod -aG $(id -un) $(id -un)
    
  6. Terraform kurulumu, birkaç yapılandırma komut dosyası oluşturur ve bunları kontrol VM'sinin /tmp/ dizininde aşamalandırır. Bu dizinde küme adı, hizmet hesabı, proje adı gibi öğeler bulunur. Kontrol düğümündeki kurulum komut dosyalarını kullanarak kontrol düğümlerinden tüm küme düğümlerine şifresiz SSH erişimi oluşturun.
    /tmp/setup-ssh-for-cluster.sh
    
    Önemli: service_account kullanıcısını not edin. Bu değeri, bu codelab'in ilerleyen bölümlerinde SSH_USER olarak kullanacağız.
  7. Bu codelab için SELinux'u tüm düğümlerde devre dışı bırakabiliriz. Terraform komut dosyası, bu amaçla kullanılabilecek "/tmp/run-all.sh" dosyasını ekler.
    /tmp/run-all.sh sudo setenforce 0
    
  8. AlloyDB Omni'ye kaydolduysanız ve bağlantıları aldıysanız bu URL'leri ortam değişkenlerine de eklemenin zamanı gelmiştir.
    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="..."
    EOF
    
    Aşağıdaki örnekte gösterildiği gibi, terraform/variables.tf dosyasındaki cidr_range giriş değişkeninden ortamınız için diğer düğümlerle çakışmayacak şekilde bir sanal IP seçin:
    cat >> ~/.codelab.env <<EOF
    export VIRTUAL_IP="10.1.0.50"
    EOF
    

5. Gerekli yazılım bileşenlerini tüm sanal makinelere yükleyin.

Bir sonraki adım, gerekli yazılım bileşenlerini sanal makinelere yüklemektir. Bu işlem, kontrol düğümünde koordine edilebilir. Aşağıdaki komutların tümü kontrol düğümünde yürütülmelidir.

  1. Kontrol düğümünde değilseniz SSH üzerinden kontrol sanal makinesine bağlanın.
    gcloud compute ssh "$CLUSTER-control" --zone=$ZONE --project=$PROJECT
    
    Kontrol VM'si ssh istemine geldiğinizde kaynak ortam dosyasını oluşturun.
    source ~/.codelab.env
    
  2. Kontrol düğümüne Ansible'ı ve gerekli Python kitaplıklarını yükleyin.
    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
    
  3. Ardından, RPM Orchestrator Ansible koleksiyonu tar dosyasını indirip yükleyin.
    gcloud storage cp "gs://${ORCHESTRATOR_ANSIBLE_COLLECTION_PATH#https://storage.googleapis.com/}google-alloydbomni_orchestrator-*.tar.gz" .
    COLLECTION_FILE=$(ls -1 google-alloydbomni_orchestrator-*.tar.gz \
      | sort -V | tail -n 1)
    ansible-galaxy collection install "$COLLECTION_FILE"
    ansible-galaxy collection list | grep alloydbomni_orchestrator
    
    sort -V ve tail -n 1 komutları, en yeni sürümün bulunduğu dosyayı seçer. Not: ORCHESTRATOR_ANSIBLE_COLLECTION_PATH değişkeninin sonunda "/" olduğundan emin olun.
  4. Düzenleyici, küme topolojinizi anlamak için Ansible envanter biçiminde bir dağıtım spesifikasyon dosyası kullanır. Kontrol düğümünde, düğüm ayrıntılarınızı içeren deployment_spec.yaml adlı bir dosya oluşturun.
    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
    
    Not: Geçerli değerlere referans verdiğinden emin olmak için oluşturulan dosyayı inceleyin.
  5. Orkestratör koleksiyonundaki yükleme rolüne referans veren install.yaml adlı bir oyun kitabı oluşturun.
    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
    
    Not: Geçerli değerlere referans verdiğinden emin olmak için oluşturulan dosyayı inceleyin.
  6. Belirtilen tüm düğümlere RPM'leri indirip yüklemek için envanter dosyanızı kullanarak oyun planını uygulayın.
    ansible-playbook -i deployment_spec.yaml install.yaml
    

6. AlloyDB Omni kümesini başlatma

Bu aşamada, tüm düğümlere gerekli tüm bileşenleri yükledik. AlloyDB Omni kümesini başlatmaya hazırız.

  1. Kontrol düğümünde değilseniz SSH üzerinden kontrol sanal makinesine bağlanın.
    gcloud compute ssh "$CLUSTER-control" --zone=$ZONE --project=$PROJECT
    
    Kontrol VM'si ssh istemine geldiğinizde kaynak ortam dosyasını oluşturun.
    source ~/.codelab.env
    
  2. Şifreniz için karma oluşturun ve yüklü AlloyDB Omni veritabanı sürümünü getirin:
    encoded_password=$(echo -n "your unique password" | base64)
    DB_VERSION=$(/tmp/run-all.sh -t db 'rpm -q --qf "%{VERSION}\n" alloydbomni18' | tail -n 1)
    echo "$DB_VERSION"
    
  3. Küme oluşturmak için AlloyDB Omni'nin nasıl yapılandırılacağını bilmesi gerekir. Veritabanı kümesi spesifikasyonları için dbcluster.yaml adlı bir dosya adı oluşturun.
    cat > dbcluster.yaml <<EOF
    Secret:
      metadata:
        name: db-pw-$CLUSTER
      spec:
        type: Opaque
        data:
          $CLUSTER: $encoded_password
    ---
    DBCluster:
      metadata:
        name: $CLUSTER
      spec:
        databaseVersion: $DB_VERSION
        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
    
  4. AlloyDB Omni kümesi oluşturmak için bootstrap ansible rolüne başvuracak bootstrap.yaml adlı bir oyun kitabı oluşturun.
    cat > bootstrap.yaml <<EOF
    - name: Create DBCluster
      hosts: localhost
      roles:
      - role: google.alloydbomni_orchestrator.bootstrap
    EOF
    
  5. Küme oluşturmak için oyun planınızı çalıştırın
    ansible-playbook bootstrap.yaml -i deployment_spec.yaml -e resource_spec=dbcluster.yaml
    

7. (İsteğe bağlı) PgBouncer bağlantı havuzunu yapılandırma

AlloyDB Omni, PgBouncer kullanarak basit bağlantı havuzunu destekler. Kümeniz sağlandıktan hemen sonra PgBouncer'ı yapılandırabilir ve başlatabilirsiniz.

  1. Bağlantı havuzunu veritabanı kümenizle ilişkilendiren pgbouncer.yaml adlı bir kaynak belirtim dosyası oluşturun:
    cat > pgbouncer.yaml <<EOF
    PgBouncer:
      metadata:
        name: pgbouncer-pooler
      spec:
        dbclusterRef: $CLUSTER
        allowSuperUserAccess: true
        accessMode: "rw"
        port: 6432
    EOF
    
  2. Daha önce oluşturulan bootstrap.yaml playbook'unu kullanarak PgBouncer havuzunu başlatın ve yeni spesifikasyon dosyasını iletin:
    ansible-playbook bootstrap.yaml -i deployment_spec.yaml -e resource_spec=pgbouncer.yaml
    

8. AlloyDB Omni kümesini doğrulama

Kümenizin doğru şekilde çalıştığını ve yük dengeleyici kullanılarak erişilebildiğini doğrulamak için kontrol düğümünden standart PostgreSQL istemcisini kullanarak kümeye bağlanabilirsiniz.

  1. PostgreSQL 18 istemci deposunu ve paketini kontrol düğümüne yükleyin:
    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
    
  2. Daha önce ayrılan sanal IP'yi kullanarak kümeye bağlanın. dbcluster.yaml dosyasında kodladığınız şifreyi girmeniz istenir:
    /usr/pgsql-18/bin/psql -h $VIRTUAL_IP -U postgres -W
    
  3. Bağlandıktan sonra, küme durumunu doğrulamak için temel SQL sorguları çalıştırabilirsiniz. Örneğin, veritabanı sürümünü kontrol edebilirsiniz:
    postgres=# SELECT version();
    
    AlloyDB Omni ile PostgreSQL 18'in çalıştığını belirten bir çıkış görürsünüz. İstemden çıkmak için \q yazın.

9. (İsteğe bağlı) pgBackRest kullanarak verileri yedekleme

AlloyDB Omni, yedeklemeleri doğrudan Cloud Storage'da yönetmek için pgBackRest ile entegre olur. Yedekleme planı yapılandırabilir ve Terraform kurulumunuz tarafından oluşturulan GCS paketinde seç-izle yedekleme tetikleyebilirsiniz.

  1. Sağlanan GCS paketinize işaret eden backup_plan.yaml adlı bir yedek plan spesifikasyon dosyası oluşturun:
    cat > backup_plan.yaml <<EOF
    BackupPlan:
      metadata:
        name: pgb-plan
      spec:
        dbclusterRef: $CLUSTER
        backupLocation:
          type: GCS
          gcsOptions:
            bucket: $CLUSTER-gcs-backups
            key: /backups
    EOF
    
  2. Yedekleme yönetimi rolüne referans veren backup.yaml adlı bir Ansible başucu kitabı oluşturun:
    cat > backup.yaml <<EOF
    - name: Manage AlloyDB Omni Backups
      hosts: localhost
      roles:
        - role: google.alloydbomni_orchestrator.backup
    EOF
    
  3. backup.yaml playbook'unu kullanarak yedekleme planını uygulayın:
    ansible-playbook backup.yaml -i deployment_spec.yaml -e resource_spec=backup_plan.yaml
    
  4. Plan başarıyla oluşturulduktan sonra create_backup.yaml adlı seç-izle yedek kaynak dosyası oluşturun.
    cat > create_backup.yaml <<EOF
    Backup:
      metadata:
        name: on-demand-backup
      spec:
        backupPlanRef: pgb-plan
        dbclusterRef: $CLUSTER
    EOF
    
  5. Yedeklemeyi başlatmak için başucu kitabını çalıştırın:
    ansible-playbook backup.yaml -i deployment_spec.yaml -e resource_spec=create_backup.yaml
    
  6. Yedeklemenin durumunu doğrulamak için status.yaml adlı bir playbook oluşturun:
cat > status.yaml <<EOF
- name: Fetch AlloyDB Omni Resource Status
  hosts: localhost
  roles:
    - role: google.alloydbomni_orchestrator.status
EOF
  1. Tüm yedekleri listelemek için playbook'u çalıştırın:
ansible-playbook status.yaml -i deployment_spec.yaml -e resource_type=Backup
  1. Alternatif olarak, daha önce oluşturulmuş belirli bir yedekleme hakkında ayrıntılı bilgi almak için -e resource_name=on-demand-backup iletin:
ansible-playbook status.yaml -i deployment_spec.yaml \
  -e resource_type=Backup \
  -e resource_name=on-demand-backup

10. Kaynakları temizleme

Dağıtımı tamamladığınızda, ücretlendirilmemek için sağlanan kaynakları yok edebilirsiniz.

  1. teardown.yaml adlı bir playbook oluşturun:
    cat > teardown.yaml <<EOF
    - name: Tear down AlloyDB Omni cluster
      hosts: localhost
      roles:
      - role: google.alloydbomni_orchestrator.delete
    EOF
    
  2. Ansible-playbook kullanarak başucu kitabını yürütün. Yedeklemeleri yapılandırdıysanız önce Backup ve BackupPlan kaynaklarını silin:
    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"
    
    PgBouncer'ı yapılandırdıysanız bağlantı havuzu oluşturma kaynağını silin:
    ansible-playbook teardown.yaml -i deployment_spec.yaml  -e "resource_type=PgBouncer" -e "resource_name=pgbouncer-pooler"
    
    Ardından, resource_type olarak DBCluster'ı belirtin ve veritabanı kümesinin kendisini silin:
    ansible-playbook teardown.yaml -i deployment_spec.yaml  -e "resource_type=DBCluster" -e "resource_name=$CLUSTER"
    
  3. Küme silindikten sonra kontrol düğümünden çıkış yapın, terminalinize geri dönün ve Terraform çalışma dizininize gidin.
    Not: Cloud Shell'e yeni giriş yaptıysanız şunları ayarlamayı unutmayın:
    export PROJECT="your-project-id"
    export CLUSTER="your-cluster-name"
    
  4. VRRP güvenlik duvarı kuralını silin ve Terraform tarafından yönetilen kaynakları yok edin:
    gcloud compute firewall-rules delete -q "$CLUSTER-allow-vrrp" --project="$PROJECT"
    gcloud compute firewall-rules delete -q "$CLUSTER-allow-ssh" --project="$PROJECT"
    terraform destroy
    
  5. İstendiğinde imha işlemini onaylayın. Ağ kaynaklarının veya rotalarının kalıcı olması bazen tam olarak yıkımı engelleyebileceğinden, ilişkili tüm güvenlik duvarı kurallarının, NAT ağ geçitlerinin, yönlendiricilerin, rotaların, alt ağların ve ağların tamamen kaldırıldığından emin olmak için aşağıdaki güvenli temizleme komutlarını çalıştırın. REGION yerine, "us-central1" gibi belirli bir dağıtım bölgenizi girin:
    # 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
    

11. Tebrikler

Codelab'i tamamladığınız için tebrik ederiz.

İşlediğimiz konular

  • AlloyDB Omni için GCE VM'leri oluşturma ve hazırlama
  • AlloyDB Omni RPM Orchestrator'ı yükleme ve çalıştırma
  • Yüksek kullanılabilirlik referans mimarisi için AlloyDB Omni RPM'lerini yükleme ve yapılandırma

AlloyDB Omni hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.

12. Anket

Bu eğitimi nasıl kullanacaksınız?

Sadece okuyun Okuyun ve alıştırmaları tamamlayın