Kubernetes custom resources and custom controllers in AWS EKS

0

Hello,

I would like to practice developing Kubernetes custom resources and custom controllers. Is AWS EKS suitable for this purpose? I'm new to this topic, so I'm not sure if EKS managed control plains could be extended with new API resources.

I
asked a month ago458 views
3 Answers
2
Accepted Answer

Hi,

Maybe you can start by this page of EKS workshop to learn how Custom Resources can defined and managed in EKS: https://archive.eksworkshop.com/intermediate/270_custom_resource_definition/creating_co/

The full chapter is here: https://archive.eksworkshop.com/intermediate/270_custom_resource_definition/

Best,

Didier

profile pictureAWS
EXPERT
answered a month ago
profile picture
EXPERT
reviewed a month ago
1

Hello,

Please try this solution.

developing Kubernetes custom resources and custom controllers on AWS EKS, first, create an EKS cluster and configure kubectl to connect to it. Define your custom resource definition (CRD) in a YAML file and apply it to your cluster using kubectl apply -f filename. Develop your custom controller using a Kubernetes client library like client-go for Go. Build your controller into a Docker image, push it to a container registry such as Amazon ECR, and deploy it to your cluster with a Kubernetes Deployment manifest. Finally, create instances of your custom resource, monitor the controller logs, and iterate on your controller code as needed to ensure it manages the custom resources correctly.

Please look at AWS Document Link You will get more information.

https://archive.eksworkshop.com/intermediate/270_custom_resource_definition/creating_co/

EXPERT
answered a month ago
1

Hi I,

Yes, AWS EKS is suitable for developing Kubernetes custom resources and custom controllers. Follow these steps:

  • Set Up EKS Cluster: Use the AWS EKS Getting Started Guide.
  • Install Tools: Ensure kubectl and eksctl are installed.
  • Create CRDs: Define Custom Resource Definitions (CRDs).
  • Develop Controllers: Use Kubebuilder or Operator SDK.
  • Deploy and Test: Apply CRDs and deploy your controller.
  • Monitor and Troubleshoot: Use kubectl logs and kubectl describe to check logs and resource status.

https://docs.aws.amazon.com/eks/

https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/

https://book.kubebuilder.io/

profile picture
EXPERT
Sandeep
answered a month ago