Skip to content

Commit

Permalink
Merge pull request #4772 from bridgetkromhout/add-kro-blog
Browse files Browse the repository at this point in the history
Adding kro blog post
  • Loading branch information
matthchr authored Jan 30, 2025
2 parents de8f382 + adb9633 commit f81f5e6
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
9 changes: 9 additions & 0 deletions blog/_data/authors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -137,3 +137,12 @@ Ryan Zhang:
- label: "LinkedIn"
icon: "fab fa-fw fa-linkedin"
url: "https://www.linkedin.com/in/ryanzhang-oss/"

Bridget Kromhout:
name : "Bridget Kromhout"
bio : "Bridget Kromhout is a Principal Product Manager at Microsoft Azure, focusing on the open source cloud native ecosystem."
avatar : "https://avatars.githubusercontent.com/u/2104453?v=4"
links:
- label: "GitHub"
icon: "fab fa-fw fa-github"
url: "https://github.com/bridgetkromhout"
42 changes: 42 additions & 0 deletions blog/_posts/2025-01-30-kube-resource-orchestrator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: "Building Community with CRDs: Kube Resource Orchestrator"
description: "Kube Resource Orchestrator (kro) streamlines Kubernetes complexity."
date: 2025-01-30
author: Bridget Kromhout
categories: operations, developer topics
---

_Authored by_ [Matthew Christopher](https://github.com/matthchr) & Bridget Kromhout

<hr>

[Kube Resource Orchestrator](https://kro.run/) introduces a Kubernetes-native, cloud-agnostic way to define groupings of Kubernetes resources. With [kro](https://github.com/kro-run/kro), you can group your applications and their dependencies as a single resource that can be easily consumed by end users.

Just as we collaborate in upstream Kubernetes, Azure is partnering with AWS and Google Cloud on kro (pronounced “crow”) to make Kubernetes APIs simpler for all Kubernetes users. We’re centering the needs of customers and the cloud native community to offer tooling that works seamlessly no matter where you run your K8s clusters.

## Why kro?

* **Kubernetes-native**: kro extends Kubernetes via Custom Resource Definitions (CRDs), so it works with any Kubernetes resource and with your existing tooling.
* **Approachable end-user experience**: kro simplifies defining end-user interfaces for complex groups of Kubernetes resources, making it easier for people who are not Kubernetes experts to consume services built on Kubernetes.
* **Consistency for application teams**: kro templates can be reused across different projects and environments, promoting standardization and reducing duplication of effort (while making life easier for platform engineering teams!)

# How kro works

kro is a Kubernetes-native framework that lets you create reusable APIs to deploy multiple resources as a single unit; at its core, kro enables abstraction.

kro introduces the concept of a ResourceGraphDefinition, which specifies how a standard Kubernetes Custom Resource Definition (CRD) should be expanded into a set of Kubernetes resources. Users specify their resources and the dependencies between them in a ResourceGraphDefinition, other users can deploy an instance of that definition, and kro will dynamically manage that instance, including propagating updates and driving the collection of resources to their goal state.


## Examples of using kro with Azure resources:

* [A simple storage account and container](https://github.com/kro-run/kro/tree/main/examples/azure/storage-container)

* [An entire application, including both Azure resources and Kubernetes resources](https://github.com/kro-run/kro/tree/main/examples/azure/todo-app)


## Get started with kro

While we work to get kro ready for production, you can help shape its evolution. We’re already thinking ahead in our roadmap and will soon be sharing more details. We’re collaborating on [GitHub - kro-run/kro: kro | Kube Resource Orchestrator](https://github.com/kro-run/kro) and communicating in the [#kro channel](https://kubernetes.slack.com/archives/C081TMY9D6Y) on [Kubernetes Slack](https://communityinviter.com/apps/kubernetes/community), so join us there for updates.

Our choice to work in the open means that you can have confidence that we’re considering the community’s input and creating a structure for participation via open governance. If you’d like to help create a foundational tool from the ground up, with the benefit of having your needs informing the earliest decisions, we would be thrilled to have you build the kro project in the community with us!

0 comments on commit f81f5e6

Please sign in to comment.