Kops: FR: Single node cluster (one master, and no nodes)

Created on 6 Jun 2017  路  7Comments  路  Source: kubernetes/kops

It is not clear how to deploy a single node cluster, with a single, schedule-able master. This will be useful for developers getting started to keep costs down, or perhaps could help in testing scenarios. Minikube works for local dev, but there isn't a simple equivalent solution for live servers.

Issue #152 suggests that nodes size could be set to 0: https://github.com/kubernetes/kops/issues/152

However, I have tried this from both in the cli:

kops create cluster --node-count=0 ${CLUSTER_NAME}

That didn't affect the maxSize and minSize values in the nodes ig file.

Values can be changed by editing the nodes instance group config:

kops edit ig nodes --name=${CLUSTER_NAME}

After editing however, the resulting cluster config output yaml appears correct, but running kops update cluster ${CLUSTER_NAME} will still include a single instance launch configuration for the nodes instance group.

Most helpful comment

Hi @vinayagg,

  1. No I couldn't get that to work myself. I had to do the manual edit.
  2. Yes, I had to remove the noschedule taint from the master - which is conveniently provided by the uncordon command:
kubectl uncordon $MASTER_NODE_NAME

All 7 comments

Should this work already, and we need some documentation, or is this a genuine feature request?

I'm closing this, as I appear to have fixed the issue. Autoscaling group for nodes set min and max values to 0.

Hi Jeremy,

Can you (or anyone) give little details how to do this? My questions are:

  1. does --node-count=0 automatically works? I tried it but the resulting IG has node count=2.
    Do I need to manually edit node ig config with node count = 0 before starting cluster?
  1. With this config, is master automatically configured to schedule pods? AFAIK, by default pods are not scheduled on master nodes.

Hi @vinayagg,

  1. No I couldn't get that to work myself. I had to do the manual edit.
  2. Yes, I had to remove the noschedule taint from the master - which is conveniently provided by the uncordon command:
kubectl uncordon $MASTER_NODE_NAME

Because the solution to this issue is really a workaround what kops can't do, I'll reopen the issue.

I had opened another issue, they are now duplicate
https://github.com/kubernetes/kops/issues/3073

Ok, great thanks.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

chrislovecnm picture chrislovecnm  路  3Comments

joshbranham picture joshbranham  路  3Comments

DocValerian picture DocValerian  路  4Comments

georgebuckerfield picture georgebuckerfield  路  4Comments

justinsb picture justinsb  路  4Comments