Kubernetes

Production-Grade Container Orchestration

Kubernetes

Servis Discovery çözümü olarak Istio inceleyebilirsiniz.

Kubernetes' in Yetenekleri

Service Discovery

Load Balancing

Automated Rollouts and Rollbacks

Automated Scaling

Storage Orchestration

Automatic bin packing

Self-healing

Secret and configuration management

Kubernetes' in Bileşenleri

Node: Kubernetes'teki en küçük bilgi işlem donanımı birimidir. Node bir makine veya Virtual Machine olabilir.

Cluster: Düğümlerden oluşan havuz olarak düşünülmelidir. Siz clusterlara işi devredersiniz iş de Node' lara işi devreder.

Persistent Volumes: işleriniz belirli bir düğümde çalışması garanti olmadığından kalıcı verileriniz o anki node üzerinde kaydedilmemesi gerekir. Bu nedenle kalıcı veriler node lar da değil harici storage lerde tutulması gerekmektedir.

Container: Docker gibi platform üzerinde koşabilen uygulamamızı içerisinde barındıran yazılım paketidir.

Pods: Container ları içerisinde barındıran Kubernetes çalıştırdığı unique IP si olan temel elemandır. Deploymentlar ve /veya Replicalar bunun üzerinden oluşturulur.

Services: podlar mantıksal olarak Labels & Selectors ile gruplanarak oluşturulan birimlerdir. Podları etiketleyip service olarak tanımlarken seçiciler kullanarak gruplayabiliyoruz. Bir pods birden fazla servise bağlanabiliyor.

Kubernetes Master ve Worker Node olarak iki tip temel bileşenden oluşur. Master Node Nodları yöneten node. Orkestre etme işlerini yapar. Birden fazla yedeği bulunan Master Node üzerinden kubectl aracığıyla tüm network için komutlar girilir. Bu komutlar Masterdaki kube-apiserver ve node lardaki kubelet üzerinden emirler gerçekleştirilir. Sisteme girilen emirler uygulanmaya uygun bulunduğunda etcd veri tabanında depolanır. Controller Manager ile Node ların, pods lardaki replikaların, pods ve servislerin endpointlerin yönetimi gibi yönetsel kontrolleri yapmaktadır. Scheduler ile de bir den fazla node olan sistemlerde containerların nerede koşturulmasına karar vermektedir. Worker Node üzerinde bulunan Container Runtime (örneğin Docker) ile de containerlar koşturulmaktadır.

Kubernetes Diğer Servisler

kube-dns : cluster çapında DNS hizmeti sağlar.

Heapster Metrics : Pod Autoscaler

kube-dashboard : web tabanlı kullanıcı arayüzü

Faydalı Ek Servisler

Jsonnet : Yapılandırma Dili

Ceph : Cluster Depolama

Ceph: blok depolama, nesne tabanlı depolama ve dosya sistemi türündeki depolama ihtiyaçlarını tek bir platform üzerinden sağlayan bütünleşik bir çözümdür.

Demo senaryo ile istio kullanımı

2020

Last updated