Difference between revisions of "Kubectl"
Jump to navigation
Jump to search
Tags: Mobile web edit, Mobile edit |
|||
(87 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | <code>kubectl</code> is a command line interface for running commands against [[Kubernetes]] clusters.<ref>https://kubernetes.io/docs/reference/kubectl/overview/</ref> | + | {{lowercase}} |
+ | <code>[[wikipedia:kubectl]]</code> is a command line interface for running commands against [[Kubernetes]] clusters.<ref>https://kubernetes.io/docs/reference/kubectl/overview/</ref> | ||
− | To install in | + | == Installation == |
− | * <code>[[kubectl | + | * To install in [[macOS]] execute: <code>[[brew install kubernetes-cli]]</code> |
+ | * [[Kubectl in Amazon Linux]] | ||
+ | * [[Ubuntu kubectl installation]] | ||
+ | * <code>[[~/.kube/config]]</code> | ||
+ | * [[scoop install kubectl]] | ||
+ | |||
+ | == Commands == | ||
+ | * <code>[[kubectl --help]]</code> | ||
+ | * <code>[[kubectl api-versions]]</code> | ||
+ | * <code>[[kubectl apply]]</code> | ||
+ | * <code>[[kubectl auth]]</code> | ||
* <code>[[kubectl create]]</code> | * <code>[[kubectl create]]</code> | ||
+ | * <code>[[kubectl completion]]</code> | ||
+ | * <code>[[kubectl config]]</code>: <code>[[kubectl config use-context|config-use-context]]</code> | ||
+ | * <code>[[kubectl cp]]</code> | ||
+ | * <code>[[kubectl debug]]</code> (since [[v1.18]], March 2020) | ||
* <code>[[kubectl delete]]</code> | * <code>[[kubectl delete]]</code> | ||
− | |||
− | |||
* <code>[[kubectl describe]]</code> | * <code>[[kubectl describe]]</code> | ||
+ | * <code>[[kubectl diff]]</code> (since [[v1.18]], March 2020) | ||
+ | * <code>[[kubectl edit]]</code> | ||
+ | * <code>[[kubectl explain]]</code> | ||
+ | * <code>[[kubectl expose]]</code> | ||
* <code>[[kubectl exec]]</code> | * <code>[[kubectl exec]]</code> | ||
+ | * <code>[[kubectl get]] [[kubectl get all|all]] | [[kubectl get nodes|nodes]] | [[kubectl get pvc|pvc]] | [[kubectl get pods|pods]] | [[kubectl get replicaset|replicaset]] .../... </code> | ||
+ | * <code>[[kubectl label]]</code> | ||
* <code>[[kubectl logs]]</code> | * <code>[[kubectl logs]]</code> | ||
+ | * <code>[[kubectl patch]]</code> | ||
+ | * <code>[[kubectl port-forward]]</code> | ||
+ | * <code>[[kubectl proxy]]</code> | ||
+ | * <code>[[kubectl plugin]]</code> | ||
+ | * <code>[[kubectl replace]]</code> | ||
* <code>[[kubectl rolling-update]]</code> | * <code>[[kubectl rolling-update]]</code> | ||
* <code>[[kubectl rollout]]</code> | * <code>[[kubectl rollout]]</code> | ||
+ | * <code>[[kubectl set]]</code> | ||
+ | * <code>[[kubectl top]]</code> | ||
+ | * <code>[[kubectl virt]]</code> | ||
− | + | == [[Kubectl information commands]] == | |
− | + | {{kubectl information TOC}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== kubectl operation commands == | == kubectl operation commands == | ||
Line 43: | Line 61: | ||
*'''Cluster Info''' <code>[[kubectl cluster-info]] [flags]</code> :Display endpoint information about the master and services in the cluster | *'''Cluster Info''' <code>[[kubectl cluster-info]] [flags]</code> :Display endpoint information about the master and services in the cluster | ||
− | *'''Create''' <code>kubectl create -f FILENAME [flags]</code>: Create one or more resources from a file or stdin | + | *'''Create''' <code>[[kubectl create]] -f FILENAME [flags]</code>: Create one or more resources from a file or stdin |
** <code>kubectl create namespace myexamplenamespace</code> | ** <code>kubectl create namespace myexamplenamespace</code> | ||
** <code>kubectl create sa my_new_user</code> (Create service account for your my_new_user) | ** <code>kubectl create sa my_new_user</code> (Create service account for your my_new_user) | ||
Line 50: | Line 68: | ||
*'''Config''': <code>kubectl config .../...</code> | *'''Config''': <code>kubectl config .../...</code> | ||
− | ** <code>kubectl config view</code> | + | ** <code>[[kubectl config view]]</code> |
*'''Delete''' <code>kubectl delete (-f FILENAME \| TYPE [NAME \| /NAME \| -l label \| --all]) [flags]</code> :Delete resources | *'''Delete''' <code>kubectl delete (-f FILENAME \| TYPE [NAME \| /NAME \| -l label \| --all]) [flags]</code> :Delete resources | ||
Line 69: | Line 87: | ||
* '''[[kubectl get|Get]]''': | * '''[[kubectl get|Get]]''': | ||
− | * '''Replace''': <code>kubectl replace --force -f yml_file_describing_pod.yml</code> | + | * '''Replace''': <code>[[kubectl replace]] --force -f yml_file_describing_pod.yml</code> |
− | * '''Proxy''': <code>kubectl proxy --port=8080</code><ref>https://kubernetes.io/docs/tasks/access-kubernetes-api/http-proxy-access-api/</ref> | + | * '''Proxy''': <code>[[kubectl proxy]] --port=8080</code><ref>https://kubernetes.io/docs/tasks/access-kubernetes-api/http-proxy-access-api/</ref> |
* '''Rolling-update:''' <code>[[kubectl rolling-update]]</code> | * '''Rolling-update:''' <code>[[kubectl rolling-update]]</code> | ||
− | *'''Run''' <code>kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [flags]</code>: Run a specified image on the cluster. | + | *'''Run''' <code>[[kubectl run]] NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [flags]</code>: Run a specified image on the cluster. |
− | *'''Scale''': <code>kubectl scale deployment YOUR_DEPLOYMENT_NAME</code> | + | *'''Scale''': <code>[[kubectl scale]] deployment YOUR_DEPLOYMENT_NAME</code> |
*'''Stop''' <code>kubectl stop</code> | *'''Stop''' <code>kubectl stop</code> | ||
Line 85: | Line 103: | ||
== Activities == | == Activities == | ||
* [[Create and configure a basic Pod]] (<code>[[kubectl apply]]</code>) | * [[Create and configure a basic Pod]] (<code>[[kubectl apply]]</code>) | ||
+ | * Read official <code>kubectl</code> 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]]: <code>[[~/.kube/config]]s</code> into one using <code>[[kubectl konfig merge]]</code> | ||
+ | |||
+ | == Related == | ||
+ | * [[Krew]] | ||
+ | * <code>[[kops]]</code> | ||
+ | * [[Kots]] kubectl plugin | ||
+ | * [[K9s]] | ||
+ | * <code>[[aws eks]] --region $([[terraform output -raw]] region) [[update-kubeconfig]] --name $([[terraform output -raw]] cluster_name)</code> | ||
+ | * <code>[[kubectl-convert]]</code> | ||
+ | * <code>[[kubeadm]]</code> | ||
+ | * <code>[[Error: flags cannot be place before plugin name]]</code> | ||
+ | * <code>[[kubectl.kubernetes.io]]</code> | ||
+ | * [[kubectl (alias)]] | ||
+ | * [[Terraform: kubectl provider]] | ||
== See also == | == See also == | ||
+ | * {{Kubernetes components}} | ||
* {{kubectl}} | * {{kubectl}} | ||
− | |||
− | |||
− | |||
− | |||
+ | [[Category: Kubernetes]] | ||
+ | [[Category: kubectl]] | ||
{{CC license}} | {{CC license}} | ||
Source: https://en.wikiversity.org/wiki/DevOps/Kubernetes/kubectl | Source: https://en.wikiversity.org/wiki/DevOps/Kubernetes/kubectl |
Revision as of 07:53, 7 February 2024
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 kubectl installation
~/.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
- kubectl (alias)
- Terraform: kubectl provider
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: