Does GitOps apply to on-prem infrastructure? #101
Replies: 2 comments 2 replies
-
This conversation started on Twitter: https://twitter.com/aklyachkin/status/1523698528299761666 I welcome this conversation as do the other co-chairs, I'm sure. |
Beta Was this translation helpful? Give feedback.
-
No. Using these tools + Git IS NOT GitOps. More specifically these tools, themselves, aren't GitOps because of Principle #4. Example: Terraform + Git, is not GitOps Terraform Kubernetes Operator + Git is GitOps It's not that these tools are "bad", it's that they're missing the continuous reconciliation.
Don't get this confused. Principle #3 doesn't mean pull vs push. It means the Git contents are pulled. But HOW it gets applied, doesn't matter. More clearly: The GitOps Controller retrieves the manifests from git, then the GitOps Controller can push those configurations to remote clusters. The idea behind Principle #3 is to differentiate it from Webhooks (i.e. github actions). I'm only saying this to make it clear. How the manifests end up on the target system from the GitOps controller doesn't necessarily matter, as long as the manifests (from Git or from s3) is PULLED by the GitOps controller.
|
Beta Was this translation helpful? Give feedback.
-
GitOps is built upon 4 principles. Using configuration management tools such Ansible, Chef, Puppet, and so on, and saving the desired configuration in a Git repository, it would be possible to achieve it:
So far so good. The only missing parts I see:
@chris-short brought in, that Kubernetes API gives a capability to declare the entire state of the infrastructure and application "in one feel swoop". It is a big difference between config mgmt approach, when you configure separate assets like servers, and Kubernetes approach, when you may configure the whole cluster with all applications on it.
OTOH you first need an installed Kubernetes cluster and we come back to bare-metal installations and how to describe them in GitOps?
But the main question I have is in the title. Does GitOps apply to on-prem or private IAAS Cloud (non-Kubernetes) infrastructure? If yes, how can it be applied? Any blueprints?
Beta Was this translation helpful? Give feedback.
All reactions