弊社ではG Suiteを使っているので、Googleがslackっぽいの出してくれればと思ってましたが、やってくれるようです。
slackは今も使ってますが、たくさんメッセージを使うのには有料プランが必要なので、月額がかかってしまいます。G Suiteに含めてくれれば助かります。
G Suiteで会社のユーザー管理をしているので、Google側でまとまれば助かります。
あとはSlack並にbotが簡単に作れるようになっていれば文句ありません。
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とデプロイまでコマンド一発でできるようになった。
GKEを使っていて、利用料金を見ていたら、作った覚えのないロードバランサーの金額が入っていた。
Compute Engine Network Load Balancing: Forwarding Rule Minimum Service Charge in Japan: 672 時間 [Currency conversion: USD to JPY using rate 115.1]
他のプロジェクトではHTTPS Load Balancerを使っていて、それで料金が掛かっているのは把握していたけど、該当のプロジェクトでは思い当たる節がなかった。
該当のプロジェクトでは、GKEで開発用途のプロキシでnginxを動かしているのみ。
下記のURL(project-nameはそれぞれ)で確認すると、自動的にTCPロードバランサーが作成され動いていた。
https://console.cloud.google.com/networking/loadbalancing/list?project=project-name
最初なんだこれ、いらねと思って消したらアクセスできなくなり焦った。
どうやら、
kubectl expose deployment deployment-namne type=Loadbalancer
でserviceを作成をすると自動的に設定されるらしい。
これには「負荷分散とプロトコル転送」の料金がかかり、
Google Compute Engine Pricing | Compute Engine Documentation | Google Cloud Platform
アメリカ、EU、台湾は
最初の 5 つの転送ルール $0.025 1 時間あたり
なのに対し
アジア(日本)だけ
最初の 5 つの転送ルール $0.038 1 時間あたり
と1.5倍の料金が請求されるので注意。
日本以外だと月18ドル(0.025 * 24 * 30)、日本だと月27.36ドル。
性能、機能ともに非常に高く、本番用では申し分のない低価格だけど、ほとんどアクセスのない開発用途にはちょっと高いと思う。
TCPロードバランサーとHTTP(S)ロードバランサーの値段は変わらないようなので、HTTPの方を使って、ロードバランサーにSSL証明書を載せた方がいろいろ便利な気がしてきた。
プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化