- k3s kurulumu
curl -sfL https://get.k3s.io | sh -
- nginx container'ı ile deployment oluşturma
kubectl create deployment anasayfa --image nginx
- Ölçeklendirme
kubectl scale deployment anasayfa --replicas=3
- Containerı load balancer ile dış dünyaya açmak
kubectl expose deployment anasayfa --port 80 --type NodePort
- Servisleri görüntüle
kubectl get service
Servisleri görüntüle
kubectl get service
Podları görüntüle
kubectl get pod
Pod İsimlendirme [UYGULAMA_ADI]-[REPLICA_SET_ADI]-[POD_ADI]
Makineleri görüntüle
kubectl get node
yaml çıktı almak
kubectl get node -o yaml
explain
kubectl explain node
describe
kubectl describe node bootcamp
Cluster Info
kubectl cluster-info
Kubectl ile ping atan bir pod ayağa kaldırmak
kubectl run pingpong --image alpine ping 127.0.0.1
Pod loglarını yazdırmak
kubectl logs pingpong --tail 1 -f
Bulunduğun namespacedeki service, deployment, replicaSet ve podları görüntüle
kubectl get all
Pod label değiştirme
- Label sonuna - koyarsak labelı siler.
- Selector, app ve pod-template-hash labellarına göre filtreleme yapar.
kubectl label pod pingpong-5c5fddf95d-v4nwc pod-template-hash-
kubectl label pod pingpong-5c5fddf95d-v4nwc team=backend
- Kubernetes ve kubectl çoğu zaman REST API üzerinden haberleşiyor.
- DevOps görevlerinden biri kubernetes versiyonunu kontrol etmek.
- Kubernetes versiyonu 1.15 ise kubectl versiyonu 1.14.Y veya 1.16.Y olabilir.
- Kubeconfig directory:
~/.kube/config
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
- Kubernetes containerların kullanabileceği kaynak limtilerini belirleyebiliriz.
- Podlar ölçeklenemez.
- Deployment -> ReplicaSet -> Pod
- Docker Swarm
- Kubectl
- semantic versioning
- OpenShift - OKD
- RKE / RKE2 (Rancher Kubernetes Engine)
- GKE (Google Kubernetes Engine )
- EKS (Elastic Kubernetes Service)
- AKS (Azure Kubernetes Service)
- k3s
- rolling release, rollout / rollback
- OOM (Out of Memory)
- OOMkiller
- Batch jobs
- etcd (key-value db)
- fork bomb