I've got problem recently with SUSE Rancher installation.
I'm unable to access the Rancher dashboard using the hostname <IP_OF_LINUX_NODE>.sslip.io after installing SUSE RKE2 & Rancher on an openSUSE 15.6 VM hosted on an Ubuntu 22.04 server using libvirt/kvm/qemu stack.
Environment:
- Host: Ubuntu 22.04
- Virtualization: Libvirt/KVM/QEMU stack
- Guest: openSUSE 15.6
- Proxy: Company proxy
- DNS server: company server (10.0.DDD.EEE)
- Installation: SUSE RKE2 & Rancher (Helm chart, Rancher generated certs)
Steps Taken:
- Created a new VM with
virt-install. - Installed openSUSE 15.6 (firewalld disabled).
- Set environment variables (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) in
~/.bashrc:
export http_proxy=<my-proxy-address>
export https_proxy=<my-proxy-address>
export no_proxy=localhost,127.0.0.0/8,10.0.0.0/8,10.20.40.0/24,10.42.0.0/16,10.43.0.0/16,cattle-system.svc,172.16.0.0/12,172.17.47.0/24,192.168.0.0/16,.svc,.cluster.local,.<company>.local,<ubuntu-host-name>.<company>.com,.sslip.io,rancher
- Updated system:
sudo zypper refresh && sudo zypper update && sudo reboot - Configured the same proxy settings for RKE2 according to https://docs.rke2.io/advanced#configuring-an-http-proxy.
- Installed RKE2 from tarball: https://docs.rke2.io/install/methods#tarball.
- Installed kubectl: https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-kubectl-binary-with-curl-on-linux.
- Installed helm: https://helm.sh/docs/intro/install/#from-script.
- Followed Rancher installation guide via Helm chart (rancher-stable repository, Rancher generated certs): https://ranchermanager.docs.rancher.com/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster#install-the-rancher-helm-chart.
Expected Behavior:
Rancher dashboard should be accessible at <IP_OF_LINUX_NODE>.sslip.io.
Actual Behavior:
curl -k https://<IP>.sslip.io
returns:
curl: (6) Could not resolve host: <IP>.sslip.io
Troubleshooting:
- It's possible to access Rancher dashboard on 10.43.XX.YY (service rancher) and 10.42.0.CCC (pod rancher).
- Command
curl -vv -k -H "host: <IP>.sslip.io" https://<IP> -vreturns expected JSON response. - Same steps on a VirtualBox VM (guest openSUSE, host Windows) allow access to Rancher dashboard via hostname from both host OS and guest OS.
- Update: I tried also to setup Rancher using k3s and result is also the same as for RKE2.
Additional information:
Rancher ingress:
Name: rancher
Labels: app=rancher
app.kubernetes.io/managed-by=Helm
chart=rancher-2.8.5
heritage=Helm
release=rancher
Namespace: cattle-system
Address: 192.168.AAA.BBB
Ingress Class: nginx
Default backend: <default>
TLS:
tls-rancher-ingress terminates 192.168.AAA.BBB.sslip.io
Rules:
Host Path Backends
---- ---- --------
192.168.AAA.BBB.sslip.io
/ rancher:80 (10.42.0.CCC:80)
Annotations: cert-manager.io/issuer: rancher
cert-manager.io/issuer-kind: Issuer
field.cattle.io/publicEndpoints:
[{"addresses":["192.168.AAA.BBB"],"port":443,"protocol":"HTTPS","serviceName":"cattle-system:rancher","ingressName":"cattle-system:rancher"...
meta.helm.sh/release-name: rancher
meta.helm.sh/release-namespace: cattle-system
nginx.ingress.kubernetes.io/proxy-connect-timeout: 30
nginx.ingress.kubernetes.io/proxy-read-timeout: 1800
nginx.ingress.kubernetes.io/proxy-send-timeout: 1800
Events: <none>
My rancher service:
Name: rancher
Namespace: cattle-system
Labels: app=rancher
app.kubernetes.io/managed-by=Helm
chart=rancher-2.8.5
heritage=Helm
release=rancher
Annotations: meta.helm.sh/release-name: rancher
meta.helm.sh/release-namespace: cattle-system
Selector: app=rancher
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.43.XXX.YYY
IPs: 10.43.XXX.YYY
Port: http 80/TCP
TargetPort: 80/TCP
Endpoints: 10.42.0.CCC:80
Port: https-internal 443/TCP
TargetPort: 444/TCP
Endpoints: 10.42.0.CCC:444
Session Affinity: None
Internal Traffic Policy: Cluster
Events: <none>
Question:
What could be causing this hostname resolution issue on the libvirt/kvm/qemu VM? How can I fix it?
Please let me know if you require any further details or logs for troubleshooting.