kubernetes-retired / kube-aws

[EOL] A command-line tool to declaratively manage Kubernetes clusters on AWS
Apache License 2.0
1.13k stars 295 forks source link

Node pool release channel configuration does not work #837

Closed sonnysideup closed 7 years ago

sonnysideup commented 7 years ago

Versions

kube-aws: v0.9.7 kubernetes: v1.6.3+coreos.0

Synopsis

I am currently using the CoreOS stable release channel for most of my cluster but I would like to configure my CICD node pool to use the alpha channel; this has a newer version of Docker that supports staged-builds. Adding the following configuration lines to cluster.yaml and running kube-aws update affects no change whatsoever. In AWS, I see the top-level CF stack for the cluster check for an update and then exit immediately thereafter.

  nodePools:
    - name: cicd-node-pool
      releaseChannel: alpha
      subnets:
        - name: sn-app-0
        - name: sn-app-1
        - name: sn-app-2
      securityGroupIds:
        - sg-XXXXXXXX
      instanceType: t2.large
      createTimeout: PT25M

      autoScalingGroup:
        minSize: 2
        maxSize: 4
        rollingUpdateMinInstancesInService: 1

      nodeLabels:
        kube-aws.coreos.com/nodepool: cicd
      taints:
        - key: dedicated
          value: cicd
          effect: NoExecute

I tried to (1) create a new node pool using the alpha channel and (b) updating an existing node pool to use alpha channel. In both cases the node pool ended up using the stable channel.

Please let me know if I can provide any further information.

mumoshu commented 7 years ago

@drywheat Thanks for the report!

AFAICS by reading code, releaseChannel under worker.nodePools[] doesn't seem to work because it is not implemented at all! It is a bug that the key is mentioned in the cluster.yaml.

Anyways, I guess we can make releaseChannel per node pool pretty easily.

sonnysideup commented 7 years ago

I think this addition would be useful. It will allow operations teams to run a heterogeneous mix of Container Linux servers (alpha/beta/stable) is various quantities, which is what CoreOS actually recommends. 😃