I’m interested in hearing GitOps toolchains for bare metal environments.
Say for instance you are running some Terraform supported VM management platform. You want to:
- Spin up an OS (where does the “gold” image come from? Is it minimal? How do you refresh it as new versions come out? Do you use “infrastructure as code” to even go from DVD/ISO to installed minimal OS? What if anything is manual?)
- Launch Ansible to configure its base OS.
- Use Terraform/Ansible to spin up enough VMs and install Kubernetes.
- Use Ansible to configure networking for the guest VM. How do you automate this (not literally, but manage the allocation of VLANs and IPs)?
- Configure the K8s pods/nodes.
- Build the container, installing and configuring the “microservice” (or service) in it.
- Push the container to K8s, configuring the K8s container settings (networking, sizing, nodes, etc.).
- Spin up the container.
- Destroy and upgrade the container.
- Handle dev and prod.
- Make all this happen by say Jenkins noticing changes in the GitHub repository (do you branch dev vs prod in GitHub?).
- If Jenkins/GitHub - how do you bootstrap them? With “infrastructure as code” or at some point do some things get built by hand?
Interested in hearing how people are handling this or recommendations of resources where these toolchains are demonstrated.