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

Logging-ns.yaml: indir

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.

gcr-deployment.yaml: indir

kubectl create -f gcr-deployment.yaml

kubectl get deployments

kubectl get pods


Share:
spacer

Hiç yorum yok:

Yorum Gönder