Amazon EKS’de Uygulama Dağıtımı: Başlangıç Rehberi
Merhaba! Fatih Soysal burada. Bu rehberde, Amazon Elastic Kubernetes Service (EKS) kullanarak uygulamalarınızı nasıl dağıtacağınızı adım adım öğreneceksiniz. Kubernetes kavramına yeniyseniz bile, bu rehber sizi baştan sona taşıyacaktır. Öncelikle, Kubernetes’in ne olduğunu ve neden EKS’yi tercih etmeniz gerektiğini anlamamız gerekiyor.
Kubernetes Nedir ve Neden EKS?
Kubernetes, container’larınızı (Docker gibi) yönetim ve ölçeklendirme için kullanılan açık kaynaklı bir platformdur. Uygulamalarınızı birçok sunucuya yayarak yüksek erişilebilirlik ve esneklik sağlar. Ancak, Kubernetes’i kendi başınıza kurup yönetmek oldukça karmaşıktır. İşte tam burada Amazon EKS devreye giriyor. EKS, Kubernetes’in yönetimini Amazon’a bırakarak size kolaylık ve güvenilirlik sunan, tam yönetimli bir servistir. Bu sayede altyapı yönetimiyle uğraşmadan, uygulamanızın dağıtımına odaklanabilirsiniz.
EKS ile Uygulama Dağıtımı: Adım Adım
Şimdi, pratik bir uygulama ile EKS’de uygulama dağıtımını inceleyelim. Örneğin, basit bir Node.js uygulaması dağıtacağız. Öncelikle, bir Dockerfile oluşturup uygulamanızı Docker image’ına dönüştürmemiz gerekiyor. Ardından, bu image’ı Amazon Elastic Container Registry (ECR) adlı bir depoya yükleriz.
1. Dockerfile Oluşturma:
FROM node:16
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD [ "node", "index.js" ]
Bu Dockerfile, Node.js 16 tabanlı bir image oluşturur, bağımlılıkları yükler ve uygulamanızı çalıştırır. Daha sonra, bu Dockerfile’ı kullanarak bir image oluşturabilir ve ECR’ye yükleyebilirsiniz.
2. ECR’ye Image Yükleme:
ECR’ye image yüklemek için AWS CLI’ı kullanabilirsiniz. Ayrıntılı komutlar için AWS dokümantasyonuna bakabilirsiniz. AWS ECR Dokümantasyonu Bu adımda, image’ınızın ECR’de güvenli bir şekilde depolanmasını sağlıyoruz.
3. Kubernetes Deployment Oluşturma:
Sonrasında, Kubernetes Deployment’ı oluşturarak uygulamanızı EKS’de dağıtabilirsiniz. Bu Deployment, uygulamanızın replika sayısını, image’ını ve diğer konfigürasyonlarını tanımlar. Aşağıda örnek bir Deployment manifest dosyası gösterilmiştir:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-node-app
spec:
replicas: 3
selector:
matchLabels:
app: my-node-app
template:
metadata:
labels:
app: my-node-app
spec:
containers:
- name: my-node-app
image: <your-ecr-image-uri>
ports:
- containerPort: 3000
Bu dosyayı kubectl apply -f deployment.yaml komutu ile EKS kümenize uygulayabilirsiniz. Uygulamanız artık EKS’de çalışıyor! Bu deployment, uygulamanızın 3 replikasını çalıştıracaktır. Yani, bir sunucu arızası durumunda uygulamanız kesintisiz çalışmaya devam edecektir. Ayrıca, ihtiyaç duyduğunuzda kolayca ölçeklendirebilirsiniz.
4. Uygulamanın Ölçeklendirilmesi ve Yönetimi
EKS, uygulamanızı kolayca ölçeklendirmenize olanak tanır. Trafiğiniz arttığında, replika sayısını artırarak daha fazla kaynak sağlayabilirsiniz. Aynı şekilde, trafiğiniz azaldığında replika sayısını azaltarak maliyetleri düşürebilirsiniz. Uygulamanızın durumunu izlemek ve yönetmek için kubectl komutlarını ve AWS konsolunu kullanabilirsiniz. EKS yönetimi için daha derinlemesine bilgi için, web sitemi ziyaret edebilirsiniz. Bu konuda daha fazla içerik paylaşmayı planlıyorum.
Bu rehber, EKS’de uygulama dağıtımına giriş yapmanıza yardımcı oldu. Ancak, daha karmaşık senaryolar ve Kubernetes konseptleri hakkında daha fazla bilgi edinmeniz gerekebilir. Örneğin, Servis keşfi, ConfigMaps, Secrets ve Ingress gibi konular uygulama dağıtımınızı optimize etmenize yardımcı olacaktır. Öğrenmeye devam edin ve bulut yolculuğunuza devam edin!
#Etiketler: Amazon EKS, Kubernetes, Uygulama Dağıtımı, Docker, Container, Bulut Bilişim, ECR, Deployment, kubectl, Ölçeklendirme, Node.js, Fatih Soysal