İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Konteyner & Kubernetes
  • Gateway API’yi kind ile Yerelde Deneme Rehberi
Bulut Altyapı Geliştirici Araçları Konteyner & Kubernetes cloud-provider-kind, Gateway API, HTTPRoute, kind, Kubernetes Aşkın KILIÇ 06/08/2026 0 Yorumlar

Gateway API’yi kind ile Yerelde Deneme Rehberi

Gateway API'yi kind ile Yerelde Deneme Rehberi
📑 İçindekiler
  1. Ön koşullar
  2. kind ile küme oluşturma
  3. cloud-provider-kind kurulumu
  4. Gateway tanımlama
  5. Örnek uygulamanın dağıtımı
  6. HTTPRoute oluşturma
  7. Rotayı test etmek
  8. Sorun giderme
  9. Gateway durumu
  10. HTTPRoute durumu
  11. Denetleyici logları
  12. Temizlik
  13. Sonraki adımlar
  14. İlgili İçerikler
  15. Kaynaklar ve İleri Okuma
⏱️ 5 dk okuma📅 6 Ağustos 2026

Gateway API’yi öğrenmek ve denemek için üretim ortamının karmaşıklığına girmek şart değil; yerel makinede çalışan bir kind kümesi hızlı bir başlangıç sağlar. Bu yazıda kind ile Kubernetes kümesi oluşturmayı, cloud-provider-kind üzerinden hem LoadBalancer Servislerini hem de Gateway API denetleyicisini devreye almayı, ardından bir Gateway ve HTTPRoute tanımlayarak örnek uygulamaya trafik yönlendirmeyi adım adım göreceksiniz.

Bu kurulum yalnızca öğrenme ve deneme amaçlıdır. Üretim iş yükleri için uygun değildir; gerçek ortamlar için Gateway API uygulama listesinden ihtiyacınıza uyan bir denetleyici seçmelisiniz.

Ön koşullar

Başlamadan önce yerel makinede şu araçların kurulu olması gerekir:

  • Docker: kind ve cloud-provider-kind için gereklidir.
  • kubectl: Kubernetes komut satırı aracı.
  • kind: Docker içinde Kubernetes çalıştırmak için.
  • curl: Rotaları test etmek için.

kind ile küme oluşturma

Tek düğümlü bir Kubernetes kümesini Docker konteyneri içinde çalıştırmak için şu komutu kullanın:

kind create cluster

cloud-provider-kind kurulumu

cloud-provider-kind, bu kurulumun iki temel bileşenini sağlar:

  • LoadBalancer tipindeki Servislere adres atayan bir LoadBalancer denetleyicisi.
  • Gateway API özelliklerini karşılayan bir Gateway API denetleyicisi.

Bunlara ek olarak Gateway API için gereken Custom Resource Definition (CRD) tanımlarını da otomatik olarak kümeye kurar. Kind bir bulut sağlayıcısı olmasa da proje bulut ortamındaki özellikleri simüle ettiği için bu adı taşıyor.

Kind kümesini oluşturduğunuz ana makinede cloud-provider-kind’ı bir Docker konteyneri olarak çalıştırın:

VERSION="$(basename $(curl -s -L -o /dev/null -w '%{url_effective}' https://github.com/kubernetes-sigs/cloud-provider-kind/releases/latest))"
docker run -d --name cloud-provider-kind --rm --network host -v /var/run/docker.sock:/var/run/docker.sock registry.k8s.io/cloud-provider-kind/cloud-controller-manager:${VERSION}

Bazı sistemlerde Docker soketine erişmek için yükseltilmiş yetkiler gerekebilir. Konteynerin çalıştığını doğrulamak için:

docker ps --filter name=cloud-provider-kind
docker logs cloud-provider-kind

Gateway tanımlama

cloud-provider-kind, cloud-provider-kind adında bir GatewayClass’ı otomatik olarak sağlar. Aşağıdaki manifest, gateway-infra adlı yeni bir namespace oluşturur, 80 numaralı porttan dinleyen bir Gateway kurar ve *.exampledomain.example desenine uyan hostname’leri kabul eder. Örnekte tüm namespace’lerden route eklenmesine izin verildi; gerçek kümelerde allowedRoutes.namespaces alanında Same veya Selector değerlerini tercih ederek eklemeleri sınırlandırmak daha güvenli.

---
apiVersion: v1
kind: Namespace
metadata:
name: gateway-infra
---
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: gateway
namespace: gateway-infra
spec:
gatewayClassName: cloud-provider-kind
listeners:
- name: default
hostname: "*.exampledomain.example"
port: 80
protocol: HTTP
allowedRoutes:
namespaces:
from: All

Gateway’in doğru şekilde programlandığını ve adres aldığını kontrol edin:

kubectl get gateway -n gateway-infra gateway

PROGRAMMED sütunu True, ADDRESS alanı da bir IP değeri içermelidir.

Örnek uygulamanın dağıtımı

Yapılandırmayı test etmek için 3000 portunda dinleyen ve istekleri (path, header, ortam değişkenleri) geri döndüren basit bir echo uygulaması dağıtılır. Uygulama demo adlı namespace’te çalışır:

apiVersion: v1
kind: Namespace
metadata:
name: demo
---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/name: echo
name: echo
namespace: demo
spec:
ports:
- name: http
port: 3000
protocol: TCP
targetPort: 3000
selector:
app.kubernetes.io/name: echo
type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: echo
name: echo
namespace: demo
spec:
selector:
matchLabels:
app.kubernetes.io/name: echo
template:
metadata:
labels:
app.kubernetes.io/name: echo
spec:
containers:
- env:
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
image: registry.k8s.io/gateway-api/echo-basic:v20251204-v1.4.1
name: echo-basic

HTTPRoute oluşturma

Sırada Gateway’den echo uygulamasına trafik yönlendirecek HTTPRoute var. Bu route, some.exampledomain.example hostname’ine gelen istekleri yakalar ve gateway-infra namespace’indeki Gateway’e bağlanır:

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: echo
namespace: demo
spec:
parentRefs:
- name: gateway
namespace: gateway-infra
hostnames: ["some.exampledomain.example"]
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- name: echo
port: 3000

Rotayı test etmek

Gateway’in IP adresini alıp curl ile some.exampledomain.example hostname üzerinden istek gönderebilirsiniz. Aşağıdaki komut POSIX kabuklar için verildi; gerekirse ortamınıza göre uyarlayın:

GW_ADDR=$(kubectl get gateway -n gateway-infra gateway -o jsonpath='{.status.addresses[0].value}')
curl --resolve some.exampledomain.example:80:${GW_ADDR} http://some.exampledomain.example

Başarılı bir yanıtta, isteğin path, host, method, header ve pod bilgilerini içeren bir JSON çıktısı görürsünüz. Bu, Gateway API kurulumunun doğru çalıştığı anlamına gelir.

Sorun giderme

Beklenen sonuç alınamıyorsa ilk adım kaynakların durumunu incelemektir.

Gateway durumu

kubectl get gateway -n gateway-infra gateway -o yaml

status altında şu koşulların sağlanması beklenir:

  • Accepted: True — Gateway denetleyici tarafından kabul edildi.
  • Programmed: True — Gateway başarıyla yapılandırıldı.
  • .status.addresses alanı bir IP adresi ile doldurulmuş olmalı.

HTTPRoute durumu

kubectl get httproute -n demo echo -o yaml

status.parents altındaki koşullara bakın. Sık karşılaşılan durumlar:

  • ResolvedRefs değeri False ve BackendNotFound nedeni: Backend Servis yok ya da adı yanlış.
  • Accepted değeri False: Route Gateway’e bağlanamadı; namespace izinlerini veya hostname eşleşmesini kontrol edin.

Backend bulunamadığında görülen tipik bir hata şöyledir:

status:
parents:
- conditions:
- lastTransitionTime: "2026-01-19T17:13:35Z"
message: backend not found
observedGeneration: 2
reason: BackendNotFound
status: "False"
type: ResolvedRefs
controllerName: kind.sigs.k8s.io/gateway-controller

Denetleyici logları

Kaynak durumları sorunu göstermiyorsa cloud-provider-kind loglarını canlı izleyin:

docker logs -f cloud-provider-kind

Bu çıktı, hem LoadBalancer hem de Gateway API denetleyicisinin ayrıntılı loglarını içerir.

Temizlik

Deneyler bittiğinde kaynakları temizleyebilirsiniz. Önce namespace’leri silin:

kubectl delete namespace gateway-infra
kubectl delete namespace demo

Ardından cloud-provider-kind konteynerini durdurun. Konteyner --rm ile başlatıldığı için durdurulunca otomatik silinir:

docker stop cloud-provider-kind

Son olarak kind kümesini silin:

kind delete cluster

Sonraki adımlar

Yerel ortamda Gateway API ile pratik yaptıktan sonra üretime hazır uygulamalara geçebilirsiniz. Gateway API implementasyonları sayfasından ihtiyacınıza uygun bir denetleyici seçebilir; TLS, trafik bölme veya header manipülasyonu gibi ileri konuları resmi dokümantasyondan çalışabilirsiniz. Path tabanlı yönlendirme, header eşleştirme ve istek yansıtma gibi özellikler için kullanıcı rehberleri iyi bir referanstır.

Tekrar hatırlatalım: kind üzerindeki bu kurulum yalnızca geliştirme ve öğrenme amaçlıdır. Gerçek iş yükleri için üretime uygun bir Gateway API implementasyonu tercih edin.

İlgili İçerikler

  • Azure Dev/Test Avantajı: Visual Studio ile Bulutta Deneme
  • Headlamp Cluster API Eklentisi: CAPI Artık Görsel Arayüzde
  • Data API Builder 2.0: REST Yolunu İş Yapına Göre Kurmak

Kaynaklar ve İleri Okuma

  • kubernetes.io
  • Kubernetes Blog: Experimenting with Gateway API using kind
  • Gateway API resmi dokümantasyonu
  • Gateway API implementasyonları
  • Gateway API başlangıç rehberleri
  • Gateway API API referansı
  • kind projesi
  • kind hızlı başlangıç rehberi
  • cloud-provider-kind deposu
  • kubectl kurulum belgeleri
  • Docker kurulumu
  • curl
  • Gateway API v1.5: Altı Özellik Stable Oldu, Ne Değişiyor?
  • Gateway API v1.6: TCPRoute ve UDPRoute Standard Oldu
  • Ingress2Gateway 1.0: Ingress’ten Gateway API’ye Geçiş
🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ
Aşkın KILIÇYazar

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

İlgili Yazılar

.NET ve .NET Framework Mart 2026 Güncellemeleri: Gerçekten Güncelleme Yapmalı mıyız?
.NET ve .NET Framework Mart 2026 Güncellemeleri: Gerçekten Güncelleme Yapmalı mıyız?21 Mar 2026
Kubernetes Custom Metrics Exporter Nasıl Yazılır?
Kubernetes Custom Metrics Exporter Nasıl Yazılır?15 Tem 2026
Azure SDK Haziran 2026: Transcription ve Planetary Pro GA'da
Azure SDK Haziran 2026: Transcription ve Planetary Pro GA'da6 Tem 2026
Azure H200 GPU’larla Gizli Bulutlarda Yapay Zekâ: Gerçekten Neler Değişiyor?
Azure H200 GPU’larla Gizli Bulutlarda Yapay Zekâ: Gerçekten Neler Değişiyor?22 Mar 2026

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

YouTube GitHub

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket cloud-provider-kind Gateway API HTTPRoute kind Kubernetes
Önceki yazı

GitHub Hukuk Ekibi Copilot CLI ile İş Akışlarını Nasıl

İlginizi Çekebilir

Azure DevOps Remote MCP Server Genel Kullanıma Açıldı
Aşkın KILIÇ 0

Azure DevOps Remote MCP Server Genel Kullanıma Açıldı

05/08/2026
Code Scanning Default Setup Artık Özelleştirilebilir
Aşkın KILIÇ 0

Code Scanning Default Setup Artık Özelleştirilebilir

05/08/2026
Foundry Local ve C# ile Canlı Konuşma-Metin Dönüşümü
Aşkın KILIÇ 0

Foundry Local ve C# ile Canlı Konuşma-Metin Dönüşümü

05/08/2026

Yorum gönder Yanıtı iptal et

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Gateway API'yi kind ile Yerelde Deneme Rehberi
    06/08/2026 Gateway API’yi kind ile Yerelde Deneme Rehberi
  • GitHub Hukuk Ekibi Copilot CLI ile İş Akışlarını Nasıl
    05/08/2026 GitHub Hukuk Ekibi Copilot CLI ile İş Akışlarını Nasıl
  • Azure DevOps Remote MCP Server Genel Kullanıma Açıldı
    05/08/2026 Azure DevOps Remote MCP Server Genel Kullanıma Açıldı
  • Code Scanning Default Setup Artık Özelleştirilebilir
    05/08/2026 Code Scanning Default Setup Artık Özelleştirilebilir
  • Foundry Local ve C# ile Canlı Konuşma-Metin Dönüşümü
    05/08/2026 Foundry Local ve C# ile Canlı Konuşma-Metin Dönüşümü
  • Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
    11/04/2026 Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
  • Azure MCP Server 2.0: Kendi Sunucunuzda Ajan Otomasyonu
    10/04/2026 Azure MCP Server 2.0: Kendi Sunucunuzda Ajan Otomasyonu
  • GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
    03/04/2026 GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
  • GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
    07/04/2026 GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

SİZİN İÇİN DERLEDİK

Gateway API'yi kind ile Yerelde Deneme Rehberi
Bulut Altyapı Geliştirici Araçları Konteyner & Kubernetes

Gateway API’yi kind ile Yerelde Deneme Rehberi

06/08/2026 Aşkın KILIÇ
GitHub Hukuk Ekibi Copilot CLI ile İş Akışlarını Nasıl
DevOps Kurumsal Teknoloji Yapay Zeka

GitHub Hukuk Ekibi Copilot CLI ile İş Akışlarını Nasıl

05/08/2026 Aşkın KILIÇ
Azure DevOps Remote MCP Server Genel Kullanıma Açıldı
Bulut Altyapı Geliştirici Araçları Yapay Zeka

Azure DevOps Remote MCP Server Genel Kullanıma Açıldı

05/08/2026 Aşkın KILIÇ
Code Scanning Default Setup Artık Özelleştirilebilir
Bulut Altyapı Güvenlik & Kimlik

Code Scanning Default Setup Artık Özelleştirilebilir

05/08/2026 Aşkın KILIÇ
Foundry Local ve C# ile Canlı Konuşma-Metin Dönüşümü
Bulut Altyapı Geliştirici Araçları

Foundry Local ve C# ile Canlı Konuşma-Metin Dönüşümü

05/08/2026 Aşkın KILIÇ
NuGet API Anahtarı Süresi Kısalıyor: Yeni Güvenlik Planı
Bulut Altyapı Güvenlik & Kimlik

NuGet API Anahtarı Süresi Kısalıyor: Yeni Güvenlik Planı

04/08/2026 Aşkın KILIÇ
Dependabot Pull Request Dal Adlarını Özelleştirme
Bulut Altyapı Geliştirici Araçları Kurumsal Teknoloji

Dependabot Pull Request Dal Adlarını Özelleştirme

04/08/2026 Aşkın KILIÇ
Customize the reasoning level for Copilot cloud agent
Bulut Altyapı Yapay Zeka

Customize the reasoning level for Copilot cloud agent

04/08/2026 Aşkın KILIÇ
Gateway API v1.6: TCPRoute ve UDPRoute Standard Oldu
Bulut Altyapı Geliştirici Araçları

Gateway API v1.6: TCPRoute ve UDPRoute Standard Oldu

04/08/2026 Aşkın KILIÇ
Disrupting supply chain attacks on npm and GitHub Actions
Bulut Altyapı DevOps Güvenlik & Kimlik

Disrupting supply chain attacks on npm and GitHub Actions

03/08/2026 Aşkın KILIÇ
VS Code Temmuz 2026: Copilot Ajanları ve Çoklu Sohbet
Geliştirici Araçları Güvenlik & Kimlik Microsoft Azure Yapay Zeka

VS Code Temmuz 2026: Copilot Ajanları ve Çoklu Sohbet

03/08/2026 Aşkın KILIÇ
Visual Studio'da GitHub Copilot: Temmuz 2026 Güncellemesi
Geliştirici Araçları Microsoft Azure Yapay Zeka

Visual Studio’da GitHub Copilot: Temmuz 2026 Güncellemesi

03/08/2026 Aşkın KILIÇ

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure Functions Azure OpenAI azure sdk Azure SQL bulut bilişim C++ CI/CD copilot Copilot CLI DevOps DevSecOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu Microsoft Agent Framework Microsoft Azure Microsoft Foundry MSVC otomasyon performans Pull Request Python RAG SEO uyumlu verimlilik veri yönetimi Visual Studio VS Code yapay zeka yapay zeka ajanları Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 339 yazı 🏗️ Bulut Altyapı 280 yazı 🤖 Yapay Zeka 240 yazı 🔧 DevOps 198 yazı ☁️ Microsoft Azure 186 yazı 🔒 Güvenlik & Kimlik 161 yazı 🏢 Kurumsal Teknoloji 65 yazı 📊 Veri & Analitik 57 yazı 🐳 Konteyner & Kubernetes 47 yazı 📧 Microsoft 365 21 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← GitHub Hukuk Ekibi Copilot CLI...
    →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS