Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .vitepress/theme/blog-sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export const blogSidebarConfig = {
documentRootPath: '/hugo/content',
scanStartPath: 'blog',
resolvePath: '/blog/',
collapsed: true,
collapsed: false,
useTitleFromFrontmatter: true,
capitalizeFirst: true,
useFolderTitleFromIndexFile: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ publishdate: 2019-06-11
archivedate: 2019-07-11
---

Gardener has an excellent ability to [automatically scale machines](../2021/01.25-Machine-Controller-Manager.md) for the cluster. From the point of view of scalability, there is **no need for manual intervention**.
Gardener has an excellent ability to [automatically scale machines](../2021/01.25-machine-controller-manager.md) for the cluster. From the point of view of scalability, there is **no need for manual intervention**.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check whether the lowercase target exists in the archived folder
fd --type f "01.25-machine-controller-manager.md" website/archived/

# Also check for the old mixed-case file to confirm it was renamed (not duplicated)
fd --type f "01.25-Machine-Controller-Manager.md" website/archived/

Repository: gardener/documentation

Length of output: 48


🏁 Script executed:

#!/bin/bash
# List files in the 2021 directory
ls -la website/archived/blog/2021/ 2>/dev/null || echo "Directory does not exist"

# Search for any file with "machine" in the name
fd --type f "machine" website/archived/blog/

Repository: gardener/documentation

Length of output: 90


🏁 Script executed:

#!/bin/bash
# Check what actually exists in archived/blog/
ls -la website/archived/blog/ 2>/dev/null | head -20

# Search for any file with "machine" in name anywhere in archived/
fd --type f "machine" website/archived/

Repository: gardener/documentation

Length of output: 276


🏁 Script executed:

#!/bin/bash
# Search for machine-controller-manager files anywhere in website/
fd --type f "machine-controller-manager" website/

# Also check if there's a 2021 directory anywhere
find website/ -type d -name "2021"

Repository: gardener/documentation

Length of output: 140


The link target does not exist in the archived directory.

The link points to ../2021/01.25-machine-controller-manager.md, which would resolve to website/archived/blog/2021/01.25-machine-controller-manager.md. However, there is no 2021 directory in the archived blog structure (only 2018 and 2019 exist). The actual file exists at website/blog/2021/01/01.25-machine-controller-manager.md in the active (non-archived) blog directory. The link target is broken and needs to be corrected to point to the correct file location or replaced with a valid link.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@website/archived/blog/2019/06.11-Manually-Adding-a-Node-to-an-Existing-Cluster.md`
at line 11, The markdown link "../2021/01.25-machine-controller-manager.md" in
the sentence is broken because the archived directory has no 2021 content;
update that link target to point to the actual active blog post
"01.25-machine-controller-manager.md" in the 2021 blog (e.g.,
/blog/2021/01/01.25-machine-controller-manager.md) so the link resolves to the
existing article.


![teaser](./images/teaser.svg)

Expand Down
5 changes: 5 additions & 0 deletions website/blog/2018/06/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: June
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2018/07/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: July
layout: blog-list
aggregate: true
---
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ archivedate: 2018-12-30

For a team event during the Christmas season we decided to completely reinterpret the topic `cookies`... since the vegetables have gone on a well-deserved vacation. :-)

Get the recipe at [Gardener Cookies](./12.25-Gardener_Cookies.md).
Get the recipe at [Gardener Cookies](./12.25-gardener-cookies.md).
5 changes: 5 additions & 0 deletions website/blog/2018/12/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: December
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2019/05/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: May
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2019/06/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: June
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2020/05/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: May
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2020/08/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: August
layout: blog-list
aggregate: true
---
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ The Gardener API server is now forbidding such requests if the seeds are not com

### Logging Improvements for Loki (multiple PRs)

After we released our large logging stack refactoring (from EFK to Loki) with [Gardener v1.8](./08.06-Gardener-v1.8.0-Released.md), we have continued to work on reliability, quality and user feedback in general.
After we released our large logging stack refactoring (from EFK to Loki) with [Gardener v1.8](../08/08.06-gardener-v1.8.0-released.md), we have continued to work on reliability, quality and user feedback in general.
We aren't done yet, though, Gardener v1.10 includes a bunch of improvements which will help to graduate the `Logging` feature gate to beta and GA, eventually.

## Notable Changes in v1.9
Expand Down
5 changes: 5 additions & 0 deletions website/blog/2020/09/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: September
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2020/10/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: October
layout: blog-list
aggregate: true
---
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ We are not finished yet, but we do small increments and plan to progress on the

### `NodeLocalDNS` Network Policy Rules Adapted ([gardener/gardener#3184](https://github.com/gardener/gardener/pull/3184))

The alpha `NodeLocalDNS` feature was already [introduced and explained with Gardener v1.8](./08.06-Gardener-v1.8.0-Released.md) with the motivation to overcome certain bottlenecks with the horizontally auto-scaled CoreDNS in all shoot clusters.
The alpha `NodeLocalDNS` feature was already [introduced and explained with Gardener v1.8](../08/08.06-gardener-v1.8.0-released.md) with the motivation to overcome certain bottlenecks with the horizontally auto-scaled CoreDNS in all shoot clusters.
Unfortunately, due to a bug in the network policy rules, it was not working in all environments.
We have fixed this one now, so it should be ready for further tests and investigations.
Come give it a try!
Expand Down
5 changes: 5 additions & 0 deletions website/blog/2020/11/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: November
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2020/12/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: December
layout: blog-list
aggregate: true
---
File renamed without changes
File renamed without changes
5 changes: 5 additions & 0 deletions website/blog/2021/01/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: January
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2021/02/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: February
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2021/09/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: September
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2022/02/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: February
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2022/03/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: March
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2022/06/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: June
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2022/10/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: October
layout: blog-list
aggregate: true
---
Original file line number Diff line number Diff line change
Expand Up @@ -445,4 +445,4 @@ The Gardener project is Open Source and [hosted on GitHub](https://github.com/ga

Feedback and contributions are always welcome!

All channels for getting in touch or learning about the project are listed on our [landing page](../../documentation/contribute/_index.md#community). We are cordially inviting interested parties to join our [bi-weekly meetings](../../documentation/contribute/_index.md#bi-weekly-meetings).
All channels for getting in touch or learning about the project are listed on our [landing page](../../../documentation/contribute/_index.md#community). We are cordially inviting interested parties to join our [bi-weekly meetings](../../../documentation/contribute/_index.md#bi-weekly-meetings).
5 changes: 5 additions & 0 deletions website/blog/2023/03/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: March
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2024/04/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: April
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2024/05/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: May
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2024/10/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: October
layout: blog-list
aggregate: true
---
File renamed without changes.
5 changes: 5 additions & 0 deletions website/blog/2024/11/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: November
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2024/12/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: December
layout: blog-list
aggregate: true
---
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ While compute was our main focus, we also addressed significant cost drivers in
### Centralized Ingress & Caching

* **Centralized Ingress:** In Gardener's early days, each shoot control plane had its own Load Balancer (LB), plus another for the reverse tunnel connection to worker nodes (to reach webhooks, scrape metrics, stream logs, `exec` into pods, etc.). This proliferation of LBs was expensive. We transitioned to a model using a central Istio ingress-gateway per seed cluster with a single LB, leveraging SNI (Server Name Indication) routing to direct traffic to the correct control plane API servers. We also reversed the connection direction: shoots now connect *to* seed clusters, and seeds connect *to* the garden cluster. This reduced the need for LBs exposing seed components and enabled *private* shoots or even *private* seeds behind firewalls.
* **Registry Cache:** Pulling container images for essential components (like CNI, CSI drivers, kube-proxy) on every new node startup generated significant network traffic and costs. We implemented a [registry cache extension](https://github.com/gardener/gardener-extension-registry-cache), drastically reducing external image pulls (see [blog post](../../2024/04-22-Gardener's-Registry-Cache-Extension-Another-Cost-Saving-Win-and-More.md)).
* **Registry Cache:** Pulling container images for essential components (like CNI, CSI drivers, kube-proxy) on every new node startup generated significant network traffic and costs. We implemented a [registry cache extension](https://github.com/gardener/gardener-extension-registry-cache), drastically reducing external image pulls (see [blog post](../../2024/04/04-22-gardener's-registry-cache-extension-another-cost-saving-win-and-more.md)).

### Smarter Networking Habits

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Gardener provides a comprehensive "fully managed Kubernetes Clusters as a Servic

4. **Comprehensive Autoscaling:**
* **Cluster Autoscaler:** Gardener manages the Cluster Autoscaler for worker nodes, enabling dynamic scaling based on pod scheduling demands.
* **Horizontal and Vertical Pod Autoscaler (VPA):** It manages HPA/VPA for workloads and applies it to control plane components, optimizing resource utilization (see [blog](https://github.com/gardener/documentation/blob/master/website/blog/2025/04/04-17-Leaner-Clusters-Lower-Bills.md)).
* **Horizontal and Vertical Pod Autoscaler (VPA):** It manages HPA/VPA for workloads and applies it to control plane components, optimizing resource utilization (see [blog](../04/04-17-leaner-clusters-lower-bills.md)).

5. **Operational Excellence & Maintenance:**
* **Automated Kubernetes Upgrades:** Gardener handles automated Kubernetes version upgrades for both control plane and worker nodes, with configurable maintenance windows.
Expand Down Expand Up @@ -72,7 +72,7 @@ Its nature as a fully open-source project is particularly relevant for initiativ

### Operational Depth Reflecting Real-World Scale

Gardener's operational maturity is a direct reflection of its long evolution, shaped by the demands of enterprise users and real-world, large-scale deployments. This maturity translates into statistical evidence and track records of uptime for end-users and their critical services. For instance, Gardener includes fully automated, incremental etcd backups with a recovery point objective (RPO) of five minutes and supports autonomous, hands-off restoration workflows via `etcd-druid`. Features like Vertical Pod Autoscalers (VPAs), PodDisruptionBudgets (PDBs), NetworkPolicies, PriorityClasses, and sophisticated pod placement strategies are integral to Gardener's offering, ensuring high availability and fault tolerance. Gardener's automation deals with many of the usual exceptions and does not require human DevOps intervention for most operational tasks. Gardener's commitment to robust security is evident in [Gardener's proactive security posture](../../2021/09.12-Navigating-Cloud-Native-Security.md), which has proven effective in real-world scenarios. This depth of experience and automation ultimately translates into first-class Service Level Agreements (SLAs) that businesses can trust and rely on. As a testament to this, SAP entrusts Gardener with its Systems of Record. This level of operational excellence enables Gardener to meet the expectations of today’s most demanding Kubernetes use cases.
Gardener's operational maturity is a direct reflection of its long evolution, shaped by the demands of enterprise users and real-world, large-scale deployments. This maturity translates into statistical evidence and track records of uptime for end-users and their critical services. For instance, Gardener includes fully automated, incremental etcd backups with a recovery point objective (RPO) of five minutes and supports autonomous, hands-off restoration workflows via `etcd-druid`. Features like Vertical Pod Autoscalers (VPAs), PodDisruptionBudgets (PDBs), NetworkPolicies, PriorityClasses, and sophisticated pod placement strategies are integral to Gardener's offering, ensuring high availability and fault tolerance. Gardener's automation deals with many of the usual exceptions and does not require human DevOps intervention for most operational tasks. Gardener's commitment to robust security is evident in [Gardener's proactive security posture](../../2021/09/09.12-navigating-cloud-native-security.md), which has proven effective in real-world scenarios. This depth of experience and automation ultimately translates into first-class Service Level Agreements (SLAs) that businesses can trust and rely on. As a testament to this, SAP entrusts Gardener with its Systems of Record. This level of operational excellence enables Gardener to meet the expectations of today’s most demanding Kubernetes use cases.

### Conclusion: A Solid Foundation for Your Kubernetes Strategy

Expand Down
5 changes: 5 additions & 0 deletions website/blog/2026/01/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: January
layout: blog-list
aggregate: true
---
5 changes: 5 additions & 0 deletions website/blog/2026/02/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: February
layout: blog-list
aggregate: true
---
10 changes: 5 additions & 5 deletions website/community/review-meetings/2022-community.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ Despite the (back then) [SAP-internal Review Meetings in 2022](./2022-reviews.md

| Topic | Speaker | Date and Time | Link |
| ----- | ------- | ------------- | ------- |
|**Get more computing power in Gardener by overcoming Kubelet limitations with CRI-resource-manager** |[Pawel Palucki](https://github.com/ppalucki), [Alexander D. Kanevskiy](https://github.com/kad)|October 20, 2022|[Recording](https://www.youtube.com/watch?v=5a_A3furzlg) <br> [Summary](../../blog/2022/10.20-Gardener-Community-Meeting-October-2.md)|
|**Cilium / Isovalent Presentation**|[Raymond de Jong](https://github.com/raymonddejong)|October 6, 2022|[Recording](https://www.youtube.com/watch?v=46nCdVA-rsc) <br> [Summary](../../blog/2022/10.06-Gardener-Community-Meeting-October.md)|
|**Gardener Extension Development - From scratch to the gardener-extension-shoot-flux**|[Jens Schneider](https://github.com/jensac), Lothar Gesslein|June 9, 2022|[Recording](https://www.youtube.com/watch?v=nG2FRYL05mc&ab_channel=GardenerProject) <br> [Summary](../../blog/2022/06.17-Gardener-Community-Meeting-June.md)|
|**Deploying and Developing Gardener Locally (Without Any External Infrastructure!)**|[Tim Ebert](https://github.com/timebertt), [Rafael Franzke](https://github.com/rfranzke)|March 17, 2022|[Recording](https://www.youtube.com/watch?v=nV_JI8YWwY4&ab_channel=GardenerProject) <br> [Summary](../../blog/2022/03.23-Gardener-Community-Meeting-March.md)|
|**Gardenctl-v2**|[Holger Koser](https://github.com/holgerkoser), [Lukas Gross](https://github.com/grolu), [Peter Sutter](https://github.com/petersutter)|February 17, 2022|[Recording](https://www.youtube.com/watch?v=U1VvyQiE3Jg) <br> [Summary](../../blog/2022/02.17-Gardener-Community-Meeting-February.md)|
|**Get more computing power in Gardener by overcoming Kubelet limitations with CRI-resource-manager** |[Pawel Palucki](https://github.com/ppalucki), [Alexander D. Kanevskiy](https://github.com/kad)|October 20, 2022|[Recording](https://www.youtube.com/watch?v=5a_A3furzlg) <br> [Summary](../../blog/2022/10/10.20-gardener-community-meeting-october-2.md)|
|**Cilium / Isovalent Presentation**|[Raymond de Jong](https://github.com/raymonddejong)|October 6, 2022|[Recording](https://www.youtube.com/watch?v=46nCdVA-rsc) <br> [Summary](../../blog/2022/10/10.06-gardener-community-meeting-october.md)|
|**Gardener Extension Development - From scratch to the gardener-extension-shoot-flux**|[Jens Schneider](https://github.com/jensac), Lothar Gesslein|June 9, 2022|[Recording](https://www.youtube.com/watch?v=nG2FRYL05mc&ab_channel=GardenerProject) <br> [Summary](../../blog/2022/06/06.17-gardener-community-meeting-june.md)|
|**Deploying and Developing Gardener Locally (Without Any External Infrastructure!)**|[Tim Ebert](https://github.com/timebertt), [Rafael Franzke](https://github.com/rfranzke)|March 17, 2022|[Recording](https://www.youtube.com/watch?v=nV_JI8YWwY4&ab_channel=GardenerProject) <br> [Summary](../../blog/2022/03/03.23-gardener-community-meeting-march.md)|
|**Gardenctl-v2**|[Holger Koser](https://github.com/holgerkoser), [Lukas Gross](https://github.com/grolu), [Peter Sutter](https://github.com/petersutter)|February 17, 2022|[Recording](https://www.youtube.com/watch?v=U1VvyQiE3Jg) <br> [Summary](../../blog/2022/02/02.17-gardener-community-meeting-february.md)|
2 changes: 1 addition & 1 deletion website/community/review-meetings/2025-reviews.md
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ _The occurrence for the [v1.122](https://github.com/gardener/gardener/releases/t
| Presenter(s) | Duration | Topic | Reference(s) |
| ----------- | -------- | ------------------------------------------------------------ | ------------------------------------------------------- |
| [@domdom82](https://github.com/domdom82) | `10m` | 🧦 CIDR Overlap w/ `Seed` For Non-HA `Shoot`s | [#11582](https://github.com/gardener/gardener/pull/11582) |
| [@vlerenc](https://github.com/vlerenc) | `10m` | 💰 Leaner Clusters, Lower Bills | [blog post](https://gardener.cloud/blog/2025/04/04-17-Leaner-Clusters-Lower-Bills/) |
| [@vlerenc](https://github.com/vlerenc) | `10m` | 💰 Leaner Clusters, Lower Bills | [blog post](https://gardener.cloud/blog/2025/04/04-17-leaner-clusters-lower-bills/) |
| [@grolu](https://github.com/grolu) | `10m` | 🕹 Recent Gardener Dashboard Features | [1.80.0 (release)](https://github.com/gardener/dashboard/releases/tag/1.80.0) |
| [@shafeeqes](https://github.com/shafeeqes), [@ary1992](https://github.com/ary1992) | `15m` | 🦋 In-Place Node Updates | [#11191](https://github.com/gardener/gardener/pull/11191), [#11393](https://github.com/gardener/gardener/pull/11393), [#11631](https://github.com/gardener/gardener/pull/11631), [#11713](https://github.com/gardener/gardener/pull/11713), [#11718](https://github.com/gardener/gardener/pull/11718), [#11843](https://github.com/gardener/gardener/pull/11843), [#11844](https://github.com/gardener/gardener/pull/11844), [#11953](https://github.com/gardener/gardener/pull/11953) |

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Let's take a rather simple example of two dimensions - the number of `Pods` per

![Pods and Nodes](./images/pod-nodes.png)

What sounds rather straightforward in theory can be a bit trickier in reality. While 110 `Pods` is the default limit, we successfully pushed beyond that and in certain cases run up to 800 `Pods` per `Node` without breaking the cluster (see [our remarks on higher pod density per node](https://gardener.cloud/blog/2025/04/04-17-Leaner-Clusters-Lower-Bills/#enabling-higher-pod-density-per-node)). This is possible in an environment where one knows and controls all workloads and cluster configurations. It still requires careful testing, though, and comes at the cost of limiting the scalability of other dimensions, like the number of `Nodes`.
What sounds rather straightforward in theory can be a bit trickier in reality. While 110 `Pods` is the default limit, we successfully pushed beyond that and in certain cases run up to 800 `Pods` per `Node` without breaking the cluster (see [our remarks on higher pod density per node](https://gardener.cloud/blog/2025/04/04-17-leaner-clusters-lower-bills/#enabling-higher-pod-density-per-node)). This is possible in an environment where one knows and controls all workloads and cluster configurations. It still requires careful testing, though, and comes at the cost of limiting the scalability of other dimensions, like the number of `Nodes`.

Of course, a Kubernetes cluster has a plethora of dimensions. Thus, when looking at a simple questions like *"How many resources can I store in ETCD?"*, the only meaningful answer must be: *"it depends"*

Expand Down