GiHub が PullPanda を買収したので無料で利用できるようになりました。
GitHub リポジトリと連携させることで以下のような機能を利用できます。

  • PR の分析
  • PR のリマインド機能(Slack 連携)
  • PR の自動アサイン(チーム内ロードバランスしてくれる)

特に3点目はほんとに良さそうな機能だったのでほんとに使いたかったですが、 1 Organization に対して 1 Slack Workspace の仕様で、既に Organization 内で使ってる人がいて使えませんでした。

終わり


これだけじゃあれなのでメモ

  • PullPanda で一度登録した Slack Workspace を切り替えたいときは、Slack の管理画面側で PullPanda をアンインストールするとできます。

引っ越しの繋ぎにモバイル Wifi を使ってるので速度制限を気にしないといけない世知辛い状況

GCE + docker-compose で動かしてた Discord bot を GKE(無料)に載せ替えたので忘れないうちにメモ。(GCE は us リージョンの低スペックインスタンスだと一生無料なのでそれを利用します)

基本的にこちらの記事を参考に進めただけです。

無料の GKE Cluster 作成方法

1.サービスを最低限にした Cluster を作成

まずは cluster を作成。 f1-micro インスタンスだとスペックが足りないのでデフォルトのサービスを停止しています。(—no-enable のあたり)

gcloud container clusters create my-cluster-name \
  --zone us-west1-b \
  --disk-size 10 \
  --machine-type f1-micro \
  --num-nodes 3 \
  --no-enable-cloud-monitoring \
  --no-enable-cloud-logging

続けてさらにサービスを無効化していきます。

gcloud container clusters update my-cluster-name --zone us-west1-b \
  --update-addons=HttpLoadBalancing=DISABLED \
  --update-addons=HorizontalPodAutoscaling=DISABLED

2. インスタンス数を1個まで減らす

無料にするためにインスタンス数を1つにします。普通にやると最低3つのインスタンスが必要なのでノードプールを一回削除して作り直す裏技を使います。

gcloud container node-pools delete default-pool --zone=us-west1-b --cluster=my-cluster-name
gcloud container node-pools create default-pool --cluster=my-cluster-name \
  --disk-size=15 --machine-type=f1-micro --num-nodes=1 --zone=us-west1-b \
  --scopes=gke-default,datastore,compute-rw

—disk-size と—scopes は自分に必要なものを設定して OK です。

あとは、get-credential すれば kubectl コマンドを使えるようになります。

gcloud container clusters get-credentials my-cluster-name --zone us-west1-b

感想

よかったこと

  • 定期実行に k8s の cronjob を使えるようになって嬉しい
  • インスタンスやコンテナの死活が Console 上で見えるようになって嬉しい

悪かったこと

  • 無理やり動かすために色々デフォルトサービスを切ってるので悲しい(特に logging や monitoring は欲しかった)
  • そもそもインスタンス数1個で k8s 動かしてもあまり意味はないかもしれない
  • 多分 k8s の使い方を忘れたら運用できなくなる

終わりに

今回 k8s に対応したコードはこれ

https://github.com/suzukenz/discord-gce-manager

料金もちゃんとストレージ以外かかってません

料金


GitHub で全然使わなくなったリポジトリが散らかっていたので供養します。

https://github.com/suzukenz/sandbox

こちらに全部まとめました。

cloud-function-sls-trial

Google Cloud Function を Serverless Framework で試してみた時のコード。Qiita に記事も書いたけど、メンテできてない・・・。
次に GCF で何か作る時にはもう一度最新の Framework を使ってみようかな。

gatsby-tutorial

GatsbyJS のチュートリアルが React とか Web フロント開発の入門として良いんじゃないか?新人育成とかにも使えるのでは?と思って、何が学べるかなどをメモしていったリポジトリ。
ただ、これやってすぐに v2 が出たこと、こんなの好きな人しかやらないよなと思ったことでお蔵入り。

ちなみにこのブログは GatsbyJS v2 でできています。

linebot-aws-express

AWS のサーバレスフレームワークだと、上にもあった ServerlessFramework や Chalice や SAM が有名ですが、express を使って簡単に作るサンプルリポジトリを見つけて面白そうなのでやってみたもの。
実際にこれを拡張して自分に会社のゴニョゴニョを Line 通知してくれるサービスが動いています。

redux-realworld-improve

React Redux の Realworld サンプルを今風に拡張して勉強しようとしたもの。
redux-saga 入れたり、Functional Component を多用したりしてみたけど
やりたいことが特になかったので終わりました。

技術を習得したいからと、技術から入ってしまった失敗パターン。やはり「解決したいこと(やりたいこと)」があって、それに対して新しい技術を使うほうが良いです。


以上です。

他のリポジトリは比較的(自分だけだけど)使ったり、時々メンテしたりしています。
一番よく動いてて書いてるのはこのブログのコードなんですが、それを public にしてしまうと誰でもこのブログを複製できてしまうことになるんで悩み中。。。

カテゴリ
このサイトは何?
僕がQiitaとかよりも気軽に何かを書くためのブログです。徐々に趣味を反映していく予定。
アバターアイコン
Kenji Suzuki
主にクラウドを用いたWebアプリ開発をしています。