WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

Kubernetes · Guru · question 91 of 100

Describe the role of Custom Resource Definitions (CRDs) and their controllers in implementing domain-specific extensions to Kubernetes.?

📕 Buy this interview preparation book: 100 Kubernetes questions & answers — PDF + EPUB for $5

Custom Resource Definitions (CRDs) allow users to create custom resources in Kubernetes, extending the Kubernetes API with custom objects that represent applications, services, and other resources specific to their domain. This enables users to define and manage their applications and services in a more declarative and Kubernetes-native way, without having to rely on external tools and services.

CRDs are created using Kubernetes’ API extension mechanism, which allows users to add new APIs to the Kubernetes API server. A CRD defines the structure and validation rules for the custom resource, including its metadata, schema, and status fields. Once a CRD is defined, users can create and manage instances of the custom resource using the Kubernetes API, kubectl, or client libraries.

CRDs are typically managed by custom controllers, which watch the Kubernetes API server for changes to the custom resource and perform operations based on the desired state of the resource. For example, a controller for a custom application resource might create and manage Pods, Services, and other Kubernetes objects to ensure the application is running as desired.

Custom controllers can be developed using various tools and frameworks, such as the Kubernetes Operator SDK, Kubebuilder, or plain Go code. These frameworks provide scaffolding and best practices for building controllers, including code generation, testing, and debugging tools.

Some popular examples of CRDs and their controllers include the Istio service mesh, which uses CRDs to define and manage virtual services, gateways, and other network resources, and the Prometheus monitoring system, which uses CRDs to define and manage alerting rules, recording rules, and other monitoring resources.

CRDs can be used to extend Kubernetes with custom functionality that is specific to an organization or domain, making it easier to manage complex applications and services in a Kubernetes-native way. However, it’s important to follow best practices for developing and deploying custom resources and controllers, including proper validation, testing, and versioning.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic Kubernetes interview — then scores it.
📞 Practice Kubernetes — free 15 min
📕 Buy this interview preparation book: 100 Kubernetes questions & answers — PDF + EPUB for $5

All 100 Kubernetes questions · All topics