Guia-Tutorial-kubernetes/guias/04-cheatsheet.md

443 lines
7.7 KiB
Markdown
Raw Normal View History

# Cheatsheet kubernetes
**Índice**
- [Cheatsheet kubernetes](#cheatsheet-kubernetes)
- [Resumen en una imagen](#resumen-en-una-imagen)
- [Visualizar información de los recursos](#visualizar-información-de-los-recursos)
- [Nodes](#nodes)
- [ods](#ods)
- [Namespaces](#namespaces)
- [Deployments](#deployments)
- [Services](#services)
- [DaemonSets](#daemonsets)
- [Events](#events)
- [Logs](#logs)
- [Service Accounts](#service-accounts)
- [ReplicaSets](#replicasets)
- [Roles](#roles)
- [Secrets](#secrets)
- [ConfigMaps](#configmaps)
- [Ingress](#ingress)
- [PersistentVolume](#persistentvolume)
- [PersistentVolumeClaim](#persistentvolumeclaim)
- [StorageClass](#storageclass)
- [MultipleResources](#multipleresources)
- [Modificar atributos de los recursos](#modificar-atributos-de-los-recursos)
- [Taint](#taint)
- [Labels](#labels)
- [Cordon/Uncordon](#cordonuncordon)
- [Drain](#drain)
- [Nodes/Pods](#nodespods)
- [Deployments/Namespaces](#deploymentsnamespaces)
- [Services](#services-1)
- [DaemonSets](#daemonsets-1)
- [ServiceAccounts](#serviceaccounts)
- [Annotate](#annotate)
- [Añadir recursos](#añadir-recursos)
- [Crear Pod](#crear-pod)
- [Crear un Service](#crear-un-service)
- [Crear Deployment](#crear-deployment)
- [Interactive Pod](#interactive-pod)
- [Salida de YAMLto en un fichero](#salida-de-yamlto-en-un-fichero)
- [Ayuda](#ayuda)
- [Solicitaciones](#solicitaciones)
- [Llamar a la API](#llamar-a-la-api)
- [Información del Cluster](#información-del-cluster)
## Resumen en una imagen
![](../img/kubernetes-cheat-sheet.png)
[Descarga PNG](../img/kubernetes-cheat-sheet.png)
## Visualizar información de los recursos
### Nodes
```shell
kubectl get no
```
```shell
kubectl get no -o wide
```
```shell
kubectl describe no
```
```shell
kubectl get no -o yaml
```
```shell
kubectl get node select or =[ label _name]
```
```shell
kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type==”ExternalIP”)].address}
```
```shell
kubectl top node [node_name]
```
### ods
```shell
kubectl get po
```
```shell
kubectl get po -o wide
```
```shell
kubectl describe po
```
```shell
kubectl get po show-labels
```
```shell
kubectl get po -l app=nginx
```
```shell
kubectl get po -o yaml
```
```shell
kubect l get pod [ pod_name] -o yaml export
```
```shell
kubect l get pod [pod_name] -o yaml export > nameoffile.yaml
```
```shell
kubectl get pods field-selector status.phase=Running
```
### Namespaces
```shell
kubectl get ns
```
```shell
kubectl get ns -o yaml
```
```shell
kubectl describe ns
```
### Deployments
```shell
kubectl get deploy
```
```shell
kubectl describe deploy
```
```shell
kubectl get deploy -o wide
```
```shell
kubectl get deploy -o yam
```
### Services
```shell
kubectl get svc
```
```shell
kubectl describe svc
```
```shell
kubectl get svc -o wide
```
```shell
kubectl get svc -o yaml
```
```shell
kubectl get svc show-labels
```
### DaemonSets
```shell
kubectl get ds
```
```shell
kubectl get ds all-namespaces
```
```shell
kubectl describe ds [daemonset _name] -n [namespace_name]
```
```shell
kubectl get ds [ds_name] -n [ns_name] -o yaml
```
### Events
```shell
kubectl get events
```
```shell
kubectl get events -n kube-system
```
```shell
kubectl get events -w
```
### Logs
```shell
kubectl logs [pod_name]
```
```shell
kubectl logs since=1h [pod_name]
```
```shell
kubectl logs tail =20 [pod_name]
```
```shell
kubectl logs -f -c [container_name] [pod_name]
```
```shell
kubectl logs [pod_name] > pod.log
```
### Service Accounts
```shell
kubectl get sa
```
```shell
kubectl get sa -o yaml
```
```shell
kubectl get serviceaccounts default -o yaml > ./sa.yaml
```
```shell
kubectl replace serviceaccount default -f. /sa.yaml
```
### ReplicaSets
```shell
kubectl get rs
```
```shell
kubectl describe rs
```
```shell
kubectl get rs -o wide
```
```shell
kubectl get rs -o yaml
```
### Roles
```shell
kubectl get roles all-namespaces
```
```shell
kubectl get roles all-namespaces -o yaml
```
### Secrets
```shell
kubectl get secrets
```
```shell
kubectl get secrets all-namespaces
```
```shell
kubectl get secrets -o yaml
```
### ConfigMaps
```shell
kubectl get cm
```
```shell
kubectl get cm all-namespaces
```
```shell
kubectl get cm all-namespaces -o yaml
```
### Ingress
```shell
kubectl get ing
```
```shell
kubectl get ing all-namespaces
```
### PersistentVolume
```shell
kubectl get pv
```
```shell
kubectl describe pv
```
### PersistentVolumeClaim
```shell
kubectl get pvc
```
```shell
kubectl describe pvc
```
### StorageClass
```shell
kubectl get sc
```
```shell
kubectl get sc -o yaml
```
### MultipleResources
```shell
kubectl get svc, po
```
```shell
kubectl get deploy, no
```
```shell
kubectl get all
```
```shell
kubectl get all all-namespaces
```
## Modificar atributos de los recursos
### Taint
```shell
kubectl taint [node_name] [taint _name]
```
### Labels
```shell
kubectl label [node_name] disktype=ssd
```
```shell
kubrectl label [pod_name] env=prod
```
### Cordon/Uncordon
```shell
kubectl cordon [node_name]
```
```shell
kubectl uncordon [node_name]
```
### Drain
```shell
kubectl drain [node_name]
```
### Nodes/Pods
```shell
kubectl delete node [node_name]
```
```shell
kubectl delete pod [pod_name]
```
```shell
kubectl edit node [node_name]
```
```shell
kubectl edit pod [pod_name]
```
### Deployments/Namespaces
```shell
kubectl edit deploy [deploy_name]
```
```shell
kubectl delete deploy [deploy_name]
```
```shell
kubectl expose deploy [depl oy_name] port=80 type=NodePort
```
```shell
kubectl scale deploy [deploy_name] replicas=5
```
```shell
kubectl delete ns
```
```shell
kubectl edit ns [ns_name]
```
### Services
```shell
kubectl edit svc [svc_name]
```
```shell
kubectl delete svc [svc_name]
```
### DaemonSets
```shell
kubectl edit ds [ds_name] -n kube-system
```
```shell
kubectl delete ds [ds_name]
```
### ServiceAccounts
```shell
kubectl edit sa [sa_name]
```
```shell
kubectl delete sa [sa_name]
```
### Annotate
```shell
kubectl annotate po [pod_name] [annotation]
```
```shell
kubectl annotate no [node_name]
```
## Añadir recursos
### Crear Pod
```shell
kubectl create -f [name_of _file]
```
```shell
kubectl apply -f [name_of _file]
```
```shell
kubectl run [pod_name] image=ngi nx restart=Never
```
```shell
kubectl run [ pod_name] generator =run-pod/v1 image=nginx
```
```shell
kubectl run [ pod_name] image=nginx restart=Never
```
### Crear un Service
```shell
kubectl create svc nodeport [svc_name] tcp=8080:80
```
### Crear Deployment
```shell
kubectl create -f [name_of _file]
```
```shell
kubectl apply -f [name_of _file]
```
```shell
kubectl create deploy [deploy_name] image=ngi nx
```
### Interactive Pod
```shell
kubectl run [pod_name] image=busybox rm -it restart=Never — sh
```
### Salida de YAMLto en un fichero
```shell
kubectl create deploy [deploy_name] image=ngi nx dry-run -o yaml > deploy.yaml
```
```shell
kubectl get po [pod_name] -o yaml export > pod. yaml
```
### Ayuda
```shell
kubectl -h
```
```shell
kubectl create -h
```
```shell
kubectl run -h
```
```shell
kubectl explain deploy.spec
```
## Solicitaciones
### Llamar a la API
```shell
kubectl get raw /apis/metrics.k8s.io/
```
### Información del Cluster
```shell
kubectl config
```
```shell
kubectl cluster -info
```
```shell
kubectl get componentstatuses
```
---
Puedes seguir con la guía [05 Helm: Control de despliegues en Kubernetes](05-helm.md).
Todas las guías:
- [01 Instalación kubctl](01-kubectl.md)
- [02 Clústers](02-clusters.md)
- [03 manifiestos](03-manifiestos.md)
- [04 Cheatsheet kubernetes](04-cheatsheet.md)
- [05 Helm: Control de despliegues en Kubernetes](05-helm.md)
- [06 K9s: Otro estilo de CLI para k8s](06-k9s.md)