hands-on lab

Using Kubernetes Custom Resource Definitions (CRDs)

Difficulty: Beginner
Duration: Up to 50 minutes
Students: 1,276
Rating: 4.6/5
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.

Description

Kubernetes provides a set of resources along with declarative APIs for working with them. Declarative APIs allow you to specify the desired state for a resource and Kubernetes performs actions to bring the actual resource state to the desired state. This is in contrast to imperative APIs where you specify the actions to perform. Defining resources and corresponding declarative APIs is a generic pattern that can be used by many applications. Kubernetes allows you to define your own custom resources and controllers to extend the Kubernetes API beyond the built-in resources. Custom resource types are defined using Custom Resource Definitions (CRDs) in Kubernetes. CRDs are the focus of this lab.

You will learn how to discover and use custom resources in this lab. To illustrate custom resources, the Kubernetes cluster in this lab is pre-installed with a Helm package for Argo CD, a GitOps continuous delivery application. You will work with Argo CD custom resources to release an update to an application.

This lab is valuable to anyone working with Kubernetes, but the content has been prepared considering topics described in the Certified Kubernetes Application Developer (CKAD) Exam Curriculum. Completion of the lab will help you get hands-on experience, which is essential for passing the CKAD exam.

Learning Objectives

  • Discover and use resources that extend Kubernetes (CRD)

Intended Audience

  • Kubernetes admins and operators
  • Application developers and DevOps engineers deploying applications in containers and using or considering Kubernetes
  • This lab is recommended for Certified Kubernetes Application Developer (CKAD) examinees

Prerequisites

  • Knowledge of Kubernetes Pod Design (Pods, Deployments, Services)
  • Experience with kubectl

You can complete the Kubernetes Pod Design for Application Developers lab series to satisfy the prerequisites.

Updates

July 26th, 2024 - Updated to run Kubernetes 1.30

October 17th, 2023 - Updated to run Kubernetes 1.28

June 9th, 2023 -Updated to run Kubernetes 1.26

September 6th, 2022 - Updated to run Kubernetes 1.24

Environment before

Environment after

Covered topics

Lab steps

Connecting to the Kubernetes Cluster
Using Kubernetes Custom Resource Definitions (CRDs)