Gérer le stockage éphémère sur Kubernetes
Les pods Kubernetes nécessitent un stockage local éphémère (temporaire).
Les pods Kubernetes utilisent le stockage éphémère pour l'espace de travail, la mise en cache et les journaux. Ce stockage est temporaire et spécifique au cycle de vie du pod. Le stockage éphémère n'est pas partagé entre les pods et disparaît lorsque le pod est supprimé.
Pour plus d'informations générales sur le stockage éphémère Kubernetes, reportez-vous à Stockage éphémère local dans la documentation Kubernetes.
Les étapes suivantes s'appliquent à Oracle Kubernetes Engine, mais les concepts sont similaires dans les autres environnements Kubernetes.
Dans un pool de noeuds, les noeuds utilisent leurs volumes d'initialisation pour le stockage de pod. Etant donné que les images sont stockées dans le répertoire /var
, la majeure partie du stockage éphémère est occupée par les images de la partition racine. L'espace nécessaire dans le volume d'initialisation augmente à chaque fois que vous installez une instance d'Oracle Blockchain Platform Enterprise Edition et que vous créez des codes chaîne sur ce noeud.
kubectl get --raw "/api/v1/nodes/<node IP>/proxy/stats/summary"
Les sections rootfs
et fs
du résultat JSON affichent la capacité et les octets disponibles.
Vous pouvez mettre à jour la quantité de stockage éphémère en redimensionnant le volume d'initialisation pendant l'exécution d'un noeud. Pour plus d'informations, reportez-vous à Mise à jour d'un pool de noeuds pour Oracle Kubernetes Engine.
- Sur votre cluster Oracle Kubernetes Engine, sous Ressources, sélectionnez Pools de noeuds.
- Cliquez sur Modifier. Sur la page Modifier un pool de noeuds, sélectionnez Indiquer une taille de volume d'initialisation personnalisée, puis entrez une valeur de taille de volume d'initialisation en Go. Tous les noeuds créés utiliseront cette valeur pour le stockage éphémère.
- Pour chaque noeud de processus actif du pool de noeuds, procédez comme suit pour redimensionner le volume d'initialisation.
- Cliquez sur la flèche vers le bas à côté du noeud pour afficher des informations détaillées sur ce dernier.
- Accédez au volume d'initialisation du noeud, puis cliquez sur Modifier.
- Sur la page Modifier un volume sous Taille et performances du volume, indiquez une valeur de taille du volume en Go, puis cliquez sur Enregistrer les modifications.
- Pour configurer une session Bastion, puis l'utiliser pour se connecter aux noeuds de processus actif privés, procédez comme suit.
- Sur la page de détails de l'instance, cliquez sur l'onglet Agent Oracle Cloud, puis activez le module d'extension Bastion.
- Recherchez bastion dans la barre de recherche, puis cliquez sur Identité et sécurité du bastion sous Services dans les résultats.
- Cliquez sur Créer un bastion.
- Sur la page Créer un bastion, pour le réseau cloud virtuel cible (VCN), indiquez le VCN du moteur Kubernetes Oracle suivi du nom du cluster. Pour Sous-réseau cible, indiquez l'adresse d'API Kubernetes. Dans Liste d'autorisation de bloc CIDR, entrez 0.0.0.0/0, puis cliquez sur Créer un bastion.
- Cliquez sur le bastion pour l'ouvrir, puis sur Créer une session.
- Entrez opc pour la valeur Nom utilisateur et sélectionnez le noeud dans la liste Instance de calcul.
- Collez la clé SSH sous Ajouter une clé SSH.
- Cliquez sur Afficher les options avancées, puis sélectionnez l'adresse IP du noeud ou de l'instance dans la liste Adresse IP de l'instance de calcul cible. Il s'agit de l'adresse IPv4 privée du noeud ou de l'instance, disponible dans la section d'informations de l'instance.
- Cliquez sur Créer une session.
- Dans le menu contextuel de la session, cliquez sur Copier la commande SSH.
- Vous pouvez désormais vous connecter au noeud via SSH en fournissant à votre clé privée le paramètre -i dans la commande SSH.
- Répétez les étapes précédentes pour chaque noeud de processus actif du cluster.
- Pour chaque noeud, connectez-vous au noeud via SSH, puis exécutez les commandes suivantes, qui recherchent les nouveaux périphériques de stockage de blocs ajoutés aux instances ou aux noeuds, puis développez le système de fichiers lorsque le stockage est disponible.
sudo dd iflag=direct if=/dev/oracleoci/oraclevda of=/dev/null count=1 echo "1" | sudo tee /sys/class/block/`readlink /dev/oracleoci/oraclevda | cut -d'/' -f 2`/device/rescan sudo /usr/libexec/oci-growfs -y
Détermination de l'utilisation du stockage éphémère
Vous pouvez exécuter le script suivant pour voir l'utilisation du stockage éphémère d'une instance exécutée sur Oracle Kubernetes Engine. Le script utilise l'API Kubernetes pour extraire l'utilisation du stockage éphémère pour chaque pod en cours d'exécution sur chaque noeud du cluster.
#!/usr/bin/env bash
kubectl proxy --append-server-path &
set -eo pipefail
{
echo "NODE NAMESPACE POD EPHEMRAL_USED"
for node in $(kubectl get nodes -o=jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}'); do
curl -fsSL "http://127.0.0.1:8001/api/v1/nodes/$node/proxy/stats/summary" |
yq '.pods[] | [.podRef.namespace, .podRef.name, .ephemeral-storage.usedBytes] | join(" ")' |
while read -r namespace name usedBytes; do
# A pod might have no running containers and consequently no ephemeral-storage usage.
echo "$node" "$namespace" "$name" "$(numfmt --to iec "${usedBytes:-0}")"
done
done | sort -k4,4rh
} | column -t