Main Kubectl Commands
In Kubernetes world we don't create or work with Pods directly, instead we create deployments. Everything below deployment layer is managed by K8s.
Deployment manages a ReplicaSet which manages a Pod which is an abstraction of a Container
-
kubectl get <componentName> <name>examples:
kubectl get podskubectl get deploymentskubectl get replicasetkubectl get servicekubectl get logs <podName>kubectl get pod -o wide- output in wide to get more information like IP address of podskubectl get deployment <deploymentName> -o yaml- get deployment details from etcd and output in yaml format, you can output to a file as well -
kubectl describe <componentName> <name>examples:
kubectl describe service nginx-servicekubectl describe pod nginx-pod -
kubectl edit <componentName> <name>examples:
kubectl edit deployments nginx-deployment -
kubectl delete <componentName> <name>examples:
kubectl delete deployment nginx-deployment -
kubectl create <componentName> <name> <options>examples:
kubectl create deployment nginx-depl --image=nginx -
kubectl exec -it <podName> -- bin/bash- get terminal into pod/container -
kubectl apply -f <file>example file:
yaml apiVersion: apps/v1 kind: Deployment # what I am creating metadata: name: nginx-deployment labels: app: nginx spec: # blueprint/specificaiton for deployment replicas: 1 # number of replicas selector: matchLabels: app: nginx template: # specification for pod metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.16 ports: - containerPort: 80