La herramienta de línea de comandos de Kubernetes, kubectl, se utiliza para ejecutar comandos en clústeres de Kubernetes. Utilizará kubectl para inspeccionar y administrar los recursos del clúster de su servicio y ver los registros. Algunos comandos de uso común para recuperar información sobre un clúster de Kubernetes son los siguientes:
- obtención de kubectl muestra información sobre el objeto API especificado.
- descripción de kubectl proporciona más detalles sobre el objeto API especificado.
- registros de kubectl mostrar la salida de registro de los contenedores.
Si tiene dudas sobre cómo usar la herramienta kubectl, los comandos kubectl help y kubectl
Si encuentra el siguiente error mientras ejecuta el comando kubectl:
kubectl: command not found
puede intentar instalar el siguiente paquete según su elección de distribución.
Distribución | Comando |
---|---|
OS X | instalar brew kubernetes-cli |
Debian | apt-get install kubernetes-client |
Cent OS | yum instalar kubernetes-cliente |
Fedora | dnf instalar kubernetes-cliente |
Ejemplos de comandos de kubectl
1. Enumere información sobre un recurso con más detalles:
$ kubectl get pod|service|deployment|ingress|... -o wide
2. Actualice el pod especificado con la etiqueta "no saludable" y el valor "verdadero":
$ kubectl label pods name unhealthy=true
3. Enumere todos los recursos con diferentes tipos:
$ kubectl get all
4. Mostrar el uso de recursos (CPU/Memoria/Almacenamiento) de nodos o pods:
$ kubectl top pod|node
5. Imprima la dirección de los servicios maestro y de clúster:
$ kubectl cluster-info
6. Mostrar una explicación de un campo específico:
$ kubectl explain pods.spec.containers
7. Imprima los registros de un contenedor en un pod o recurso especificado:
$ kubectl logs pod_name
8. Ejecute el comando en un pod existente:
$ kubectl exec pod_name -- ls /
9. También puede usar el comando exec para ejecutar un comando en un contenedor en ejecución:
$ kubectl exec -it pod_name -- bash
10. Si no tiene bash o alguna otra terminal disponible dentro de su contenedor, siempre puede adjuntar al proceso en ejecución:
$ kubectl attach -it pod_name
11. También puede copiar archivos hacia y desde un contenedor usando el comando cp:
$ kubectl cp [pod-name]:[/path/to/remote/file] [/path/to/local/file]
12. Si desea acceder a su Pod a través de la red, puede usar el comando de reenvío de puerto para reenviar el tráfico de red desde la máquina local al Pod.
$ kubectl port-forward [pod-name] 8080:80
13. Si desea ver los eventos de Kubernetes, puede usar el comando kubectl get events para ver una lista de los últimos 10 eventos en todos los objetos en un espacio de nombres determinado:
$ kubectl get events
14. Si está interesado en cómo su clúster usa los recursos, puede usar el comando superior para ver la lista de recursos en uso por nodos o pods. Este comando:
$ kubectl top nodes
15. Supongamos que tiene un objeto simple almacenado en obj.yaml. Puede usar kubectl para crear este objeto en Kubernetes ejecutando:
$ kubectl apply -f obj.yaml
16. De manera similar, después de realizar cambios en el objeto, puede usar el comando aplicar nuevamente para actualizar el objeto:
$ kubectl apply -f obj.yaml
17. Cuando desee eliminar un objeto, simplemente puede ejecutar:
$ kubectl delete -f obj.yaml
18. Las etiquetas y las anotaciones son etiquetas para tus objetos. Por ejemplo, para agregar la etiqueta color=red a una barra con nombre de pod, puede ejecutar:
$ kubectl label pods bar color=red
19. Si desea ver una lista de campos admitidos para cada tipo de objeto de Kubernetes admitido, puede usar el comando de explicación:
$ kubectl explain pods
20. Si está interesado en obtener información más detallada sobre un objeto en particular, use el comando describir:
$ kubectl describe [resource-name] [obj-name]