1. Giriş
Minimum Sistem Gereksinimi
AWS EKS Cluster’a Apinizer kurulumu için, Node Group içinde tanımlanacak Compute Node’ların toplam CPU Core’ları en az 6 core olmalıdır.t3.medium Örneği
t3.xlarge Örneği
AWS EKS (Elastic Kubernetes Service) Nedir?
Amazon Elastic Kubernetes Service (Amazon EKS), kendi Kubernetes Control Plane (Master) veya node’larınızı (Worker Nodes) kurmanıza, çalıştırmanıza ve bakımını yapmanıza gerek kalmadan Kubernetes’i AWS’de çalıştırmak için kullanabileceğiniz yönetilen bir hizmettir. Kubernetes, kapsayıcılı uygulamaların dağıtımını, ölçeklenmesini ve yönetimini otomatikleştirmek için açık kaynaklı bir sistemdir.
2. EKS VPC ve Subnetleri Yapılandırın
AWS VPC ve Subnet Nedir?
Amazon AWS VPC (Virtual Private Cloud), AWS içinde yer alan bir özel bir sanal ağdır. Başka bir ifade ile, AWS’in network alt yapı bileşeni denilebilir. AWS üzerinde oluşturulacak tüm bileşenlerin birbirleri ile iletişim sağlamaları için Amazon AWS tarafından geliştirilmiş gelişmiş bir sanal ağ altyapısıdır. VPC içinde kendi kullanımımıza özel network’ler, subnetler, gateway’ler oluşturabilir. Bunlara ait Route tabloları ile kullanım farklı network’ler ve subnet aralarındaki bağlantılar sağlanabilir.

AWS VPC Oluşturma ve Yapılandırma
Aşağıdaki adımları takip ettiğinizde EKS için uygun olan network yapısı otomatik olarak kurulacaktır. Detaylar için: AWS CloudFormation Console
3. EKS IAM Rolleri Yapılandırma
AWS Identity and Access Management (IAM) Role Nedir?
AWS Identity and Access Management’ı (IAM) kullanarak, AWS hizmetlerine ve kaynaklarına kimlerin hangi koşullarda erişebileceğini belirleyebilirsiniz. IAM, AWS hesabınızın bir özelliğidir ve ek ücret olmadan sunulur. IAM yapısı itibariyle bir instance, bir veri tabanı gibi çalışan bir şey değil tamamıyla yetkileri bizler için yöneten kimin hangi servise ne tür bir şekilde erişebileceğinden, kullanılan AWS hesabına erişimi olan bütün kullanıcıları yönetebilmektedir. IAM ana konsept itibariyle 6 ana başlığı kendi içerisinde yönetmektedir:- Kullanıcılar
- Gruplar
- Roller
- IAM Access Policies
- API Keys
- Password policy, MFA

AWS IAM Oluşturma ve Yapılandırma
Sol menüden Roles sayfasına giderek yeni Role oluşturulur.
1. EKS Cluster’ın Kullanacağı Rolü Oluşturma
Rol oluşturmak için sırasıyla verilen görsellerdeki işlemler gerçekleştirilmelidir.




2. EKS Cluster Worker Node Group’ların Kullanacağı Rolü Oluşturma



4. EKS Master Node Kurulumu
AWS EKS (Elastic Kubernetes Service) Oluşturma ve Yapılandırma
Yukarıdaki adımları tamamladıktan sonra, AWS EKS kurulumuna başlanılabilir. Arama bölümüne EKS yazarak sürece devam edilir.

Kümeyi yapılandırma

Ağ iletişimini belirtme



Günlüğe kaydetmeyi yapılandırma

İncele ve oluştur


5. AWS CLI ve kubectl’i Kurma ve Yapılandırma
Aşağıdaki adreslerden gerekli olan araçları indirin. Bu dökümanda Client bilgisayar olarak Windows kullanılacağı için Windows’a uygun olan versiyonlar indirilmektedir.AWS CLI Kurulumu
İndirilen .msi uzantılı aracı kurduktan sonra, aşağıdaki gibi Cluster bilgilerinize uygun olarak yapılandırılır. Detaylar için: AWS CLI Getting Started GuideIAM service'e giderek Credential bilgilerini alma




Windows CLI'da AWS konfigürasyonu yapma

KUBECTL Kurulumu
Kubectl, cluster versiyonu ile aynı olacak şekilde indirilmelidir. Detaylar için: AWS EKS kubectl Installation GuideKUBECTL'i indirme
Windows client makinesinde EKS Cluster'a bağlanmak için gerekli bilgileri tanımlama


6. EKS Worker Node’ları Oluşturma
Bu bölümde, EKS için Worker Node’ların oluşturulması anlatılmaktadır. Tekrardan AWS Console’a giderek aşağıdaki adımlar uygulanmalıdır.Node Group Oluşturma

Node Group Yapılandırma
- Node group adı
- IAM rolü (daha önce oluşturulan worker node rolü)
- Instance type (örn: t3.medium, t3.xlarge)
- Disk boyutu


Hesaplama ve Ölçeklendirme Yapılandırmasını Ayarlama


Ağ İletişimini Belirtme

İncele ve Oluştur




7. EKS Kurulumu Test ve Örnek Deployment
Bu aşamadan, daha önce kurulumunu ve tanımlamalarını yapılan kubectl ile kubernetes cluster’ı kontrol edip ve örnek bir nginx uygulaması ile test edilmesi anlatılmaktadır.AWS EKS Ortam Test
Aşağıdaki komutları takip ederek kubernetes cluster kaynakları kontrol edilmelidir.
Örnek Uygulama Yükleme ve Test Etme
Bu bölümde, örnek olarak aşağıdaki .yaml dosyasında tanımlanmış olan Nginx uygulaması, kubernetes cluster’ına yüklenmesi anlatılmaktadır ve expose edildikten sonra test edilmektedir.8. EKS’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 AWS EKS cluster’ına yüklenmelidir. Kurulum ve Konfigürasyon dokümanına belirtildiği gibi Replicaset MongoDB ve Elasticsearch’e ihtiyaç vardı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.
- Benzer şekilde Elasticsearch içinde Elastic Cloud adresine giderek cloud ortamında bir elastic servisi kullanarak Apinizer tanımlanabilir.
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 ederek bir servis oluşturulur. Dış IP alımında bazen bir iki dakika geçmesi gerekebilir.Apinizer Yönetim Konsolu Giriş
Adım 2’deki servis erişim adresi, tarayıcının adres çubuğuna yazılarak giriş yapılır. Default kullanıcı adı şifre için Apinizer destek ekibine ulaşabilirsiniz.
9. 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:

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ı (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.

10. 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.









