Here at Arrikto we believe that the best way to maintain, at scale, rapidly evolving and secure K8s environments is through the standardization of deployments through a well defined GitOps process. In this blog post we will answer critical questions around GitOps and outline how Arrikto in Q3 and beyond will continue to pioneer new solutions for our customers in this area.
What is GitOps?
GitOps is the practice of managing technical deployments with an infrastructure-as-code approach. Developers and/or administrators maintain a centralized set of manifests. These manifests define all access controls, configurations, and customizations for enterprise deployments. All changes and customizations, as well as maintenance and upgrades, pushed to the central repository are pulled to all relevant environments, deployments, clusters, containers, or pods.
Why Do GitOps?
GitOps is based on a single source of truth for deployment configurations. Each change creates a new version of the deployment. Cluster administrators pull from the central repositories to their development, staging, and production environments. Pulling infrastructure configurations from a git repository instead of making direct configuration edits to environments, provides a clear accounting of all changes and a well-understood and reliable means of rolling back misconfigurations. A declarative model for infrastructure introduces greater consistency, stability, reusability, and confidence in the system.
How Arrikto Simplifies GitOps:
In Q3, we focused heavily on developing the foundation for a CI/CD automated GitOps solution for our customers to simplify the deployment of Arrikto Enterprise Kubeflow, specifically:
- We provide an automated end-to-end GitOps deployment process.
- Users go through a wizard to customize EKF based on their infrastructure/configuration needs.
- Our installer generates Kubernetes overlay manifests automatically using Kustomize.
- The installer automatically commits the manifests to a Git repo (ensures immutability/reproducibility).
- The installer automatically applies the manifests to the target Kubernetes deployment.
The following diagrams show ideal environments set up following GitOps best practices.
In sum, Arrikto’s installer generates, commits, and applies Kustomize manifests in a fully automated way which allows for our customers to make micro-updates to individual components. In subsequent quarters we will introduce further integrations with CI/CD platforms – stay tuned!