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üğümünün yanı sıra 3 veritabanı düğümü ve 2 HAProxy düğümünden 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üklü 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 sanal makineleri 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, depo URL'si sunucunuzun e-posta adresine gönderilir. Codelab sırasında kullanılacak URL'leri elinizin altında tutmak için aşağıdaki ortam değişkenlerini başlatı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ı kontrol etmeyi öğ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 aşağıdakine benzer bir sonuç 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 sunar ve Google Cloud üzerinde ç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. Bunları 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 adresini ziyaret edin.
  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 mimaride belirtilen gerekli parametreleri tanımlamak 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'lerin temel hazırlığını yapabilirsiniz.
    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 vardır.
    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ında beklendiği gibi Terraform v1.9.8 kullandığınızdan emin olun.
  4. Terraform tamamlandıktan sonra, gcloud 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 BÖLGE'yi kaydedin. Bu bilgiye bu codelab'in ilerleyen aşamaları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

Denetim düğümüne 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 sanal makinesine 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 ve VRRP trafiğine izin veren bir 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 $(id -un)
    sudo usermod -aG $(id -un) $(id -un)
    
  6. Terraform kurulumu, birkaç yapılandırma komut dosyası oluşturur ve bunları kontrol sanal makinesinin /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. Henüz 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ı kullanın.
    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" .
    ansible-galaxy collection install google-alloydbomni_orchestrator-0.1.0-6.tar.gz
    ansible-galaxy collection list | grep alloydbomni_orchestrator
    
    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 spesifikasyonu dosyası kullanır. Kontrol düğümünde deployment_spec.yaml adlı bir dosya oluşturun ve bu dosyaya düğüm ayrıntılarınızı ekleyin.
    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 başvurduğundan emin olmak için oluşturulan dosyayı inceleyin.
  5. Orkestratör koleksiyonundaki yükleme rolüne referans veren install.yaml adlı bir playbook 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 başvurduğundan 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ı yürütün.
    ansible-playbook -i deployment_spec.yaml install.yaml
    

6. AlloyDB Omni kümesini başlatma

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

  1. Henüz 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ı kullanın.
    source ~/.codelab.env
    
  2. Şifreniz için bir karma oluşturun ve bunu not edin.
    encoded_password=$(echo -n "your unique password" | base64)
    
  3. Küme oluşturmak için AlloyDB Omni'nin nasıl yapılandırılacağını bilmesi gerekir. Veritabanı kümesi özellikleri için dbcluster.yaml dosya adını 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: 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
    
  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
      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
    
  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ı havuzu oluşturmayı 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 aynı 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 çalışan PostgreSQL 18'i gösteren bir çıkış görmeniz gerekir. İstemden çıkmak için \q yazın.

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

AlloyDB Omni, yedekleri doğrudan Cloud Storage'a yönetmek için pgBackRest ile entegre olur. Yedekleme planı yapılandırabilir ve Terraform kurulumunuz tarafından oluşturulan GCS paketinde isteğe bağlı yedekleme tetikleyebilirsiniz.

  1. Sağlanan GCS paketinizi işaret eden backup_plan.yaml adlı bir yedekleme 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
      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
    
  3. backup.yaml playbook'unu kullanarak yedek planı 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ı isteğe bağlı bir yedekleme 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:
- 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
  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ş bir yedeklemeyle ilgili ayrıntılı bilgi almak için -e resource_name=on-demand-backup değerini iletin:
ansible-playbook status.yaml -i deployment_spec.yaml \
  -e resource_type=Backup \
  -e resource_name=on-demand-backup

10. Temizleme kaynakları

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

  1. teardown.yaml adlı bir başucu kitabı oluşturun:
    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
    
  2. ansible-playbook kullanarak playbook'u yürütün. Yedeklemeleri yapılandırdıysanız önce Yedekleme ve Yedekleme Planı 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ı da 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ümesini 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. Kalıcı ağ kaynakları veya rotalar bazen tam olarak kaldırılmayı 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 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 sanal makineleri 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