Table des matières

Kubernetes

Commandes

Diagnostic

Ressources de test

Pod

download
apiVersion: v1
kind: Pod
metadata:
  name: debian-test
spec:
  containers:
  - name: debian
    image: debian:stable-slim
    command:
      - "sleep"
      - "86400"
    volumeMounts:
    - name: data
      mountPath: /mnt/data
  volumes:
  - name: data
    persistentVolumeClaim:
      claimName: data-debian-test-0

Volume

download
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data-debian-test-0
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 50Gi
  storageClassName: csi-cinder-classic

Debug

Gérer un conflit de versions API de ressources

Suite à une mise à jour du cluster, des ressources peuvent être dans une version API obsolète. Exemple :

Error: UPGRADE FAILED: unable to build kubernetes objects from current release manifest: [resource mapping not found for name: "XXXXXXXX" namespace: "" from "": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1"
ensure CRDs are installed first, resource mapping not found for name: "XXXXXXXX" namespace: "" from "": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1"

La solution consiste à faire tourner Mapkubeapis :

  1. helm plugin install https://github.com/helm/helm-mapkubeapis
  2. helm mapkubeapis RELEASE 

Supprimer une namespace bloqué en statut terminating

  1. kubectl get namespace <YOUR_NAMESPACE> -o json > <YOUR_NAMESPACE>.json
  2. # Supprimer le finalizer: kubernetes
    vim <YOUR_NAMESPACE>.json
  3. kubectl replace --raw "/api/v1/namespaces/<YOUR_NAMESPACE>/finalize" -f ./<YOUR_NAMESPACE>.json

source : https://stackoverflow.com/questions/52369247/namespace-stuck-as-terminating-how-i-removed-it

Augmenter la taille d'un volume déclaré dans un statefulset

Ce processus n'a été testé que chez AWS avec gp2 pour storageclass

  1. Supprimer le statefulset :
    k delete sts MON-STS
  2. Modifier la taille du PVC :
    k edit pvc MON-PVC
  3. Appliquer la modification de taille dans le chart Helm du déploiement
  4. Pousser et déployer la modification

Méthode alternative

  1. Unscale le statefulset
  2. Modifier le pv pour mettre reclaimpolicy à Retain
  3. Supprimer le pvc
  4. Modifier le pv pour supprimer le claimref
  5. Supprimer le statefulet
  6. Relancer le deploiement

Méthode chez OVH : https://support.us.ovhcloud.com/hc/en-us/articles/1500005033982-How-to-Resize-Persistent-Volumes

Minikube

Ressources de commandes essentielles :