42 lines
1,003 B
Markdown
42 lines
1,003 B
Markdown
# kubectl
|
|
|
|
kubectl is the main command line tool for k8s. See [reference](https://kubernetes.io/docs/reference/kubectl/conventions/)
|
|
|
|
## Raw commands
|
|
|
|
Sometimes it's handy to just run a container without all the yaml mess.
|
|
|
|
### Running a container
|
|
|
|
```sh
|
|
kubectl run --image=IMAGE name
|
|
```
|
|
|
|
### apply is not always the answer
|
|
|
|
Even if you see `kubectl apply` everywhere sometimes it's handy to use dedicated commands
|
|
|
|
For example, `kubectl create` is used to create a ressource and will throw an error if a ressource already exists.
|
|
|
|
### Generating a manifests, blazzing fast way
|
|
|
|
```sh
|
|
kubectl run app --image=app --dry-run=client -o yaml
|
|
```
|
|
|
|
```sh
|
|
kubectl create deployment --image=redis redis --dry-run=client -o yaml
|
|
```
|
|
|
|
Of course, if you need to write it into a file
|
|
|
|
```sh
|
|
kubectl create deployment --image=redis redis --dry-run=client -o yaml > deploy-manifest.yml
|
|
```
|
|
|
|
### Switching namespaces contexts
|
|
|
|
```sh
|
|
kubectl config set-config $(kubectl config current-context) --namespace=target
|
|
```
|