今日は金曜日、金曜日は「急がない日」という設定にしているため、朝は少し早めに家を出て、一駅前で降りて歩いて、ジムで軽く運動してからスタバでカフェをして落ち着いている中でサクッと書いてます。温めたアップルパイの美味しい事よ。

授業で後期からK8sを扱う(といってもminikubeやDocker DesktopなどのK8s開発クラスタ構築機能など)予定ですが、 よくよく考えたら学生が話を聞いて「自分で試すか」を検証できないといけませんね。

そこで、pod(コンテナ)に対して「自分がK8sクラスタ上で動いているか」というのを知る方法がないかな? という事を考えてました。取り急ぎBard Senseiに尋ねてみたところ、そういう環境変数が定義されているという情報を教えてくれました。

いかにもそうなので実験。

  1. とりあえずnginxイメージでdeploymentを作成
  2. できたPodにてシェルを起動してアタッチ
  3. 環境変数をチェックする
1
2
3
4
5
6
7
8
9
$ kubectl exec deploy/test -- bash -c set | grep KUBERNETES
KUBERNETES_PORT=tcp://192.168.194.129:443
KUBERNETES_PORT_443_TCP=tcp://192.168.194.129:443
KUBERNETES_PORT_443_TCP_ADDR=192.168.194.129
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_SERVICE_HOST=192.168.194.129
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443

おおお、たしかにあるな。これをPHPで読み取ってチェックするようにすれば、学生がちゃんとK8sクラスタを走らせたことがわかる。 これをベースに課題を構築しよう。