kubectl
wikipedia:kubectl
is a command line interface for running commands against Kubernetes clusters.[1]
Contents
Installation
- To install in macOS execute:
brew install kubernetes-cli
- Kubectl in Amazon Linux
- Ubuntu Kubernetes installation:
snap install kubectl --classic
~/.kube/config
- scoop install kubectl
Commands
kubectl --help
kubectl api-versions
kubectl apply
kubectl auth
kubectl create
kubectl completion
kubectl config
:config-use-context
kubectl cp
kubectl debug
(since v1.18, March 2020)kubectl delete
kubectl describe
kubectl diff
(since v1.18, March 2020)kubectl edit
kubectl explain
kubectl expose
kubectl exec
kubectl get all | nodes | pvc | pods | replicaset .../...
kubectl label
kubectl logs
kubectl patch
kubectl port-forward
kubectl proxy
kubectl plugin
kubectl replace
kubectl rolling-update
kubectl rollout
kubectl set
kubectl top
kubectl virt
Kubectl information commands
kubectl cluster-info
:dump
kubectl config view
kubectl get pods
:kubectl get pods -n kube-system
kubectl top pod PODNAME
kubectl describe
kubectl get namespaces
kubectl get nodes
kubectl get services
kubectl get configmaps
kubectl logs
kubectl version
kubectl operation commands
kubectl create
kubectl delete pod
kubectl delete namespace MY_NAMESPACE
- Connect to a Pod:
kubectl exec -it YOUR_POD_NANE -- /bin/bash
kubectl command reference
The following table includes short descriptions and the general syntax for all of the kubectl
operations:[2]
- Apply
kubectl apply -f FILENAME [flags]
. Apply a configuration change to a resource from a file or stdin. Allows to create a Pod.
- Attach
kubectl attach POD -c CONTAINER [-i] [-t] [flags]
:Attach to a running container either to view the output stream or interact with the container (stdin)
- Auto Scale
kubectl autoscale (-f FILENAME \| TYPE NAME \| TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags]
: Automatically scale the set of pods that are managed by a replication controller
- Cluster Info
kubectl cluster-info [flags]
:Display endpoint information about the master and services in the cluster
- Create
kubectl create -f FILENAME [flags]
: Create one or more resources from a file or stdinkubectl create namespace myexamplenamespace
kubectl create sa my_new_user
(Create service account for your my_new_user)kubectl create -f mypod.yaml
- Config:
kubectl config .../...
- Delete
kubectl delete (-f FILENAME \| TYPE [NAME \| /NAME \| -l label \| --all]) [flags]
:Delete resourceskubectl delete --all namespaces
- Describe
kubectl describe (-f FILENAME \| TYPE [NAME_PREFIX \| /NAME \| -l label]) [flags]
: Detailed state of one or more resources.kubectl describe pod MyPodName
kubectl describe pods
kubectl describe replicaset MyReplicaName
- Edit
kubectl edit (-f FILENAME \| TYPE NAME \| TYPE/NAME) [flags]
: Edit and update the definition of one or more resources on the server by using the default editor.
- Execute
kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]]
: Execute a command against a container in a pod
- Logs
kubectl logs POD [-c CONTAINER] [--follow] [flags]
: Print the logs for a container in a pod.kubectl logs -l app=elasticsearch
(using labels: -l)
- Get:
- Replace:
kubectl replace --force -f yml_file_describing_pod.yml
- Proxy:
kubectl proxy --port=8080
[3]
- Rolling-update:
kubectl rolling-update
- Run
kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [flags]
: Run a specified image on the cluster.
- Scale:
kubectl scale deployment YOUR_DEPLOYMENT_NAME
- Stop
kubectl stop
- Version
kubectl version [--client] [flags]
: Display the Kubernetes version running on the client and server.
Activities
- Create and configure a basic Pod (
kubectl apply
) - Read official
kubectl
cheat sheet: https://kubernetes.io/docs/reference/kubectl/cheatsheet/ - Check examples: https://www.codegrepper.com/code-examples/shell/kubectl+describe+ingress+output+yaml
- https://stackoverflow.com/questions/tagged/kubectl?tab=Votes
- Kubernetes quiz
- Merge multiple kubeconfigs:
~/.kube/configs
into one usingkubectl konfig merge
Related
- Krew
kops
- Kots kubectl plugin
- K9s
aws eks --region $(terraform output -raw region) update-kubeconfig --name $(terraform output -raw cluster_name)
kubectl-convert
kubeadm
Error: flags cannot be place before plugin name
kubectl.kubernetes.io
See also
- Kubernetes Components,
kube-proxy, kube-scheduler, kube-apiserver, kubelet, kubectl, kubeadm
, Kubernetes controller manager, Kubernetes controllers, Kubernetes Addons, Kubernetes Topology Manager kubectl
: [cp | config | create
|delete
|edit | explain |
apply
|exec
|get
|set
|drain | uncordon | rolling-update
|rollout
|logs
|run
|auth
|label | annotate
|version
|top
|diff
|debug
|replace
|describe
|port-forward | proxy
|scale
|rollout
|api-resources
| expose deployment | expose | patch | attach | get endpoints | ~/.kube/config | kubectl logs --help | kubectl --help, kubectl-convert, kubectl autoscale, kubectl.kubernetes.io
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy.
Source: https://en.wikiversity.org/wiki/DevOps/Kubernetes/kubectl
Advertising: