RKE2 and Nginx Ingress Controller

Hello!
I have an RKE2 cluster that consists of 3 masters and 3 workers. Installed according to the documentation. I empirically found that the Nginx Ingress Controller is available only on Master 1. Can I make it available on other masters?

└─# kubectl get nodes
NAME          STATUS   ROLES         AGE   VERSION
cuba-kub-01   Ready    etcd,master   45d   v1.18.10+rke2r1
cuba-kub-02   Ready    etcd,master   44d   v1.18.10+rke2r1
cuba-kub-03   Ready    etcd,master   44d   v1.18.10+rke2r1
cuba-kub-04   Ready    node          44d   v1.18.10+rke2r1
cuba-kub-05   Ready    node          44d   v1.18.10+rke2r1
cuba-kub-06   Ready    node          44d   v1.18.10+rke2r1

Hi,

just playing around with rke2 too (nice new toy, looks promising). This is an old topic but maybe someone needs a solution for this too. If I got it right, the way to do it is to write a HelmChartConfig into the manifest directory.
I suppose it will only work if at least three master nodes are in the cluster. Until then, the replica set
remains in pending state.

(See answer from brandond here: HelmChartConfig modifications not taking effect · Issue #663 · rancher/rke2 · GitHub)

sudo tee /var/lib/rancher/rke2/server/manifests/rke2-ingress-nginx-config.yaml >> /dev/null << EOF
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: rke2-ingress-nginx
  namespace: kube-system
spec:
  valuesContent: |-
    controller:
      nodeSelector:
        node-role.kubernetes.io/master: "true"
      replicaCount: 3
EOF

Or in a running cluster just to scale the deployment: Deployments | Kubernetes

Kind regards,
Michael

Is this step on the setting up HA RKE2 for Rancher what you’re looking for?

Forgot about the expansion, but step name is “Configure nginx to be a daemonset”. I didn’t find it necessary using RKE2 with Kubernetes 1.21 as it was already a daemonset, but maybe this is what you wanted?

thanks for the link @wcoateRR
Do you know where I can modify these HelmChartConfig Settings in an already deployed RKE2 Cluster managed by Rancher (RKE2 Tech Preview)?

  • are they on the Cluster Config itself ?

My Goal is to Edit the rke2-ingress-nginx HelmChartConfig
allowed Values: ingress-nginx/values.yaml at main · kubernetes/ingress-nginx · GitHub


That’s nothing I’ve done so not sure what I could tell you.

If you want to modify what’s in the git repos for the defaults you might need to look at the Air Gap instructions for how to set Rancher to use a personal docker repo & presumably git repo for defaults for fleet.

However, rke2-ingress-nginx is installed by default with RKE2 via RPM or TAR, so you’d have to change things in you config.yaml with the RPM install method to avoid it or change it as far as I understand. If you want to do that I think the safest thing to do is find the option to say not to install rke2-ingress-nginx at all and then manually install it from where you point it at after, but that’s just a guess.

There are more Rancher employees active on Slack than here, so you might try the #rke2 channel over there.