Qu’est ce que Kubernetes ?
Kubernetes est un système open source qui permet de fournir une plate-forme permettant d’automatiser le déploiement, la montée en charge et la mise en œuvre de conteneurs d’application sur des clusters.
Quel est mon problème ?
Pour mon cluster d’entreprise, j’utilise les services de chez Scaleway et plus précisément les instances virtuelles de la gamme Entreprise.
Ces instances n’ont pas de disque physique, mais utilise des disques réseau type Block-Storage. Pour ceux qui pensent que ce n’est pas une bonne idée côté performances, je les arrêtent tout de suite. Le niveau de perf est excellent et niveau fiabilité je les utilisent depuis 18 mois et je n’ai pas rencontré le moindre problème.
Sauf le point sur lequel je n’ai pas fait attention lorsque j’ai pris ces instances, c’est que le disque Block-Storage est défini par défaut a 20Go. Du coup je me suis retrouvé avec au départ des messages d’erreur « Disk Pressure » dont je ne comprenais pas le sens. En fait c’est tout simplement la traduction du bon vieux Out of Memory (espace disque insuffisant).
Comment augmenter mon espace disque sans redémarrer mes instances ?
Comment augmenter la taille du volume à partir de la console Scaleway ?
Cliquez sur l’onglet Volumes dans la page d’informations sur l’instance de la console. Une liste de vos volumes s’affiche.Cliquez sur « … » à côté du volume que vous voulez augmenter, puis cliquez sur Augmenter le volume.Augmentez la taille selon vos préférences à l’aide du bouton « +« . Cliquez sur Augmenter votre volume pour confirmer. Remarque : actuellement, seule l’augmentation d’un volume de stockage en bloc est prise en charge. La taille maximale d’un volume en bloc est de 10 To.
Pour lister facilement et rapidement les partitions, il suffit de lancer la commande lsblk
# lsblk -f NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sda |-sda1 ext4 cloudimg-rootfs 02bb033c-a191-40c0-94fb-bb025c724b13 3.5G 80% /
Nous voyons ici que la partition principale / est remplie à 80%. Sachant que la partition en question ne fait que 20Go, vous comprendrez rapidement que cela peu poser de gros problème si vous avez des Volumes montés localement, ou lorsque vous récupérez une image pour la déployer.
Le redimensionnement ce fera avec la commande resizepart en précisant le disque, le numéro de la partition (1 dans notre cas) et enfin la taille exprimée en blocs.
Comment déterminer la taille de ma partition en blocs ?
Si l’on souhaite une partition de 45Go, il suffit de calculer le nombre de blocs que cela représente. Pour rappel un bloc fait 512 octets.
45Go = 45 * 1024 * 1024 * 1024 / 512 = 94371840 blocs
# resizepart /dev/sda 1 94371840
Puis on force le système a redimensionner effectivement la partition :
# resize2fs /dev/sda1 resize2fs 1.45.5 (07-Jan-2020) Filesystem at /dev//sda1 is mounted on /; on-line resizing required old_desc_blocks = 3, new_desc_blocks = 6 The filesystem on /dev/sda1 is now 11796480 (4k) blocks long.
Puis on vérifie que le redimensionnement c’est bien passé comme il faut.
# lsblk -f NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sda |-sda1 ext4 cloudimg-rootfs 02bb033c-a191-40c0-94fb-bb025c724b13 29.2G 33% /