dans un Dockerfile : ENTRYPOINT + CMD
chez k8s : command + args
git merge-base branch2 branch3
050dc022f3a65bdc78d97e2b1ac9b595a924c3f2
git merge-base HEAD origin/master
Je cherchais à déployer le même build sur un env de preprod et ensuite sur la prod si le build est ok
Ce qui se fait très bien "à l'ancienne" avec Jenkins/Bamboo :
Je ne retrouvais pas cette logique dans les outils plus récents car le deploy est toujours lié au build donc je ne voyais pas comment faire..
La clé est dans la possibilité de pouvoir arrêter un job, de le mettre en pause pour pouvoir le déclencher plus tard si on le souhaite
Donc pour un commit push sur un master, le workflow va se déclencher...
Si on voit que tout est ok sur preprod, on peut venir resume le deploy prod ! on va utiliser le même build qu'on a testé sur la preprod
C'est le même principe, on veut check la preprod avant de déployer la prod en utilisant le même build, mais implémenté différement
L'équivalent chez circleci :
https://circleci.com/blog/manual-job-approval-and-scheduled-workflow-runs/
https://circleci.com/docs/2.0/workflows/#holding-a-workflow-for-a-manual-approval
Et chez Jenkins (récent) :
https://jenkins.io/doc/pipeline/tour/deployment/#asking-for-human-input-to-proceed
Dans la plupart des cas, on peut maintenant oublier logstash et utiliser les ingest node (pipeline) d'elasticsearch
EFK (Elasticsearch, Filebeat, Kibana)
Le 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
Too bad dry run and diff only available on 1.13
EKS is 1.11 only atm ;-(
How to configure LoadBalancer (ELB) populated by k8s in aws (eks)
The Quickest Way to Show/Hide Hidden Files
Since the release of macOS Sierra, when in Finder, it is now possible to use the shortcut:
CMD + SHIFT + .
brew install gnu-sed
PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
feel better