Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
/kroPublic
forked fromkro-run/kro

kro | Kube Resource Orchestrator

License

NotificationsYou must be signed in to change notification settings

r0bj/kro

 
 

Repository files navigation

This project aims to simplify the creation and management of complex custom resources for Kubernetes.

Kube Resource Orchestrator (kro) helps you to define complex multi-resource constructs as reusable components in your applications and systems. It does this by providing a Kubernetes-native, vendor agnostic way to define groupings of Kubernetes resources.

kro's fundamental custom resource is theResourceGraphDefinition. A ResourceGraphDefinition defines collections of underlying Kubernetes resources. It can define any Kubernetes resources, either native or custom, and can specify the dependencies between them. This lets you define complex custom resources, and include default configurations for their use.

The kro controller will determine the dependencies between resources, establish the correct order of operations to create and configure them, and then dynamically create and manage all of the underlying resources for you.

kro is Kubernetes native and integrates seamlessly with existing tools to preserve familiar processes and interfaces.

Documentation

TitleDescription
IntroductionAn introduction to kro
InstallationInstall kro in your cluster
Getting startedDeploy your first ResourceGraphDefinition
ConceptsLearn more about kro concepts
ExamplesExample resources
ContributionsHow to get involved

FAQ

  1. What is kro?

    Kube Resource Orchestrator (kro) is a new operator for Kubernetes that simplifies the creation of complex Kubernetes resource configurations.kro lets you create and manage custom groups of Kubernetes resources by defining them as aResourceGraphDefinition, the project's fundamental custom resource.ResourceGraphDefinition specifications define a set of resources and how they relate to each other functionally.Once defined, ResourceGraphDefinitions can be applied to a Kubernetes cluster where the kro controller is running.Once validated by kro, you can create instances of your ResourceGraphDefinition.kro translates your ResourceGraphDefinition instance and its parameters into specific Kubernetes resources and configurations which it then manages for you.

  2. How does kro work?

    kro is designed to use core Kubernetes primitives to make resource grouping, customization, and dependency management simpler.When a ResourceGraphDefinition is applied to the cluster, the kro controller verifies its specification, then dynamically creates a new CRD and registers it with the API server.kro then deploys a dedicated controller to respond to instance events on the CRD. This microcontroller is responsible for managing the lifecycle of resources defined in the ResourceGraphDefinition for each instance that is created.

  3. How do I use kro?

    To create your custom resource groupings, you createResourceGraphDefinition specifications. These specify one or more Kubernetes resources, and can include specific configurations for each resource.

    For example, you can define aWebApp ResourceGraphDefinition that defines aWebAppCRD CRD that is composed of aDeployment, pre-configured to deploy your web server backend, and aService configured to run on a specific port.You can just as easily create a more complexWebAppWithDB ResourceGraphDefinition by combining the existingWebApp ResourceGraphDefinition with aTable custom resource to provision a cloud managed database instance for your web app to use.

    Once you have defined a ResourceGraphDefinition, you can apply it to a Kubernetes cluster where the kro controller is running. kro will take care of the heavy lifting of creating CRDs and deploying dedicated controllers in order to manage instances of your new custom resource group.

    To create an instance of your custom resource groupings, you create an instance of the CRD that your ResourceGraphDefinition specifies. In the WebApp ResourceGraphDefinition example, this would be an instance of theWebAppCRD CRD. kro will respond by dynamically creating, configuring, and managing the underlying Kubernetes resources for you.

  4. Why did you build this project?

    We want to help streamline and simplify building with Kubernetes. Building with Kubernetes means dealing with resources that need to operate and work together, and orchestrating this can get complex and difficult at scale.With this project, we're taking a step in reducing the complexity of resource dependency management and customization, paving the way for a simple and scalable way to create complex custom resources for Kubernetes.

  5. Can I use this in production?

    This project is in active development and not yet intended for production use.TheResourceGraphDefinition CRD and other APIs used in this project are not yet solidified and highly subject to change.

Community Participation

Development and discussion is coordinated in theKubernetes Slack (invite link) channel#kro channel.

Security

SeeCONTRIBUTING for more information.

License

Apache 2.0

About

kro | Kube Resource Orchestrator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go96.0%
  • TypeScript1.3%
  • CSS1.0%
  • Makefile1.0%
  • Shell0.5%
  • Smarty0.2%

[8]ページ先頭

©2009-2025 Movatter.jp