Orkestra
Flux
Orkestra | Flux | |
---|---|---|
4 | 12 | |
102 | 6,956 | |
0.0% | - | |
0.0 | 7.6 | |
about 1 year ago | over 1 year ago | |
Go | Go | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Orkestra
-
Managing lifecycle of a (complex) group of helm applications with Azure Orkestra
Github Repo - Azure/orkestra: Orkestra is a cloud-native release orchestration and lifecycle management (LCM) platform for the fine-grained orchestration of inter-dependent helm charts and their dependencies (github.com)
- Orkestra helps you orchestrate your complex helm releases and manage the lifecycle of your applications by carrying out "non-disruptive" in-service upgrade
-
Orchestration and lifecycle management for complex applications on Kubernetes
Orchestration of a group of complex applications with dependencies between themselves and their subcharts/dependencies is hard
Imagine a scenario in which application that depends on Prometheus, Grafana and Istio. Now let's take it a step further and define a dependency between Istio and it's observability components, Prometheus & Grafana, since Istio itself leverages both Prometheus and Grafana for it's control-plane. In other words we now have a dependency DAG where, the application depends-on Istio depends-on Prometheus & Grafana. Now imagine the application depending on other applications that provide PaaS like infrastructure capabilities required to run the application itself
Defining this dependency order allows all components to spin up both, reliably and efficiently
This would make a huge difference when we are dealing with complex applications like 5G network functions running mission-critical workloads across the network and their lifecycle management (installs/upgrades/rollback). Providers, tend to take releases in a "semi-continuous" manner as opposed to true CD. Meaning, when upgrading, multiple applications and their subcharts may be upgraded in a single release. This is a scenario in which defining the dependency ordering between the applications and their subcharts allows the service providers to limit the blast radius if this go wrong, allowing them to fail fast and rollback without impacting all upgrade-ready apps
Introducing Azure Orkestra https://github.com/Azure/Orkestra that provides the aforementioned capabilities using a familiar Kubernetes declarative CRDscalled ApplicationGroups. Orkestra leverages Argo Workflows to generate DAG workflows to deploy all applications with an application group (and optionally a DAG workflow for the subcharts in each application). The DAG on execution generates HelmRelease objects that are then acted upon by flux helm-operator to reliably perform the helm actions (install, delete, upgrade, rollback)
-
Orchestrate complex, mission-critical applications with Azure/Orkestra
Introducing Azure Orkestra https://github.com/Azure/Orkestra that provides the aforementioned capabilities and features using familiar Kubernetes declarative objects (CRDs) called ApplicationGroups.
Flux
-
Weaveworks Is Shuting Down
Right. Flux was a handy little tool[1] that sync'd yaml manifests in git repos to live clusters. The concept was fascinating, and the tool was well done--small and efficient. Easy to learn.
In 2019, they announced they'd be "merging" with argocd[2]. It seems the merge never really took place, and after that they deprecated flux and announced flux2[3].
The sudden changes of course were a little confusing and perhaps not too well communicated.
1: https://github.com/fluxcd/flux
-
FluxCD - question on configuration/setup in namespaces...
If you are looking at multiple instances of Flux on a cluster which is unmaintained, then most likely you are looking at Flux v1 which is the legacy version and users are all recommended to migrate to the new Flux v2 that has the feature of multiple git repositories and supporting to allow multiple syncs or even multiple tenants.
-
Interesting tools?
CI/CD: Tekton Flux
-
What You Should Know Before Setting Up Your First CI/CD Pipeline
Use ArgoCD or Flux for Kubernetes, and Serverless Stack for your serverless Lambda applications.
-
Top 200 Kubernetes Tools for DevOps Engineer Like You
HybridK8s Droid - Intelligence foor your favourite Delivery Platform Devtron - Software Delivery Workflow for Kubernetes Skaffold - Easy and Repeatable Kubernetes Development Apollo - Apollo - The logz.io continuous deployment solution over kubernetes Helm Cabin - Web UI that visualizes Helm releases in a Kubernetes cluster flagger - Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments) Kubeform - Kubernetes CRDs for Terraform providers https://kubeform.com Spinnaker - Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. http://www.spinnaker.io/ werf - GitOps tool to deliver apps to Kubernetes and integrate this process with GitLab and other CI tools Flux - GitOps Kubernetes operator Argo CD - Declarative continuous deployment for Kubernetes Tekton - A cloud native continuous integration and delivery (CI/CD) solution Jenkins X - Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Tekton, Knative, Lighthouse, Skaffold and Helm KubeVela - KubeVela works as an application delivery control plane that is fully decoupled from runtime infrastructure ksonnet - A CLI-supported framework that streamlines writing and deployment of Kubernetes configurations to multiple clusters CircleCI - A cloud-based tool that helps build continuous integration and continuous delivery pipelines to Kubernetes.
-
Automatic subchart updating?
Does a tool like this exist? I am aware of the argoCD image updater which is similar but not quite what I’m looking for, and am aware that flux has an old feature request for this https://github.com/fluxcd/flux/issues/2711
-
Automation assistants: GitOps tools in comparison
The blog post by Weaveworks, which coined the term GitOps in 2017, also names the first GitOps operator: Flux. In the meantime, this has been completely rewritten as Flux v2. In addition to Flux and Flux v2, the associated project "Flux" develops other components. Weaveworks has now handed the project over to the Cloud Native Computing Foundation (CNCF). By now, the project is in the second maturity level: incubator phase.
-
Azure DevOps and GitOps
Here's our GitHub for Weave Flux and an overview of GitOps
-
Open source Heroku Like Platform on premises
Looks really neat. We have a not-super-trivial rails app that I want to move to docker one day, but kinda scared to make the jump. We're already using docker for development, plus even have a home-grown docker-compose setup for ephemeral labs, but it's clunky at best.
This seems like something that might provide a simple jumping board hopefully... Also bumped into fluxCD[0] recently which also looks interesting.
[0] https://github.com/fluxcd/flux
-
Kubernetes State Checker
> It doesn't make all the other yaml files happen. It doesn't make the yaml files you no longer want happening, stop happening. It doesn't even tell you "these things were created by 'old' yaml files" and should be garbage collected (since it doesn't seem to have a sense of old yaml files).
This is definitely one piece of Kubernetes that is getting a lot of attention recently. The three tools I've been paying attention to are Argo CD[0], Flux[1], and Config Sync[2].
All of these allow you to point your repository to a cluster and sync resources from the repo to the cluster, including deletes.
[0] https://argoproj.github.io/argo-cd/
[1] https://github.com/fluxcd/flux
[2] https://cloud.google.com/kubernetes-engine/docs/add-on/confi...
Disclaimer: I work at GCP, but not on the GKE team. Opinions are my own.
What are some alternatives?
argo - Workflow Engine for Kubernetes
fleet - Deploy workloads from Git to large fleets of Kubernetes clusters
charts - ⚠️(OBSOLETE) Curated applications for Kubernetes
argo-cd - Declarative Continuous Deployment for Kubernetes
keel - Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates
kubernetes-operator-roiergasias - 'Roiergasias' kubernetes operator is meant to address a fundamental requirement of any data science / machine learning project running their pipelines on Kubernetes - which is to quickly provision a declarative data pipeline (on demand) for their various project needs using simple kubectl commands. Basically, implementing the concept of No Ops. The fundamental principle is to utilise best of docker, kubernetes and programming language features to run a workflow with minimal workflow definition syntax. It is a Go based workflow running on command line or Kubernetes with the help of a custom operator for a quick and automated data pipeline for your machine learning projects (a flavor of MLOps).
vault-secrets-operator - Create Kubernetes secrets from Vault for a secure GitOps based workflow.
kubernetes-external-secrets - Integrate external secret management systems with Kubernetes
argo-rollouts - Progressive Delivery for Kubernetes
Bazel - a fast, scalable, multi-language and extensible build system
atlantis - Terraform Pull Request Automation