kops: Add warning/error when attempting to use AWS M5 instances with `jessie` images

  1. Describe IN DETAIL the feature/behavior/change you would like to see.

The kops default Debian jessie images do not support nvme for EBS volumes, which is used by the AWS M5 instance types. As a result, masters fail to start, as they can not mount the EBS volumes. Instead, you’ll see the following message repeated endlessly in the logs:

1576 volume_mounter.go:107] Waiting for volume "vol-xxxxxxxxxxxxxxx" to be attached

  1. Feel free to provide a design supporting your feature request.

Kops should generate an error or warning when attempting to provision a jessie based cluster using M5 instances.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 9
  • Comments: 15 (2 by maintainers)

Most upvoted comments

This really should be in the docs. I wasted hours due to this thinking it was something entirely unrelated because it was really not obvious that the reason k8s wasn’t provisioning was because of the instance type I chose.

Switch the base image you use from Debian “jessie” to “stretch” (https://www.debian.org/releases/) and that will fix the issue. AWS M5 instances are supported using stretch.

+1 on this being a a time-waster.

tl;dr: add --image=kope.io/k8s-1.10-debian-stretch-amd64-hvm-ebs-2018-05-27 to your cluster create command if you’re using 1.10.0-alpha.1, or if using another version you will need to find the appropriate image.

The resolution in the end was to use debian skinny instead of jessie on 1.9.1+. I ended up going for 1.10.0-alpha.1 in the end. In order to make this work you need to search for AMIs within your AWS console, filtering for Owner: 383156758163 and then looking for the AMI you need.

agh…This issue wasted so much of my time. Never guessed m5 instance caused it.