2 ms·
But you still need to configure things, even if they are immutable at runtime. And you need to manage that configuration over time in some systematic way. You
by skywhopper 7y ago
But you still need to configure things, even if they are immutable at runtime. And you need to manage that configuration over time in some systematic way.
You always have a configuration management system.
- mleonhard 7y agoI'm using Terraform to deploy Docker containers. Terraform's docker_container resource has a lovely 'upload' feature which one can use to upload files into the container. I make Terraform load server config files (or use multi-line strings in the .tf file), perform variable replacement, then destroy Docker containers and recreate them with updated config files. All persistent data is stored in directories bind-mounted into the Docker container. Terraform has some limitations. For example, one deployment cannot deploy hosts and their containers [1]. And there is no usable support for rolling deployments [2, 3]. So I've ended up with a 4-stage deployment: host-set1, containers on host-set1, host-set2, containers on host-set2. I also use Terraform to deploy the servers to my laptop during development. Docker for Mac works well. Someday, Kubernetes will get some usable documentation on how to do normal things [4]. Then I will use it for deploying containers, load balancers, and persistent volumes. For now, it's too big of a complexity jump over plain Docker. [1] https://github.com/hashicorp/terraform/issues/2430 https://github.com/hashicorp/terraform/issues/2430 [2] https://github.com/hashicorp/terraform/issues/23735#issuecomment-568047226 https://github.com/hashicorp/terraform/issues/23735#issuecom... [3] https://github.com/hashicorp/terraform/issues?q=is%3Aissue+%22Error%3A+Cycle%3A%22+create_before_destroy+ https://github.com/hashicorp/terraform/issues?q=is%3Aissue+%... [4] https://github.com/kubernetes/website/issues/19139 https://github.com/kubernetes/website/issues/19139