Ressources allouées aux pods provisionnés par des noeuds virtuels
Découvrez les limites et d'autres facteurs à prendre en compte dans l'allocation de ressources d'UC, de mémoire et de stockage aux pods provisionnés par des noeuds virtuels lors de l'utilisation de Kubernetes Engine (OKE).
Lorsque vous utilisez des noeuds virtuels, l'allocation des ressources est au niveau du pod (plutôt qu'au niveau du noeud de processus actif).
Allocation des ressources de CPU et de mémoire
Pour calculer le nombre d'UC (exprimées dans les UC Oracle ou OCPU) et la quantité de mémoire à allouer aux pods provisionnés par les noeuds virtuels, Kubernetes Engine prend en compte les éléments suivants :
- les demandes de CPU et de mémoire et les limites pour chaque conteneur spécifié dans la spécification de pod, le cas échéant
- le nombre de conteneurs dans le pod
- les exigences d'exécution de kube-proxy et de conteneur (0.25GB de mémoire, CPU négligeable)
Les valeurs minimales suivantes s'appliquent aux demandes de CPU et de mémoire de pod :
- 0.125 OCPU
- 0.5GB de mémoire
En ce qui concerne les limites d'UC et de mémoire et les demandes indiquées dans la spécification de pod pour les conteneurs, Kubernetes Engine applique les règles suivantes lors du calcul de l'allocation d'OCPU et de mémoire :
- Si une limite est indiquée dans la spécification de pod mais qu'aucune demande n'est émise, Kubernetes Engine utilise la valeur de limite.
- Si une demande est indiquée, mais sans limite, Kubernetes Engine utilise la valeur de la demande.
- Si une demande et une limite sont spécifiées, Kubernetes Engine utilise la valeur de limite.
- Si aucune demande ni limite n'est indiquée, Kubernetes Engine utilise 0,125 OCPU et 0.5GB par conteneur.
Etant donné que les pods provisionnés par des noeuds virtuels ont toujours une capacité assurée, nous vous recommandons de définir des limites et des demandes sur la même valeur.
Le nombre maximal de CPU pouvant être allouées aux pods provisionnés par les noeuds virtuels dépend de la forme (et du processeur) indiquée pour le pool de noeuds virtuels. Par exemple, dans le cas de Pod.Standard.E3. Flex et Pod.Standard.E4. Formes flexibles (AMD), le nombre maximal est de 64 coeurs (128 vCPUs).
Le nombre d'OCPU allouées aux pods provisionnés par des noeuds virtuels détermine également la bande passante réseau disponible pour les pods, avec 1 Gbit/s disponible par OCPU soumise aux limites suivantes :
- une limite de bande passante maximale de 40 Gbits/s
- une limite de bande passante minimale de 1 Gbit/s
Lors du calcul de l'allocation d'OCPU et de mémoire, Kubernetes Engine effectue actuellement les opérations suivantes :
- arrondit l'allocation d'UC au nombre entier d'OCPU le plus proche
- arrondit l'allocation de mémoire au nombre entier de Go le plus proche
Affectation de stockage
Les pods provisionnés par des noeuds virtuels disposent chacun de 15 Go d'espace de stockage, dans lequel stocker les systèmes de fichiers racine des conteneurs exécutés sur le pod. Notez que les images de conteneur consomment une partie de cette allocation de stockage de 15 Go. L'allocation restante est disponible pour l'application en tant que stockage temporaire.
Facturation des ressources
Lorsque vous exécutez un travail Kubernetes sur des noeuds virtuels, vous continuez à être facturé pour les ressources que le travail utilise tant qu'il existe, même lorsque le travail est terminé ou a échoué. Par conséquent, pour éviter d'être facturé pour des ressources inutilement, supprimez le travail une fois qu'il est terminé. Par exemple, à l'aide d'une commande telle que kubectl delete job <job-name>
ou kubectl delete -f <job-spec>.yaml
.