Bilim ve Teknoloji

Kubernetes Certified Administrator Nedir? Kubernetes Yönetim Rehberi

35 dk okuma

Paylaş

Bu içeriği ekibinle veya çevrenle kolayca paylaş.

Kubernetes Certified Administrator: Konteyner Orkestrasyonu ve Küme Yönetimi

Kubernetes, konteyner tabanlı uygulamaların dağıtılması, çalıştırılması, ölçeklendirilmesi ve yönetilmesi için kullanılan bir konteyner orkestrasyon platformudur. Birkaç konteynerden oluşan uygulamalar doğrudan yönetilebilirken çok sayıda sunucuya dağıtılmış yüzlerce konteynerin sürekli çalışır durumda tutulması daha kapsamlı bir yönetim yaklaşımı gerektirir.

Kubernetes; uygulama bileşenlerinin hangi sunucularda çalışacağını belirleme, başarısız olan iş yüklerini yeniden başlatma, trafiği uygun konteynerlere yönlendirme ve ihtiyaç değiştikçe uygulama kapasitesini artırma veya azaltma gibi işlemlerin otomatikleştirilmesine yardımcı olur. Bu özellikleri nedeniyle bulut bilişim, DevOps, mikroservis ve modern uygulama dağıtım süreçlerinde önemli bir yere sahiptir.

Konteyner yönetimi, uygulama dağıtımı, ölçeklendirme ve Kubernetes kümelerinin yönetimi hakkında bilgi edinmek isteyenler Kubernetes Certified Administrator eğitimi kapsamında sunulan güncel program bilgilerini inceleyebilir.

Kubernetes Nedir?

Kubernetes, konteynerleştirilmiş uygulamaların bir veya birden fazla sunucu üzerinde yönetilmesini sağlayan açık kaynaklı bir orkestrasyon sistemidir. Kubernetes adı sıklıkla “K8s” biçiminde kısaltılır. Buradaki sekiz rakamı, kelimenin ilk ve son harfi arasında bulunan sekiz karakteri temsil eder.

Kubernetes’in temel amacı yalnızca konteynerleri başlatmak değildir. Platform, uygulamanın istenen durumunu tanımlamaya ve mevcut sistemi bu duruma uygun hâle getirmeye çalışır. Örneğin bir web uygulamasının üç örneğinin sürekli çalışması tanımlanmışsa Kubernetes çalışan örnek sayısını izler. Örneklerden biri durduğunda yenisini oluşturarak istenen durumu korumaya çalışır.

Kubernetes aşağıdaki süreçlerin yönetilmesine yardımcı olabilir:

  • Konteyner tabanlı uygulamaların dağıtılması
  • Çalışan uygulama örneklerinin izlenmesi
  • Başarısız iş yüklerinin yeniden başlatılması
  • Uygulamaların yatay olarak ölçeklendirilmesi
  • Ağ trafiğinin uygun uygulama örneklerine yönlendirilmesi
  • Yapılandırma ve gizli bilgilerin yönetilmesi
  • Kalıcı depolama birimlerinin uygulamalara bağlanması
  • Uygulama sürümlerinin kontrollü biçimde güncellenmesi
  • Küme kaynaklarının iş yükleri arasında paylaştırılması

Konteyner Orkestrasyonu Nedir?

Konteyner orkestrasyonu, çok sayıda konteynerin dağıtım, ağ, ölçeklendirme, güncelleme ve çalışma sürekliliği süreçlerinin merkezi bir sistem aracılığıyla yönetilmesini ifade eder.

Tek bir sunucuda birkaç konteyner çalıştırmak için temel Docker komutları yeterli olabilir. Ancak uygulama farklı sunuculara dağıtıldığında hangi konteynerin hangi sunucuda çalışacağı, arızalanan bir konteynerin nasıl yeniden oluşturulacağı ve kullanıcı trafiğinin hangi örneğe gönderileceği gibi sorular ortaya çıkar.

Kubernetes bu süreçleri tanımlı kurallara göre otomatikleştirmeyi amaçlar. Sistem yöneticisi veya DevOps ekibi, uygulamanın ulaşması gereken durumu bildirir. Kubernetes bileşenleri mevcut durumu izleyerek gerekli işlemleri gerçekleştirir.

Docker ile Kubernetes Arasındaki Fark Nedir?

Docker ve Kubernetes birbirleriyle ilişkili ancak farklı sorumluluklara sahip teknolojilerdir. Docker, uygulamaların konteyner imajları hâlinde paketlenmesi ve konteyner olarak çalıştırılması süreçlerinde kullanılır. Kubernetes ise çok sayıda konteynerin kümeler üzerinde yönetilmesine odaklanır.

Docker ile bir uygulama imajı oluşturulabilir, konteyner başlatılabilir ve yerel ağ bağlantıları tanımlanabilir. Kubernetes bu konteyner tabanlı uygulamaların farklı sunuculara dağıtılması, ölçeklendirilmesi, izlenmesi ve kullanılabilir durumda tutulması için daha geniş bir yönetim katmanı sağlar.

Kubernetes öğrenmeden önce imaj, konteyner, Dockerfile, volume ve network gibi temel kavramları anlamak öğrenme sürecini kolaylaştırabilir. Bu kavramlara yeni başlayanlar Docker ile konteyner yönetiminin temellerini inceleyerek teknik altyapılarını geliştirebilir.

Kubernetes Cluster Nedir?

Kubernetes cluster veya Kubernetes kümesi, konteyner tabanlı iş yüklerini çalıştıran ve yöneten bilgisayar kaynaklarının oluşturduğu yapıdır. Bir küme genel olarak kontrol düzlemi ve çalışma düğümlerinden meydana gelir.

Kontrol düzlemi, kümenin genel yönetimini ve karar mekanizmalarını yürütür. Çalışma düğümleri ise uygulama podlarının fiilen çalıştığı sunuculardır. Bu sunucular fiziksel makineler, sanal makineler veya bulut altyapısındaki işlem örnekleri olabilir.

Bir Kubernetes yöneticisinin kümenin bileşenlerini, bileşenler arasındaki iletişimi ve olası hata noktalarını anlaması gerekir. Yalnızca uygulama dağıtmayı bilmek, üretim ortamındaki kümenin tamamını yönetmek için yeterli değildir.

Kubernetes Mimarisinin Temel Bileşenleri

Kubernetes mimarisi birbiriyle iletişim kuran farklı bileşenlerden oluşur. Bu bileşenlerin görevlerini anlamak, küme yönetimi ve sorun giderme süreçlerinin temelini oluşturur.

API Server

API Server, Kubernetes kontrol düzleminin merkezi iletişim noktasıdır. Kullanıcıların, kubectl aracının ve diğer bileşenlerin Kubernetes kümesiyle gerçekleştirdiği işlemler API üzerinden yürütülür.

Bir kaynak oluşturma, güncelleme veya silme talebi geldiğinde API Server kimlik doğrulama, yetkilendirme ve doğrulama işlemlerini değerlendirir. Kabul edilen değişiklikler kümenin durum verisine aktarılır.

etcd

etcd, Kubernetes kümesinin yapılandırma ve durum verilerinin saklandığı dağıtık anahtar-değer veri deposudur. Kümeye ilişkin kritik bilgileri içerdiği için erişiminin korunması, verilerinin yedeklenmesi ve kurtarma süreçlerinin test edilmesi önemlidir.

Scheduler

Kubernetes Scheduler, yeni oluşturulan bir podun hangi çalışma düğümünde çalıştırılacağını belirler. Bu karar sırasında kaynak ihtiyaçları, düğümlerin mevcut kapasitesi, yerleşim kuralları ve çeşitli kısıtlamalar değerlendirilebilir.

Controller Manager

Controller Manager, kümenin mevcut durumunu izleyen ve tanımlanan istenen duruma ulaşması için gerekli işlemleri gerçekleştiren denetleyicileri çalıştırır. Örneğin istenen pod sayısı ile çalışan pod sayısı farklıysa yeni podların oluşturulması veya fazla podların kaldırılması için işlem başlatılabilir.

kubelet

kubelet, her çalışma düğümünde bulunan ve o düğümdeki podların çalıştırılmasından sorumlu olan bileşendir. API Server üzerinden alınan tanımlara göre konteynerlerin istenen biçimde çalışmasını sağlamaya çalışır.

kube-proxy

kube-proxy, Kubernetes servislerinin ağ trafiğinin uygun podlara yönlendirilmesine katkı sağlayan ağ bileşenidir. Kümedeki servis erişiminin uygulanmasında kullanılan ağ kurallarını yönetebilir.

Kubernetes Node Nedir?

Node, Kubernetes kümesinde uygulama iş yüklerinin çalıştırıldığı fiziksel veya sanal sunucudur. Node üzerinde kubelet, ağ bileşenleri ve konteyner çalışma zamanı gibi temel bileşenler bulunur.

Bir node çalışamaz duruma geldiğinde Kubernetes iş yüklerini uygun koşullar altında başka düğümlerde yeniden oluşturabilir. Ancak bu davranışın doğru gerçekleşebilmesi için küme kapasitesinin, uygulama mimarisinin ve depolama yapısının uygun biçimde planlanması gerekir.

Node yönetiminde şu konular önem taşır:

  • Düğüm kaynaklarının ve kapasitesinin izlenmesi
  • İşletim sistemi güncellemelerinin yönetilmesi
  • Konteyner çalışma zamanının kontrol edilmesi
  • Ağ bağlantılarının doğrulanması
  • Düğümlerin bakıma güvenli biçimde alınması
  • Çalışan iş yüklerinin uygun düğümlere taşınması
  • Düğüm etiketlerinin ve yerleşim kurallarının yönetilmesi

Pod Nedir?

Pod, Kubernetes ortamında oluşturulabilen en küçük dağıtım birimidir. Bir pod içinde bir veya birden fazla konteyner bulunabilir. Aynı pod içindeki konteynerler ağ alanını ve tanımlanan depolama kaynaklarını paylaşabilir.

Çoğu uygulamada bir pod içinde tek ana uygulama konteyneri çalıştırılır. Bununla birlikte ana uygulamaya yardımcı olan günlük toplama, proxy veya yapılandırma görevlerine sahip ek konteynerler de aynı pod içinde yer alabilir.

Podlar kalıcı sunucular gibi düşünülmemelidir. Bir pod hata verdiğinde veya yeni bir sürüm dağıtıldığında eski pod silinip yerine yeni bir pod oluşturulabilir. Bu nedenle uygulama tasarımının geçici pod yapısına uygun olması gerekir.

ReplicaSet Nedir?

ReplicaSet, belirli sayıda pod örneğinin çalışır durumda tutulmasını sağlayan Kubernetes kaynağıdır. Üç pod çalışması tanımlandıysa ReplicaSet mevcut durumu düzenli olarak kontrol eder.

Podlardan biri silindiğinde veya çalışamaz hâle geldiğinde yeni bir pod oluşturarak istenen örnek sayısını korumaya çalışır. Fazla pod bulunması durumunda örnek sayısını azaltabilir.

ReplicaSet doğrudan kullanılabilse de uygulama dağıtımlarında çoğunlukla Deployment kaynağı üzerinden yönetilir.

Deployment Nedir?

Deployment, podların ve ReplicaSet kaynaklarının bildirimsel biçimde yönetilmesini sağlayan Kubernetes kaynağıdır. Uygulama imajı, çalışması gereken örnek sayısı, port bilgileri ve güncelleme stratejisi Deployment tanımı içinde belirtilebilir.

Deployment kullanılarak:

  • Yeni bir uygulama sürümü dağıtılabilir
  • Çalışan pod sayısı artırılabilir veya azaltılabilir
  • Güncelleme süreci izlenebilir
  • Başarısız bir güncellemeden önceki sürüme dönülebilir
  • Uygulama örnekleri kontrollü biçimde yenilenebilir

Deployment özellikle durumsuz uygulamaların yönetiminde yaygın olarak kullanılır. Kalıcı kimlik ve depolama gerektiren uygulamalar için farklı Kubernetes kaynaklarının değerlendirilmesi gerekebilir.

StatefulSet Nedir?

StatefulSet, kalıcı kimliğe, sıralı başlatma davranışına veya belirli depolama kaynaklarına ihtiyaç duyan uygulamaların yönetilmesine yönelik Kubernetes kaynağıdır.

Veri tabanları ve dağıtık veri sistemleri gibi uygulamalar, podlar yeniden oluşturulduğunda aynı ağ kimliği veya depolama alanıyla devam etmeye ihtiyaç duyabilir. StatefulSet bu tür senaryolarda kullanılabilir.

StatefulSet kullanılması, veri tabanı yönetiminin otomatik olarak sorunsuz hâle geleceği anlamına gelmez. Veri tutarlılığı, yedekleme, çoğaltma ve felaket kurtarma süreçlerinin uygulamanın özelliklerine göre ayrıca tasarlanması gerekir.

DaemonSet Nedir?

DaemonSet, seçilen her node üzerinde bir pod örneğinin çalışmasını sağlamak için kullanılır. Küme genelinde bulunması gereken günlük toplama, izleme veya ağ bileşenleri DaemonSet olarak dağıtılabilir.

Kümeye yeni bir node eklendiğinde uygun DaemonSet podu bu düğümde otomatik olarak oluşturulabilir. Node kümeden çıkarıldığında ilgili pod da kaldırılır.

Kubernetes Service Nedir?

Podların IP adresleri pod yaşam döngüsü boyunca değişebilir. Bir uygulamanın diğer podlara sabit pod adresleri üzerinden bağlanması bu nedenle sürdürülebilir değildir.

Kubernetes Service, belirli pod grubuna sabit bir erişim noktası sunar. Service, etiket seçicileri aracılığıyla uygun podları belirleyebilir ve gelen trafiği bu podlara yönlendirebilir.

Yaygın Service türleri şunlardır:

  • ClusterIP: Hizmeti yalnızca küme içinden erişilebilir hâle getirir
  • NodePort: Hizmeti düğümlerde belirli bir port üzerinden erişime açabilir
  • LoadBalancer: Desteklenen altyapılarda dış yük dengeleyici oluşturabilir
  • ExternalName: Bir hizmeti dış DNS adına yönlendirebilir

Ingress Nedir?

Ingress, küme dışından gelen HTTP ve HTTPS trafiğinin Kubernetes içindeki servislere yönlendirilmesine yönelik kuralların tanımlanmasını sağlar. Alan adı ve URL yolu gibi bilgilere göre farklı servislere yönlendirme yapılabilir.

Ingress kaynağının çalışabilmesi için kümede uyumlu bir Ingress Controller bulunması gerekir. Yalnızca Ingress tanımı oluşturmak trafiğin otomatik olarak yönlendirilmesi için her ortamda yeterli değildir.

Ingress üzerinden TLS kullanımı, alan adı yönlendirmesi ve merkezi trafik kuralları yönetilebilir. Bununla birlikte sertifika yenileme, dış erişim güvenliği ve yük dengeleme süreçlerinin altyapıyla birlikte değerlendirilmesi gerekir.

Namespace Nedir?

Namespace, Kubernetes kümesindeki kaynakların mantıksal gruplara ayrılmasını sağlar. Geliştirme, test ve üretim ortamları veya farklı ekiplerin kaynakları ayrı namespace yapıları içinde düzenlenebilir.

Namespace kullanımı tek başına tam güvenlik izolasyonu sağlamaz. Kaynak kotaları, rol tabanlı erişim kontrolleri ve ağ politikaları gibi ek mekanizmalarla desteklenmesi gerekir.

Namespace yapısı şu amaçlarla kullanılabilir:

  • Kaynakları proje veya ekiplere göre gruplandırmak
  • Aynı isimdeki bazı kaynakları farklı alanlarda kullanmak
  • Kaynak kotaları belirlemek
  • Erişim yetkilerini kapsamlandırmak
  • Operasyonel düzen ve görünürlük sağlamak

kubectl Nedir?

kubectl, Kubernetes kümeleriyle komut satırı üzerinden iletişim kurmak için kullanılan yönetim aracıdır. Kaynak oluşturma, listeleme, güncelleme, günlük inceleme ve sorun giderme işlemleri kubectl komutlarıyla gerçekleştirilebilir.

Başlangıçta öğrenilmesi yararlı olan bazı işlem grupları şunlardır:

  • Küme ve node bilgilerini görüntülemek
  • Pod, Deployment ve Service kaynaklarını listelemek
  • YAML dosyalarından kaynak oluşturmak
  • Çalışan podların günlüklerini incelemek
  • Pod içinde komut çalıştırmak
  • Kaynak ayrıntılarını ve olay kayıtlarını görüntülemek
  • Uygulamaların ölçeğini değiştirmek
  • Dağıtım durumunu takip etmek
  • Kaynakları silmek veya güncellemek

kubectl güçlü bir yönetim aracıdır. Yanlış bağlam veya namespace üzerinde çalışılması üretim kaynaklarının etkilenmesine neden olabilir. Komut uygulanmadan önce geçerli küme bağlamının ve hedef kaynağın kontrol edilmesi önemlidir.

Bildirimsel Yönetim ve YAML Dosyaları

Kubernetes kaynakları komutlarla doğrudan oluşturulabilse de üretim ortamlarında bildirimsel yönetim yaklaşımı yaygın olarak kullanılır. Uygulamanın istenen durumu YAML veya JSON biçimindeki kaynak tanımlarıyla belirtilir.

YAML dosyaları sayesinde:

  • Kaynak yapılandırmaları sürüm kontrolünde tutulabilir
  • Değişiklikler ekip tarafından incelenebilir
  • Aynı yapılandırma farklı ortamlarda uygulanabilir
  • Hatalı bir değişikliğin kaynağı izlenebilir
  • Dağıtım süreçleri otomatikleştirilebilir

Kubernetes tanımlarının ekip tarafından anlaşılabilir, güncel ve izlenebilir olması için teknik dokümantasyon ve raporlama yöntemlerinden yararlanılması sürdürülebilir operasyon süreçlerini destekleyebilir.

ConfigMap ve Secret Arasındaki Fark

ConfigMap, uygulamaların hassas olmayan yapılandırma bilgilerini Kubernetes kaynaklarından ayrı tutmak için kullanılabilir. Uygulama ayarları, hizmet adresleri ve özellik seçenekleri ConfigMap içinde tanımlanabilir.

Secret ise parola, erişim anahtarı veya sertifika gibi hassas verilerin yönetilmesine yönelik Kubernetes kaynağıdır. Ancak Secret verilerinin yalnızca bu kaynak içinde bulunması, tek başına her ortam için yeterli güvenlik sağlamaz.

Secret yönetiminde:

  • Rol tabanlı erişim sınırlandırılmalıdır
  • etcd verilerinin korunması değerlendirilmelidir
  • Gizli bilgiler kaynak koduna eklenmemelidir
  • Erişim anahtarları düzenli olarak yenilenmelidir
  • Harici gizli bilgi yönetimi çözümleri gerektiğinde değerlendirilmelidir
  • Erişim işlemleri izlenmelidir

Kubernetes Depolama Yönetimi

Podların geçici yapısı nedeniyle uygulama verilerinin yalnızca pod dosya sistemi içinde saklanması veri kaybına neden olabilir. Kalıcı olması gereken veriler Kubernetes depolama kaynakları aracılığıyla yönetilebilir.

Volume

Volume, bir pod içindeki konteynerlerin kullanabileceği depolama alanıdır. Volume türüne bağlı olarak verinin yaşam süresi podla sınırlı olabilir veya harici depolama sistemine bağlanabilir.

PersistentVolume

PersistentVolume, kümede kullanılabilir hâle getirilen kalıcı depolama kaynağını temsil eder. Bu kaynak yerel disk, ağ depolaması veya bulut sağlayıcısının depolama hizmetiyle desteklenebilir.

PersistentVolumeClaim

PersistentVolumeClaim, uygulamanın ihtiyaç duyduğu depolama kapasitesi ve özellikleri için oluşturduğu taleptir. Kubernetes uygun bir PersistentVolume kaynağını bu taleple eşleştirebilir.

StorageClass

StorageClass, farklı depolama türlerinin ve dinamik kaynak oluşturma davranışlarının tanımlanmasını sağlar. Böylece uygulamalar ihtiyaçlarına uygun depolama sınıfını talep edebilir.

Kubernetes’te Ölçeklendirme

Ölçeklendirme, uygulama talebine göre çalışan pod sayısının veya altyapı kapasitesinin değiştirilmesini ifade eder. Kubernetes hem manuel hem de otomatik ölçeklendirme yöntemlerini destekleyebilir.

Yatay pod ölçeklendirme, çalışan pod örneği sayısının artırılması veya azaltılmasıdır. Dikey ölçeklendirme ise uygulamaya ayrılan işlemci ve bellek gibi kaynakların değiştirilmesini ifade eder. Küme ölçeklendirme, ihtiyaç durumunda node sayısının artırılması veya azaltılmasıyla ilişkilidir.

Otomatik ölçeklendirme yapılandırılmadan önce uygulamanın kaynak kullanım özellikleri ve performans gereksinimleri anlaşılmalıdır. Yanlış ölçütlere göre yapılan ölçeklendirme, kaynak israfına veya uygulama performansının düşmesine neden olabilir.

Resource Requests ve Limits Nedir?

Resource request, bir konteynerin çalışabilmek için ihtiyaç duyduğu işlemci ve bellek miktarını bildirir. Scheduler, podun hangi node üzerinde çalışacağını belirlerken bu değerleri dikkate alabilir.

Resource limit ise konteynerin kullanabileceği en yüksek kaynak miktarını sınırlandırır. Uygun sınırların belirlenmesi, tek bir iş yükünün kümedeki diğer uygulamaları olumsuz etkilemesini önlemeye yardımcı olabilir.

Çok düşük limitler uygulamanın kararsız çalışmasına, çok yüksek veya tanımsız değerler ise küme kaynaklarının verimsiz kullanılmasına neden olabilir. Gerçek kullanım verileri izlenerek uygun değerler belirlenmelidir.

Liveness, Readiness ve Startup Probe

Kubernetes, uygulamaların sağlık durumunu belirlemek için farklı probe türleri kullanabilir.

  • Liveness probe: Uygulamanın çalışmaya devam edip etmediğini kontrol eder
  • Readiness probe: Uygulamanın trafik almaya hazır olup olmadığını belirler
  • Startup probe: Yavaş başlayan uygulamalarda başlangıç sürecinin tamamlanmasını izler

Yanlış tanımlanan sağlık kontrolleri çalışan uygulamaların gereksiz yere yeniden başlatılmasına veya hazır olmayan podlara trafik gönderilmesine yol açabilir. Kontrol yöntemleri uygulamanın gerçek davranışına uygun hazırlanmalıdır.

Rolling Update ve Rollback

Rolling update, uygulamanın yeni sürümünün bütün podları aynı anda durdurmadan aşamalı biçimde dağıtılmasını sağlar. Yeni podlar oluşturulurken eski podlar kontrollü biçimde kaldırılır.

Dağıtım sırasında hata oluşması hâlinde önceki sürüme dönüş yapılabilir. Ancak rollback özelliği veri tabanı değişikliklerini veya harici sistemlerde yapılan bütün işlemleri otomatik olarak geri almaz.

Uygulama sürümleri, yapılandırmalar ve veri şeması değişiklikleri birlikte planlanmalı; güncelleme öncesinde geri dönüş senaryoları test edilmelidir.

Kubernetes Ağ Yönetimi

Kubernetes ağı; podlar, servisler, node bileşenleri ve küme dışındaki sistemler arasındaki iletişimi kapsar. Her pod genellikle küme içinde benzersiz bir IP adresi alır.

Ağ eklentileri, podlar arası iletişimin ve ağ politikalarının uygulanmasında rol oynar. Kullanılacak ağ çözümü altyapının yapısına, performans gereksinimlerine ve güvenlik ihtiyaçlarına göre seçilmelidir.

Ağ yönetiminde şu alanlar değerlendirilir:

  • Podlar arası iletişim
  • Servis keşfi ve DNS
  • Küme dışından gelen trafik
  • Node ve kontrol düzlemi bağlantıları
  • Ağ politikaları
  • TLS ve sertifika yönetimi
  • Yük dengeleme
  • Ağ günlükleri ve trafik izleme

NetworkPolicy Nedir?

NetworkPolicy, seçilen podlara hangi ağ trafiğinin ulaşabileceğini veya bu podların hangi hedeflere bağlantı kurabileceğini tanımlamak için kullanılabilir.

Varsayılan olarak podlar arasındaki iletişim beklenenden daha geniş olabilir. Ağ politikaları kullanılarak yalnızca gerekli uygulama bileşenleri arasında bağlantıya izin veren daha sınırlı bir yapı oluşturulabilir.

NetworkPolicy kaynaklarının uygulanabilmesi için kullanılan ağ eklentisinin bu özelliği desteklemesi gerekir. Politika tanımlarının yalnızca oluşturulması, desteklenmeyen bir ağ ortamında beklenen sonucu sağlamayabilir.

Kubernetes Güvenliği

Kubernetes güvenliği; kontrol düzlemi, node sistemleri, konteyner imajları, kullanıcı hesapları, ağ trafiği, gizli bilgiler ve uygulama yapılandırmalarının birlikte korunmasını gerektirir.

Temel güvenlik uygulamaları arasında şunlar bulunur:

  • En az yetki ilkesinin uygulanması
  • Rol tabanlı erişim kontrolünün kullanılması
  • Konteynerlerin root olmayan kullanıcılarla çalıştırılması
  • Güvenilir ve güncel imajların tercih edilmesi
  • İmajların güvenlik açıkları açısından taranması
  • Gizli bilgilerin kaynak kodundan ayrı tutulması
  • Gereksiz ağ bağlantılarının engellenmesi
  • API Server erişiminin korunması
  • Küme günlüklerinin merkezi biçimde toplanması
  • etcd verilerinin yedeklenmesi ve korunması
  • Kubernetes bileşenlerinin güncel tutulması

Kubernetes güvenliği, temel konteyner güvenliğinin yerine geçmez. İmaj, Dockerfile, konteyner yetkileri ve gizli bilgi yönetimi gibi alanlarda daha ayrıntılı bilgi edinmek isteyenler konteyner güvenliği uygulamalarını da inceleyebilir.

RBAC Nedir?

Role-Based Access Control veya RBAC, Kubernetes kullanıcılarının ve servis hesaplarının hangi kaynaklar üzerinde hangi işlemleri yapabileceğini belirleyen yetkilendirme sistemidir.

Bir kullanıcıya kümenin tamamında yönetici yetkisi vermek yerine yalnızca görevini yerine getirmek için gereken erişimler tanımlanmalıdır. Örneğin bir geliştirme ekibine yalnızca kendi namespace alanındaki Deployment ve pod kaynaklarını görüntüleme veya güncelleme yetkisi verilebilir.

RBAC yapılandırmaları düzenli olarak incelenmeli, kullanılmayan hesaplar kaldırılmalı ve geniş kapsamlı yetkiler gerekçesiz biçimde kullanılmamalıdır.

ServiceAccount Nedir?

ServiceAccount, Kubernetes içindeki uygulamaların API Server veya diğer küme kaynaklarıyla kimlikli biçimde iletişim kurmasını sağlayan hesaptır.

Her uygulamaya geniş yetkili ortak bir hesap vermek yerine görevine uygun ayrı ServiceAccount tanımlanması daha güvenli bir yaklaşımdır. Kullanılmayan API erişimleri sınırlandırılmalı ve hesaplara yalnızca gerekli RBAC yetkileri verilmelidir.

Kubernetes’te Günlükleme ve İzleme

Kubernetes kümeleri dinamik yapıya sahiptir. Podlar oluşturulabilir, silinebilir veya farklı node üzerinde yeniden başlatılabilir. Bu nedenle günlüklerin yalnızca pod içinde tutulması olayların sonradan incelenmesini zorlaştırabilir.

Merkezi günlükleme ve izleme sistemleri şu alanlarda görünürlük sağlayabilir:

  • Pod ve konteyner günlükleri
  • Node kaynak kullanımı
  • API Server işlemleri
  • Kubernetes olay kayıtları
  • Deployment ve güncelleme durumları
  • Ağ bağlantıları
  • Kimlik doğrulama ve yetkilendirme hareketleri
  • Uygulama performansı

İzleme sistemi yalnızca veri toplamakla sınırlı kalmamalıdır. Kritik durumlar için uyarı kuralları hazırlanmalı ve ekiplerin olaylara nasıl müdahale edeceği önceden belirlenmelidir.

Kubernetes Sorun Giderme Yaklaşımı

Kubernetes yöneticiliğinin önemli bölümlerinden biri sorunların sistemli biçimde teşhis edilmesidir. Bir uygulamanın çalışmaması; imaj, kaynak yetersizliği, ağ, depolama, erişim yetkisi veya yapılandırma sorunlarından kaynaklanabilir.

Sorun giderme sırasında şu sıra izlenebilir:

  1. Etkilenen kaynağın durumu belirlenir
  2. Pod ve Deployment durumları incelenir
  3. Kubernetes olay kayıtları kontrol edilir
  4. Konteyner günlükleri değerlendirilir
  5. Kaynak istekleri ve node kapasitesi karşılaştırılır
  6. Service ve ağ bağlantıları test edilir
  7. ConfigMap ve Secret yapılandırmaları doğrulanır
  8. Depolama talepleri ve bağlama durumları incelenir
  9. Son yapılan değişiklikler kontrol edilir

Geçici çözüm uygulamak yerine sorunun temel nedeninin belirlenmesi gerekir. Elde edilen bulguların ve çözüm adımlarının belgelenmesi benzer olaylarda müdahale süresini azaltabilir.

Yedekleme ve Felaket Kurtarma

Kubernetes’in podları yeniden oluşturabilmesi, bütün uygulama verilerinin otomatik olarak korunduğu anlamına gelmez. Küme durumu, kalıcı uygulama verileri, yapılandırmalar ve sertifikalar için uygun yedekleme planları hazırlanmalıdır.

Felaket kurtarma planında:

  • etcd yedeklerinin alınması
  • Kalıcı depolama verilerinin korunması
  • YAML ve altyapı tanımlarının sürüm kontrolünde tutulması
  • Gizli bilgi kurtarma süreçlerinin belirlenmesi
  • Yedeklerin farklı ortamda saklanması
  • Geri yükleme işlemlerinin düzenli olarak test edilmesi
  • Kabul edilebilir veri kaybı ve kurtarma sürelerinin belirlenmesi

gibi konular değerlendirilmelidir.

Yüksek Erişilebilir Kubernetes Kümeleri

Üretim ortamlarında tek kontrol düzlemi bileşenine bağlı bir yapı kesinti riski oluşturabilir. Yüksek erişilebilirlik tasarımı, kritik bileşenlerin birden fazla örneğinin çalıştırılmasını ve tek hata noktalarının azaltılmasını amaçlar.

Yüksek erişilebilir bir yapıda kontrol düzlemi düğümleri, etcd mimarisi, yük dengeleyiciler, ağ bileşenleri ve kalıcı depolama sistemleri birlikte değerlendirilmelidir.

Bir bileşeni çoğaltmak tek başına yüksek erişilebilirlik sağlamaz. Bileşenler arasındaki bağımlılıkların, hata senaryolarının ve kurtarma süreçlerinin test edilmesi gerekir.

Kubernetes Yöneticisinin Sorumlulukları

Kubernetes yöneticisi yalnızca uygulama podlarını başlatan kişi değildir. Kümenin kurulması, güncellenmesi, güvenliği, kapasitesi ve sürekliliğiyle ilgili çok sayıda operasyonel sorumluluk üstlenebilir.

Görevler arasında şunlar bulunabilir:

  • Kubernetes kümelerinin kurulması ve yapılandırılması
  • Node kaynaklarının yönetilmesi
  • Küme bileşenlerinin güncellenmesi
  • Uygulama dağıtımlarının desteklenmesi
  • Ağ ve servis yapılandırmalarının yönetilmesi
  • Kalıcı depolama sistemlerinin bağlanması
  • Kullanıcı ve servis yetkilerinin düzenlenmesi
  • Kümenin güvenlik kontrollerinin uygulanması
  • Günlükleme ve izleme sistemlerinin kurulması
  • Performans ve kapasite takibi yapılması
  • Yedekleme ve kurtarma süreçlerinin yürütülmesi
  • Arıza ve kesintilerin giderilmesi
  • Operasyonel standartların belgelenmesi

Kubernetes Kimler İçin Önemlidir?

Kubernetes bilgisi, konteyner tabanlı uygulama altyapılarıyla çalışan veya bulut teknolojileri alanında gelişmek isteyen farklı profesyoneller için yararlı olabilir.

  • Sistem yöneticileri
  • DevOps mühendisleri
  • Bulut mühendisleri
  • Platform mühendisleri
  • Site Reliability Engineering ekipleri
  • Yazılım ve çözüm mimarları
  • Backend geliştiricileri
  • Altyapı ve ağ uzmanları
  • Siber güvenlik çalışanları
  • Teknik ekip yöneticileri
  • Bilgi teknolojileri alanında kariyer hedefleyenler

Kubernetes bilgilerini programlama, veri tabanı ve farklı yazılım teknolojileriyle birlikte geliştirmek isteyenler yazılım ve teknoloji eğitimlerini inceleyebilir.

Kubernetes Öğrenmek İçin Önce Neler Bilinmeli?

Kubernetes öğrenmek için her durumda ileri düzey yazılım geliştirme bilgisi zorunlu değildir. Ancak belirli temel konulara hâkim olmak eğitim sürecini kolaylaştırır.

Yararlı olabilecek ön bilgiler şunlardır:

  • Linux komut satırı kullanımı
  • Dosya ve süreç yönetimi
  • Temel ağ kavramları
  • IP adresi, DNS ve port bilgisi
  • Docker imajı ve konteyner kullanımı
  • YAML dosya yapısı
  • Temel güvenlik ve erişim yetkisi kavramları
  • Sunucu ve bulut altyapısı hakkında genel bilgi

Kubernetes çok sayıda kavram içerdiği için pod, Deployment, Service ve volume gibi temel kaynaklar anlaşılmadan doğrudan ileri küme senaryolarına geçilmesi öğrenme sürecini zorlaştırabilir.

Kubernetes Certified Administrator ile CKA Aynı Şey midir?

“Kubernetes Certified Administrator” adıyla sunulan bir eğitim programı ile Cloud Native Computing Foundation ve Linux Foundation ekosistemindeki uluslararası Certified Kubernetes Administrator sınavı aynı süreç olarak değerlendirilmemelidir.

Bir üniversite veya eğitim kurumu tarafından düzenlenen program sonunda verilen katılım ya da başarı belgesi, ilgili eğitim programının tamamlandığını gösterir. Uluslararası CKA unvanı ise kendi sınav sağlayıcısının belirlediği kayıt, uygulamalı sınav, başarı ve yenileme koşullarına bağlıdır.

Bu nedenle eğitime kayıt olmadan önce program sonunda düzenlenen belgenin kapsamı, hangi kurum tarafından verildiği ve uluslararası bir sınava hazırlık iddiası bulunup bulunmadığı resmî açıklamalardan kontrol edilmelidir.

Kubernetes Certified Administrator Eğitimi Neden Önemlidir?

Kubernetes, yalnızca birkaç komut öğrenilerek yönetilebilecek tek bileşenli bir araç değildir. Küme mimarisi, ağ, depolama, güvenlik, ölçeklendirme ve sorun giderme süreçlerinin birbiriyle ilişkili biçimde anlaşılması gerekir.

Yapılandırılmış bir eğitim şu alanlardaki bilgi gelişimini destekleyebilir:

  • Kubernetes mimarisini ve temel bileşenlerini anlamak
  • Cluster, node, pod ve konteyner ilişkisini öğrenmek
  • Deployment ve ReplicaSet kaynaklarını yönetmek
  • Service ve Ingress yapılarını tanımak
  • YAML dosyalarıyla bildirimsel kaynak yönetimi yapmak
  • ConfigMap ve Secret kullanımını öğrenmek
  • Kalıcı depolama kaynaklarını anlamak
  • Uygulamaları ölçeklendirmek
  • Kaynak isteklerini ve sınırlarını yönetmek
  • RBAC ve ağ politikalarını tanımak
  • Günlükleme ve izleme süreçlerini oluşturmak
  • Küme sorunlarını sistemli biçimde gidermek
  • Yedekleme ve felaket kurtarma yaklaşımı geliştirmek

Kubernetes Certified Administrator Programının Kapsamı

Kubernetes Certified Administrator programı, modern bulut teknolojileri alanında konteyner yönetimi ve Kubernetes uygulamaları hakkında bilgi geliştirmeyi amaçlayan çevrim içi bir eğitimdir.

Resmî program açıklamasında eğitimin özellikle sistem yöneticileri ve bulut mühendisleri gibi profesyonellere yönelik olduğu belirtilmektedir. Programın konteyner yönetimi, uygulama dağıtımı ve ölçeklendirme konularında pratik becerilerin geliştirilmesine odaklandığı ifade edilmektedir.

Program, Kubernetes tabanlı altyapılarda görev almak isteyen katılımcıların temel yönetim yaklaşımını anlamalarına ve bulut teknolojileri alanındaki mesleki bilgilerini geliştirmelerine katkı sağlamayı hedefler.

Program sonunda sunulan belge, ilgili üniversite eğitim programının tamamlandığını gösterir. Bu belge uluslararası CKA sınavı sonucunda verilen sertifikayla karıştırılmamalı ve tek başına belirli bir mesleki unvan veya işe yerleşme garantisi olarak değerlendirilmemelidir.

Çevrim İçi Eğitim ve Belgelendirme Süreci

Resmî program sayfasına göre eğitim çevrim içi olarak sunulmakta ve içeriklere bilgisayar, tablet veya akıllı telefon üzerinden erişilebilmektedir. Katılımcılar derslerine öğrenci panelindeki “Eğitimlerim” bölümü üzerinden ulaşabilmektedir.

Program kapsamındaki bütün ders videolarının izlenmesi zorunludur. Videolar sistemde tamamlandı olarak işaretlendikten sonra sınav modülü aktif hâle gelmektedir. Soru sayısı eğitim içeriğine göre değişebilmekte ve genel olarak 10 ile 50 soru arasında olabilmektedir.

Katılımcılara toplam üç ücretsiz sınav hakkı tanınmaktadır. Ücretsiz sınav haklarının tamamlanmasından sonra gerekli olması hâlinde ücretli ek sınav hakkı tanımlanabileceği belirtilmektedir.

Resmî sayfada program sonunda üniversite onaylı ve e-Devlet üzerinden sorgulanabilir belge sunulduğu ifade edilmektedir. Programın güncel durumu ön kayıt aşamasındadır. Program açıldığı takdirde ön kayıt oluşturan adaylara SMS ile bilgilendirme yapılmaktadır.

Güncel ücret, program seviyesi, ayrıntılı ders içeriği, erişim süresi ve belge koşulları kayıt öncesinde resmî program sayfasından kontrol edilmelidir.

Sık Sorulan Sorular

Kubernetes nedir?

Kubernetes, konteyner tabanlı uygulamaların dağıtılması, ölçeklendirilmesi, ağ bağlantılarının kurulması ve çalışma durumlarının yönetilmesi için kullanılan bir konteyner orkestrasyon platformudur.

Kubernetes ile Docker aynı şey midir?

Hayır. Docker uygulamaların konteyner imajları olarak paketlenmesi ve çalıştırılmasında kullanılır. Kubernetes ise çok sayıda konteynerin farklı sunucular üzerinde yönetilmesini sağlar.

Kubernetes cluster ne demektir?

Kubernetes cluster, kontrol düzlemi ve çalışma node bileşenlerinden oluşan, konteyner tabanlı uygulamaların çalıştırıldığı yönetim ortamıdır.

Pod nedir?

Pod, Kubernetes ortamındaki en küçük dağıtım birimidir. Bir veya birden fazla konteyner içerebilir.

Deployment ne işe yarar?

Deployment, uygulama podlarının istenen sayıda çalıştırılmasını, yeni sürümlerin kontrollü biçimde dağıtılmasını ve gerektiğinde önceki sürüme dönülmesini destekler.

Service neden kullanılır?

Service, değişebilen pod adreslerinin arkasında sabit bir erişim noktası oluşturarak ağ trafiğinin uygun podlara yönlendirilmesini sağlar.

kubectl ne işe yarar?

kubectl, Kubernetes kaynaklarının komut satırı üzerinden oluşturulması, görüntülenmesi, güncellenmesi ve sorunlarının incelenmesi için kullanılan yönetim aracıdır.

Kubernetes öğrenmeden önce Docker bilinmeli mi?

Zorunlu olmamakla birlikte Docker imajı, konteyner, volume ve ağ kavramlarını bilmek Kubernetes öğrenme sürecini önemli ölçüde kolaylaştırır.

Kubernetes yalnızca bulut ortamında mı çalışır?

Hayır. Kubernetes bulut altyapılarında, şirket içi veri merkezlerinde, sanal makinelerde ve uygun yerel geliştirme ortamlarında çalıştırılabilir.

Kubernetes güvenli midir?

Kubernetes güvenlik mekanizmaları sunar ancak güvenliğin sağlanması doğru yapılandırmaya bağlıdır. Erişim yetkileri, ağ politikaları, imaj güvenliği, gizli bilgiler ve küme güncellemeleri birlikte yönetilmelidir.

Kubernetes Certified Administrator eğitimi uluslararası CKA sertifikası verir mi?

Program sonunda verilen üniversite onaylı belge ile uluslararası CKA sınavı sonucunda verilen sertifika aynı değildir. Uluslararası sertifikanın kendi sınav ve başarı koşulları bulunur.

Program kimlere yöneliktir?

Resmî program açıklamasında eğitimin sistem yöneticileri ve bulut mühendisleri gibi profesyonellere yönelik olduğu belirtilmektedir. DevOps ve konteyner teknolojileri alanında gelişmek isteyenler de içeriği değerlendirebilir.

Program çevrim içi midir?

Evet. Resmî program sayfasında eğitimin çevrim içi sunulduğu ve sisteme bilgisayar, tablet veya akıllı telefon üzerinden erişilebildiği belirtilmektedir.

Bütün dersleri izlemek zorunlu mudur?

Evet. Program kapsamındaki bütün ders videolarının tamamlanması sınav modülüne geçiş için zorunludur.

Programda kaç sınav hakkı bulunmaktadır?

Resmî açıklamaya göre katılımcılara toplam üç ücretsiz sınav hakkı sunulmaktadır.

Belge e-Devlet üzerinden sorgulanabilir mi?

Resmî program sayfasında program sonunda verilen üniversite onaylı belgenin e-Devlet üzerinden sorgulanabilir olduğu belirtilmektedir.

Güncel program bilgilerine nereden ulaşılabilir?

Eğitim içeriği, güncel ücret, program seviyesi, sınav ve belgelendirme ayrıntıları için Kubernetes Certified Administrator programı sayfası incelenebilir.

Sonuç

Kubernetes, çok sayıda konteyner tabanlı uygulamanın farklı sunucular üzerinde dağıtılması, ölçeklendirilmesi ve kullanılabilir durumda tutulması için kapsamlı bir yönetim katmanı sağlar. Pod, Deployment, Service, Ingress, ConfigMap, Secret ve kalıcı depolama kaynakları Kubernetes yönetiminin temel yapı taşlarıdır.

Kubernetes yöneticiliği yalnızca uygulama dağıtımından ibaret değildir. Küme mimarisi, node yönetimi, ağ, güvenlik, izleme, yedekleme ve sorun giderme süreçlerinin birlikte ele alınması gerekir. Temel Docker bilgisi ve Linux sistem yönetimi deneyimi de bu alanın daha kolay anlaşılmasına katkı sağlayabilir.

Konteyner orkestrasyonu, uygulama dağıtımı, ölçeklendirme ve Kubernetes küme yönetimi konularında bilgi geliştirmek için Kubernetes yöneticiliği eğitim programı sayfasındaki güncel ön kayıt ve eğitim bilgilerini inceleyebilirsiniz.

Fırsat Eğitimleri

İlginizi çekebilecek eğitimler

Hijyen Sertifika Programı

Hijyen Sertifika Programı

Hijyen Sertifika Programı ile gıda, sağlık ve hizmet sektörlerinde hijyen kurallarını öğrenin. Sertifikanızı alın, güvenli çalışma ortamı sağlayın.

Projektif Testler Sertifika Programı

Projektif Testler Sertifika Programı

Projektif Testler Sertifika Programı ile psikolojik değerlendirmelerde kullanılan testleri öğrenin, uygulayın ve profesyonel sertifika ile uzmanlığınızı belgelendirin.

Üst Düzey Yönetici Asistanlığı Sertifika Programı

Üst Düzey Yönetici Asistanlığı Sertifika Programı

Üst Düzey Yönetici Asistanlığı Sertifika Programı ile ofis ve zaman yönetiminde uzmanlaşın, profesyonel iletişim becerilerinizi geliştirin.

Masal Anlatıcılığı Ve Çocuk Resim Analizi (Uygulayıcı Belge) Sertifika Programı

Masal Anlatıcılığı Ve Çocuk Resim Analizi (Uygulayıcı Belge) Sertifika Programı

Masal Anlatıcılığı ve Çocuk Resim Analizi Sertifika Programı ile çocukların dünyasını anlayın, yaratıcı teknikleri öğrenin, uygulayıcı belge alın.

Büyükbaş Hayvan Besiciliği Sertifika Programı

Büyükbaş Hayvan Besiciliği Sertifika Programı

Büyükbaş Hayvan Besiciliği Sertifika Programı ile verimli besicilik tekniklerini öğrenin, hayvan sağlığı ve beslenme konularında profesyonel yetkinlik kazanın.

Arıcılık Sertifika Programı

Arıcılık Sertifika Programı

Arıcılık Sertifika Programı ile bal üretimi, koloni yönetimi ve doğal arıcılık tekniklerini öğrenin, sertifikanızla profesyonel başlangıç yapın.

Aile Danışmanlığı Sertifika Programı (e-Devlet'te Sorgulanabilir, 1000 Saat) | İstanbul Kent Üniversitesi

Aile Danışmanlığı Sertifika Programı (e-Devlet'te Sorgulanabilir, 1000 Saat) | İstanbul Kent Üniversitesi

İstanbul Kent Üniversitesi'nden e-Devlet onaylı, 1000 saatlik Aile Danışmanlığı Sertifika Programı. Canlı süpervizyon, hediye eğitimler dahil. Hemen başvurun!

Diş Hekimi Asistanlığı Sertifika Programı

Diş Hekimi Asistanlığı Sertifika Programı

Diş Hekimi Asitanlığı Sertifika Programı ile klinik yönetimi ve hasta iletişim becerilerinizi geliştirin, sağlık sektöründe profesyonel sekreter olun.

Benzer Yazılar

İlginizi çekebilecek diğer içerikler

Anasayfa
Giriş Yap
Kategoriler