Ask HN: How to transfer K8s cluster to on-prem Linux server
Good day HN! I need to transfer a production kubernetes cluster from Scaleway to on-premise data center with a clean Ubuntu server.
I'm looking for the easiest setup solution, so that it's easier to transfer cluster to another ubuntu server in future (within few months), preferably with fewer steps possible. What options do I have?
I found multiple OSS options like Kubespray and Rancher. But their setup process seems a bit "manual". Should I write a script? Appreciate your time! Managing k8s is hard and is one of the primary reasons that managed k8s services (Azure Kubernetes, AWS Kubernetes, Digital Ocean Kubernetes, etc) exist. If you're asking HN how to start from a clean slate then perhaps you haven't quite realised how painful it's going to be. For the sake of your sanity, and the service you provide on said cluster, hand off this project to someone that knows what their doing. Good luck! Thank you, indeed!
I am trying to avoid self management. Considering the complexity of a manual setup, I am looking for some abstraction; "managed" k8s solutions like mentioned above. I have two choices at the moment either go with more or less managed k8s or go with something similar to Heroku (but OSS) with build pipelines.
I'm sure there are solutions that I might be missing... You should spin up the new cluster, deploy the apps there, then start shifting traffic to the new one gradually. Sorry, I guess, the title doesn't highlight what I am looking for. I am looking for the easiest way to set up a kubernetes cluster on premise. Is there a solution for it? Without using kubeadm and messing with the network.
Some folks mentioned not messing around with kube on-prem. I agree with that, as long as there is another solution that would allow me to easily deploy apps without touching ubuntu and the apps could be resilient and scalable in future with a click of a button. Are there such non-kube solutions? One way of doing things without kube I imagine as follows: I do coding, build an image and push the container to a container repo. Then I have to ssh into the server and stop and start the container with the new version.
Which I find time consuming. How could I automate this deployment cycle? What people usually do? You don't need K8s for that, only gitea (with actions enabled) and a server running docker. Actions (like Github Actions) will take care of building, deploying and restarting the container. The easiest way would be running K3S scripts. You'll have a master and multiple nodes running in minutes. Managing it however... it's a whole different thing. Instead of transferring the cluster can you transfer the application(s)?