1. Giriş
Microsoft AKS (Azure Kubernetes Service) Nedir?
Azure, mevcut uygulamaları barındırarak yeni uygulama geliştirme süreçlerini kolaylaştıran eksiksiz bir bulut platformudur. Azure Kubernetes Service (AKS), kapsayıcılı uygulamaları çalıştırmak için önceden yapılandırılmış bir sanal makine kümesi oluşturma, yapılandırmayı ve yönetmeyi sağlar. Bir AKS kümesini dağıttığınızda Master node’lar ve diğer tüm kubernetes node’ları sizin yerinize dağıtılır ve yapılandırılır.2. AKS, AKS CLI ve kubectl Kurma ve Yapılandırma
AKS Cluster Kurulumu
Azure kullanım kolaylığını hedef alan bir yapı içerdiğinden, eğer özel bir ayar istenmiyorsa varsayılan ayarlarla ilerleyerek rahatlıkla kurulum yapılabilir.
AKS Cluster Oluşturma

AKS Cluster Oluşturma Linkleri

AKS Cluster Yapılandırması
Node Havuzu Ekleme
Node Havuzu (Node Pool), küme içindeki node’larla ilgili ayarları içerir. Mevcut bir node tanımı seçebilir ya da yeni bir tanım oluşturulabilir.
Node Havuzu Ekleme

Node Havuzu Yapılandırması
Kimlik Doğrulama Ayarları
Kimlik Doğrulama (Authentication) kısmında, kümenizi nasıl kısıtlamak istediğinizi ayarlayabilirsiniz.
Kimlik Doğrulama Ayarları
Ağ Oluşturma Ayarları
Ağ Oluşturma (Networking) sekmesi, ağ ayarlarını Kubenet’e mi Azure CNI’ya mı bırakacağınız, DNS isminizi hangi taslakta istediğiniz ve erişimle ilgili güvenlik ve ağ ayarlarını içerir.
Ağ Oluşturma Ayarları
Entegrasyon Ayarları
Entegrasyon (Integrations) sekmesinde, Azure’un sağladığı bazı faydalı entegresyonlarla ilgili kararlarınız ayarlanır.
Entegrasyon Ayarları

AKS Cluster İnceleme ve Onay

AKS Cluster Hazır
3. AKS CLI Kurulumu
Azure CLI, Windows, MacOS ve Linux ortamlarında yüklenebilir. Ayrıca bir Docker kapsayıcısında çalıştırılabilir. Azure CLI’nin işletim sistemine uygun sürümü şu adresten indirilerek kurulabilir: Azure CLI Installation Guide Sonrasında aşağıdaki komut ve sonrasındaki işlemle birlikte bilgisayarınızdaki istemci hesabınıza bağlanır.Azure CLI ile oturum açma
Tarayıcıda oturum açma
4. Cloud MongoDb ve ElasticSearch Kurma ve Ayarlama
Kurulum ve Konfigürasyon dokümanında belirtildiği gibi Replicaset MongoDB ve Elasticsearch’e ihtiyaç vardır. Bunlar herhangi bir sanal sunucuya kurabileceğini gibi cloud olarak da kullanabilir ya da mevcut olarak zaten var ise bir sonraki adıma geçilebilir. Bu bölümde uygulamaların kendi ortamlarındaki cloud sistemler kullanılmıştır.- MongoDB için MongoDB Atlas adresine giderek bir hesap oluşturun ve kısıtlı bir DB boyutuna kadar ücretsiz olarak kullanılabilir. Apinizer MongoDB’de sadece konfigürasyon tanımlarını tuttuğu için büyük boyutlu bir veritabanına ihtiyacı yoktur.
- Elasticsearch için Elastic Cloud adresi üzerinden cloud ortamında bir elastic servisi kullanarak Apinizer tanımlanabilir.
MongoDB Cloud Ayarları
MongoDB’nin kendi sitesinden bir hesap oluşturduktan sonra istenilen isimde bir veritabanı oluşturup, bununla ilgili ayarların düzenlenmesi gerekiyor. Erişim izni için Ağ Erişimi (Network Access) menüsünden Add IP Address butonuna tıklanır.
MongoDB Ağ Erişimi

MongoDB IP Erişim İzni
MongoDB connection string alma:
Oluşturulan veri tabanına olan bağlantıyı sağlayacak bağlantı ifadesini (Connection String) almak için Veritabanları (Databases) sayfasında dönüp ve Bağlan (Connect) linkine basılır. Buradan kendiniz herhangi bir MongoDb veritabanı düzenleyicisine bağlanmak için gerekli bilgiyi alabilir ya da Apinizer uygulamasını bağlamak için Uygulamanızı Bağlayın (Connect your application) tuşuna basılabilir.
MongoDB Bağlantı Ayarları

MongoDB Connection String
5. AKS’ye Apinizer’ın Kurulumu
Bu başlık altında anlatılanlar Apinizer kurulum dokümanlarından farklı olarak Apinizer’ı servis olarak açmanın tanımını anlatmaktadır.Apinizer Yönetim Konsolu kurulumu
Apinizer için .yaml dosyası oluşturulup AKS cluster’ına yüklenmelidir. Örnek bir apinizer-deployment.yaml dosyası ayarları aşağıdadır:Apinizer Yönetim Konsolu için Erişim Servisi Oluşturma
Kurulum tamamlandıktan sonra Apinizer Yönetim Konsolu’na erişim için bir servis gerekmektedir. Aşağıdaki adımlar takip edilerek bir servis oluşturulur. Dış IP alımında bazen bir iki dakika geçmesi gerekebilir.6. Apinizer Yönetim Konsolu Giriş
Adım 2’deki servis erişim adresini, tarayıcının adres çubuğuna yazarak giriş yapılır. Default kullanıcı adı şifre için Apinizer destek ekibine ulaşabilirsiniz. Bu ayarlara göre oluşan Apinizer Yönetim Konsolu Adresi:http://<EXTERNAL-IP>/

Apinizer Yönetim Konsolu Giriş
7. Apinizer Konfigurasyonları
Log Sunucularının Tanımlanması
Apinizer, API trafiğini ve metrik bilgilerini, Elasticsearch veri tabanında tutar. Kurulum işlemine devam edebilmek için Elasticsearch cluster tanımlarının yapılması gerekmektedir. Apinizer Yönetim Konsolu uygulamasında menüden Administration → Server Management → Elasticsearch Kümeleri sayfasına gidilir. Elasticsearch cluster tanımlama ayarlarını içeren görsele aşağıda yer verilmiştir:
Elasticsearch Cluster Tanımlama

Elasticsearch Bağlantı Testi
Ortam (Environment) Tanımlama
Bir API Proxy’nin erişilebilir olması için en az bir ortamın yüklenmesi (deploy) gerekmektedir. Apinizer, bir API Proxy’nin birden fazla ortama yüklenmesine de izin verir. Apinizer Yönetim Konsolu uygulamasında menüden Administration → Server Management → Gateway Environment sayfasına gidilir. Ortam tanımlama ayarlarını içeren görsele aşağıda yer verilmiştir:
Ortam Tanımlama

Ortam Yapılandırması

Ortam Yayınlama
Ortamı (Environment) Servis Olarak Açma
Son olarak yayınladığımız ortamda çalışacak API’lere erişmek için bir servis oluşturulması gerekiyor.
Ortam Düzenleme

Ortam Access URL
8. Apinizer’da İlk API’yi Yayınlama ve Test Etme
En son adımda örnek bir API tanım dosyası üzerinden Apinizer’a bir API’yi API Proxy olarak açılması anlatılmaktadır. API Proxy’nin kayıt edileceği proje, navbar menüsünden seçilir.
API Proxy Proje Seçimi

API Proxies Sayfası

API Kaynak Seçimi

API Parse

API Proxy Kaydetme

API Proxy Deploy

API Deploy Onayı

API Test Endpoint

API Test Dialog

