ça m'est arrivé, bien galère..
Il faut ajouter des quotes aux value des annotations pour qu'elles soient prise en compte lors d'un apply
-
https://blog.8bitzen.com/05-07-2018-k8s-kubecl-ignores-annotation-changes/Quand on modifie un deployment avec un kubectl apply -f chemin/vers/fichier.yaml
Le rollout history n'est pas complété, aucune révision n'est créée
Il faut ajouter un --record à la commande précédente ce qui va créer une révision avec un "change cause" qui va reprendre la commande :
REVISION CHANGE-CAUSE
10 kubectl apply --filename=k8s/preprod/ --record=true
Pas mal mais on peut faire mieux en ayant par exemple le hash du commit (ou le numéro du build..) dans ce "change cause"
Pour ça, dans la CI/CD, on peut renommer par exemple le dossier avant de lancer le kubectl apply -f, ce qui donnera :
REVISION CHANGE-CAUSE
11 kubectl apply --filename=k8s/preprod-a5bcec9 --record=true
Et comme ça on a un rollout history bien propre pour s'y retrouver ;)
-
https://links.infomee.fr/shaare/7sdJlAdans un Dockerfile : ENTRYPOINT + CMD
chez k8s : command + args
-
https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#define-a-command-and-arguments-when-you-create-a-podLe nombre de pods par worker node dépend du type d'EC2 utilisé qui détermine combien d'interfaces secondaires on a à notre disposition et de combien d'ips sur chaque interfaces on peut allouer.
Exemple avec une t2.small, on a 2 interfaces secondaires et sur chacune on peut allouer 4 ips. On peut donc lancer 8 pods maximum sur une t2.small
Il faut aussi savoir qu'un cluster EKS va faire tourner de base quelques pods :
Ce qui équivaut à 2 pods occupés sur chaque worker node (à cause des deux daemonset) et 2 pod supplémentaire lancé sur la totalité du cluster (pour coredns).
Il faut aussi compter un pod pour le dashboard, un pod pour le metrics-server et surement 2 pods pour l'external-dns, sans compter les ingress
Tout ça pour dire que ce n'est pas facile d'avoir un "petit" cluster EKS : on va vite être limité par le nombre d'ip qui est assez faible sur les EC2 les plus modestes et on va vite être obligé de lancer des EC2 supplémentaire juste pour avoir des ip
-
https://links.infomee.fr/shaare/j-DVoQToo bad dry run and diff only available on 1.13
EKS is 1.11 only atm ;-(
-
https://kubernetes.io/blog/2019/01/14/apiserver-dry-run-and-kubectl-diff/How to configure LoadBalancer (ELB) populated by k8s in aws (eks)
-
https://kubernetes.io/docs/concepts/services-networking/service/#elb-access-logs-on-aws