Hello everyone. I need this patch to my `HelmChar...
# rke2
b
Hello everyone. I need this patch to my
HelmChartConfig/rke2-canal
in namespace
kube-system
, lest Flanneld finds itself unable to identify the network interface that bears the IPv6 default route (whereas, for some reason, it detects the IPv4 one just fine without that setting; and of course, it’s the same interface.) Trouble is, somehow every time I add or remove a quorum node, it seems that that patch goes away for some reason; which messes up the networking big time (and it’s like the Kryptonite of Kubernetes; since the control plane doesn’t use the overlay network, it doesn’t even realize that the node is out of order, and so it keeps scheduling pods to it that don’t have network access to any services, or pods on any other nodes! 😱). I want to get to the bottom of this. I see that the other
HelmChartConfig
that I have (bottom of screenshot) doesn’t suffer from such interference; presumably because it is not “managed,” as evidenced by not having a
<http://objectset.rio.cattle.io/owner-name|objectset.rio.cattle.io/owner-name>: managed-chart-config
annotation, whereas the first one does. My question is: which moving part is “managing” my `HelmChartConfig/rke2-canal`; and how do I tell it either to stop, or to negotiate and integrate the desired
flannel.regexIface
into its
spec.valuesContent
? Edit: proofread
However much I hate replying to myself, I found a file called
/var/lib/rancher/rke2/server/manifests/rancher/managed-chart-config.yaml
on each of my quorum nodes, that reads
Copy code
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  creationTimestamp: null
  name: rke2-canal
  namespace: kube-system
spec:
  valuesContent: '{"global":{"cattle":{"clusterId":"c-m-t2gz7sxt"}}}'
and this obviously looks like a smoking gun.
Soo, from https://docs.rke2.io/install/packaged_components it sounds like I should just delete that file... Right?
... Wrong.
addChartConfigs
(https://github.com/search?q=repo%3Arancher%2Francher%20addChartConfigs&amp;type=code) will keep recreating this file every time it is called — As documented. This boils down to a documentation issue.
c
If you’re using Rancher, then Rancher manages the CNI config, via that HelmChartConfig file. If you want to customize the CNI config, you should be editing the CNI config of the cluster in Rancher.
Don’t try to do things that conflict with what Rancher is managing for you.
Notice that there’s a whole tab for the Canal config in the UI?
b
Thanks @creamy-pencil-82913, re: Rancher and CNI I think that’s what I figured out. I filed a bug report against the RKE2 documentation, because as much as I understand the design goal that RKE2 and Rancher be thought of distinct products that can be used without one another, I don’t believe it’s the case in practice. It’s very confusing that the doc is written with that as a hidden assumption.
c
The RKE2 docs are written for standalone RKE2. If you are using Rancher to manage RKE2, then you should refer to the Rancher docs. We will not update the RKE2 docs to cover things that need to be done in Rancher. That is what the Rancher docs are for.
b
Too bad 🤷‍♂️