# Kubernetes Cheatsheet cek versi minikube ``` $ minikube version ``` menjalankan minikube ``` $ minikube start ``` Kubectl adalah alat baris perintah (command line tool) Kubernetes yang digunakan untuk menjalankan berbagai perintah untuk klaster Kubernetes. cek versi kubectl ``` $ kubectl version ``` cek info cluster ``` $ kubectl cluster-info ``` cek kondisi nodes ``` $ kubectl get nodes ``` membuat pod yang berisi container image nginx ``` $ kubectl create deployment nginx --image nginx ``` untuk menjalankan object denga yaml file ``` kubectl apply -f namafile.yml ``` untuk menghapus object dengan yaml file ``` kubectl delete -f namafile.yml ``` cek kondisi pod ``` $ kubectl get pods -A atau $ kubectl get pods -o wide ``` note: * -A = semua pods yang tersedia membuka akses port ``` $ kubectl expose deployment nginx --port 80 --target-port 80 ``` cek service yang sudah berhasil terekspose ``` $ kubectl get svc ``` cek container yang ada di dalam pod dan image yang digunakan ``` $ kubectl describe pods ``` untuk mendebug dan beinteraksi dengan pod ``` $ kubectl proxy ``` untuk mendaftarkan variabel containernya ``` $ kubectl exec $POD_NAME -- env ``` untuk mengakses kontainer dengan bash ``` $ kubectl exec -ti $POD_NAME -- bash ``` untuk membuat service kubernetes baru dari pod (po), service (svc), replicationcontroller (rc), deployment (deploy), replicaset (rs) ``` $ kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080 ``` cek detail dari service yang kita punya ``` $ kubectl describe services/kubernetes-bootcamp ``` menghapus service dengan label ``` kubectl delete service -l app=kubernetes-bootcamp ``` menghapus namespace ``` kubectl delete ns production ``` cek pod deployment ``` kubectl get deployments ``` cek replica set yang sudah di buat ``` kubectl get rs ``` untuk scale pod dengan tipe deployment **note:** untuk mengurangi scale jalankan lagi perintahnya ``` kubectl scale deployments/kubernetes-bootcamp --replicas=4 ``` untuk mengecekslogs pods ``` kubectl -n staging logs wordpress-6fb56975cd-th8fp ``` ### Menggunakan kops untuk manage cluster untuk membuat cluster baru ``` $ kops create cluster --node-count=1 --node-size=t3.small --master-size=t3.medium --zones=us-east-1a --name=${KOPS_CLUSTER_NAME} --ssh-public-key=d:/ssh_key/id_rsa.pub --cloud=aws --cloud-labels="Cost=cilsy" ``` **note:** - untuk mengedit cluster yang sudah berjalan gunakan perintah dibawah - ketika sebelumnya terminal di close, setup environment cluster dan s3 nya lagi setup name cluster ``` $ export KOPS_CLUSTER_NAME=farid-k8s.retiarno.my.id ``` setup name s3 ``` $ export KOPS_STATE_STORE=s3://cluster-faridm-k8s-retiarno.my.id ``` edit cluster node ``` $ kops edit ig --name=${KOPS_CLUSTER_NAME} nodes-us-east-1a ``` edit cluster master ``` $ kops edit ig --name=${KOPS_CLUSTER_NAME} master-us-east-1a ``` untuk update cluster ``` $ kops update cluster --name farid-k8s.retiarno.my.id --yes --admin ```