GCPで動くpodってデプロイすると毎回ID変わってアクセスするのが面倒くさいです
なので、思いつきでログインするスクリプトを作りました。
まずは、pod idを取得した結果をelixirで加工するスクリプトを作ります。
※きっと良いやり方はあるはずだが、知識がない範囲で即席で作りました。
いざとなったら、elixirで文字加工をしてしまえばいいという荒業です。
podex.exs
#! /usr/bin/env elixir
defmodule Main do
def main do
[_, ret] = cmd("kubectl", ["get", "pod"])
[ret | _]= ret |> String.split(" ")
ret
|> IO.puts
end
defp cmd(command, params) do
list =
System.cmd(command, params)
|> Tuple.to_list()
|> List.first()
|> String.split("\n")
list -- [""]
end
end
Main.main()
実行するスクリプト
execpod.sh
#!/bin/sh
POD=`./podex.exs`
kubectl exec -it $POD -- sh
execpod.sh を実行すると、podにログインできます。
ただし、ヒットした1件目のpodにしか対応してません。