There is a official operating system compatibility matrix for Kubernetes?
Is it Redhat 8 supported?
The Kubernetes documentation states that you need to install a container runtime on each node (Container runtimes | Kubernetes). Container engines use linux kernel features such as cgroups and so on, so any distribution using the Linux Kernel can be used to install Kubernetes on.
As many Kubernetes components can be changed (and the result would still be “kubernetes”) -check the Software conformance(Certified Kubernetes) | Cloud Native Computing Foundation - I don’t think there’s such a thing as a compability matrix for Kubernetes (too many possible variations, I guess). You can build your own “distribution” of Kubernetes and make sure it is “kubernetes compatible” (and even be listed as “Kubernetes Certified”) using Sonobuoy.
k3s uses sqlite to store the state of the cluster (Rancher Docs: Architecture) instead of etcd… Here, the Kubernetes documentation explains how to change from kubedns
to CoreDNS
: Using CoreDNS for Service Discovery | Kubernetes
Worker nodes can also run Windows (control plane nodes must be linux-based): Windows containers in Kubernetes | Kubernetes
Regarding your question about RHEL 8, check Setup Kubernetes - Red Hat Customer Portal (short answer, Yes )