kubectl
Jump to navigation
Jump to search
wikipedia:kubectl
is a command line interface for running commands against Kubernetes clusters.[1]
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 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
~/.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: