Skip to content

Instantly share code, notes, and snippets.

@mrroot5
Last active November 4, 2021 09:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrroot5/0394690810888e3f0ec7a5ac2af174d5 to your computer and use it in GitHub Desktop.
Save mrroot5/0394690810888e3f0ec7a5ac2af174d5 to your computer and use it in GitHub Desktop.
Kuberenetes cheat sheet. Keywords: kubernetes, k8s.

Intro

vamos a usar algunos parámetros por defecto que usaremos en los ejemplos, así será más fácil seguir la guía.

Datos ficticios a emplear

Rellenamos algunos datos para orientar más fácilmente los comandos que veremos.

Metada general

  • namespace: develop
  • labels.app: hello-k8s

Yaml kind

¿No sabes el kind de lo que quieres configurar en tu yaml? ¿Quizás un nuevo pod?.

Para ello ejecutamos el siguiente comando para tener un listado completo de todos los recursos disponibles:

kubectl api-resources

Si por ejemplo estamos buscando algo concreto, como una configuracin relacionada con un pod, podemos hacer lo siguiente:

kubectl api-resources | grep -i "pod"

Con ese comando nos mostrará todo el texto que contenga "pod" sin distinguir entre mayúsculas o minúsculas.

Deployment

  • spec.spec.serviceAccountName: sample-user

Deployment logs

Obtenemos un informe completo del deployment en formato yaml.

Al final de la informacin veremos una key status que contiene un message donde aparece el error.

kubectl get deployments cookielicious-staging -o yaml

Ejemplo de output (recortado para exponer solo la parte del status mencionada más arriba:

status:
  availableReplicas: 1
  conditions:
  - lastTransitionTime: "2020-07-28T10:05:47Z"
    lastUpdateTime: "2020-07-28T10:05:47Z"
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: "True"
    type: Available
  - lastTransitionTime: "2020-07-28T09:59:01Z"
    lastUpdateTime: "2020-07-28T10:05:47Z"
    message: ReplicaSet "<you-pod-name>" has successfully progressed.
    reason: NewReplicaSetAvailable
    status: "True"
    type: Progressing
  - lastTransitionTime: "2020-07-28T10:08:25Z"
    lastUpdateTime: "2020-07-28T10:08:25Z"
    message: 'pods "<you-pod-name>" is forbidden: error looking
      up service account develop/sample-user: serviceaccount "sample-user"
      not found'
    reason: FailedCreate
    status: "True"
    type: ReplicaFailure

Reiniciar un deployment

Método 1: volver a hacer deployment

Con el comando para aplicar un yaml. El problema es que si los datos del deployment no han cambiado, no realizará ninguna acción.

kubectl apply -f deployment.yaml

Método 2: volver a aplicar el deployment actual

En este caso usamos el comando rollout restart para poder aplicar el deployment o como lo llama kubernetes hacer un "restart".

kubectl rollout restart deployment/hello-k8s

Pods

Executar bash en un pod

kubectl exec --tty --stdin <pod_name> -- /bin/bash

Executar ash en un pod (alpine)

kubectl exec --tty --stdin <pod_name> -- /bin/ash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment