- CoreDNS is a cluster DNS server.
- Cilium is a networking solution that provides security and observability.
- For CoreDNS, use a custom ConfigMap.
- For Cilium, edit the default ConfigMap.
helm upgrade to customize, as the changes it makes may be rolled back immediately.
CoreDNS
CoreDNS is a flexible DNS server for Kubernetes clusters. It replaces kube-dns to handle service discovery and name resolution within the cluster. To view the current CoreDNS configuration, run the following command:kubectl edit configmap to make changes to this configuration, because the Managed Service for Kubernetes overwrites the default ConfigMap. Instead, use a custom ConfigMap:
-
Create a custom ConfigMap
coredns-custom.yaml. It should contain the keys with the.overrideand.serverextensions..overridekeys allow you to add plugins to the default Server Block of CoreDNS. You cannot override the parameters already specified in the default ConfigMap..serverkeys allow you to specify additional Server Blocks for CoreDNS.
This ConfigMap:- Adds the
logplugin to start logging at the system level. - Creates a new Server Block for the
example.iodomain. All requests directed toexample.ioat port 8053 should be forwarded to another DNS server at8.8.8.8.
-
Apply the custom configuration:
Cilium
Cilium ensures that only specific services and traffic can access certain pods. For example:- Some pods might contain sensitive data, and Cilium enforces rules that only certain internal services or authorized users are allowed to access it.
- If a node requires restricted access, Cilium ensures that only internal services with proper credentials or traffic with specific labels are allowed.
See more information on ConfigMap parameters
See more information on ConfigMap parameters
For more information about available ConfigMap parameters, see the Cilium documentation that matches your cluster’s Cilium version:
-
Get the Cilium version used in your cluster:
-
In the command output, copy the link to the version documentation (remove
/gettinghelpif present). -
Open the following page for your version:
For example, see https://docs.cilium.io/en/v1.16/network/kubernetes/configuration/#configmap-options for Cilium version v1.16.
Integration with Istio
To make Istio work with a Cilium-enabled Managed Kubernetes cluster, do the following:- Install Istio.
-
In the Cilium ConfigMap, set the
bpf-lb-sock-hostns-onlyparameter totrue: - Wait until all Cilium pods are restarted.
See more information on Istio integration
See more information on Istio integration
For more information on Istio integration, see the Cilium documentation that matches your cluster’s Cilium version:
-
Get the Cilium version used in your cluster:
-
In the command output, copy the link to the version documentation (remove
/gettinghelpif present). -
Open the following page for your version:
For example, see https://docs.cilium.io/en/v1.16/network/servicemesh/istio/ for Cilium version v1.16.
Host firewall
If your Managed Kubernetes cluster was created on or after April 17, 2025, Cilium’s host firewall is already enabled on the cluster. You can check the creation dates of your clusters in the web console. If your cluster is older, you need to enable the host firewall manually:- Connect to the cluster.
-
Run the script that enables the host firewall:
enable_cilium_host_firewall.sh