You are creating a Cilium network policy for pods with the label app: frontend . The policy should allow all pods with that label to communicate with destinations inside 192.168.e.e/24 and using TCP on port 8888.
For example:
� Traffic to 192.168.9.23:8888 should be allowed
� Traffic to 192.168.10.5:8888 should be denied.
� Traffic to 192.168.9.12:5606 should be denied.
Which of the following policies is correct?
A)

Option A
B)

Option B
C)

Option C
D)

Option D
Option A
Option B
Option C
Option D
Technical explanation
Option C has the correct Cilium policy structure. It selects pods labeled app: frontend , creates an egress rule with a valid CIDR entry, and combines that destination constraint with toPorts , port 8888 , and protocol TCP . Because the CIDR and port restriction are in the same egress rule, traffic must meet both conditions.
Option A uses an unsupported address-range structure with from and to fields rather than CIDR notation. Option B initially resembles the correct form but contains an additional malformed ports item at the egress-rule level. Option D uses unsupported action: allow and action: deny fields inside toPorts ; Cilium allow and deny behavior is expressed through policy sections such as egress and egressDeny , not per-port action properties.
The item is nevertheless defective. The prose and examples indicate 192.168.9.0/24 , while all displayed CIDR-based options specify 192.168.0.0/24 ; the source text itself shows the corrupted 192.168.e.e/24 . If 192.168.9.0/24 is authoritative, none of the exhibits permits the stated example. The supplied key B is structurally incorrect under the displayed manifests.
Official references
Cilium Layer 3 and CIDR Policies
Study Guide topic: CIDR selectors, Layer 4 ports, and rule composition.
In which use case can the Cilium Service Mesh exclusively utilize eBPF without requiring a proxy such as Envoy?
For traffic management features, such as gRPC parsing.
For traffic management features, such as DNS parsing.
For traffic management features, such as Kafka parsing.
For traffic management features, such as Layer 3/Layer 4 forwarding.
Technical explanation
Cilium can implement Layer 3 and Layer 4 forwarding exclusively through its eBPF datapath. IP, TCP, and UDP traffic can be routed, load-balanced, filtered, and redirected through eBPF programs attached to Linux networking hooks. These operations depend on network-layer addresses, protocols, ports, identities, and connection state; they do not require application-protocol parsing by a userspace proxy.
Application-layer operations are different. Cilium’s official Service Mesh architecture uses a proxy such as Envoy to parse HTTP, gRPC, and DNS when Layer 7 policy, observability, or traffic management requires understanding individual requests. The eBPF datapath transparently redirects selected traffic to the node-local proxy and retains identity context, while Envoy performs the protocol-aware operation.
Kafka parsing is also an application-layer activity rather than ordinary Layer 3 or Layer 4 forwarding. Moreover, current Cilium releases removed the former Envoy Go extension mechanism used for Kafka and generic proxylib rules, further reinforcing that it is not an eBPF-only forwarding case.
Therefore, D accurately identifies the scenario in which the Service Mesh datapath can remain entirely in the kernel without requiring Envoy.
Official references
Cilium Service Mesh ; eBPF Datapath Introduction .
Study Guide topic: Service Mesh.
What would be a benefit of using remote service affinity in a Cluster Mesh deployment?
It would enable operators to avoid the unavailability of an application by temporarily forwarding traffic to local clusters while the remote application is being updated.
It would enable operators to avoid the unavailability of an application by using the Egress Gateway to send the traffic to a remote destination.
It would enable operators to avoid the unavailability of an application by load-balancing traffic to all endpolnts across both local and remote clusters.
It would enable operators to avoid the unavailability of an application by temporarily forwarding traffic to remote clusters while the local application is being updated.
Technical explanation
Remote service affinity directs a global Service to prefer healthy backend endpoints located in remote clusters. This can support maintenance or staged rollouts in which the local copy of an application is temporarily unavailable or intentionally removed from service. Requests originating in the local cluster continue through the same global Service but are forwarded to the preferred remote backends, matching the use case described by D.
Cilium configures this behavior through the service.cilium.io/affinity: "remote" annotation. The preference affects backend selection; it does not require clients to use a different Service address. If remote backends are available, they are marked as preferred. This provides operators with a controlled way to direct traffic away from the local deployment during an update.
Option A describes local affinity from the perspective of the cluster containing the client, not remote affinity. Option B incorrectly introduces the Egress Gateway, which provides controlled source addresses and routing for outbound traffic rather than Cluster Mesh global-Service affinity. Option C describes the normal none affinity behavior, under which Cilium has no local-or-remote preference and can load-balance across both categories.
Remote affinity therefore enables temporary cross-cluster continuity while local application instances are updated or otherwise unavailable.
Official references
Cluster Mesh Service Affinity .
Study Guide topic: Cluster Mesh.
Which component manages the allocation of per-node PodCIDRs in the cluster-scope IPAM (IP address management) mode?
Kubernetes through the host-scope IPAM.
The Cllium Agents on the nodes.
Cilium Operator via CiliumNode resource.
Kubernetes through the Node resource.
Technical explanation
In cluster-scope IPAM, the Cilium Operator allocates a PodCIDR to each node from the configured cluster-wide address pool. It records those allocations in each node’s CiliumNode custom resource, specifically under spec.ipam.podCIDRs . The Cilium agent waits for this allocation during startup and then performs host-local allocation of individual pod addresses from the CIDR assigned to its node.
This division of responsibility explains why C is correct. The agent consumes its assigned range and allocates endpoint addresses locally, but it does not independently choose the cluster-wide per-node PodCIDR. The Operator coordinates those ranges to prevent nodes from receiving overlapping allocations.
Options A and D describe Kubernetes host-scope IPAM rather than Cilium cluster-scope IPAM. In Kubernetes host-scope mode, the Kubernetes controller manager assigns PodCIDRs and exposes them through spec.podCIDR or spec.podCIDRs in the standard Kubernetes Node resource. Cluster-scope mode is specifically useful when Kubernetes is not configured to perform that allocation or when Cilium should control the cluster address pool.
Therefore, the managing component and resource are the Cilium Operator and CiliumNode , respectively.
Official references
Cluster-Pool IPAM ; Cluster Scope IPAM .
Study Guide topic: Installation and Configuration.
How does Cilium primarily improve security in Kubernetes clusters?
By using API Gateway configurations.
By securing and encrypting database data.
By providing backup solutions for persistent volumes.
By implementing network policies at multiple OSI model layers.
Technical explanation
Cilium primarily improves Kubernetes network security through identity-aware policy enforcement across Layers 3 through 7. Standard Kubernetes NetworkPolicy resources provide Layer 3 and Layer 4 controls, while CiliumNetworkPolicy extends enforcement to application-layer rules. Policies can select workloads by labels and identity, restrict protocols and destination ports, control communication with CIDRs or entities, apply DNS/FQDN rules, and authorize supported HTTP or gRPC operations. This multi-layer enforcement is the capability described by D.
API Gateway and Gateway API configurations can contribute to controlling north-south traffic, but they are not Cilium’s primary or comprehensive security mechanism. Database encryption is implemented by database, storage, or encryption-management systems rather than being a general function of Cilium. Persistent-volume backup is similarly outside Cilium’s CNI, network-policy, and observability responsibilities.
Cilium’s identity model is especially important in dynamic Kubernetes environments. Security policy follows workload identities derived from labels instead of depending exclusively on changing pod IP addresses. At Layer 7, traffic is redirected to Envoy when protocol-aware inspection or enforcement is required, while eBPF supplies the efficient kernel datapath for lower-layer processing.
Official references
Introduction to Cilium and Hubble ; Network Policy ; Layer 7 Policies .
Study Guide topic: Network Policy.
What is true about WireGuard encryption on Cilium?
Packets are encrypted when they are destined to the same node from which they were sent. This is to ensure confidentiality of traffic within the node.
It provides encryption for node-to-node, pod-to-node, node-to-pod, and pop-to-pod traffic as long as the pods are on different nodes.
When running in the tunneling mode, pod-to-pod traffic will be sent over the WireGuard tunnel before being transmitted over the overlay tunnel.
When WireGuard is enabled in Cilium, each pod will establish a secure WireGuard tunnel between it and all other known pods in the cluster.
Technical explanation
B is the best answer, with two qualifications. First, “pop-to-pod” is evidently a source typo for “pod-to-pod.” Second, default WireGuard mode encrypts traffic between Cilium-managed pods on different nodes; node-to-node, pod-to-node, and node-to-pod coverage requires enabling the additional encryption.nodeEncryption=true mode.
Cilium creates WireGuard peers per node, not per pod. Each Cilium agent generates a node key pair, advertises the public key through its CiliumNode resource, and forms secure tunnels with other known nodes. This makes D incorrect. Same-node packets do not traverse a WireGuard tunnel because encryption cannot protect them from an observer already able to inspect raw traffic on that host, so A reverses the documented behavior.
C also reverses the encapsulation sequence. In tunnel-routing mode, pod traffic is first encapsulated for the VXLAN or Geneve overlay and is then encapsulated by WireGuard. The result is double encapsulation, with WireGuard protecting the overlay packet while it crosses the network between nodes.
Thus, B describes WireGuard’s supported traffic coverage most closely, but exam candidates should remember the separate node-encryption configuration requirement.
Official references
WireGuard Transparent Encryption
Study Guide topic: WireGuard peer architecture, encrypted traffic matrix, same-node behavior, and encapsulation order.
Review the Cilium Network Policy in the YAML file.
It was deployed in the ns-cca namespace on cluster1

Cluster Mesh CiliumNetworkPolicy exhibit
Which statement Is correct?
This policy will allow traffic from a Pod named ship in ns-cca namespace in clusterl to a Pod named base in ns-cca namespace in cluster2.
This policy will allow traffic from a Pod named ship in ns-cca namespace in clusterl to a Pod named base in default namespace in cluster2.
This policy will deny traffic from a Pod named ship in ns-cca namespace in clusterl to a Pod named base in ns-cca namespace in cluster2.
This policy will deny traffic from a Pod named ship in ns-cca namespace in clusterl to a Pod named base in default namespace in cluster2.
Technical explanation
The policy’s endpointSelector selects the ship workload in the namespace containing the CiliumNetworkPolicy , which is ns-cca . It also explicitly includes io.cilium.k8s.policy.cluster: cluster1 , confirming that the selected source endpoint belongs to cluster1.
The egress rule authorizes communication to an endpoint carrying name: base and the cluster label io.cilium.k8s.policy.cluster: cluster2 . Because the namespaced policy does not specify a different destination namespace through k8s:io.kubernetes.pod.namespace , the intended destination is the corresponding base workload in ns-cca on cluster2. Therefore, A matches the policy.
Options C and D incorrectly describe the rule as a deny rule. Cilium policy rules use an allow-list model unless an explicit egressDeny or ingressDeny section is present. The exhibit contains an ordinary egress rule, so matching traffic is authorized. Option B incorrectly places the destination in default .
Current Cilium versions require explicit cluster targeting for remote endpoints, which this policy provides through the cluster label.
Official references
Cluster Mesh Network Policy , Namespaces in Cilium Policy
Study Guide topic: Cluster Mesh labels, namespaced policies, and cross-cluster endpoint selection.
Which proxy does Cilium use to enforce HTTP and other Layer 7 (L7) policies specified in network policies for the cluster?
HAProxy
Squid
Linkerd2-proxy
Envoy
Technical explanation
Cilium uses Envoy as its userspace Layer 7 proxy. When a Cilium policy contains HTTP or another supported application-layer rule, Cilium’s eBPF datapath identifies matching traffic and redirects it to a node-local Envoy instance. Envoy evaluates the application-layer attributes—such as HTTP method, path, or headers—against the generated policy configuration and then forwards or rejects the request.
The proxy can operate in embedded mode as a separate process inside the Cilium agent pod or as the independently life-cycled cilium-envoy DaemonSet. Both deployment forms use Cilium’s optimized Envoy distribution and custom policy-enforcement filters. Communication between the agent and Envoy uses local UNIX-domain sockets for configuration, access logs, and administrative operations.
HAProxy is a capable general-purpose load balancer, but it is not Cilium’s L7 policy proxy. Squid primarily serves forward and caching proxy use cases. linkerd2-proxy belongs to the Linkerd service mesh and is not used by Cilium for network-policy enforcement. Consequently, only D identifies the proxy integrated into Cilium’s L7 datapath.
Official references
Cilium Envoy , Cilium eBPF Datapath Introduction
Study Guide topic: Envoy proxy integration and Layer 7 policy enforcement.
What is NOT a valid description of the sidecar-based model?
pod start-up time can be significantly slowed by the Injection of sidecars, or worse, It can cause race conditions or other instabilities.
With sidecars, the instrumentation container is Injected into each pod. The application pod has to be restarted for the sidecar to be added.
The sidecar approach used by service meshes forces the instrumentation into the source code of the application.
Using a networking sidecar means that all traffic to and from the application has to travel through the network stack to reach a proxy container
Technical explanation
C is not a valid description. A service-mesh sidecar externalizes networking functions into a proxy container running beside the application; it does not force the instrumentation logic into the application’s source code. In fact, a core service-mesh objective is to provide connectivity, security, traffic management, and observability transparently without requiring application-code changes.
The operational concerns in the other choices are characteristic of sidecar implementations. A proxy must be injected into each workload pod, increasing container count and potentially affecting pod initialization, resource consumption, ordering, and readiness. Adding a sidecar to an existing pod template normally requires the pods to be recreated because Kubernetes cannot dynamically add a new container to an already-running pod.
Traffic interception also directs application traffic through the sidecar proxy and its network namespace paths, adding network-stack traversal and proxy-processing overhead. Cilium’s service-mesh design can instead use node-level Envoy proxies together with eBPF traffic redirection, avoiding one proxy container in every application pod. This preserves transparent application behavior while reducing the per-workload operational burden.
Official references
Cilium Service Mesh , Cilium Ingress and Network Policy Example
Study Guide topic: Sidecar-based and sidecar-free service-mesh architectures.
You need to expose an application over HTTPS on your Cilium-managed Kubernetes cluster
The security team has specifically asked for traffic to be encrypted all the way from the external clients to the Service.
Which option should you use?
Enable the Gateway API feature and use the TLS Terminate mode and HTTPRoute route type.
Enable the Ingress feature and use the TLS Passthrough mode and TLSRoute route type.
Enable the Ingress feature and use the TLS Terminate mode and HTTPRoute route type.
Enable the Gateway API feature and use the TLS Passthrough mode and TLSRoute route type.
Technical explanation
The requirement is that traffic remain encrypted all the way from the external client to the backend Service . Therefore, TLS must not terminate at the Cilium Gateway/Envoy proxy .
With TLS Passthrough , Cilium forwards the encrypted TLS stream to the backend without decrypting the application traffic. Envoy can inspect the TLS ClientHello/SNI sufficiently to select the appropriate backend, but the TLS session itself continues to the Service. Cilium specifically supports TLS passthrough with the Gateway API TLSRoute resource .
By contrast, TLS Terminate + HTTPRoute decrypts the connection at the Gateway. Although a separate encrypted connection to the backend can be configured in some architectures, that is not the same as preserving the original end-to-end TLS session requested here. Cilium's HTTPS Gateway examples use TLS termination when the Gateway itself handles the certificate.
Study Guide topic: Service Mesh.
What is the correct statement about the masquerading feature?
The iptables-based masquerading is the most efficient Implementation.
It replaces the source IP of traffic leaving the cluster to the node's IP address.
It is comparable to Destination Network Address Translation (DNAT).
The eBPF-based masquerading is supported on all kernel versions.
Technical explanation
Masquerading performs source network address translation for qualifying traffic that leaves the cluster. Because pod addresses are often private and not routable by the external network, Cilium replaces the pod’s source address with an address belonging to the egress node. Return traffic can then reach that node, which reverses the translation and delivers the response to the originating pod. B correctly summarizes this behavior.
Masquerading is a form of SNAT, not DNAT. DNAT modifies the destination address, commonly to direct incoming traffic toward another endpoint, so C is incorrect.
Cilium documents its eBPF-based masquerading implementation as the more efficient implementation. The iptables version is the legacy alternative, making A false. Conversely, eBPF masquerading depends on appropriate kernel eBPF capabilities and Cilium’s BPF NodePort functionality. It cannot be assumed to work on every kernel version, so D is false. The legacy iptables implementation is the mode documented as broadly working across kernel versions.
Cilium can exclude natively routable CIDRs from masquerading, and administrators may configure separate IPv4 and IPv6 masquerading behavior.
Official references
Cilium Masquerading , Cilium System Requirements
Study Guide topic: SNAT, native-routing exclusions, and eBPF versus iptables masquerading.
A user has set up a global service as a Kubernetes user with access to clusters in a Cilium Cluster Mesh. They notice that all traffic is going to remote backend pods. What is a possible explanation?
There are no local endpoints matching the selector for the service.
The cluster is not part of the Cilium Cluster Mesh.
The service.cilium.io/affinity: "none" annotation Is set on the service.
The service.cilium.io/shared: "false" annotation is set on the service.
Technical explanation
If a global Service has no healthy local endpoints matching its selector, every available backend can be remote. Cluster Mesh synchronizes remote service and endpoint information, allowing the local Cilium datapath to load-balance requests to backend pods in connected clusters. The absence of local endpoints therefore provides a direct explanation for the observed behavior.
If the local cluster were not part of the Cluster Mesh, its Cilium agents would not normally receive the remote endpoint state needed to route traffic through the global Service, so B does not explain successful remote-only selection. An affinity value of none is the default behavior and expresses no preference between local and remote endpoints. When both categories exist and are healthy, this permits load balancing across both; it does not require every connection to use remote backends.
Setting service.cilium.io/shared: "false" prevents the local Service’s backends from being shared with remote clusters. It does not instruct the local cluster to direct all requests toward remote endpoints.
A separate possible cause, not presented among the choices, would be service.cilium.io/affinity: "remote" . Among the supplied answers, however, A is the valid explanation.
Official references
Service Affinity ; Cluster Mesh .
Study Guide topic: Cluster Mesh.

Cilium status exhibit
Based on the cilium status output above, what is correct about the Cilium deployment?
For accessibility, the output of the command has been edited.
Observability of network flows via a graphical user interface has yet to be enabled for this particular cluster
The component responsible for registering the CRDs used by Cilium is healthy.
The operator has been deployed as a DaemonSet.
Only a single operator replica can be deployed on the cluster.
Technical explanation
The status output reports Operator: OK , followed by Deployment cilium-operator Desired: 1, Ready: 1/1, Available: 1/1 . This establishes that the Cilium Operator is deployed and healthy, making B the intended answer. Cilium uses Kubernetes CustomResourceDefinitions as its default mechanism for storing and propagating cluster state, while the operator performs cluster-wide duties that should be handled once centrally rather than independently on every node.
Option A is contradicted by the exhibit: both hubble-ui and hubble-relay appear as ready deployments and running containers. Option C is incorrect because the resource is explicitly identified as a Deployment ; the cilium agents, by contrast, are shown as a DaemonSet . Option D incorrectly treats the displayed desired replica count as a permanent restriction. A desired count of one describes this installation’s current configuration, not a universal maximum.
The exhibit also shows embedded Envoy mode and three healthy Cilium agent instances, but neither detail changes the operator conclusion.
Official references
Cilium Component Overview , Setting up Hubble Observability
Study Guide topic: Cilium components, Cilium Operator, CRD-backed state, and status interpretation.
What is true about Layer 7 protocol visibility in Cilium?
DNS visibility in available in the ingress direction only.
It can be enabled by deploying a standard Kubernetes network policy.
It results in traffic being proxied through an Envoy instance.
It supports any Layer 7 protocols, including SSH, Telnet and FTP.
Technical explanation
Layer 7 protocol visibility redirects traffic matching the relevant L7 rules to Cilium’s node-local proxy, which is Envoy. Envoy parses supported application protocols and supplies the resulting request or response metadata to Cilium’s observability pipeline. Therefore, C correctly identifies the architectural consequence of enabling this visibility.
The feature requires L7 proxy support and an appropriate CiliumNetworkPolicy containing Layer 7 rules. A standard Kubernetes NetworkPolicy is limited to Layer 3 and Layer 4 concepts and cannot express Cilium’s HTTP, DNS, or generic application-protocol rules, so B is incorrect.
A is also incorrect. DNS policy and visibility are commonly applied to pod egress queries, and Cilium’s model is not restricted to ingress-only DNS visibility. D overstates protocol coverage. Cilium supports defined L7 parsers and policy types—most prominently HTTP, DNS, Kafka, and supported generic Envoy-based protocols—but it does not promise arbitrary visibility for every application protocol. SSH, Telnet, and FTP cannot simply be assumed to receive native semantic parsing.
An operational caveat is that L7 visibility rules also affect policy enforcement: they are not merely passive packet logging instructions.
Official references
Layer 7 Protocol Visibility , Cilium Envoy
Study Guide topic: L7 proxy redirection, CiliumNetworkPolicy, protocol parsing, and Hubble visibility.
Which statement is true of both the Ingress Controller and Gateway API?
It provides portable Layer 7 north-south routing logic for Kubernetes workloads.
Its routing logic can be restricted to a single namespace.
It is role-oriented, with some resources for administrators and others for users.
Its features are commonly extended by using resource annotations.
Technical explanation
Both Kubernetes Ingress and the north-south use of Gateway API provide declarative Layer 7 routing from clients outside the cluster to Kubernetes workloads. They express host- and path-based routing through Kubernetes resources and can be implemented by controllers such as Cilium’s Envoy-based ingress implementation. A therefore captures their shared purpose most accurately.
The remaining choices describe differences rather than universal similarities. Gateway API is explicitly role-oriented: infrastructure administrators manage GatewayClass and often Gateway , while application owners manage route resources such as HTTPRoute . The Ingress API does not provide the same formal separation of administrative and application-facing resources, making C unsuitable as a statement about both.
Implementation-specific annotations are historically common with Ingress because its core API is limited. Gateway API was deliberately designed with more expressive, portable resource fields so that implementations do not need to depend as heavily on vendor-specific annotations; D is consequently not true of both. Namespace behavior also differs because Gateway API provides controlled cross-namespace attachment and reference mechanisms. B is therefore not the defining common capability.
Official references
Cilium Kubernetes Ingress Support , Cilium Gateway API Support , Migrating from Ingress to Gateway API
Study Guide topic: Kubernetes north-south routing, Ingress, and Gateway API.
Which component is embedded in the Cilium Agent and retrieves eBPF-based visibility from Cilium?
Cilium CNI
Cilium Operator
Hubble Relay
Hubble Server
Technical explanation
The Hubble Server is embedded in each Cilium agent and consumes the eBPF-derived visibility data produced on that node. It exposes gRPC services through which clients can retrieve flow events, node and namespace information, server status, and related observability data. Embedding the server in the agent enables high-performance collection with comparatively low overhead.
Hubble Relay has a different role. It is a standalone component that discovers and connects to the Hubble Server instances running across the cluster. Relay aggregates their individual APIs to provide multi-node or cluster-wide visibility to clients such as the Hubble CLI and Hubble UI. It is therefore not the component embedded in the agent.
The Cilium CNI plugin is invoked when Kubernetes creates or removes pods and asks the local agent to configure their networking and datapath. The Cilium Operator performs cluster-wide management duties such as selected IPAM and shared-state operations. Neither component is responsible for exposing eBPF flow visibility.
This server–relay distinction is central to understanding Hubble’s distributed architecture: Server provides node-local visibility, while Relay combines multiple servers into a cluster-wide view.
Official references
Hubble Internals , Cilium Component Overview
Study Guide topic: Hubble Server, Hubble Relay, and distributed flow observability.
The application team would like to observe egress traffic with application level information for workloads running in a Cilium based Kubernetes Cluster Which features would offer this without the need for additional tooling?
Cilium Load Balancing
Fluentd and Grafana
Kubernetes Network Policies
Hubble Ul and CLI
Technical explanation
Hubble UI and Hubble CLI are Cilium’s integrated interfaces for examining workload network flows. Hubble records source and destination identities, namespaces, workloads, addresses, ports, forwarding verdicts, and drop reasons. When Layer 7 visibility is configured, its flow output can also contain application-level information such as HTTP methods, URLs, response codes, latency, and DNS queries. Filters can narrow the results by source workload, namespace, destination, protocol, port, or verdict, making Hubble appropriate for investigating egress behavior.
Hubble CLI provides detailed event-oriented inspection, while Hubble UI presents flows and service dependencies graphically. Hubble Relay aggregates the per-node Hubble APIs so these clients can obtain cluster-wide visibility.
Load balancing directs traffic but is not an observability interface. Kubernetes NetworkPolicy expresses permitted communications but does not by itself display application-level flow records. Fluentd and Grafana are external logging and visualization components and would violate the requirement to avoid additional tooling.
Layer 7 information requires supported traffic to be redirected through Cilium’s L7 proxy. Hubble then exposes the resulting application-layer flow events through the built-in CLI or UI, making D the complete answer.
Official references
Network Observability with Hubble ; Inspecting Network Flows .
Study Guide topic: Network Observability.
Which component, when available, is able to handle IPAM requests?
Cilium Agent
Cilium API Server
Cilium Operator
Cilium CNIPIugin
Technical explanation
The Cilium Operator handles IP address management responsibilities in IPAM modes that require cluster-wide or cloud-integrated allocation. Current documentation identifies the operator as responsible for IPAM in Azure IPAM, AWS ENI, and cluster-scope mode. Cloud-specific operators populate the appropriate allocation information in CiliumNode resources, after which node-local agents allocate addresses to endpoints from the available ranges.
The phrase “when available” is important because responsibilities vary by IPAM mode. Under Kubernetes host-scope IPAM, Kubernetes allocates each node’s PodCIDR, and the Cilium agent consumes that range from the Kubernetes Node object. Nevertheless, among the supplied components, the operator is the component specifically associated with centralized IPAM requests and allocation management.
The Cilium agent implements each node’s datapath and endpoint lifecycle but is not the general cluster-wide IPAM answer intended here. Cilium API Server is not the documented allocation component. The misspelled Cilium CNIPIugin refers to the CNI plugin, which requests networking setup when a pod is created but does not replace the operator’s IPAM responsibilities.
Official references
Cilium Operator , Cilium IP Address Management
Study Guide topic: Cilium Operator responsibilities and IPAM modes.
Copyright © 2014-2026 Certensure. All Rights Reserved