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

owenmorgan picture owenmorgan  路  3Comments

chrislovecnm picture chrislovecnm  路  3Comments

rot26 picture rot26  路  5Comments

pluttrell picture pluttrell  路  4Comments

drewfisher314 picture drewfisher314  路  4Comments