Kubernetes and Cloud Native Associate (KCNA)Cloud Native DeliveryMedium

A software company uses Kubernetes for its microservices architecture. They have a complex database system that requires specific provisioning, backup, and scaling logic that is not natively supported by Kubernetes deployments. To manage this database consistently and robustly, which Kubernetes extension pattern should they implement?

  1. ASidecar Container
  2. BCustom Resource Definition (CRD)
  3. CAdmission Controller
  4. DOperator
Show answer & explanation

Correct answer: D. Operator

A Kubernetes Operator extends the Kubernetes API to automate the management of complex applications, such as databases, by encoding human operational knowledge into software. It uses Custom Resources to manage specific application instances.

Why the other options are wrong

  • A. Sidecar containers run alongside a main application container in a pod, used for auxiliary tasks like logging or monitoring, not managing external systems.
  • B. Custom Resource Definitions (CRDs) define new resource types but don't implement the operational logic; that's done by an Operator.
  • C. Admission Controllers intercept requests to the Kubernetes API server, used for policy enforcement, not complex application management.

Kubernetes Operator

A Kubernetes Operator is software that extends Kubernetes functionality by automating the management of complex, stateful applications using Custom Resources and Controllers.

  • Automates operational tasks like provisioning, scaling, and backups.
  • Encodes human operational knowledge into code.
  • Uses Custom Resources (CRs) and Custom Resource Definitions (CRDs).

Memory trick: Operators are like robot helpers for your complex K8s apps.

More Cloud Native Delivery questions