397 liens privés
Explication de la nouvelle couche réseau apparue dans docker 1.9.
En complément si vous utilisez swarm, voici un article qui détaille 'Overlay Networks' qui est le driver réseau par défaut https://medium.com/on-docker/docker-overlay-networks-that-was-easy-8f24baebb698
Kubernetes permet de faire des rolling updates, pour passer d'une version à une autre d'un code, sans interruption.
Cela consiste à remplacer un ensemble de conteneur d'une version X par une version Y, et ce de façon fluide. Ils s'occupent du connection draining. On peut également annuler le rollout et faire des rollbacks. C'est d'ailleurs la grande force de ce type d'infra immutable: pas de surprise. L'appli est packagée dans un tout : une image. Cette image aura été testé en amont et on sait exactement l'état du système qu'on souhaite déployer.
Magnifique.
Exemple de code: https://github.com/kubernetes/kubernetes/tree/release-1.0/docs/user-guide/update-demo
Démo vidéo (j'ai calé la vidéo au bon moment): https://www.youtube.com/watch?v=Bcs-inRnLDc&&t=4769 . La vidéo entière vaut vraiment le détour.
"""
Kubernetes includes a cool feature called namespaces, which enable you to manage different environments within the same cluster. For example, you can have different test and staging environments in the same cluster of machines, potentially saving resources. You can also run different types of server, batch, or other jobs in the same cluster without worrying about them affecting each other.
"""
http://kubernetes.io/v1.0/docs/user-guide/namespaces.html
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.
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
$ lxc remote add images images.linuxcontainers.org
"""
https://linuxcontainers.org/ is the umbrella project behind LXC, LXD, LXCFS and CGManager.
The goal is to offer a distro and vendor neutral environment for the development of Linux container technologies.
"""
par Canonical
"""
This blog is post is going to explain how to route traffic on your host through a Tor Docker container.
"""
"""
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