-
Couldn't load subscription status.
- Fork 543
new: kro lab module in Automation section #1691
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for eks-workshop ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great overall, some small things I picked up.
|
|
||
| kro works with any Kubernetes resources and CRDs, making it particularly powerful when you need to provision AWS services using ACK controllers while simultaneously creating the necessary Kubernetes resources like secrets, configmaps, and service accounts - all from a single ResourceGraphDefinition that provides a complete, ready-to-use solution. | ||
|
|
||
| kro differs from ACK and Crossplane in its approach to resource management: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Although this is useful I think we might want to remove it for now
| - **Crossplane** offers comprehensive multi-cloud infrastructure orchestration with composition capabilities | ||
| - **kro** focuses on creating reusable templates that combine multiple resources into cohesive patterns | ||
|
|
||
| In this lab, we'll explore kro's capabilities by first deploying the complete **Carts** application with an in-memory database using a WebApplication ResourceGraphDefinition. We'll then enhance this by composing a WebApplicationDynamoDB ResourceGraphDefinition that builds on the base WebApplication template to add Amazon DynamoDB storage. No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Carts application = Carts component
Theres a few places throughout the pages to make this same change.
|
|
||
| kro simplifies complex resource management by allowing platform teams to define ResourceGraphDefinitions that encapsulate multiple related resources. Developers interact with simple custom APIs defined by the RGD schema, while kro handles the complexity of creating and managing the underlying resources. | ||
|
|
||
| ## ResourceGraphDefinition Workflow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems a little out of place being before the install instructions. I'd say move it to the bottom of the page.
|
|
||
| When you create a ResourceGraphDefinition, kro: | ||
|
|
||
| 1. **Registers a new Custom API** - Based on the schema defined in the RGD, kro automatically creates a new Kubernetes API that developers can use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would perhaps say "creates a new Kubernetes CRD"
| resourcegraphdefinition.kro.run/web-application created | ||
| ``` | ||
|
|
||
| This registers the WebApplication API. Verify the Custom Resource Definition (CRD): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would expand this just a little bit to explicitly mention that kro created the CRD automatically based on the RGD schema.
| replicaset.apps/carts-7d58cfb7c9 1 1 1 30s | ||
| ``` | ||
|
|
||
| Perfect! kro has successfully orchestrated the deployment of all Kubernetes resources required by the carts application as a single unit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably remove "Perfect!"
|
|
||
| Perfect! kro has successfully orchestrated the deployment of all Kubernetes resources required by the carts application as a single unit. | ||
|
|
||
| :::info |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this needs to be an info block, just plain text.
| 3. Creates IAM roles and policies for DynamoDB access | ||
| 4. Configures EKS Pod Identity for secure AWS access | ||
|
|
||
| To learn more about EKS Pod Identity, refer to [official documentation](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"refer to the official documentation"
|
|
||
| This ResourceGraphDefinition: | ||
| 1. Creates a custom `WebApplicationDynamoDB` API that composes the WebApplication RGD | ||
| 2. Adds DynamoDB table provisioning with ACK |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Provisions a DynamoDB table with ACK"
| 1. Creates a custom `WebApplicationDynamoDB` API that composes the WebApplication RGD | ||
| 2. Adds DynamoDB table provisioning with ACK | ||
| 3. Creates IAM roles and policies for DynamoDB access | ||
| 4. Configures EKS Pod Identity for secure AWS access |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"for secure access from application pods"
What this PR does / why we need it:
Adds a new lab module demonstrating kro, an open-source Kubernetes operator for creating custom APIs that orchestrate groups of related resources.
Which issue(s) this PR fixes:
Fixes #1440
Quality checks
make test module="<module>"it was successful (see https://github.com/aws-samples/eks-workshop-v2/blob/main/docs/automated_tests.md)By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.