397 liens privés
bon bah vivement la version 1.1.
"""
cadvisor - Analyzes resource usage and performance characteristics of running containers.
"""
Un conteneur qui monitore d'autres conteneurs (via les volumes docker).
Ca donne ça: https://wooster.checkmy.ws/assets/img/posts/wordpress-docker/cadvisor.png
"""
I just delivered a 4-day deep-dive training course on Docker and Kubernetes to a customer in Atlanta. In true open-source spirit, I’d like to publish the source/slides and allow other people to benefit from it and contribute to making it better.
"""
Pour Kubenetes ça commence au 2ième jour.
"""
Fabric8 is an integrated open source DevOps and Integration Platform which works out of the box on any Kubernetes or OpenShift environment and provides Continuous Delivery, Management, ChatOps and a Chaos Monkey.
"""
Voila qui est intéressant.
Overview: http://fabric8.io/guide/overview.html
"""
Along the way we found a few gotchas around the .tfstate, since Terraform always first reads from the existing infrastructure and complains if the state gets out of sync. We ended up just committing our .tfstate to the repo, and pushing it after making any changes, but we’re looking into Atlas or applying via CI to solve that problem.
"""
Hehe, pourtant y'a les remote states (https://terraform.io/docs/state/remote.html) qui peuvent être stockés à distance. Sur S3 par exemple.
Cloudbees a bossé sur des plugins Jenkins fournissant une chaine de construction d'images docker.
Exemple: repo git d'une appli java + une image OS = image docker avec OS + tomcat + war.
Ceci en prenant en compte le workflow nécessaire à l'intégration continue.
Pour en savoir plus, lire le livre blanc qui détaille leur travail: https://pages.cloudbees.com/rs/083-PKZ-512/images/Docker-Jenkins-Continuous-Delivery.pdf
Comme je l'explique dans cet article écrit vite-fait, si vous utilisez docker sur un serveur accessible du net qui possède déja son firewall basé sur iptables, je vous conseille fortement de désactiver les règles iptables automatiques de docker avec le switch --iptables=false.
Aujourd'hui... un tip systemd :D
Pour changer le répertoire par défaut des données docker (/var/lib/docker) avec systemd. Ne pas utiliser /etc/default/docker qui est réservé à sysvinit && upstart.
Faire plutôt ceci:
"""
mkdir /etc/systemd/system/docker.service.d
cat << EOF > /etc/systemd/system/docker.service.d/dir.conf
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --graph /path/to/docker
EOF
systemctl daemon-reload
"""
doc officielle basée sur la même source: https://docs.docker.com/articles/systemd/
Spiroid travaille sur la création d'images docker dédiées pour cozy-cloud:
configuration
couchdb data
couchdb
data indexer
controller
La base c'est du busybox pour les dockers dédiés aux données (les 2 premiers).
Pour le reste, c'est du debian jessie ou sid.
Du bon travail qui suit les guidelines docker, contrairement au projet officiel qui construit une grosse image ubuntu avec tout dedans et qui utilise supervisord alors que ce n'est pas nécessaire (https://github.com/cozy-labs/cozy-docker).
Docker permet maintenant de lier son compte DockerHub (qui est leur 'registry') à son compte github/bitbucket.
Un build+push docker peut être déclenché automatiquement en cas de nouveau push de code sur le repo source. Ils mettent également des webhooks à disposition.
L'avantage de tout cela c'est bien sûr l'automatisation mais aussi la rapidité du push qui se fait dans le réseau interne (du moins pas chez nous) de DockerHub.
On évite donc de se farcir ce genre de push avec sa connexion dont le débit montant est tout pourri:
"""
$ docker push jeekajoo/latex
The push refers to a repository [docker.io/jeekajoo/latex] (len: 1)
43dd5ef50d5a: Image successfully pushed
ec6dfc2f18eb: Image successfully pushed
10639d10bb2a: Image successfully pushed
9c082c525478: Image successfully pushed
ac0efd47f43b: Buffering to Disk
ac0efd47f43b: Pushing [> ] 13.89 MB/2.357 GB
"""
On obtient un joli rapport avec les logs dans l'onglet 'Build Details'. Ca donne ça: https://hub.docker.com/r/jeekajoo/latex/builds/
Si le build se vautre, on reçoit un mail. Autant le tester correctement en local avant de déclencher un build/push inutile chez DockerHub.
Retour d'expérience de docker, en prod (sans dec' ;) ).
News et retours d'expérience autour d'Amazon ECS. Pour info, ils rejoignent l'Open Container Project.
"""
(...)
Recently, Microsoft started using the pets versus cattle analogy, symbolizing the difference between how an administrator optimally treats a virtual machine image, and how she treats a container image. At DockerCon, advocates of a complete wave of change for the data center argued that administrators should learn to treat containers as ephemeral, that they should stop bestowing them with reverence and pet names, and instead see them as temporary delivery units for small quantities of functionality.
HashiCorp has a more contextual view of the ecosytem. For example, it may make sense to keep the database running, keeping it a pet, while the application itself might be abstracted into multiple services and be more ephemeral, like cattle.
“We believe that VMs and containers should be treated the same,” says Fishner. “The way we’ve built our tools, we are completely infrastructure- as well as technology-agnostic, in the way you get your application from development code to running in production.”
(...)
“We certainly agree with the transition from pets to cattle,” he says. “I think there’s going to be some things that, for the near future, aren’t realistic, like treating databases as cattle — that isn’t a problem that’s going to be solved any time in the near future. But treating stateless things as cattle is very well-adopted, so I think that we try to accommodate both.”
(...)
"""
Une approche hybride car ça n'a pas de sens de tout containeriser:
Traiter tout ce qui est stateless comme du bétail* (un serveur d'appli par ex) => containeriser, rendre ephémère
Traiter ce qui n'est pas stateless (une base de donnée par exemple) comme un animal de compagnie => VM ou bare-metal
Réalisable avec du Packer (création d'images ec2 (mais pas seulement)), Consul (service discovery/monitoring), Terraform (provisionning), Docker, Atlas (solution proprio de management packer/consul/terraform).
- Ooops, je vais m'attirer les foudres de certains shaarlistes >< Je ne fais que citer.
Prise en main rapide de Kubernetes avec Vagrant.
via Doo http://dooby.fr/links/?joe5ig
"""
So does that mean Java application servers are dead? In a docker world there’s really no need to ever hot deploy java code into a running java process in production any more. However that can be useful in development; being able to hot deploy code into a running instance. (Though to be fair you can do the same thing in any Java application with tools like JRebel; most IDE debuggers do the same trick too).
So I’d say that Java Application Servers are mutating into becoming more like frameworks that are baked into an immutable image that are then managed externally by the cloud (e.g. via kubernetes). In many ways the cloud (e.g. kubernetes and docker) takes over many of the features that Java application servers used to do; since rolling upgrades of new images is needed for all technologies (java/golang/nodejs/python/ruby et al).
"""
via https://julien.mailleret.fr/links/?D0Ck6w
"""
This blog is post is going to explain how to route traffic on your host through a Tor Docker container.
"""
Appli web permettant d'éditer des fichiers YAML pour docker-compose (successeur de fig) finger-in-da-noze.
via l'article qui en parle http://www.centurylinklabs.com/lorry-io-pathway-to-docker-composable-apps/
"""
First of all, we retrieve all PHPUnit groups by running a container with the phpunit --list-group command.
Next the gnu parallel command helps us to run tests for each group in parallel. Each task is launched by one core of your processor. If you've got a large cruiser with 8 core then you can run 8 tests group simultaneously.
"""
c'est cool la commande parallel.
exemple:
"""
$ cat test
30
20
40
$ cat test | parallel sleep {}
"""
ça lance simultanément un
"""
$ sleep 20
$ sleep 30
$ sleep 40
"""
xargs peut faire la même chose mais c'est plus chiant parce que faut indiquer '-P' (max-procs):
"""
$ echo {1..5} | xargs -n 1 -P 5 sleep
"""
"""
What if it’s only a second to spin a machine up or down? We can start to have machine per web request, or machine per social interaction (IM, tweet or hug).
"""
via dotscale.io