I'm looking to set up a new Kubernetes cluster that will be partly on-premise and possibly in Azure. Here are some rough requirements I have: 1) temporary environments for dev and testing, 2) high availability to prevent single points of failure, 3) load balancing across multiple pod instances, 4) scalability for workload demand, 5) potential integration with Azure, 6) zero downtime for software releases, 7) compliance with ISO27001, 8) rollback capabilities for app releases, 9) SSO integration for cluster admin using Entra ID, 10) access control for team services, 11) support for development, testing, and production, 12) isolated environments in the DMZ, 13) integration with CI/CD tools like Jenkins and GitHub Actions, 14) visibility for developers into application errors, 15) integration with an elastic monitoring stack, 16) resilient data storage, 17) traffic control, 18) standard backup options with Veeam, 19) auditing for platform admin actions, and 20) service restart capabilities on health check failures. I'm considering SuSE Rancher, RedHat OpenShift, or Canonical Charmed Kubernetes but would love to get your insights. Our budget is somewhat flexible but we need to be cost-effective.
4 Answers
Have you thought about using Talos instead? It's super simple and really solid. I think you'd find it works well for your needs!
I would actually recommend steering clear of Canonical. I had a rough time with Juju—it felt more like a beta test than a proper solution. If you're considering OpenShift, its deployment is straightforward, and there's a trial version available to test it out before you commit.
I've been using OpenShift, and it seems to tick all the boxes you've laid out. RedHat is usually a strong partner too. Most of your requirements are pretty standard for Kubernetes setups, so you'll likely find support across any K8s platform.
I think you might be overthinking it a bit. All those options you mentioned can meet your requirements since they all revolve around Kubernetes. Maybe consider sticking with vanilla Kubernetes if you're comfortable managing it without the extra layers.
That’s a good point! But I guess it depends on how much complexity you're willing to handle yourself.