<p>I am getting into CI/CD and Microservices. I want to try Kubernetes for a project that I am starting. I spent the last two weeks learning about those topics. But I don't have the knowledge to make the decision. I would like to know if for a small project is better to setup Kubernetes in my server or pay a Cloud service. What difficulties I would have to setup Kubernetes manually? My impression is that setting up a Kubernetes by hand is more like toward setting up an email server, is much more viable to pay to have a email domain than set up an email server manually.</p>
<p>I would like only to have kubernetes to get my services up automatically and other basic things.</p>

<p>If you have an <strong>on-prem</strong> set up and you can expose your cluster you can go with that creating the <strong>K8s</strong> cluster and managing it.</p>
<p>Else are you planning to set up manually on cloud <strong>VMs</strong>? instead better to use managed one from <strong>Digital Ocean</strong> or <strong>Oracle OKE</strong> which may cost around <strong>$20-30</strong> months if a small project.</p>
<p>Now you have the option to use <strong>Kubespray</strong>, and <strong>Kubeadm</strong> to setup the manual cluster and manage it so would be pretty easy to do it but again setting on <strong>VMs</strong> &amp; managing it too much of work, instead go with the provider who gives free control plane and has only pay for <strong>Worker</strong> <strong>Nodes</strong>.</p>
<p>You can also go for the <strong>Serverless containers</strong>, <strong>Cloud RUN</strong> from <strong>GCP</strong> &amp; <strong>ECS</strong> from <strong>AWS</strong> worry about your container <strong>workload</strong> and pay for resources actually your container using with option to <strong>scaling</strong>.</p>
