Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Flatcar Linux os_channel on AWS #211

Merged
merged 1 commit into from
May 12, 2018
Merged

Allow Flatcar Linux os_channel on AWS #211

merged 1 commit into from
May 12, 2018

Conversation

dghubble
Copy link
Member

@dghubble dghubble commented May 9, 2018

  • Change AWS optional os_channel variable to represent an AMI channel for a Container Linux derivative
  • Allow the Flatcar Linux Container Linux derivative os_channel on AWS with flatcar-stable, flatcar-beta, flatcar-alpha. Nice drop-in replacement.
  • Require values stable, beta, alpha be changed to coreos-stable (default), coreos-beta, coreos-alpha if they were set
$ kubectl describe nodes
...
System Info:
 Machine ID:                 8c859f2bde9e41155bca40d2d85aebb5
 System UUID:                EC2F0AE5-55A4-0FDD-8F06-4F2FC5EA09A3
 Boot ID:                    5d08c248-c559-4687-9bd5-21f79fd03b56
 Kernel Version:             4.14.32-flatcar
 OS Image:                   Flatcar Linux by Kinvolk 1688.5.3 (Rhyolite)
 Operating System:           linux
 Architecture:               amd64
 Container Runtime Version:  docker://17.12.1-ce
 Kubelet Version:            v1.10.2
 Kube-Proxy Version:         v1.10.2

@dghubble
Copy link
Member Author

dghubble commented May 9, 2018

Possibly rename the variable to os_image to have a really nice alignment with Google Cloud and Digital Ocean which already support os_image values coreos-stable, coreos-beta, etc.` (though no Flatcar yet). Just a uniform way to pick the flavor and channel, no fuss.

@dghubble
Copy link
Member Author

dghubble commented May 9, 2018

rel: #209

Copy link

@dongsupark dongsupark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general LGTM. One comment below:

}
}

Copy link

@dongsupark dongsupark May 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not familiar with typhoon & HCL, but am just curious.
Is there a good way to reduce number of data definitions?
It seems that a large part of ami.tf is defined again in workers/ami.tf.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its definitely possible with an output and then consumption of that output.

The main question is whether we should. The worker inner module can be used independently for worker pools, so it can't refer to the outer module, so it must have an ami.tf contents. Having the outer kubernetes module use the worker module both to create workers (purpose of the module) and to pick an AMI for controllers feels odd and kinda wrong. Right now, both modules pick an AMI for the instances they create and they happen to pick AMIs in the same way. Favoring some duplication over weird coupling.

@dghubble
Copy link
Member Author

Targeting this for the weekend.

* Replace os_channel variable with os_image to align naming
across clouds. Users who set this option to stable, beta, or
alpha should now set os_image to coreos-stable, coreos-beta,
or coreos-alpha.
* Default os_image to coreos-stable. This continues to use
the most recent image from the stable channel as always.
* Allow Container Linux derivative Flatcar Linux by setting
os_image to `flatcar-stable`, `flatcar-beta`, `flatcar-alpha`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants