百日半狂乱

Shut the fuck up and write some code!!

gcloud config / kubectl config 事始め。

手元のgcloudに紐付く複数のaccount/project/k8s cluster/k8s namespaceを持っている場合、とにかくどのアカウントで、何のロールで、どこのプロジェクトのどのクラスタに向かってgcloudやkubectlを叩いているのか都度確認しながら作業することになる。gcloudとkubectlはそれぞれconfigというリクエストの投げ先(context)の設定をするのに重要なサブコマンドを持っていて、これらを正しく設定しないと所望のプロジェクトなりクラスタにアクセスできない。サブコマンドがどちらもconfigという名前なので、慣れてくると覚えるキーワードが少なくて大変良いが、頭の中で二つを整理しないうちは似たようなコマンドが色々出てくるので何が何やらわからなくなってくる。

また、個々の設定方法はコマンドのhelpなりドキュメントを見ればわかるが、最初は脳内に逆引き辞書的なものが存在しないので、そもそも必要なコマンドに辿り着けない。gcloud cheat sheetとかで調べればやり方的なものは出てくるけど、結局自分で触ったものしか理解できないし何より全然覚えないので、観念して自前のチートシートを書き溜めることにした。

ここではサブコマンドconfigに関わるものを中心に、クラウド上にリソースを作り始めたりする前に確認しておきたい事柄(バージョンやパーミッションなど)を書き下す。

  • コマンドのインストール
  • account/project/region/zoneをまとめて扱うnamed configurationsの設定と切り替え
  • GKE上にk8sクラスタを作成
  • master/nodeのバージョン確認とアップグレード
  • kubectlのcontext設定とnamespaceの設定と切り替え
  • kubectlに既存のk8sクラスタを認識させる (get-credentials)
  • kubectlのcontextとnamespaceの管理に便利なプロンプトとCLIの導入
  • user/service accountのロールとパーミッション確認方法
続きを読む

一人Hands-on: Manage Kubernetes Clusters on AWS Using Kops & WEB+DB PRESS Vol.99写経

Manage Kubernetes Clusters on AWS Using KopsWEB+DB PRESS Vol.99: 実践 Kubernetesを参考に一人Hhands-onをしてみた。

本当はGKEで触る方が良いと思いつつ、AWSの方が仕事で慣れているので入りやすい、re:Inventで参加するHands-onで万が一何言っているのかさっぱりわからない時のためのチートシート作成、の二つの理由でkopsでkubernetes入門を試みた。

以下、

  • 自分の記憶力を一切信用しない
  • コマンドの出力もなるべく記録
  • 途中の寄り道で見つけたことも記録

という方針でメモをとっているので記事が縦に長い。

続きを読む

builderscon tokyo 2017 に当日スタッフとして参加してきた。

2017/08/03から2017/08/05までの3日間開催されたbuilderscon tokyo 2017に当日スタッフとして参加してきました。各トーク等カンファレンス自体の感想については参加者ブログがまとまっているので、ここでは当日スタッフ業の感想をば認めようかと思います。

f:id:doi-t:20170805170241j:plain:w800

続きを読む

terraforming/terraformのzsh completionで快適ターミナルライフ

terraforming

terraformingは既存のインフラリソースをtfファイルやtfstateへトレースしてくれるツールで、AWS上にある既存のシステムをterraformの管理下に置きたいという要望に応えてくれる優れもの。重宝しております。

github.com

terraformingのzsh completion

terraformingは対象となるAWSリソースを指定するサブコマンドとしてその略称を採用している*1ので、しばらく使わないでいたりすると毎回調べ直しになっていて辛いなーと思っていた所、つい先月末にリリースされたterraformming v0.8.0に、zsh completionなるものが追加されていたので早速インストールしてみた。

例えば、Githubから直接/usr/local/share/zsh/site-functions/以下へ配置する。

curl https://raw.githubusercontent.com/dtan4/terraforming/master/contrib/zsh-completion/_terraforming -o /usr/local/share/zsh/site-functions/_terraforming

*1:慣れるとタイプ数が減るのでこれはこれで良いと思う

続きを読む