LoginSignup
1
0

More than 5 years have passed since last update.

kube-aws v0.9.9が突然動かなくなって焦った件

Posted at

概要

kube-awsでAWS上にKubernetes環境を構築しているが、ある日突然、kube-aws validateの実行が失敗するようになった。
CloudFormationのValidationが強化されたことが原因のようだが、幸いbug fixはされているため、v0.9.9にbug fixを取り込んでBuildする手順を記載する。
なお、本書はkube-aws v0.9.9のbug fix版がリリースされるまで、もしくはv0.9.10がリリースされるまで有効とする。

問題の発端

Kubernetesクラスターを構築しようとしたところ、kube-aws validateに失敗。

$ kube-aws validate --s3-uri=s3://mybucket
Validating UserData and stack template...
Error: failed to validate node pool #0: create volume dry-run request failed: InvalidParameterCombination: The parameter iops is not supported for gp2 volumes.
    status code: 400, request id: xxxxx

調べて見ると既知の問題らしい。
投稿者は1ヶ月くらい前から発生しているらしいが、私の環境では2週間くらい前には発生していなかった。
リージョンの違いだろうか。

対応手順が書いてあったため、手順を本書に記載する。

対応手順

kube-aws v0.9.9にbug fixと取り込んでbuildする。

  • GOPATHを設定し、v0.9.9のkube-awsをcloneする(GOPATHは任意のディレクトリで問題ない)
$ export GOPATH=$HOME/go
$ git clone --branch v0.9.9 https://github.com/kubernetes-incubator/kube-aws.git $GOPATH/src/github.com/kubernetes-incubator/kube-aws
$ cd $HOME/go/src/github.com/kubernetes-incubator/kube-aws
  • bug fixのコミットを取得する
$ git cherry-pick 5e15ac9059a95c051600c378cec204621c3a722f
  • kube-awsをbuildする
$ make build
  • buildで作成したバイナリを配置する(Macの場合)
$ cp bin/kube-aws /usr/local/bin

この対応の後、無事にkube-aws validateを実行できた。

最後に

AWS側の変更により突然動かなくなるのはなかなかつらいところ。
今回は幸いbug fix版のコードを見つけることができたが、次回は見つからない可能性もある。
緊急時に手詰まりになることを避けるため、暫定対応として自分でbug fixしてbuildする手順は確立しておいた方がいいかもしれない。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0