Kubernetes Authors. (n.d.). Kubernetes Components. Kubernetes Documentation.
Reference: Official vendor documentation.
Location: https://kubernetes.io/docs/concepts/overview/components/
Details: The sections "Control Plane Components" and "Node Components" explicitly define all six components listed in the question, confirming the matches in option E.
Kube-apiserver: (Matches 'a') "The API server is a component of the Kubernetes control plane that exposes the Kubernetes API."
Etcd: (Matches 'f') "Consistent and highly-available key value store used as Kubernetes' backing store for all cluster data."
Kube-scheduler: (Matches 'b') "Control plane component that watches for newly created Pods with no assigned node, and selects a node for them to run on."
Kubelet: (Matches 'c') "An agent that runs on each node in the cluster. It makes sure that containers are running in a Pod."
Kube-proxy: (Matches 'e') "...a network proxy that runs on each node... kube-proxy maintains network rules on nodes."
Kubectl: (Matches 'd') "The Kubernetes command-line tool, kubectl, allows you to run commands against Kubernetes clusters."
Al-Sayyed, H. A., et al. (2023). Kubernetes: A comprehensive survey. Journal of Cloud Computing, 12(1), 84.
Reference: Peer-reviewed academic publication.
DOI: https://doi.org/10.1186/s13677-023-00448-9
Location: Section 3 ("Kubernetes Architecture") and its subsections (3.1.1–3.2.2).
Details: This paper provides a detailed architectural overview, confirming the roles of each component. For example, Section 3.1.3 ("Scheduler") states it is "responsible for assigning the pods to the appropriate worker nodes based on resource availability" (Matches 'b'), and Section 3.2.2 ("Kube-proxy") states it is "...a network proxy that runs on each node and is responsible for network routing" (Matches 'e').
Ousterhout, J. (2021). Lecture 17: Kubernetes. Stanford University, CS 244B: Distributed Systems.
Reference: University courseware.
Location: https://web.stanford.edu/class/cs244b/2021/lectures/17-kubernetes.pdf
Details: Slides 15 ("Control Plane") and 18 ("Node Components") explicitly define these components. Slide 15 describes the API Server as "Processes/validates REST requests, updates state in etcd" (Matches 'a') and the Scheduler as "Selects a node for pod to run on" (Matches 'b'). Slide 18 defines the Kubelet as the "Agent that runs on each node... Communicates with API server" (Matches 'c').