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 un stockage éphémère pour l'espace de nettoyage, la mise en mémoire 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 il disparaît lorsque le pod est supprimé.
Pour plus d'informations générales sur le stockage éphémère de Kubernetes, voir Stockage éphémère local dans la documentation sur Kubernetes.
Les étapes suivantes s'appliquent à Oracle Kubernetes Engine, mais les concepts sont similaires dans d'autres environnements Kubernetes.
Dans un groupe de noeuds, les noeuds utilisent leurs volumes de démarrage pour le stockage de pod. Comme les images sont stockées dans le répertoire /var
, la majeure partie du stockage éphémère est occupée par des images dans la partition racine. L'espace requis dans le volume de démarrage augmente chaque fois que vous installez une instance d'Oracle Blockchain Platform Enterprise Edition et que vous créez des codes de 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 de démarrage lorsqu'un noeud est en cours d'exécution. Pour plus d'informations, voir Mise à jour d'un groupe de noeuds pour Oracle Kubernetes Engine.
- Dans votre grappe Oracle Kubernetes Engine, sous Ressources, sélectionnez Groupes de noeuds.
- Cliquez sur Modifier. Dans la page Modifier le groupe de noeuds, sélectionnez Spécifier une taille de volume de démarrage personnalisée, puis entrez une valeur pour Taille du volume de démarrage en Go. Tous les noeuds créés utiliseront cette valeur pour le stockage éphémère.
- Pour chaque noeud de travail du groupe de noeuds, procédez comme suit pour redimensionner le volume de démarrage.
- Cliquez sur la flèche vers le bas à côté du noeud pour afficher des informations détaillées sur le noeud.
- Naviguez jusqu'au volume de démarrage du noeud, puis cliquez sur Modifier.
- Dans la page Modifier le volume sous Taille et performance du volume, spécifiez une valeur de taille du volume en Go, puis cliquez sur Enregistrer les modifications.
- Effectuez les étapes suivantes pour configurer une session d'hôte bastion, puis utilisez-la pour vous connecter aux noeuds de travail privés.
- Dans la page des détails de l'instance, cliquez sur l'onglet Oracle Cloud Agent, puis activez le plugiciel d'hôte bastion.
- Recherchez l'hôte bastion dans la barre de recherche, puis cliquez sur Identité et sécurité de l'hôte bastion sous Services dans les résultats.
- Cliquez sur Créer un hôte bastion.
- Dans la page Créer un hôte bastion, pour le réseau en nuage virtuel cible (VCN), spécifiez le VCN du moteur Oracle Kubernetes suivi du nom de la grappe. Pour Sous-réseau cible, spécifiez le point d'extrémité de l'API Kubernetes. Pour Liste d'autorisation du bloc CIDR, entrez 0.0.0.0/0, puis cliquez sur Créer un hôte bastion.
- Cliquez sur l'hôte bastion pour l'ouvrir, puis cliquez sur Créer une session.
- Entrez opc pour la valeur Nom d'utilisateur et sélectionnez votre noeud dans la liste Instance de calcul.
- Collez votre 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, qui est 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 maintenant vous connecter au noeud au moyen de SSH en fournissant votre clé privée avec le paramètre -i dans la commande SSH.
- Répétez les étapes précédentes pour chaque noeud de travail de la grappe.
- Pour chaque noeud, connectez-vous au noeud au moyen de SSH, puis exécutez les commandes suivantes, qui recherchent les nouveaux périphériques de stockage par blocs ajoutés à des instances ou à des 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 temporaire d'une instance s'exécutant sur Oracle Kubernetes Engine. Le script utilise l'API Kubernetes pour extraire l'utilisation du stockage éphémère pour chaque pod exécuté sur chaque noeud de la grappe.
#!/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