Veri merkezi ekleme

Edge for Private Cloud 4.17.01 sürümü

Bu belgede, mevcut bir veri merkezine nasıl veri merkezi (bölge olarak da adlandırılır) ekleneceği açıklanmaktadır.

Veri merkezi eklemeden önce dikkat edilmesi gereken noktalar

Veri merkezi eklemeden önce OpenLDAP, ZooKeeper, Cassandra ve Postgres sunucularını veri merkezlerinde nasıl yapılandıracağınızı anlamanız gerekir. Ayrıca, iki veri merkezindeki düğümler arasında gerekli bağlantı noktalarının açık olduğundan emin olmanız gerekir.

  • OpenLDAP
    Her veri merkezinin, replikasyon etkinleştirilmiş şekilde yapılandırılmış kendi OpenLDAP sunucusu vardır. Yeni veri merkezini kurduğunuzda OpenLDAP'yi replikasyon kullanacak şekilde yapılandırmanız ve mevcut veri merkezindeki OpenLDAP sunucusunu replikasyon kullanacak şekilde yeniden yapılandırmanız gerekir.
  • ZooKeeper
    Her iki veri merkezinin ZK_HOSTS özelliği için her iki veri merkezindeki tüm ZooKeeper düğümlerinin IP adreslerini veya DNS adlarını aynı sırayla belirtin ve tüm düğümleri ":observer" değiştiricisiyle işaretleyin. ":observer" değiştiricisi olmayan düğümlere "seçmen" denir. Yapılandırmanızda tek sayıda "oy veren" olmalıdır.

    Bu topolojide, ana makine 9'daki ZooKeeper ana makinesi gözlemcidir:



    Aşağıda gösterilen örnek yapılandırma dosyasında, 9. düğüm ":observer" değiştiricisiyle etiketlenmiştir. Böylece beş seçmeniniz olur: 1, 2, 3, 7 ve 8. düğümler.

    Her veri merkezinin ZK_CLIENT_HOSTS özelliği için veri merkezindeki tüm ZooKeeper düğümlerinin IP adreslerini veya DNS adlarını aynı sırayla belirtin.
  • Cassandra
    Tüm veri merkezlerinde aynı sayıda Cassandra düğümü olmalıdır.

    Her veri merkezi için CASS_HOSTS alanında, her iki veri merkezinin de tüm Cassandra IP adreslerini (DNS adlarını değil) belirttiğinizden emin olun. 1. veri merkezi için önce o veri merkezindeki Cassandra düğümlerini listeleyin. 2. veri merkezi için önce bu veri merkezindeki Cassandra düğümlerini listeleyin. Cassandra düğümlerini, veri merkezindeki tüm Cassandra düğümleri için aynı sırada listeleyin.

    Tüm Cassandra düğümlerinin ":<d>,<r>" son eki olmalıdır. Örneğin, "<ip>:1,1 = veri merkezi 1 ve raf/kullanılabilirlik alanı 1" ve "<ip>:2,1 = veri merkezi 2 ve raf/kullanılabilirlik alanı 1".
    Örneğin, "192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.205:2,1 192.168.124.206:2,1"

    Her veri merkezinin raf/kullanılabilirlik bölgesi 1'deki ilk düğüm, çekirdek sunucu olarak kullanılır. Bu dağıtım modelinde Cassandra kurulumu şu şekilde görünür:


  • Postgres
    Edge, varsayılan olarak tüm Postgres düğümlerini ana modda yükler. Ancak birden fazla veri merkeziniz olduğunda Postgres düğümlerini ana-yedek replikasyonunu kullanacak şekilde yapılandırırsınız. Böylece ana düğüm başarısız olursa yedek düğüm trafiğe hizmet vermeye devam edebilir. Genellikle ana Postgres sunucusunu bir veri merkezinde, bekleme sunucusunu ise ikinci veri merkezinde yapılandırırsınız.

    Mevcut veri merkezi, ana/bekleme modunda çalışan iki Postgres düğümüne sahip olacak şekilde yapılandırılmışsa bu prosedür kapsamında mevcut bekleme düğümünün kaydını silin ve yeni veri merkezindeki bir bekleme düğümüyle değiştirin.

    Aşağıdaki tabloda, her iki senaryo için Postgres yapılandırmasının öncesi ve sonrası gösterilmektedir:

    Önce

    Sonra

    dc-1'de tek bir ana Postgres düğümü

    dc-1'deki ana Postgres düğümü

    dc-2'de bekleme modundaki Postgres düğümü

    dc-1'deki ana Postgres düğümü

    dc-1'de bekleme Postgres düğümü

    dc-1'deki ana Postgres düğümü

    dc-2'de bekleme modundaki Postgres düğümü

    dc-1'deki eski bekleme Postgres düğümünün kaydını silin.

  • Bağlantı noktası gereksinimleri
    İki veri merkezindeki düğümler arasında gerekli bağlantı noktalarının açık olduğundan emin olmanız gerekir. Bağlantı noktası şeması için Kurulum Gereksinimleri başlıklı makaleyi inceleyin.

Mevcut veri merkezini güncelleme

Veri merkezi eklemek için yeni veri merkezi düğümlerini yükleme ve yapılandırma adımlarını uygulamanız gerekir. Ayrıca orijinal veri merkezindeki düğümleri de güncellemeniz gerekir. Yeni veri merkezinde, mevcut veri merkezinin erişebilmesi gereken yeni Cassandra ve ZooKeeper düğümleri eklediğiniz ve OpenLDAP'yi replikasyon kullanacak şekilde yeniden yapılandırmanız gerektiği için bu değişiklikler gereklidir.

Yapılandırma dosyalarını oluşturma

Aşağıda, iki veri merkezi için sessiz yapılandırma dosyaları gösterilmektedir. Her veri merkezinde, Yükleme Topolojileri bölümünde gösterildiği gibi 6 düğüm bulunur. dc-1 için yapılandırma dosyasının aşağıdaki ayarlara ek ayarlar eklediğini göreceksiniz:

  • OpenLDAP'yi iki OpenLDAP düğümü arasında replikasyonla yapılandırma
  • dc-2'deki yeni Cassandra ve ZooKeeper düğümlerini dc-1'in yapılandırma dosyasına ekleyin.
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP7
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-1
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
# Datacenter 2
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP7
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=2
LDAP_PEER=$IP1
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-2
REGION=dc-2
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25

Yeni veri merkezi ekleme prosedürü

Bu prosedürde veri merkezleri şu şekilde adlandırılır:

  • dc-1: mevcut veri merkezi
  • dc-2: yeni veri merkezi
  1. dc-1'de, dc-2'deki Cassandra düğümlerini içeren yeni dc-1 yapılandırma dosyasıyla orijinal Cassandra düğümlerinde setup.sh dosyasını yeniden çalıştırın:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. dc-1'de, Yönetim Sunucusu düğümünde setup.sh dosyasını yeniden çalıştırın:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. dc-2'de, tüm düğümlere apigee-setup'ı yükleyin. Daha fazla bilgi için Edge apigee-setup yardımcı programını yükleme başlıklı makaleyi inceleyin.
  4. dc-2'de, Cassandra ve ZooKeeper'ı uygun düğümlere yükleyin:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. dc-2'de, dc-1'in bölge adını belirterek tüm Cassandra düğümlerinde yeniden oluşturma komutunu çalıştırın:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP rebuild dc-1
  6. dc-2'de, Yönetim Sunucusu'nu uygun düğüme yükleyin:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. dc-2'de, Yönlendiricileri ve Mesaj İşlemcileri uygun düğümlere yükleyin:
    > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  8. dc-2'de, Qpid'i uygun düğümlere yükleyin:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  9. dc-2'de, Postgres'i uygun düğüme yükleyin:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  10. Postgres düğümleri için Postgres ana/yedek sunucusunu ayarlayın. dc-1'deki Postgres düğümü ana sunucu, dc-2'deki Postgres düğümü ise bekleme sunucusudur.

    Not: dc-1, ana/bekleme modunda çalışan iki Postgres düğümüne sahip olacak şekilde yapılandırılmışsa bu prosedür kapsamında, ana sunucu olarak dc-1'deki mevcut ana Postgres düğümünü ve bekleme sunucusu olarak dc-2'deki Postgres düğümünü kullanın. Bu prosedürün ilerleyen bölümlerinde, dc-1'deki mevcut Postgres bekleme sunucusunun kaydını sileceksiniz.
    1. dc-1'deki ana düğümde yapılandırma dosyasını düzenleyerek şunları ayarlayın:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. Yeni ana sunucuda replikasyonu etkinleştirin:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. dc-2'deki bekleme düğümünde yapılandırma dosyasını düzenleyerek şunları ayarlayın:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. dc-2'deki bekleme düğümünde sunucuyu durdurun ve mevcut Postgres verilerini silin:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      > rm -rf /opt/apigee/data/apigee-postgresql/

      Not: Gerekirse bu verileri silmeden önce yedekleyebilirsiniz.
    5. dc-2'deki bekleme düğümünü yapılandırın:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  11. dc-1'de Analytics yapılandırmasını güncelleyin ve kuruluşları yapılandırın.
    1. dc-1'in Yönetim Sunucusu düğümünde Postgres düğümünün UUID'sini alın:
      > apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      UUID, döndürülen verilerin sonunda görünür. Bu değeri kaydedin.

      Not: dc-1, ana/bekleme modunda çalışan iki Postgres düğümüne sahip olacak şekilde yapılandırılmışsa çıkışta iki IP adresi ve UUID görürsünüz. Her iki UUID'yi de kaydedin. IP'lerden hangi UUID'nin ana düğüm, hangisinin bekleme düğümü için olduğunu belirleyebilirsiniz.
    2. dc-2'nin yönetim sunucusu düğümünde, önceki adımda gösterildiği gibi Postgres düğümünün UUID'sini alın. Bu değeri kaydedin.
    3. dc-1'in Yönetim Sunucusu düğümünde, analiz ve tüketici gruplarının adını belirleyin. Aşağıdaki komutların çoğu bu bilgiyi gerektirir.
      Varsayılan olarak analiz grubunun adı axgroup-001, tüketici grubunun adı ise consumer-group-001'dir. Bir bölge için sessiz yapılandırma dosyasında, AXGROUP özelliğini kullanarak analiz grubunun adını ayarlayabilirsiniz.

      Analiz ve tüketici gruplarının adlarından emin değilseniz bunları görüntülemek için aşağıdaki komutu kullanın:
      > apigee-adminapi.sh analytics groups list --admin adminEmail --pwd adminPword --host localhost

      Bu komut, ad alanında analiz grubu adını ve tüketici grupları alanında tüketici grubu adını döndürür.
    4. dc-1'in Yönetim Sunucusu düğümünde, mevcut Postgres sunucusunu analiz grubundan kaldırın:
      1. Postgres düğümünü tüketici grubundan kaldırın:
        > apigee-adminapi.sh analytics groups consumer_groups datastores remove -g axgroup-001 -c consumer-group-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        dc-1, ana/bekleme modunda çalışan iki Postgres düğümüne sahip olacak şekilde yapılandırılmışsa her ikisini de kaldırın:
        > apigee-adminapi.sh analytics groups consumer_groups datastores remove -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" -Y --admin adminEmail --pwd adminPword --host localhost
      2. Postgres düğümünü analiz grubundan kaldırın:
        > apigee-adminapi.sh analytics groups postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        dc-1, ana/bekleme modunda çalışan iki Postgres düğümüne sahip olacak şekilde yapılandırılmışsa her ikisini de kaldırın:
        > apigee-adminapi.sh analytics groups postgres_server remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail --pwd adminPword --host localhost
    5. dc-1'in Yönetim Sunucusu düğümünde, yeni ana/yedek Postgres sunucularını analiz grubuna ekleyin:
      1. Her iki Postgres sunucusunu da analiz grubuna ekleyin:
        > apigee-adminapi.sh analytics groups postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost

        Burada UUID_1, dc-1'deki ana Postgres düğümüne, UUID_2 ise dc-2'deki bekleme modundaki Postgres düğümüne karşılık gelir.
      2. PG sunucularını tüketici grubuna ana/bekleme olarak ekleyin:
        > apigee-adminapi.sh analytics groups consumer_groups datastores add -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    6. dc-2'deki Qpid sunucularını analiz grubuna ekleyin:
      1. dc-1'in Yönetim Sunucusu düğümünde, dc-2'deki Qpid düğümlerinin UUID'lerini alın:
        > apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server --admin adminEmail --pwd adminPword --host localhost

        UUID'ler, döndürülen verilerin sonunda görünür. Bu değerleri kaydedin.
      2. dc-1'in Yönetim Sunucusu düğümünde, Qpid düğümlerini analiz grubuna ekleyin:
        >apigee-adminapi.sh analytics groups qpid_server add -g axgroup-001 -u UUID_1 --admin adminEmail --pwd adminPword --host localhost
        >apigee-adminapi.sh analytics groups qpid_server add -g axgroup-001 -u UUID_2 --admin adminEmail --pwd adminPword --host localhost
      3. dc-1'in Yönetim Sunucusu düğümünde, Qpid düğümlerini tüketici grubuna ekleyin:
        > apigee-adminapi.sh analytics groups consumer_groups consumers add -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    7. Eski Postgres yedek sunucusunun kaydını silin ve dc-1'den silin:
      1. Mevcut dc-1 Postgres yedek sunucusunun kaydını silin:
        > apigee-adminapi.sh servers deregister -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost

        Burada UUID, dc-1'deki eski yedek Postgres düğümüdür.
      2. Mevcut dc-1 Postgres yedek sunucusunu silin:
        Not: Bu komut, Postgres sunucu düğümünü kaldırmaz. Yalnızca uç düğümler listesinden kaldırılır. Gerekirse Postgres'i daha sonra düğümden kaldırabilirsiniz.
        > apigee-adminapi.sh servers delete -u UUID --admin adminEmail --pwd adminPword --host localhost
  12. Cassandra anahtar alanlarını iki veri merkezi için doğru replikasyon faktörüyle güncelleyin. Bu adımı, veri merkezlerinden birindeki herhangi bir Cassandra sunucusunda yalnızca bir kez çalıştırmanız gerekir:

    Not: Aşağıdaki komutların tümü, replikasyon faktörünü "3" olarak ayarlar. Bu, kümede üç Cassandra düğümü olduğunu gösterir. Bu değeri, yüklemeniz için gerektiği şekilde değiştirin.
    1. Cassandra cqlsh yardımcı programını başlatın:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Cassandra anahtar alanları için replikasyon düzeylerini ayarlamak üzere "cqlsh>" isteminde aşağıdaki CQL komutlarını çalıştırın:
      1. cqlsh> ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh> ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. Şu komutu kullanarak anahtar alanlarını görüntüleyin:
        cqlsh> select * from system.schema_keyspaces;
      4. cqlsh'den çıkın:
        cqlsh> exit
  13. Bellekte yer açmak için dc-1'deki tüm Cassandra düğümlerinde aşağıdaki nodetool komutunu çalıştırın:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP cleanup
  14. Veri merkezleri genelinde desteklemek istediğiniz her kuruluş ve her ortam için:
    1. dc-1'in Yönetim Sunucusu düğümünde, yeni MP_POD'u kuruluşa ekleyin:
      > apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost

      Burada gateway-2, dc-2 yapılandırma dosyasındaki MP_POD özelliği tarafından tanımlanan ağ geçidi kapsülünün adıdır.
    2. Yeni Mesaj İşleyicileri kuruluşa ve ortama ekleyin:
      1. dc-2'nin Yönetim Sunucusu düğümünde, dc-2'deki Mesaj İşleyici düğümlerinin UUID'lerini alın:
        > apigee-adminapi.sh servers list -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost

        UUID'ler, döndürülen verilerin sonunda görünür. Bu değerleri kaydedin.
      2. dc-1'in Yönetim Sunucusu düğümünde, dc-2'deki her Mesaj İşleyici için Mesaj İşleyici'yi kuruluşun bir ortamına ekleyin:
        > apigee-adminapi.sh orgs envs servers add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. dc-1'in Yönetim Sunucusu düğümünde kuruluşu kontrol edin:
      > apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      Burada apiProxyName, kuruluşta dağıtılan bir API proxy'sinin adıdır.