Google Container Engineでのデプロイは、今までは
kubectl edit deploy {name}
でエディタを開き、手でimageの値を書き換えていたけど、面倒になったので自動化を考えた。
マスターのバージョンは1.4.8。
editではなくpatchというコマンドがあった。
不要な部分を削除して下記の様な形で成功した。
nameを入れないとエラーになるのでハマった。
既存のnameにしないと、別名で複数起動してしまう。
kc patch deployment redis-pd -p '{"spec": { "template": { "spec": {"containers": [{"name":"appname", "image": "asia.gcr.io/project-id/appname:tag"}]}}}}'
これを更新用シェルスクリプトに含めて、アプリ名、タグ名を入れればpushとデプロイまでコマンド一発でできるようになった。