KRO (Kube Resource Orchestrator)
Overview
KRO extends native Kubernetes to create simplified custom building blocks from complex resource compositions.
Install KRO
# Add Helm repo
helm repo add kro https://aws.github.io/eks-charts
helm repo update
# Install KRO
helm install kro aws-eks/kro \
--namespace kro \
--create-namespaceCreate ResourceDefinition
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: webservers.kro.aws.amazon.com
spec:
group: kro.aws.amazon.com
names:
kind: WebServer
plural: webservers
scope: Namespaced
versions:
- name: v1alpha1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
replicas:
type: integer
default: 2
image:
type: string
port:
type: integer
default: 80Create WebServer Resource
apiVersion: kro.aws.amazon.com/v1alpha1
kind: WebServer
metadata:
name: my-webserver
spec:
replicas: 3
image: nginx:latest
port: 8080