Bu döküman, Apinizer'ın multi-region Kubernetes mimarisi üzerinde nasıl çalıştığını adım adım açıklar.

Burada yalnızca Apinizer'a özel yapılması gereken işlemler anlatılmaktadır. Kubernetes cluster ve Apinizer kurulumuna dair detaylar bu dokümanın kapsamında değildir ve ayrı bir dökümanda sunulmaktadır. 

Kubernetes cluster kurulumu için Kubernetes Kurulumu sayfasına bakabilirsiniz.

Apinizer kurulumu için Apinizer Kurulumu sayfasına bakabilirsiniz.

1) Apinizer Manager konsolu üzerinden Kubernetes Namespace ve Kaynak Yönetimi özelliği kapatılır.

Apinizer arayüzünde "Enable the management of Kubernetes Namespace and Resources with Apinizer" ayarı devre dışı bırakıldığında, Apinizer artık Kubernetes üzerinde namespace ve kaynakları otomatik olarak oluşturmaz veya güncellemez.

Bu durumda:

  • Kubernetes kaynaklarının (Deployment, Service, Secret, Role, vb.) yönetimi manuel olarak YAML dosyaları üzerinden gerçekleştirilmelidir.

  • Bu yöntem, çoklu cluster yapılarında daha fazla esneklik ve kontrol sağlar ve Multi Region kurulumu çok kolay hale getirir.


Apinizer üzerinden Kubernetes namespace ve kaynaklarının yönetimini devre dışı bırakmak için aşağıdaki adımları takip edebilirsiniz:

  1. Administration menüsüne gidin.
  2. Ardından System Settings → General Settings sekmesini açın.
  3. “Enable the management of Kubernetes Namespace and Resources with Apinizer” seçeneğini devre dışı bırakın (disable).
  4. Değişiklikleri kaydedin.

2)  Apinizer Manager konsolu üzerinden ile Ortam oluşturulur.

Bu işlem ile Apinizer'ın hangi ortam(namespace) ve hangi cluster'lara erişip yönetmesi gerektiği bilgisi tanımlanır.

Örnek olarak, prod isimli mevcut bir ortamın cluster'ına, farklı bir bölgede kurduğumuz yeni ortamı aşağıdaki adımlar ile tanımlayalım.


Administration > Server Management > Gateway Environments sayfası açılır.

Gateway and Cache Management API Access URLs bölümü alanında yeni eklenen bir cluster’a ait Gateway ve Cache bileşenlerinin yönetim API erişim bilgileri tanımlanır:

Çok Önemli

Bu adımda her cluster için Apinizer Manager Konsolu tarafından erişilebilir Gateway ve Cache adresleri girilir.

"Try it" butonunu kullanarak erişimin sağlandığını test edebilir ve erişim başarılı ise kaydedilir.

3) Aynı ortama sahip fakat farklı Cluster'lardaki YAML dosyalarına çalışan uygulamanın hangi cluster'a ait olduğu bilgisi girilir. 

Aynı ortama (namespace'e) ait fakat farklı coğrafi ortamda çalışan Apinizer Worker ve Cache uygulamalarına hangi cluster'a ait olduklarını bilmesi için aşağıdaki ayarın yapılması gereklidir. Bu ayar ile her bir worker'ın hangi cache'e bağlanacağı da belirlenmiş olur.

Her bir Worker Deployment tanımına aşağıdaki ortam değişkeni eklenmelidir:

spec:
  containers:
    env:
      - name: environmentClusterName
        value: <NAME>
POWERSHELL

Çok Önemli

  • <NAME> Worker’ın bağlanacağı Cache’in bulunduğu cluster’ı temsil eden isimdir.

  • Bu isim, Apinizer arayüzünde Gateway Environments altında tanımlanan cluster adı ile birebir aynı olmalıdır.

  • Her cluster’daki Worker bileşeni, yalnızca kendi bölgesinde bulunan Cache bileşeni ile iletişim kurar.