Kubernetes Architect digest — January 2023
Tags: kubernetes, devops, cloudnative, containers
Published: 2023-01-27 12:59:55

Welcome to the Kubernetes Architect January digest!

In this recap, you will find a curated collection of the **best Kubernetes, GitOps and cloud-native articles, tutorials, libraries and tools** republished in January.

---

## 📚 Articles
### 1. [🔥 Request-based autoscaling in Kubernetes: scaling to zero](https://learnk8s.io/t/3b067a1f-068e-4660-b669-2d32414a74af)
In this article, you will learn how to **monitor the HTTP requests to your apps in Kubernetes and define autoscaling rules** to increase and decrease replicas for your workloads.

### 2. [🔥 How we handled 100k+ CCU on a real-time collective canvas](https://learnk8s.io/t/5bb010f2-cfb9-4785-8ffa-d57e2e7ba362)
In this case study, you will learn how Alexandre & William designed and **scaled a Kubernetes cluster to 250k concurrent users for a charity event.**

### 3. [🔥 Kubernetes capacity and resource management: it's not what you think it is](https://learnk8s.io/t/88e21cf0-a692-42cc-ad7c-54aa3dc02fe4)
In this article, you'll learn how to manage resources and capacity in Kubernetes.

Takeaways:

- Set **Resource Quotas** for each namespace;
- Set **LimitRanges** for each namespace;
- Enforce **rations between requests and limits.**

### 4. [🔥 Design patterns for extensible controllers](https://learnk8s.io/t/b8777e07-fb8d-4c8a-ac35-b279ce1e3c0c)
This article aims to showcase some **examples of how to design extensible controllers and operators for Kubernetes.**

### 5. [Protect Kubernetes APIs with rate limiting](https://learnk8s.io/t/1239d003-e59f-4498-ba83-1d6e79c84644)
Popular apps can be vulnerable to traffic surges that overwhelm the APIs and cause cascade failures.

In this tutorial, you'll **learn how to use multiple Ingress Controllers to prevent Kubernetes apps and APIs from crashing.**

### 6. [Be lean, go far: leveraging Kubernetes for an elastic right-sized platform](https://learnk8s.io/t/521746cc-99ce-4bd2-adb3-7340281ac701)
In this case study, you will learn how the team at BlaBlaCar **improved CPU sizing efficiency in their cluster from 25 to 53%** and avoided wasting resources by getting a more elastic infrastructure.


### More articles worth checking out:
- [Playing with Crossplane, for real](https://learnk8s.io/t/5a26301b-49eb-4958-887d-0eb9306b779d)
- [10 things I wish I'd known before building a Kubernetes CRD controller](https://learnk8s.io/t/5f1a4e07-756a-4755-a32a-95860f7ea84c)
- [Kubernetes informers: opening the mystery box](https://learnk8s.io/t/7ea5c6f0-840a-46fc-80a3-72092f512ace)
- [Observations and thoughts after building 3 Kubernetes platforms in financial services industry](https://learnk8s.io/t/86575d65-36e6-42a5-ad17-15407924e948)
- [Best practices for understanding Kubernetes costs](https://learnk8s.io/t/8df90d29-01c9-40ff-ba83-53073c3f4a76)
- [Using Kiali with Istio in Kubernetes](https://learnk8s.io/t/9121f771-f5ae-48ae-99be-58cee02760f6)
- [Beginners guide to ArgoCD](https://learnk8s.io/t/c730d0b9-ea95-40a2-a217-fb34b9ff3f6a)
- [On Amazon EKS and ACK](https://learnk8s.io/t/cd23acd4-bbf5-4f87-b450-4330cd3af55f)
- [Just-in-time worker nodes with Karpenter](https://learnk8s.io/t/cf38b9e5-b729-4dfa-bee1-24411c277750)
- [GKE with gRPC and ingress-NGINX](https://learnk8s.io/t/d0497144-30fc-4589-8c41-6a19e2e8b806)
- [The importance of limits for containerised JVM applications](https://learnk8s.io/t/fdbaca48-3236-435b-bb78-0c3f62206de9)
- [Consume Kafka events with Knative service and FastAPI on Kubernetes](https://learnk8s.io/t/025f4bc4-a695-4eca-9bab-c11f8d8b76d7)
- [Introduction to Kubernetes extensibility](https://learnk8s.io/t/77384e20-d921-45c6-9ac4-b14c728ddb15)
- [Testing Kubernetes operators using envtest](https://learnk8s.io/t/77d1b56f-0ddd-4eec-aec5-202041d255ba)
- [Argo CD best practices](https://learnk8s.io/t/96ffaa82-2df2-423e-851c-f79d02e258ff)
- [Kubernetes endpoint object: your bridge to external services](https://learnk8s.io/t/aac46e8c-b07a-4899-9176-0ff7d658a5dc)
- [Using Helm to include all files from a directory in-line](https://learnk8s.io/t/b33045ab-b990-495b-9692-2ae6c5faa5c1)
- [Managing Kubernetes control plane events in EKS](https://learnk8s.io/t/bbe808c0-9f0e-4dc4-a46a-67cf521fedc6)
- [Kubernetes was never designed for batch jobs](https://learnk8s.io/t/dbb83ed3-5506-4272-826c-27832bd5b1e0)


---

## 📖 Tutorials
### 1. [Continuous deployments of Kubernetes applications using Argo CD GitOps & Helm charts](https://learnk8s.io/t/7b46c9ca-72b4-4def-9f09-cb8e57d16140)
In this tutorial, you will **learn how to easily set up Argo CD as an app of apps with Helm**, deploy applications with Argo CD and subsequently manage these applications.

### 2. [GitOps for Helm users](https://learnk8s.io/t/f0d525ac-1864-4f0f-b7da-1150a80c44c7)
In this step-by-step tutorial, you will **learn how to convert a Helm chart into declarative Custom Resources for Flux** and gradually migrate your workloads to be GitOps-friendly.

### 3. [Terraform vs Helm for managing Kubernetes objects](https://learnk8s.io/t/44b3e0e9-8d56-4fcb-a751-30b4436b14d0)
In this tutorial, you will cover **Terraform and Helm for managing Kubernetes clusters** with code snippets and an idea of how you can use them together.



### 4. [Creating a mutating webhook for great good!](https://learnk8s.io/t/e6fafb1f-7520-46d3-a130-17d44d1af637)
In this tutorial, you will learn how to automatically **schedule Kubeflow pipeline Pods** from any number of namespaces on dedicated GKE node pools.

### 5. [Using CDK to perform continuous deployments in multi-region Kubernetes environments](https://learnk8s.io/t/ecd336f0-865c-45e7-b3e3-3c80d7b3e6e5)
This post demonstrated how to **create a continuous deployment pipeline to deploy applications in multiple EKS clusters running in different regions.**

The accompanying CDK code creates EKS clusters and the CI/CD stack to continuously deploy applications.



---

## 💼 Kubernetes jobs

### [DevOps Engineer](https://kube.careers/t/36ed4681-88ac-4c34-a06b-66b9210d7159)
- **Salary:** $30K - 50K
- **Location:** Remote (Worldwide) 🗺
- **Tech stack:** Kubernetes, GCP, Docker, GraphQL, Typescript, Redis, Database, CI/CD

### [DevOps Engineer](https://kube.careers/t/714f0816-11e5-4702-9e79-6d4c0ab4f3f7)
- **Salary:** £40K - 50K
- **Location:** Remote (United Kingdom) 🌎
- **Tech stack:** Kubernetes, AWS, Terraform, Ansible, Helm, Docker, Python, CI/CD, Graylog, Prometheus

[Discover more Kubernetes jobs on Kube Careers →](https://kube.careers)

---

## 🛠 Tools and libraries
### 1. [aws-samples/eks-multi-cluster-gitops](https://learnk8s.io/t/16d734d7-3333-4462-95cf-0e90e0b5aa76)
This repo contains the implementation of a **multi-cluster GitOps system on EKS.**

### 2. [coderanger/migrations-operator](https://learnk8s.io/t/16fedd98-3d18-46fa-a864-2859ca9da55a)
Migrations-Operator is a Kubernetes operator to **manage database migrations** or similar application setup tasks.

### 3. [helm/helm-mapkubeapis](https://learnk8s.io/t/218c5cf2-edde-4f2d-bc92-973028ff83de)
mapkubeapis is a Helm v3 plugin which **updates in-place Helm release metadata that contains deprecated or removed Kubernetes APIs** to a new instance with supported Kubernetes APIs.

### 4. [jkosik/helm-decomposer](https://learnk8s.io/t/54648ca0-b582-4734-8ce4-1050e52d426b)
helm-decomposer **decomposes Helm packages and visualizes the hierarchy** of subcharts and images.

### 5. [cdk8s-team/cdk8s](https://learnk8s.io/t/56982297-3003-4af6-a503-22bf71fce790)
cdk8s is an open-source **software development framework for defining Kubernetes applications** and reusable abstractions using familiar programming languages and rich object-oriented APIs.

### 6. [kubefirst/kubefirst](https://learnk8s.io/t/6373f8b3-704d-4c8c-aa99-1086a4d760d7)
The Kubefirst CLI is a cloud provisioning tool that **creates a kubernetes cluster with automated Infrastructure as Code, GitOps** asset management and application delivery, secrets management, and more.

### 7. [crumbhole/argocd-lovely-plugin](https://learnk8s.io/t/9bfc8d0e-8a8a-4a94-a4e0-3aa84b81be35)
This plugin extends ArgoCD with:

- Composing multiple things together to **form a single app from multiple directories.**
- Helm + Kustomize just work.
- You can **chain several plugins together.**
- When used with application sets, you can apply Kustomizations.


### More interesting projects:
- [erjadi/kubecraftadmin](https://learnk8s.io/t/b405cf34-06f8-4e81-b78d-15ef351007ef)
- [berops/claudie](https://learnk8s.io/t/c39346fd-4857-4693-8ca3-ead8187c2e1d)
- [mendrugory/salmorejo](https://learnk8s.io/t/e44e1737-5fb9-4912-9f70-816d539faffb)
- [kubernetes-sigs/kubebuilder](https://learnk8s.io/t/fcdae4c9-4984-4dcb-9a21-3b35c6f43008)
- [pulumi/kube2pulumi](https://learnk8s.io/t/27abae8b-35bb-4ecb-a118-c648c32f2db0)
- [GitOps tools for Flux](https://learnk8s.io/t/75eae716-ca1f-45d0-a624-ab6926660d4f)
- [adamrussak/k8f](https://learnk8s.io/t/9b039a32-a947-4107-8115-d0a77c558d49)
- [vmware-tanzu/kubeapps](https://learnk8s.io/t/bfa433b7-54ca-4c96-9d81-1033776012f5)
- [sieve-project/sieve](https://learnk8s.io/t/f7df16e9-4cb8-4fcb-aa05-0c6de5468bfa)


---

## 📅 Upcoming Kubernetes events
### [Extending OpenShift security and observability with Calico](https://kube.events/t/e86ca846-5d1c-44e5-885c-d844ec1250f3)

📅 31 Jan, 5:00 pm UTC — _Online webinar_.


### [CloudNative SecurityCon North America 2023](https://kube.events/t/ba493832-aded-4b84-b780-c4d3d46ed53d)

📅 1 Feb, 0:00 pm UTC — _In-person conference_ (this event requires an entrance fee).


### [Amazon Elastic Kubernetes Service (EKS)](https://kube.events/t/d123a624-c9d8-49cc-a63c-1ccfc8e0e908)

📅 2 Feb, 11:00 pm UTC — _In-person meetup_.


### [🔥 Run PostgreSQL the Kubernetes way & Kubernetes on autopilot](https://kube.events/t/8709d980-0a91-4c41-8702-79cb51d8d56d)

📅 4 Feb, 5:00 am UTC — _In-person meetup_.


### [CfgMgmtCamp](https://kube.events/t/6a7580e5-b137-4f64-ad1d-8244661e6b51)

📅 6 Feb, 7:00 am UTC — _In-person conference_ (this event requires an entrance fee).


### [🔥 Civo Navigate](https://kube.events/t/e8e8c06d-4946-473f-9cbf-786d428167da)

📅 7 Feb, 0:00 pm UTC — _In-person conference_ (this event requires an entrance fee).



🎫 Use `SP50` to get 50% discount
### [7 Kubernetes tools to boost your productivity](https://kube.events/t/b98029b1-a699-4f5e-991a-8b7050361982)

📅 9 Feb, 8:00 pm UTC — _Online meetup_.


### [🔥 Advanced Kubernetes course](https://kube.events/t/187b891e-f409-4f28-958c-030fb0666dc8)

📅 14 Feb, 9:00 am UTC — _In-person workshop_ (this event requires an entrance fee).


### [Efficient analytics applications with Kubernetes and Volcano](https://kube.events/t/3877c1d1-6a0b-4fee-8644-3310c4d64735)

📅 15 Feb, 6:00 pm UTC — _In-person meetup_.


### [🔥 Kubernetes Community Days Pakistan](https://kube.events/t/2e1e01b4-067d-4c24-aa25-72d085a759b6)

📅 17 Feb, 4:00 am UTC — _Online conference_.


### [Monitoring Kubernetes cluster with Prometheus/Grafana & Kubernetes in Public Cloud](https://kube.events/t/e9e82a6e-e5d1-469d-941e-7feec43356a6)

📅 18 Feb, 5:15 am UTC — _Online meetup_.


### [GitOps for ML: converting notebooks to reproducible pipelines](https://kube.events/t/539cb46c-3f63-491d-bc92-23755e5789f7)

📅 21 Feb, 3:30 pm UTC — _Online meetup_.


### [🔥 Kubernetes Community Days Amsterdam 2023](https://kube.events/t/34401d73-351b-41c7-8544-3dbb928a0ff0)

📅 23 Feb, 7:00 am UTC — _Online & in-person conference_ (this event requires an entrance fee).



🎫 Use `KCDA20` to get 20% off

[Discover this month's (71) events on Kube Events →](https://kube.events)

---

## 📢 Call for papers
- [Devopsdays Zurich](https://kube.events/c/ca85842f-21b4-46d8-94d0-e87bd3fe3f7b) 📍 _Zurich, CH_ (closes Jan 31)
- [🔥 Kubernetes Community Days Ukraine](https://kube.events/c/7e1e9ac4-c16a-4d23-b3cf-cd07adb00c4b) 🌏 _This is a virtual event_ (closes Jan 31)
- [Kubernetes Community Days Turkey 2023](https://kube.events/c/ee147517-099b-4de8-88f7-ab124080ed4c) 📍 _Istanbul, TR and virtual_ (closes Jan 31)
- [Sloconf 2023](https://kube.events/c/29b74888-c164-4b0d-be25-94b94e40e337) 🌏 _This is a virtual event_ (closes Jan 31)
- [CloudLand 2023](https://kube.events/c/d6ff5985-65ae-4078-b634-a1d7dd87a180) 📍 _Cologne, DE_ (closes Jan 31)
- [🔥 JCON Europe](https://kube.events/c/d97029e5-7c0e-4a66-8308-d045438b60e1) 📍 _Cologne, DE_ (closes Jan 31)
- [Devoxx Greece](https://kube.events/c/e824c5ca-7eb3-42f9-85f8-4f584a3be181) 📍 _Athens, GR_ (closes Jan 31)
- [JNation](https://kube.events/c/947cada6-492a-4f5f-9a16-d7e7dfadbdde) 📍 _Coimbra, PT_ (closes Jan 31)
- [Monitorama 2023](https://kube.events/c/50338e0b-b820-4933-8404-e2e5e00e8a37) 📍 _Portland, OR, USA_ (closes Feb 3)
- [🔥 Open source day](https://kube.events/c/bed22efd-3113-49ac-b968-6b3d6269a9a0) 📍 _Florence, IT_ (closes Feb 5)
- [Open source summit North America](https://kube.events/c/f27f353c-99d4-4350-a068-1f4b970c8b45) 📍 _Vancouver, CA_ (closes Feb 5)
- [🔥 DevOps fwdays’23](https://kube.events/c/bb1281e8-dfc8-42bf-9769-6982c3938c56) 🌏 _This is a virtual event_ (closes Feb 10)
- [TEQnation](https://kube.events/c/cf56caa0-04ef-4852-ae95-429baeb7fe66) 📍 _Utrecht, NL_ (closes Feb 10)
- [GeeCON](https://kube.events/c/7a68c38c-6d2d-4ee6-b97a-bfd80bd32b97) 📍 _Kraków, PL_ (closes Feb 10)

[Discover this month's (21) Call for Papers on Kube Events →](https://kube.events/call-for-papers)

---


---

And that's all!

If you prefer reading **a weekly digest of the best Kubernetes news,** you should check out [Learn Kubernetes weekly!](https://learnk8s.io/learn-kubernetes-weekly)

_Until next time!_