Despliegue y gestión de pods en Kubernetes

Para visualizar la información completa de un pod, se puede utilizar el siguiente comando:

kubectl get pods hello-pod -o yaml


</div>El comando `kubectl describe` proporciona una visión general detallada de cualquier objeto en Kubernetes.

<div>```
[root@master k8s]# kubectl describe pods hello-pod
Name:         hello-pod
Namespace:    default
Priority:     0
Node:         node2/192.168.72.125
Start Time:   Wed, 26 Jun 2024 17:51:33 +0800
Labels:       version=v1
              zone=prod
Annotations:  Status:  Running
IP:           10.244.2.2
IPs:
  IP:  10.244.2.2
Containers:
  hello-ctr:
    Container ID:   docker://fbfb676050fa9dcde422d8e376faab99b5daf4c41075df75c64b5ce96123ee66
    Image:          nigelpoulton/k8sbook:latest
    Image ID:       docker-pullable://nigelpoulton/k8sbook@sha256:a983a96a85151320cd6ad0cd9fda3b725a743ed642e58b0597285c6bcb46c90f
    Port:           8080/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Wed, 26 Jun 2024 18:16:21 +0800
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-6nw4v (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  default-token-6nw4v:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-6nw4v
    Optional:    false
QoS Class:       BestEffort
...........información omitida

Ejemplo: Eejcutar el comando ps aux en el primer contenedor del pod hello-pod.


</div>Mediante el comando `kubectl exec`, es posible acceder al interior del contenedor en ejecución. Después del acceso, el indicador de comandos puede cambiar para mostrar que se está operando dentro del contenedor del pod. Dentro del contenedor, se puede instalar la herramienta curl y luego usarla para obtener datos del proceso escuchando en el puerto 8080.

<div>```
[root@master k8s]# kubectl exec -it hello-pod -- sh
/src # apk add curl  // Instalar la herramienta curl
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/4) Installing nghttp2-libs (1.39.2-r0)
(2/4) Installing libssh2 (1.9.0-r1)
(3/4) Installing libcurl (7.61.1-r3)
(4/4) Installing curl (7.61.1-r3)
Executing busybox-1.28.4-r1.trigger
OK: 63 MiB in 27 packages
/src # curl localhost:8080
<html><head><title>K8s rocks!</title><link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"/></head><body><div class="container"><div class="jumbotron"><h1>Kubernetes Rocks!</h1><p>Check out my K8s Deep Dive course!</p><p> <a class="btn btn-primary" href="https://acloud.guru/learn/kubernetes-deep-dive">The video course</a></p><p></p></div></div></body></html>/src #

kubectl logs

kubectl logs <pod>

Eliminación de pods

kubectl delete -f pod.yml


</div></body></html>

Etiquetas: Kubernetes pod Deployment kubectl YAML

Publicado el 8-27 14:50