Windows 10 üzerinde docker kurulabilmesi için sistem gereksinimleri:
Windows 10 64 bit işletim sistemi; Professional, Enterprise yada Education sürümü destekleniyor. Kurulum öncesinde Windows 10’un 2004 ve üzeri sürümü olmalı. Windows sürümünüz güncel değilse kurulum öncesi güncelleyin. Docker, Microsoft’un Windows 10 işletim sistemi için destek yaşam döngüsüne dayalı olarak Docker Desktop’ı destekliyor. Destek yaşam döngüsü (support lifecycle) erişimi için; https://support.microsoft.com/en-us/help/13853/windows-lifecycle-fact-sheet Windows 10 işletim sisteminde Hyper-V ve Containers özellikleri etkinleştirilmeli. Bilgisayarınızdaki işlemcinizin 64 bit ve SLAT (Second Level Address Translation) desteği olmalı. En az 4 GB RAM'e sahip olmalı. BIOS ayarlarında “Hardware Assisted Virtualization” ve “Data Execution Protection” seçenekleri etkinleştirilmiş olmalı. “Windows Subsystem for Linux” uygulaması kurulum öncesinde hazır olmalı. WSL2 kurulumu ve yapılandırılması Windows’a herhangi bir Linux dağıtımını yüklemeden önce, ilk olarak “Windows Subsystem for Linux” özelliğini etkin olmalı. Bu işlem için önce PowerShell’i yönetici olarak açın ve aşağıdaki komutu çalıştırın. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart Kurulum işlemi tamamlandıktan sonra “Virtual Machine Platform” kurulumu için Powerhell’de aşağıdaki komut çalıştırılır. Kurulum işlemi başarılı olarak tamamlandıktan sonra işletim sistemini yeniden başlatın. dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart WSL2 Linux Kernel güncellemesi için “wsl_update_x64.msi” paketi kurulur. Bu paketi indirmek için adres: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi WSL 2’yi varsayılan sürüm olarak ayarlayın bu işlem için: PowerShell’i yönetici olarak açın ve yeni bir Linux dağıtımı yüklerken WSL 2’yi varsayılan sürüm olarak ayarlanması için “wsl –set-default-version 2” komutunu çalıştırın. Docker kurmak için docker sitesindeki https://www.docker.com/get-docker adresinden docker windows kurulumu indirmek gerekiyor. Başlangıçta, Docker Desktop yükleyicisi bazı paketleri indirmeye başlıyor. “Configuration” sayfasında WSL 2 Özelliklerini etkinleştirilmesi ve masaüstüne kısa yol eklenmesi için ilgili seçenekler seçilir ve kurulum işlemini başlatmak için “OK” butonu seçilir. Kurulum işlemi tamamlandıktan sonra işletim sisteminizi yeniden başlatmak için “Close and log out” butonuna basın. Kurulum bittikten sonra bizden mevcut oturumumuzu kapatmamızı istiyor. Oturumumuzu kapatıp Windowsta yeniden oturum açıyoruz. Eğer Windows makinanızda Hyper-V özelliği kurulu değilse. Docker sizin yerinize kurulumu yapmak için aşağıdaki ekranı açıyor. “Ok” seçeneğini seçtikten sonra Docker Hyper-V kurulumuna başlıyor. Hyper-V kurulumu için Windows yeniden başlatılacak. Eğer donanımsal olarak sanallaştırma makinanızda açık değilse sanallaştırma hatası alacaksınız. Bu hatayı düzeltmek için BIOS ayarlarınızdan “Hardware Assisted Virtualization” ve Data Execution Protection” özelliklerini açmanız gerekir. Makinayı yeniden başlatıp bu ayarları yapabilirsiniz. Eğer bu özellikler zaten açık ise hatasız kurulum tamamlanacak. İşletim sistemi açıldıktan sonra Docker servislerinin açılması için kısa bir süre bekleyin. Docker çalıştıktan sonra karşımıza docker hub “Login” ekranı gelir. Burda sizden Docker ID’ niz ile oturum açmanız istenir. Eğer bir ID’niz yoksa cloud.docker.com adresinden oluşturabilirsiniz. Bu ID sizin Docker Hub’ a erişmenizi sağlar. Docker Hub’dan Repository, container imajlarınıza erişebilirsiniz. Eğer bu işlemleri yapmayacaksanız hesaba giriş yapmanıza gerek yok. Docker kurulumu test etmek için bir komut satırı veya Powershell ekranı açıyoruz. “Docker version” komutunu çalıştırdığımızda bize Docker kurulumumuz ile ilgili bilgileri gösteriyor. Docker hub üzerinden hello-world image çekip bir container üzerinde çalıştığını test edebilirsiniz. --docker versiyonuna bakılıyor docker --version --hello-world imajı docker hub üzerinden indiriliyor docker run hello-world --local ortama indirilen docker imajlar listeleniyor docker image ls --hello-world containerı listeleniyor docker container ls --all https://docker-docs.netlify.app/docker-for-windows/Pod Yaşam Döngüsü ve Probe Kavramı
Pod Statüleri:
Podlar oluşturulurlar ve sonlandırılırlar. Bu yaşam döngüsü
boyunca 5 çeşit Pod statüsü vardır.
Pending: Kubernetes
tarafından pod kabul edildi anlamına gelir. İlk statüdür.
Running: Pod
ile Node ilişkilendirildi anlamına gelir. Containerler yaratılmıştır.
Succeeded: Tüm
containerler sonlandırıldı ve yeniden başlatılmayacak.
Failed: Tüm
containerler sonlandırıldı ve sonlandırılırken en az 1 tanesi hata verdi.
Unknown: Pod’un
durumu alınamıyor anlamına gelir. Pod’un çalıştığı Node bilgisi okunamıyor.
Probe Statüleri:
Kubernetes Pod’un durumunu öğrenmek için probe denilen
kavramı kullanır.
Probe periyodik olarak cluster üzerinde tarama (diagnostic)
işlemidir.
Probelar Success, Failure ve Unknown olarak 3 şekilde dönüş
değeri alırlar.
3 çeşit Probe statüsü vardır.
Liveness Probe: Sağlıklı çalışıyor mu?
Beklendiği gibi çalışıyor mu?
Readiness Probe: Pod
request kabul edebilir mi?
Startup Probe: Container
içindeki uygulama başarılı olarak çalışıyor mu?
Probe Yöntemleri:
ExecAction: Container
içinde bir execution yapma yöntemi
TCPSocketAction: Container’ın
IP adresi ve portu kullanılarak TCP kontrolü yapma yöntemi
HTTPGetAction: Container’a
http request gönderme yöntemi
Imperative ve Declarative Yöntemler
Imperative Yöntem: Özel komutlar aracılığıyla süreçleri yürütme
Declarative Yöntem: Yapılacak işi bir veya birden fazla script
içinde tanımlayıp çalıştırma
Imperative Pod
Yaratma
kubectl run demo-pod –image=nginx:alphine
nginx container ile bir Pod oluşturmak için bir deployment
yaratılır
Master üzerindeki api-server ve kube-scheduler ile uygun bir
node üzerinde pod’un yaratılması schedule edilir.
Pod’a Cluster IP adresi atanır. Cluster IP sadece cluster
içinden erişildiği dışarıya kapalı olduğu için dışarıdan erişim isteniyorsa
port forwarding yapılmalıdır.
Declarative Pod
Yaratma
Yaml veya json dosyaları kullanılarak yapılır.
Bu dosyalar maplar ve list’lerden oluşur.
Yaml validate için online siteler üzerinden validation
yapılabilir. Indent önemli.
Map:
Name:value ikilileri bulunur.
İç içe maplar olabilir.
List:
Sıralı eleman listeleridir.
Liste elemanları tire (-) ile başlar.
Liste içinde eleman olarak mapler olabilir.
Komutlar:
#imperative yöntemle bir namespace oluşturalım
kubectl create ns logging-ns
#namespaceleri görelim
kubectl get ns
#namespace’i silelim
kubectl delete ns logging-ns
#declarative yöntemle namespace oluşturalım
kubectl create -f logging-ns.yaml
kubectl get ns
#imperative yöntemle 8080 portu üzerinden Google’ın
echoserver container’ı kullanılarak bir deployment oluşturalım.
kubectl run hello-k8s
--image=gcr.io/google_containers/echoserver:1.4 --port=8080
kubectl get deployment
kubectl get pods
Burada replica belirtilemediği için 1 tane pod oluşturuldu.
#declarative yöntemle 8080 portu üzerinden Google’ın
echoserver container’ı kullanılarak bir deployment oluşturalım.
kubectl create -f gcr-deployment.yaml
kubectl get deployments
kubectl get pods
Daemonset ve Kullanımı
Daemonset Nedir?
Cluster’da her Node üzerinde belirlediğimiz bir Pod’u
çalıştırma yöntemidir.
Genellikle loglama, monitör etme işlemleri için kullanılan
default Podların oluşturuması için kullanılır.
Örneğin; Cluster’ı ölçeklendirmek için node eklendiği zaman
her node’a default olarak log toplamak için Fluentd gibi bir uygulamanın
otomatik kurulması için (imaj ile pod’un oluşturulması) kullanılır.
Aşağıdaki mimaride yeni bir Node (Node-4 10.0.0.5) eklendiği
zaman bu Node üzerinde default Fluend Pod’unun hali hazırda kurulması sağlanır.
Bunun gibi özel gereksinimler ve özel işler için Node’lara
deploy edilebilirler.
Asıl uygulamaların çalıştırılacağı Pod’ları oluşturmadan
önce Node’larda ön hazırlık olması gereken durumlarda kullanılabilir.
Genellikle dışarıya data push etmek için DaemonSetler
kullanılıyor.
Aslında DaemonSet Node üzerinde bir agent gibi çalışıyor.
Daemonset’e Nasıl
Erişilir?
-
Daemonset oluşturulduğunda port numarası verilip
NodeIP-Port bilgisi üzerinden erişilebilir.
-
Daemonset podları bir service objesine bind
edilip service üzerinden erişilebilir.
Centos 7 Kurulumu ve Ayarları
CentOS Linux dağıtımı, Red Hat Enterprise Linux (RHEL) açık kaynaklarından elde edilen kararlı, öngörülebilir, yönetilebilir ve tekrarlanabilir bir platformdur. Kurumsal sınıfta bir işletim sistemi kararlılığına ihtiyaç duyan kişiler için ideal bir Linux dağıtımıdır. https://www.centos.org/download adresinden indirebilirsiniz. Hızlı kurulum adımına geçmek için Install CentOS 7’i seçerek Enter’a basınız. İngilizce kuruluma devam etmek için Continue’a basınız. Eğer farklı bir dil yapılandırmak istiyorsanız ilgili dili seçebilirsiniz. Kurulumu başlatabilmemiz için "INSTALLATION SUMMARY" erkanında kurulum için gerekli yapılandırmaları tamamlamamız gerekmektedir. Kurulumun en önemli başlığı "SYSTEM" olduğu için isteğe bağlı olarak buradan başlayabilirsiniz. Dosya sistemi yapılandırması için eğer otomatik olarak tüm diskin kullanılmasını istiyorsanız "Automatically configure partitioning." seçerek Done’a basınız. Kablolu ağ Ethernet (enp0s3) aktif etmek için anahtarı OFF konumundan ON konumuna getiriniz. DHCP üzerinden otomatik IP alarak yapılanacaktır. IP ayarlarını kabul edilip devam etmek için Done’a basınız. Eğer kendi ağ topolojinize göre elle düzenlemek istiyorsanız "Configure" Tıklayıp ilgili yapılandırma ayarlarını girerek kaydediniz. "KDUMP" ekranında kdump özelliğini aktif olarak kullanmak istiyorsanız "Enable kdump" seçip Done’a basınız. Kdump; Sistem çökmesi durumunda, sisteminizin çökme nedenini belirlemede çok değerli olabilecek bilgileri yakalayabilir. "SECURITY POLICY" ekranında Red Hat Enterprise Linux tarafından özellikle Amerika’da kullanılan güvenlik politikalarına uyumlu olarak kullanılabilmektedir. Bu adımı deaktif etmek için ON anahtarını OFF konumuna getirip Done’a basınız. Eğer kurumunuzun tabi olduğu bir güvenlik politikası var ise listeden ilgili politikayı seçip "Select profile" tıklayarak Done’a basınız. "SOFTWARE SELECTION" ekranında sisteminize kurulmasını istediğiniz yazılımlar ve ortamların yapılandırılması yapılmaktadır. Biz Postgresql kuracağımız için onu seçtik siz de kendinize göre seçim yapabilirsiniz. Eğer Türkçe klavye kullanmak istiyorsanız + tıklayıp Turkish seçerek Add’i tıklayınız ve Done Enter’a basınız. Eğer English (US) kaldırmak istiyorsanız seçiliyken – tıklayınız. "LANGUEAGE SUPPORT" ekranında İngilizce / İngilizce (A.B.D) dışında bir yapılandırma yapmak isterseniz ilgili dili seçip Done’a basınız. Yaptığımız yapılandırmalardan sonra kurulumun başlaması için "Begin Installation"’a basınız. Kurulum işlemi gerçekleştirilirken karışımıza root kullanıcı parola belirleme ve kullanıcı oluşturma ekranı gelmektedir. Root kullanıcı parola belirleme işlemini tamamlayıp Done’a basınız. "CREATE USER" ekranında kullanıcı tanımla işlemini tamamlayıp Done’a basınız. Tanımladığınız kullanıcının sistem yönetici haklarına sahip olmasını için "Make this user administrator" seçeneğini aktif etmeyi unutmayanız. Tüm yapılandırmalardan sonra kurulum tamamlandı. Kurulum sonrası ilk sistem açılışı için "Reboot"’a basınız. Kurulum sırasında belirtiğiniz kullanıcı bilgileriyle sisteme giriş yapabilirsiniz. Sisteminize ssh servisi üzerinden erişim sağlamak için ilgili servisi başlatmanız gerekmektedir. Servis durum kontrolü için sudo systemctl status sshd kullanabilirsiniz. Eğer ssh servisi çalışmıyorsa ve sistem önyükleme süresinde etkinleştirilmemiş ise; sudo systemctl enable sshd ile ssh servisi sistem önyükleme süresinde etkinleştirilir. sudo systemctl start sshd ile ssh servisi başlatılır. sudo systemctl status sshd ile ssh servis durum bilgileri görüntülenebilir.
Kubernetes Trafik Yönetimi
Kubernetes’te Pod üzerine trafik yönetmenin amaçları:
-Podları tüm cluster üzerinden erişilebilir hale getirme (expose)
-Service üzerinden Podları erişilebilir hale getirme
Kubernetes DNS özelliği ile servicelere DNS atanabilir.
Bir poddan veya dış dünyadan poda erişmek için Pod IP adresi
kullanılır. Ancak bu çok etkili olmaz. Etkili bir kullanım için service
nesnesine ihtiyaç vardır. Kubernetes nimetlerinden faydalanmak için servisin arkasına
bağlanan (bind edilen) birden çok ölçeklenebilir pod sayesinde front-end veya
back-end üzerinden gelen istekler bir service üzerinden dağıtılabilir ve
ölçeklenebilir.
Kube-dns üzerinden servislere otomatik olarak dns ataması yapılır.
Nodeport Nedir?
Dış dünyadan gelen trafiği clustera dahil etmenin en temel
yoludur.
Node üzerinde bir port erişim için açılır. Default olarak
30000-32767 aralığında port numaraları kullanılır.
Cluster dışından NodeIp:NodePort şeklinde erişilir.
Porta gelen istekler ilişkilendirilen Service’e
yönlendirilir.
ClusterIP Nedir?
Service için cluster genelinde geçerli br IP verme
yöntemidir.
Default olarak dış dünyaya erişime açılmaz. Ancak proxy (kube-proxy)
ile dışarıdan erişilebilir.
Load Balancer Nedir?
Kubernetes’te serviceleri dışarıy açmak için başka bir
yöntemdir.
Servicelerin yük dağılımı NodePort üzerinden Service
yönlendirme ile sağlanır.
LoadBalancer bir service tipidir. Loadbalancer servisi de
bir IP’ye sahiptir.
Ingress Nedir?
Asd Ingress bir service değil
bir object’tir.
Serviceler arası yük dağıtan
bir router gibi çalışır.
Çalışabilmesi için cluster
üzerinde bir Ingress Controller bulunması gerekir.
Ingress bir yönlendirme
objesi olduğu için bir IP’sinin olmasına gerek yok.
Kubernetes'e Giriş ve Kubernetes'in Çalışma Prensipleri
Kubernetes'e Giriş
Virtualization 1.0 hipervizor ile sanal makineler ortaya
çıkmıştır.
Container teknolojisi 2.0 olarak biliniyor. Container
teknolojisi hipervizor teknolojisinden daha verimlidir. Çünkü işletim sistemi
yerine çok daha küçük olan container üzerinde çalışır. Minimum olması gereken
processler den oluşur.
Docker condainer dünyasının VMWare’i oluyor.
Docker imajları Container olarak çalışıyor.
Docker kerneldan bağımsız olarak uygulamalar çalıştırıyor.
Küçük yazılımlar container halinde host docker engine üzerinde deploy edip
kompakt ve ölçeklenebiliyor.
Container kalabalıklığını yönetebilmek için orkestrasyon
araçları ortaya çıkmıştır. En popüler olan kubernetes dir. Çoklu instance
yapılarak bunların yönetilmesini sağlar. Bu teknoloji Google tarafından ortaya
çıkan open source bir teknolojidir.
Kubernetes’de Master (Kontrol paneli) ve Node (Worker) var.
İdealde 1 master 1 den fazla node kullanılır.
- Önce uygulama
geliştirilip container haline dönüştürülür.
- Daha sonra YAML
veya JSON manifest dosyası (Deployment) objesi oluşturulur.
- Oluşturulan
deployment dosyası k8s api-server’a gönderilir ve böylece uygulama ayağa
kalkmış olur.
Master Komponentleri:
kube-api-server:
k8s’in beynidir.
cluster store (etcd):
k8s’in hafızası (key-value)’dır.
kube-controller-manager:
Kontrolördür. Kontroler işlerini yapar.
kube-scheduler: Organizasyon (operasyon işleri) yapar.
Node Komponentleri:
kubelet:
Kubernetes master üzerinden node’a erişilmesini sağlayan agent dır.
container-engine:
Konteyner yöneticisi (docker)’dir.
kube-proxy: Load
balancing ve diğer network işlerini yapar.
Pod Nedir?
Docker için container ne ise kubernetes için de pod aynı
şeydir. Podların içinde container çalışır.
Pod ölçekleme birimidir. (instance sayısı)
1 Pod 1 Node üzerinde çalışır. 1 den fazla Node üzerinde
çalışamaz.
Deployment Nedir?
Bir yaml veya json olarak tanımlanabilir.
Rest objeleridir.
Versiyonlanabilir.
2 angular 3 mysql ayağa kaldır şu versiyonda olsun gibi.
Bir kere hazırlanıp birden fazla ortama deploy edilebilir.
Master üzerindeki api-server üzerinden oluşturulur.
Service Nedir?
Kubernetesin kendi bir networkü var.
Podların kendilerine has IP adresleri olabilir. Sabit IP ve
DNS özelliği ..
Örneğin 4 nodelu database instance var ve front end bunlara
erişmek istiyorsa bu servis load balancing yaparak bunlardan birine yönlendirebilir.
Sadece sağlıklı podlara yönlendirme yapılır. Default TCP protokolü üzerinde
çalışır.
Master’a Genel Bakış
Fiziksel, VM veya Cloud gibi herhangi bir host üzerinde
çalışabilir.
Cluster’a göz kulak olur. (Nelerin çalışması gerekiyor vs)
Workload (yük) ayarlamaları, yaşam döngüsü, ölçekleme ve
upgrade işlemlerinden sorumludur.
4 komponentten oluşur.
Kube-api-server:
En çok kullanacağımız komponenttir. Kuebernetes için beyin
görevi görür. Api (Rest) üzerinden fonksiyonları expose eder yani dış dünyaya
açar. Json veya yaml dosyaları vasıtasıyla kullanılır. 443 https üzerinden
çalışır.
$kubectl komut satırı (tool) ile komutlar gönderilir.
Cluster store (etcd):
Kubernetes’in hafızasızıdr. Açık kaynak teknolojisidir. Key-value
veri çiflerini saklar.
Kalıcı saklama alanıdır. Cluster’a ait state ve config
bilgilerini barındırır.
Master üzerindeki tek statefull kısımdır.
Kube controller
manager:
Kontrolör görevi görür. Koordinasyonu sağlar.
Hemen hemen her fonksiyon/işlem için bir kontroller olabilir.
(endpoints, namespace, replication vb)
Arzulanan hal (desired state) denilen pozisyonu kontrol
eder. Örneğin: 3 tane mysql db olsun dersek bu stateden biri giderse hemen 3.
makinenin oluşturulmasını sağlar.
Kube scheduler:
Operasyonel işleri yürüten organizatördür.
Api-server’dan gelen yeni pod yaratma görevleri için hazırda
bekler.
Örneğin Pod yaratılacak bunun gidip hangi node üzerinde yaratılmasını
vs yapar.
Nodelara workload yük atamasından sorumludur.
Node’a Genel Bakış
Master yönetim amaçlı çalışırken Node Cluster’ın çalışan
(work) gücüdür.
Fiziksel, sanal veya cloud makine olabilir.
Master tarafından nodeların yönetilmesi ve nodeların kendi
üzerindeki podları yönetebilmek için bazı servisleri barındırırlar.
Nodeun en önemli şeyi container runtimedır.
3 komponentten oluşur.
kubelet: Node
agent için kullanılır.
Node üzerinde çalışan kubernetes ajan programıdır.
Node’u cluster’a register etmeye yarar.
Master ile sürekli iletişim halindedir. Api-server’dan gelen
direktifleri bekler ve yerine getirir.
Pod oluşturmak için kullanılır.
Node üzerinde pod çalışabilmesi için sağlıklı (healthy)
durumda olmalıdır.
container-engine:
Konteynerları yönetmek için kullanılır.
Pluggable (kaldırılıp, değiştirilebilir) yapıdadır.
Genelde docker container kullanılır.
Containerları start-stop etmek için kullanılır.
kube-proxy: Load
balancer gibi network işleri için kullanılır.
Node üzerindeki her bir pod bir IP adresine sahiptir.
Node içinde overlay network mimarisi var.
Load balance üzerinden gelen yük dengelemeyi podlar üzerinde
yapar.
Örneğin 3 front-end angular ve 4 back-end database olsun. Ön
yüz ile arka araftaki db arasında yük dengeleme network yönetimi gibi işler
için bir servis tanımlanması gerekir.
Master - Node Arasındaki İletişim
Master ve Node arasındaki iletişim api-server ve kubelet
işbirliği ile sağlanır.
Api-server masterdaki beyin görevini görüyordu. Kubelet node
üzerinde api-serverdan gelen işleri yerine getirir.
Api-server podlardaki loglara erişmek, port yönlendirmek ve
podlara erişmek için kubelet’i kullanır.
Api-server ile node, pod ve servisler arasındaki iletişim
secure (https) değildir.
Kubernetes’in Çalışma Prensipleri
Kubernetes’in
Faydaları:
Örneğin önyüzde 3 angular arkada 4 database’in sürekli
ayakta kalması isteniyor. Sistem yöneticisinin bunu sürekli manuel veya başka
bazı toollar ile kontrol etmesini sağlaması yerine tüm bu görevleri yürütmek
için kubernetes görevi devralır. Örneğin bir db çöktü otomatik olarak node
üzerinde yeniden db oluşturulmasını ayağa kalkmasını ve arzu edilen 4 database
nodeunun sürekli ayakta olmasını sağlar.
Bir Deployment Nasıl
Yapılır?
Öncelikle bir deployment için kubectl komutu kullanılır. Bu
komut aracılığıyla kubernetes’in beyni olan api-server ile konuşulur.
$kubectl create –f deployment.yaml
Deployment.yaml veya json ile api-server’a deployment talebi
iletilir. Deployment kontroller (kontroller manager üzerinde) devreye girer.
Yaml dosyasında kaç tane replica belirtilmişse bu replica set’e göre
replication kontroller çalıştırılır. Replication control tarafından podların
kaç tane olması gerektiği bilgileri cluster-store (etcd) üzerinde saklanır.
Daha sonra kube-scheduler devreye girer. Buraya kadar olan tüm işlemler master
üzerinden yapılır.
Daha sonra kube-scheduler ile node üzerindeki agent olan
kubelet ile iletişime geçilir. Kubelet container-engine devreye alır ve
container engine üzerinden kaç tane container gerekiyorsa bu containerler ayağa
kaldırılır. Son olarak kube-proxy devreye girer ve endpointler IP table’a
kaydedilir.
Ayağa kalkan her bir pod/container için bir ip adresi atanır.
3 angular 4 db için bu IPlerin bilgileri vs kube-proxy tarafından yönetilir.