Şuayb'in BloguŞuayb'in Blogu
Ana Sayfa
Kategoriler
Oyunlar
MediumHakkındaİletişim
Dil
Tema
    1. Blog
    2. Programlama
    3. Spring Boot Kubernetes Entegrasyonu

Spring Boot Kubernetes Entegrasyonu

İlk yayın21 Şubat 2025
Son güncelleme22 Şubat 2025
Okuma süresi3 dk okuma
JavaKotlinSpring BootKubernetesMikroservisKonteynerizasyon
XLinkedInFacebook
Spring Boot Kubernetes Entegrasyonu

Beğeni yükleniyor...

Spring Boot, Kubernetes ile sorunsuz bir şekilde bütünleşerek konteynerleştirilmiş, ölçeklenebilir uygulamalar oluşturmanıza olanak tanır. Bu rehberde, Spring Boot uygulamalarının Kubernetes kümesi içinde nasıl dağıtılacağını ve yönetileceğini öğreneceksiniz.


Son güncelleme22 Şubat 2025

Toplam görüntülenmeGörüntülenme yükleniyor...

Önceki makaleSpring Boot Asenkron GörevlerSonraki makaleSpring Boot Docker Entegrasyonu
Şuayb Şimşek

Yazan

Şuayb Şimşek

Spring Boot, güvenlik, mikroservis ve cloud-native mimari konularında pratik teknik notlar paylaşan backend odaklı fullstack geliştirici.

Uzmanlık

  • Spring Boot
  • Go
  • Mikroservis
  • Next.js
  • Cloud Native

Bağlantılar

GitHubLinkedInMedium

Benzer yazılar

Spring Boot Docker Entegrasyonu
Programlama

Spring Boot Docker Entegrasyonu

Spring Boot uygulamalarını Docker kullanarak Buildpacks ve Jib ile nasıl oluşturup dağıtabileceğinizi öğrenin.

21 Şubat 20253 dk okuma
JavaKotlinSpring BootDockerKonteynerizasyonJib
Spring Boot Circuit Breaker
Programlama

Spring Boot Circuit Breaker

Spring Boot uygulamalarında Circuit Breaker kullanımını öğrenerek mikro hizmetlerin dayanıklılığını artırın.

13 Mart 20253 dk okuma
JavaKotlinSpring BootSpring CloudCircuit BreakerMikroservis
Spring Boot Eureka Server
Programlama

Spring Boot Eureka Server

Mikro hizmet mimarisinde servis keşfi için Spring Boot Eureka serverın nasıl kurulacağını ve yapılandırılacağını öğrenin.

23 Şubat 20253 dk okuma
JavaKotlinSpring BootSpring CloudEureka ServerMikroservis

Hakkımda

Spring Boot, mikroservis, güvenlik ve daha fazlası hakkında yazılar.

İletişimYeni başladıysan

Son yazılar

  • Captain Tsubasa 2: World Fighters
  • Captain Tsubasa: Rise of New Champions
  • Spring Boot Configuration Properties
  • Spring Boot GraphQL JWE Kimlik Doğrulama
  • Spring Boot JPA ile JWE Kimlik Doğrulaması

Popüler konular

JavaKotlinSpring BootGüvenlikJWEJWT

Abone ol

Yeni yazılar yayınlandığında pratik backend ve fullstack notlarını al.

Sosyal

© 2024-2026 Şuayb'in Blogu. Tüm hakları saklıdır.

🌟 Neden Spring Boot İçin Kubernetes Kullanmalıyız?

Bu bölümde Neden Spring Boot İçin Kubernetes Kullanmalıyız? konusunu netleştirip uygulamada kullanacağınız temel noktaları özetliyoruz.

  • Ölçeklenebilirlik: Trafiğe göre uygulamaları otomatik olarak ölçekleyin.
  • Kendi Kendine İyileşme: Kubernetes, başarısız olan konteynerleri otomatik olarak yeniden başlatır.
  • Deklaratif Yapılandırma: YAML dosyalarıyla altyapınızı kolayca yönetin.
  • Yük Dengeleme & Servis Keşfi: Gelen trafiği etkin bir şekilde yönlendirin.
  • Verimli Kaynak Kullanımı: CPU ve bellek tüketimini dinamik olarak optimize edin.

📋 Gereksinimler

Aşağıdaki araçların sisteminizde kurulu olduğundan emin olun:

  • ☕ Java Geliştirme Kiti (JDK) 17+
  • 📦 Maven veya Gradle
  • 🛠 Docker yüklü ve çalışır durumda
  • 🌐 Kubernetes Kümesi (Minikube veya AWS EKS, GKE, AKS gibi bulut servis sağlayıcıları)
  • 🛠 kubectl komut satırı aracı

🛠️ Adım 1: Bağımlılıkları Ekleyin

Spring Boot Web ve Actuator bağımlılıklarını ekleyerek uygulamanın sağlık durumu apilerini aktif edin.

Maven:

XMLpom.xml
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

Gradle:

GROOVYbuild.gradle
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
}

🛠️ Adım 2: Basit Bir Spring Boot Uygulaması Oluşturun

Kubernetes üzerinde çalıştırılacak bir REST endpoint oluşturun.


🛠️ Adım 3: Kubernetes Dağıtımı ve Servisi Tanımlayın

deployment.yaml dosyasını oluşturun:

YAMLdeployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: spring-boot-app
spec:
  replicas: 2
  selector:
    matchLabels:
      app: spring-boot-app
  template:
    metadata:
      labels:
        app: spring-boot-app
    spec:
      containers:
        - name: spring-boot-app
          image: myproject:0.0.1-SNAPSHOT
          ports:
            - containerPort: 8080

service.yaml dosyasını oluşturun:

YAMLservice.yaml
apiVersion: v1
kind: Service
metadata:
  name: spring-boot-service
spec:
  type: LoadBalancer
  selector:
    app: spring-boot-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080

YAML dosyalarını Kubernetes kümesine uygulayın:

BASH
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

▶️ Uygulamayı Çalıştırma

Dağıtım tamamlandıktan sonra servis IP adresini alın:

BASH
kubectl get services

Uç noktayı test edin:

BASH
curl -X GET http://servis-adresi/hello

Beklenen Çıktı:

PLAINTEXTsnippet.txt
Merhaba! Spring Boot Kubernetes üzerinde çalışıyor.

🏁 Sonuç

Artık Spring Boot Kubernetes Entegrasyonu için üretim odaklı bir Spring Boot temeliniz var. Sonraki adımda ayarları kendi domainine uyarlayıp test ve gözlemlenebilirlik katmanını ekleyerek gerçek trafik altında doğrulayın.

JAVAKubernetesApplication.java
package com.example.kubernetes;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class KubernetesApplication {

    public static void main(String[] args) {
        SpringApplication.run(KubernetesApplication.class, args);
    }

    @GetMapping("/hello")
    public String hello() {
        return "Merhaba! Spring Boot Kubernetes üzerinde çalışıyor.";
    }
}
KOTLINKubernetesApplication.kt
package com.example.kubernetes

import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RestController

@SpringBootApplication
@RestController
class KubernetesApplication {

    @GetMapping("/hello")
    fun hello(): String = "Merhaba! Spring Boot Kubernetes üzerinde çalışıyor."
}

fun main(args: Array<String>) {
    runApplication<KubernetesApplication>(*args)
}