CatOps
5.04K subscribers
94 photos
5 videos
19 files
2.63K links
DevOps and other issues by Yurii Rochniak (@grem1in) - SRE @ Preply && Maksym Vlasov (@MaxymVlasov) - Engineer @ Star. Opinions on our own.

We do not post ads including event announcements. Please, do not bother us with such requests!
Download Telegram
Демо progressive delivery в Kubernetes, или по-простому "canary" с помощью Istio, Flux, Helm Operator и Flagger от создателя Flagger.

А вот похожая штука от него же, но с Linkerd и без красивого оформления.

#kubernetes #cicd #gitops
Всё больше людей начали интересоваться GitOps в целом и ArgoCD в частности, поэтому напомню про сборник лучших практик по работе с ArgoCD от, собственно, ArgoCD

#gitops
GitOps кажется светлым будущим CICD, но вот тут собраны 6 проблем, с которыми можно столкнуться при имплементации GitOps.

Ничего смертельного, но статья ещё раз напоминает, что нужно планировать наперёд ту или иную фичу конкретно для своего случая / окружения.

#gitops #cicd
I like it when articles on the Web start discussions. Although, sometimes such articles are just click bait, but you can figure it out based discussions they ignite.

Steve Smith wrote an article called "GitOps is a placebo", where he argues that GitOps haven't bought anything new to the table, because all its core concepts already existed in form of Continuous Delivery and Infrastructure as Code.

And here is the reply to this article by Carlos Sanchez in the form of a Twitter thread.

Feel free to share your own thoughts on GitOps in our chat

#cicd #iac #gitops
From our subscribers.

Application Delivery Technical Advisory Group of CNCF released the v1.0.0 of GitOps specification.

You can find the specification itself on the GitHub.

Basically, a GitOps system should comply with 4 main principles:
1. Declarative: A system managed by GitOps must have its desired state expressed declaratively.
2. Versioned and Immutable: Desired state is stored in a way that enforces immutability, versioning and retains a complete version history.
3. Pulled Automatically: Software agents automatically pull the desired state declarations from the source. Agents within the system pull the desired state from the repository.
4. Continuously Reconciled: Software agents continuously observe the actual system state and attempt to apply the desired state.

You could kinda deduce these principles already, but now they’re formalized. Besides, you can adopt these principles and, well, GitOps not only for your services, but for IaC as well.

There are still open questions, for example, how to handle incidents in the immutable environment. However, I like the overall direction. Specifically the point that even though we switched to “cattle” servers from the “pet” ones, we still trat environments as “pets” and we need to stop that.

I see that demand for running dynamic environments increasing across the industry. So, this is definitely a valid point and an interesting area to explore.

#gitops #cicd #culture
​​Yet another post from the #app_bundle series. This is again a video from Viktor Farcic on how to combine ArgoCD, Crossplane, and KubeVela to completely abstract Kubernetes away from your product engineers aka developers and (allegedly) make their lives easier.

In the end of each year, many people make predictions on what upcoming times would look like. And I can say that abstracting clusters away will be a big thing in the industry. This brings us to the logical question: "So, why do all this stuff and not just use serverless options out of the box?". I will let you answer this question on your own.

P.S. You can save this post to blame me later, if this prediction happens to be wrong.

#kubernetes #cicd
GitLab is adopting FluxCD as its GitOps engine.

This is process has just started. So, GitLab's own Kubernetes agents remain the same and, according to this article, likely won't be deprecated till 2025. However, the GitOps functionality is transitioned into the maintenance mode.

Also, this article contains the justification behind Flux. Mainly, it was chosen because it fully relies on Kubernetes API, while Argo provides it's own API and UI, which is harder for GitLab folks to integrate into their own product.

#cicd #gitops #gitlab #kubernetes
👍14😢4🔥1🤔1
A neat comparison between Argo and Flux.

I like the fact that the article mostly focuses on UX and use cases. Yet, I would disagree with this statement here:
 would deploy one Argo CD per tenant, where each tenant is an independent developer team with their applications, but it can work with multiple clusters, for example, dev/stage/prod, etc.

I mean sure. If you have enough resources, go for it! However, I witnessed how getting down from “Argo per team” to “just one Argo” reduced resource consumption in a cluster by 90%.

#cicd #gitops
👍8👎3🔥2😱2
How We Load Test Argo CD at Scale: 1,000 vClusters with GitOps on Kubernetes.

An interesting benchmark of ArgoCD. While the setup is somewhat too specific (vCluster), this benchmark provides some insights into the limitations of ArgoCD at scale. There are also manifests available, so you can reproduce the experiment (using some YAML generation with Bash :D)

#kubernetes #gitops #argocd
🔥10👍1