Nous essayons de déployer un service d'API Net Net Net à Amazon EKS en utilisant ECR. Le déploiement a réussi, mais les pods sont en attente de statut. Vous trouverez ci-dessous les étapes détaillées que nous avons suivies.
Étapes suivies. 1. Création d'une image Docker 2. poussé l'image sur ECR. L'image est maintenant visible dans AWS Console également. // L'image a l'air bien, j'ai pu l'exécuter à l'aide de mon docker localement.
Création d'un cluster T2-Micro comme ci-dessous Eksctl Créer un cluster --Name Net-Core-Prod -Version 1.14 --Region US-West-2 - Nom -nométrice-Nom-Standard-Ordinateurs --Node Type T2.Micro --Nodes 1 --Nodes-min 1 --Nodes-max 1 -Managé // Cluster et Node Les groupes ont été créés avec succès. // Les rôles IAM ont également été créés
Déployé un contrôleur de réplication à l'aide du JSON/YAML // NET-APP.JON // NET-APL.JON -
La commande get to to to TOW a-t-elle renvoyé. //get_all.png POD reste toujours en attente en attente.
POD décrit a donné le résultat ci-dessous //descript_pod.png
Points clés:
1. Nous utilisons un cluster T2-Micro Instance car il s'agit d'un compte AWS GRATUIT.
[.____] 2. Nous avons créé un cluster Linux et essayé de pousser l'application Core Dotnet. // cela a fonctionné bien dans notre machine locale
3. Le cluster n'avait que 1 nœud // - nœuds 1 --Nodes-min 1 --Nodes-max 1
Quelqu'un peut-il s'il vous plaît nous guider sur la façon de la configurer correctement.
MISE À JOUR: J'ai essayé d'augmenter le nombre de nœuds à 6 et cela fonctionne maintenant.
4 pods de système Kube étaient déjà programmés et donnez donc un essai de l'augmentation de 6.
Je ne suis pas bon chez Kubes, c'est juste un résultat d'essai et d'erreur.
Ce sera vraiment utile, si une personne expérimentée peut avoir une lumière sur la façon dont cela fonctionne.
La question est que vous utilisez t2.micro
. Au minimum t2.small
est requis. Le planificateur n'est pas capable de planifier la nœud sur le nœud, car il n'est pas assez de capacité disponible sur le t2.micro
exemple. La plupart des capacités sont déjà prises par les ressources système. Utilisation t2.small
Au minimum.
Sur le service d'Amazon élastique Kubetestes (EKS
), le nombre maximum de gousses par nœud dépend du type de nœud et des plages de 4 à 737.
Si vous atteignez la limite maximale, vous verrez quelque chose comme:
❯ kubectl get node -o yaml | grep pods
pods: "17" => this is allocatable pods that can be allocated in node
pods: "17" => this is how many running pods you have created
Si vous n'obtenez qu'un numéro, il devrait être alloué. Une autre façon de compter tous les gousses d'exécution consiste à exécuter la commande suivante:
kubectl get pods --all-namespaces | grep Running | wc -l
Voici la liste des pods max par type de noeud: https://github.com/awslabs/amazon-eks-ami/blob/master/files/eni-max-pods.txt
Sur Google Kubettes Engine (GKE
), la limite est de 110 pods par nœud. Vérifiez l'URL suivante:
https://github.com/kubernettes/community/blob/master/sig-scalability/configs-and-limit/thresholds.md
Sur Azure KubeTes Service (AKS
), la limite par défaut est de 30 pods par nœud, mais il peut être augmenté jusqu'à 250. Le nombre maximum de gousses par défaut par nœud varie entre Kubenet et Azure CNI Networking, et la méthode de déploiement de grappes. Vérifiez l'URL suivante pour plus d'informations:
https://docs.microsoft.com/en-us/azure/aks/configure-azure-cni#maximum-pods-Per-node
La POD n'a pas été programmée.
Le problème pourrait être avec la configuration du nœud.
partagez la sortie des commandes ci-dessous pour identifier la cause première
1. kubectl describe node <node-name>
2. kubectl describe pod <pod-name>
3. kubectl get ev
Il y a une limite de combien de gousses vous pouvez exécuter par nœud (quelles que soient les ressources), vous frappez cette limite. Vous pouvez trouver cette limite dans la sortie de Kubectl Obtenir le nœud -o Yaml
De la sortie du nœud, il est clair que vous avez atteint la limite des gousses par nœud. Vérifiez la capacité VS allouée pour les pods. Les deux montrent que le nombre a 4.
Résolution: Vous devez ajouter un noeud supplémentaire au cluster pour pouvoir déployer une charge de travail supplémentaire.