Ethan Reesor
Ethan Reesor

Reputation: 2180

What is the simplest reasonable Kubernetes setup?

I'm interested in getting started with Kubernetes, but my needs are simple and it does not look simple. I have a number of containerized applications that I deploy to container servers. I use nginx as a reverse proxy to expose these applications.

As far as I can tell, Kubernetes is meant to simplify management of setups like this. But I'm not sure the setup investment is worth it, given that I only realistically need one instance of each app running.

What is the simplest reasonable Kubernetes setup that I can deploy a few containerized applications to?

EDIT: If I start using Kubernetes, it will be using only on-site servers. The applications in question are ones I’ve developed for my employer, who requires that everything stays on-site.

Upvotes: 3

Views: 619

Answers (5)

Pamir Erdem
Pamir Erdem

Reputation: 186

  1. On developers machine; you should use minikube.
  2. On Azure / Google / Amazon ..etc; you should use managed kubernetes services
  3. On Prem you should deploy kubernetes with on your own setup.

    3.1. https://github.com/kelseyhightower/kubernetes-the-hard-way

    3.2. with kubeadm

    3.3 with ansible scripts like kubespray

If you choose kubeadm installation,while you are upgrading kubernetes cluster, again you should use kubeadm again. Best way to deploy on prem is using kubeadm, kube-spray or automating it with Pivotal's Bosh scripts

Upvotes: 3

Przemek Nowak
Przemek Nowak

Reputation: 7693

Well according to previous answers you should start with minikube on your machine.

Regarding the futher dev/test/staging/prod deployment it depends. There are a couple of solutions:

  • use clusters provided by Google, Azure or AWS (AWS EKS is not ready yet - https://aws.amazon.com/eks/)
  • the hard way - setup own cluster or EC2 machines or similar
  • use tools like Rancher - some additional abstration over k8s for easy start, from version 2.0 k8s will be default mechanism orchiestration for Rancher

Update 31-01-2018:

  • regarding the hard way - there are of course some tools which helps with that approach like helm

Upvotes: 1

yamenk
yamenk

Reputation: 51758

The Kubernetes docs provide an excellent page to choose between the different options to setup kubernetes. The page is found under Picking the Right Solution.

If you want a simple way for setting a kubernetes cluster on premise, check kubeadm.

Upvotes: 0

joshperry
joshperry

Reputation: 42227

Take a look at this opinionated cluster setup k8s-snowflake and deploy it somewhere like Azure, or Google Compute.

It's a great exercise to figure out how kubernetes clusters work at a low level, but when you're ready to go to production, take a look at Google's Container Engine or AWS Elastic Container Engine. These ease the management of clusters immensely and exposes all the other benefits of the cloud platform to your kubernetes workloads.

Upvotes: 1

sayboras
sayboras

Reputation: 5165

As you want to get started with Kubernetes, I assume that you want to set-up for your local development, I think that minikube is a best candidate for this purpose. You can also take a look at interactive tutorials from official Kubernetes website, I find it very helpful.

Upvotes: 2

Related Questions