-
Notifications
You must be signed in to change notification settings - Fork 121
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kamaji infinite CoreDNS Configmap Overwrite #742
Comments
Kamaji aims for a constant reconciliation to ensure it respects the desired state of those components and doesn't support customisation of the CoreDNS configmap: any change is a diff and it must be reconciled. We have a discussion about it (#475) and it's open for external contributions or request for development, such as engaging with CLASTIX to get it sorted out. Otherwise, you can manage CoreDNS externally, such as an add-on, with Project Sveltos, FluxCD, ArgoCD, or in the Cluster API domain, with ClusterSet. |
It should be fine to maintain state for resources which are managed by Kamaji, for eg deployment of control plane components, konnectivity etc but components like coredns, kubeproxy are owned at cluster level and should be reconciled once or upgraded or migrated with k8s upgrade only. Overwriting coredns configmaps is not done in any of other control plane providers, eg cluster api provider kubeadm or cluster api provider k3s etc |
CoreDNS addon is defined in the Tenant Control Plane definition, thus managed by Kamaji as an addon.
I disagree, those components are essentials for cluster operations, like Konnectivity Agent which resides on user space. If user breaks the CoreDNS configuration, Service Discovery will be broke affecting production grade of the cluster.
We're doing better than the others, it seems. As I said before, I would suggest you relying on an external component such as FluxCD or Project Sveltos with no drift detection mode, or contribute upstream by continuing the discussion aforementioned, or engage with CLASTIX for development. |
We surely can manage them outside but then it lacks the feature of upgradation of such components automatically with cluster upgrade. Also kamaji just holds whether to enable coredns or no, it doesnot own the configuration of coredns. |
Project Sveltos is our preferred choice when dealing with complex upgrade and update processes.
It sounds like a feature request, happy to receive contributions or a commercial engagement for the development. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
When we create control plane using TenantControlPlane, we cannot update coredns Corefile for adding extra domains as Kamaji Controller keeps overwriting it with base Corefile.
Ideally with kubeadm, one CoreDns configmap is created , it is not overwritten and migration is also supported when we are upgrading the cluster. We expect similar behaviour with Kamaji as well that it should only create configmap and during cluster upgrade should migrate coredns config if required rather than overwriting.
The text was updated successfully, but these errors were encountered: