GAミント至上主義

Web Monomaniacal Developer.

Googleのslack競合「Hangouts Chat」に期待

弊社ではG Suiteを使っているので、Googleがslackっぽいの出してくれればと思ってましたが、やってくれるようです。


www.itmedia.co.jp


slackは今も使ってますが、たくさんメッセージを使うのには有料プランが必要なので、月額がかかってしまいます。G Suiteに含めてくれれば助かります。

G Suiteで会社のユーザー管理をしているので、Google側でまとまれば助かります。


あとはSlack並にbotが簡単に作れるようになっていれば文句ありません。

kubectlでimageの変更をコマンドラインで行う

Google Container Engineでのデプロイは、今までは

kubectl edit deploy {name}

でエディタを開き、手でimageの値を書き換えていたけど、面倒になったので自動化を考えた。

マスターのバージョンは1.4.8。

editではなくpatchというコマンドがあった。

kubectl patch - Kubernetes


不要な部分を削除して下記の様な形で成功した。
nameを入れないとエラーになるのでハマった。

既存のnameにしないと、別名で複数起動してしまう。

kc patch deployment redis-pd -p '{"spec": { "template": { "spec": {"containers": [{"name":"appname", "image": "asia.gcr.io/project-id/appname:tag"}]}}}}'

これを更新用シェルスクリプトに含めて、アプリ名、タグ名を入れればpushとデプロイまでコマンド一発でできるようになった。

Google Container Engineでtype=LoadBalancerでexposeすると、毎月2000円~程度かかるので注意

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証明書を載せた方がいろいろ便利な気がしてきた。