Skip to content

Provide an interface for configuring CoreDNS in tenant k8s clusters #1221

Closed

Description

At the moment the managed k8s app relies on Kamaji which in turn relies on kubeadm to configure the controlplane and system components. Kubeadm offers no interface to configure coredns. The suggested manual workaround is to edit the configmap and deployment of CoreDNS manually after applying changes from kubeadm, however in Cozystack this is not feasible, as Kamaji immediately reconciles the cluster state.

If users really need to add changes to the CoreDNS config, one workaround is to disable the kubeadm-managed CoreDNS altogether and deploy a user-configured instance of CoreDNS separately, as a HelmRelease targeting the tenant cluster, exactly as it is done for other components, such as the kubevirt CSI and Cilium.

It might be a good idea not to expose too many features in this new interface, but just a very limited subset, such as delegating a given DNS zone to a user-provided DNS server.

The closed PR #324 can serve as a starting point for this enhancement.

Metadata

Metadata

Assignees

Labels

kind/featureCategorizes issue or PR as related to a new feature

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions