> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Multi-Region Apinizer

> Apinizer'ın multi-region Kubernetes mimarisi üzerinde nasıl çalıştığını adım adım açıklayabilir. Farklı coğrafi bölgelerdeki Kubernetes cluster'larında Apinizer bileşenlerinin kurulumunu ve yapılandırmasını sağlar. Multi-region kurulumu için gerekli adımları ve yapılandırma detaylarını sunar.

<Note>
  Bu dokümanda 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.
</Note>

<CardGroup cols={2}>
  <Card title="Kubernetes Kurulumu" icon="layer-group" href="/tr/setup/kubernetes/kubernetes">
    Kubernetes cluster kurulumunu öğrenin
  </Card>

  <Card title="Apinizer Kurulumu" icon="server" href="/tr/setup/apinizer/apinizer">
    Apinizer kurulumunu öğrenin
  </Card>
</CardGroup>

## Kubernetes Namespace ve Kaynak Yönetimi Özelliğinin Kapatılması

Multi-region kurulumunda, Apinizer Manager Konsolu üzerinden Kubernetes namespace ve kaynak yönetimi özelliğinin devre dışı bırakılması gerekmektedir.

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 kurulumunu kolaylaştırır.

<Steps>
  <Step title="Administration menüsüne gidin">
    Apinizer Manager Konsolu'nda Administration menüsünü açın.
  </Step>

  <Step title="System Settings → General Settings sekmesini açın">
    System Settings altından General Settings sekmesine gidin.
  </Step>

  <Step title="Kubernetes yönetimini devre dışı bırakın">
    "Enable the management of Kubernetes Namespace and Resources with Apinizer" seçeneğini devre dışı bırakın (disable).
  </Step>

  <Step title="Değişiklikleri kaydedin">
    Yapılan değişiklikleri kaydedin.
  </Step>
</Steps>

<Frame caption="Kubernetes Namespace ve Kaynak Yönetimi ayarı - General Settings sayfası">
  <img src="https://mintcdn.com/apinizer/74TMnSOZDvjtaICJ/images/setup/apinizer/multi-region/01-kubernetes-namespace-ayari.png?fit=max&auto=format&n=74TMnSOZDvjtaICJ&q=85&s=51b59fb2ec4ef68aa0d98dc3f4e2f3ea" alt="Kubernetes Namespace ve Kaynak Yönetimi Ayarı" width="1200" height="800" style={{ borderRadius: '0.5rem' }} data-path="images/setup/apinizer/multi-region/01-kubernetes-namespace-ayari.png" />
</Frame>

## Ortam Oluşturma

Apinizer Manager Konsolu üzerinden multi-region yapılandırması için 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ımlayabilirsiniz.

<Steps>
  <Step title="Gateway Environments sayfasına gidin">
    **Administration > Server Management > Gateway Environments** sayfasını açın.

    <Frame caption="Gateway Runtime'ları sayfası - Multi-region ortam yapılandırması">
      <img src="https://mintcdn.com/apinizer/74TMnSOZDvjtaICJ/images/setup/apinizer/multi-region/02-gateway-environments.png?fit=max&auto=format&n=74TMnSOZDvjtaICJ&q=85&s=a5bd274c57899b06ba9514c8eb834a34" alt="Gateway Runtime'ları Sayfası" width="1200" height="800" style={{ borderRadius: '0.5rem' }} data-path="images/setup/apinizer/multi-region/02-gateway-environments.png" />
    </Frame>
  </Step>

  <Step title="Gateway ve Cache Management API Access URLs tanımlayın">
    **Gateway and Cache Management API Access URLs** bölümünde yeni eklenen cluster'a ait **Gateway** ve **Cache** bileşenlerinin yönetim API erişim bilgilerini tanımlayın.

    <Warning>
      **Çok Önemli**

      Bu adımda her cluster için Apinizer Manager Konsolu tarafından **erişilebilir Gateway ve Cache adresleri** girilmelidir.
    </Warning>

    <Frame caption="Gateway and Cache Management API Access URLs - Cluster erişim bilgileri">
      <img src="https://mintcdn.com/apinizer/74TMnSOZDvjtaICJ/images/setup/apinizer/multi-region/03-gateway-cache-api-access.png?fit=max&auto=format&n=74TMnSOZDvjtaICJ&q=85&s=640ce44f505c2bdb23925f0720e6285c" alt="Gateway and Cache Management API Access URLs" width="1200" height="600" style={{ borderRadius: '0.5rem' }} data-path="images/setup/apinizer/multi-region/03-gateway-cache-api-access.png" />
    </Frame>
  </Step>

  <Step title="Erişimi test edin ve kaydedin">
    "Try it" butonunu kullanarak erişimin sağlandığını test edin. Erişim başarılı ise kaydedin.

    <Frame caption="Try it butonu ile erişim testi - Bağlantı doğrulama">
      <img src="https://mintcdn.com/apinizer/74TMnSOZDvjtaICJ/images/setup/apinizer/multi-region/04-try-it-test.png?fit=max&auto=format&n=74TMnSOZDvjtaICJ&q=85&s=3464692087cb615c9b447d9581d61a9a" alt="Try it Butonu ile Erişim Testi" width="1200" height="700" style={{ borderRadius: '0.5rem' }} data-path="images/setup/apinizer/multi-region/04-try-it-test.png" />
    </Frame>
  </Step>
</Steps>

## Cluster Bilgisinin YAML Dosyalarına Eklenmesi

Aynı ortama (namespace'e) ait fakat farklı coğrafi ortamda çalışan Apinizer Worker ve Cache uygulamalarına hangi cluster'a ait olduklarını belirtmek için aşağıdaki ayarın yapılması gerekmektedir. 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:

```yaml theme={null}
spec:
  containers:
    env:
      - name: environmentClusterName
        value: <NAME>
```

<Warning>
  **Ç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.
</Warning>

## Sonraki Adımlar

<CardGroup cols={2}>
  <Card title="Apinizer Kurulumu" icon="server" href="/tr/setup/apinizer/apinizer">
    Apinizer kurulumunu öğrenin
  </Card>

  <Card title="API Portal Kurulumu" icon="window-maximize" href="/tr/setup/apinizer/api-portal">
    API Portal kurulumunu öğrenin
  </Card>

  <Card title="API Integration Kurulumu" icon="plug" href="/tr/setup/apinizer/api-integration">
    API Integration kurulumunu öğrenin
  </Card>

  <Card title="Kubernetes Kurulumu" icon="layer-group" href="/tr/setup/kubernetes/kubernetes">
    Kubernetes kurulumunu öğrenin
  </Card>
</CardGroup>
