オムレツ食べ放題

CI/CDとかコンテナとかGCPとかしたりする遊戯王OCGデュエリストの日記

カネモチが遊びで作った会社の気紛れに付き合う必要はない

概要

真剣に労働しているのが富豪の遊びのためだったりするこの世の中本当につまらないし、いい加減にしてほしい

クソみたいな会社はクソみたいな経営者のせいなので、そんなモンとっとと見捨ててすぐに転職したほうがいい

生きるために、日銭のために労働をしていない奴は大人しく黙っていてくれ

ツイ

私は旗色を明らかにします 黙りません

概要

トラブルは黙ってても向こうからやってくる。

非暴力・非服従ができるのはそれが目的の政治屋だけだ。俺は政治屋じゃない。ただの一般人だ。

だから俺は戦う。抵抗する。俺を不愉快にするものと。

 

ツイ

これからDockerやKubernetes、なんならLinux自体を勉強する人へのアドバイス

概要

  • OSが何なのか、まず勉強してください。
  • それをサボってたら、Deploymentのmanifestは書けません。
  • 書くだけならできるでしょうが、それでトラブった時、あなたは対応できますか?
  • dockerはそりゃあもうLinux OSべったりな技術です。そして、OSとは何ぞや、OSの何をどうしたらリソース管理ができるのか?がわからん人には扱えません。

ツイ

[https://twitter.com/ytkmns/status/1184988617950629889:embed#コンパイラーとかリンカーとかタスクスケジューラーとか、メモリ管理とかそういうモンを意図的に無視して「#include というオマジナイをします」みたいなごまかしをするからシンプルなことが抽象的になって余計複雑に感じる]

ハンドルネーム「オムレツ」の由来

ツイ

ICT事業、そしてハイテクガジェット、Webサービスは、「あらゆる人々」を幸福するためにあるべきだ。そう信じている。

概要

それは当然、ICT企業で働くあらゆる労働者もそうでなくてはならない。

エクセルスクショエビデンスみたいなクソゴミ仕事をこの世から無くすための工夫をしなくちゃならない。

ICTに従事してる人達が、工夫をして、運用をより確実、より高速、よりワークライフバランスの整ったものにできるようにする。

そのために職人としてこれからも業界で働き続けたい。

クソみたいな要求にNo

クソみたいな前例踏襲にNo

クソみたいな前任者のコードにNo

ツイ

Google Cloud Certified: Professional Cloud Architect受験勉強のコツを書いてみる

概要

何かと聞かれることが多いので、ざっくりと、まとめます。

自分はGoogle Cloudの認定資格を2019/10時点で4つ持ってます。(expireはするので近日中に更新はする)

その4資格試験を受験するにあたり、注意したこと、実際に受験して感じたこと、といったポイントを記します。

認定剥奪されたくはないので、「これが出ます」みたいな事は書きません。

…というか。「これが出ます」は模試(公式)と、出題範囲に書いてあります。お前らよく読め。

証拠

https://api.accredible.com/v1/frontend/credential_website_embed_image/badge/11291143

https://api.accredible.com/v1/frontend/credential_website_embed_image/badge/12268931

https://api.accredible.com/v1/frontend/credential_website_embed_image/badge/13840871

https://api.accredible.com/v1/frontend/credential_website_embed_image/badge/11907505

Google Cloudでは合格者であり、expireしてないことを一般公開で示すことができる credential.net というのがあります。

ここで署名に埋め込む認定証とかを出すことができます。

ツイ

 

拙作4ツールの使い方の説明(gcctx/adcmod/tfsetws/tfgetws/tfreuse)

なんですかこれは?

わざわざ英文でREADME書いたけど、どうも誰も使ってくれそうにないので日本語のreadmeを書くことにした。

github.com

で、何なの?

これらを使うと、どう嬉しいのか。

つまり、某社のような

  • 複数のGoogleアカウント、GCP Project ServiceAccount(GSA)なりを切り替えて使う必要があり
  • terraformの参照するapplication-default-credentialを切り替えて使う必要があり
  • たとえば自社と客先の複数の環境を行き来する必要があって、いかにも事故りそうで
  • かつ、terraform moduleを多用していていちいち terraform init し直すのに rm -rf ./.terraform なんてしとれるかいボケ!

ってシチュの人が嬉しいツールなのです。

1. gcctx

gcloud config configurations select ってやつがあります。長いですね。アホかと。

これを複数登録して簡単に切り替えたりできるようにするやつです。

詳しくはreadmeを読んでください。

2. adcmod

terraformは Application Default Credential(ADC) とゆーのを読んでくれます。これを活用すれば、 危険な認証jsonファイルをリポジトリに入れたり とかいうアホなことをしなくて済みます。

しかし、Google Cloud SDK(gcloud)のこれの情報は1アカウントしか覚えてくれません。

じゃあ、どうするか。

そもそも、それって環境変数で指定できるんですよね。じゃあ、そうしましょう。

ということで、あらかじめ準備した複数のADCに名前を付けて、それを環境変数に指定したbashをexecするwrapperです。

3. tfgetws / tfsetws

terraform workspace list / new みたいなコマンドがあるんですよ。なげえ。うぜえ。もうやだ。

だから作りました。

結局 ROOTDIR/.terraform/env 配下いじっとるだけやんけ。なので、そこを読み出すだけです。書くほうはGoのコード追うのたりいのでただのwrapperにしました。時間の節約。

4. tfreuse

module使ってterraform書いてると、新しくmodule使ったエントリー追加するたびにinitが発生しますよと。そして、だいたいトラブりますよと。remote stateの場合。

めんどくせーんだよ!!!!!!!

いちいちダウンロードすんな!!!!!!

だから作りました。

$(CWD)/.terraform を rm -rf して、 mkdir .terraform し、 あらかじめ指定しといた .terraform/plugins/* をレストアします。そんだけです。

いかがでしたか?

冗長なコマンドラインはいかがなものかと。

で、実例は?

強欲な読者だなあ…。

  • tfgetws で 現在のworkspaceを読み出す。default だと何も出ない。(shellのpromptに出す用なので)
  • adcmod s PROFILE_NAME でADCつきbashを実行(ここでterraform関連のアカウントが切り替わる)
  • tfgetws a で設定可能な全workspace(ws)を取得する
  • for E in dev stg prd ; do tfsetws $E ; terraform plan ; sleep 4 ; done とかする。
  • リソース作ったら exitbashを抜けると認証情報を捨てることができて安全〜。
  • gcctxでGoogleアカウントとプロジェクトの組を選択 (※実はこの設定はterraformに無関係、gcloudは関係あり)
  • gcctxで指定したGアカでkubectlなりgcloud containerなりをする。

みたいな感じです。