lndmonをGKEにデプロイするのに調べたメモ

リポジトリ

static ipについて

GKEではstatic IPというのが存在する。
詳細はまさに静的 IP アドレスを使用したドメイン名の構成というのを見ればわかる。 普通は登録済みのドメイン名(example.com など)を所有していることを前提とすることが多いけど、今回はとりあえず静的IPを取得するところまで。

ingressの場合はリージョンはどこでもOK、serviceの場合は指定が必要らしい。

$ gcloud compute addresses create helloweb-ip --region us-central1
$ gcloud compute addresses describe helloweb-ip --region us-central1
$ gcloud compute addresses delete helloweb-ip --region us-central1

で、出来上がったIPをこんな感じで指定する。

apiVersion: v1  
kind: Service  
metadata:  
  name: helloweb
  labels:
    app: hello
spec:  
  selector:
    app: hello
    tier: web
  ports:
  - port: 80
    targetPort: 8080
  type: LoadBalancer
  loadBalancerIP: "YOUR.IP.ADDRESS.HERE"

DockerとDocker-composeとk8s

komposeコマンドはdocker-compose v3.7には対応していないので、自分でこれを読み解く必要があって、色々理解があやふやだなあと。

docker-composeのcommand、entrypoint、dockerfileのそれらやcmd

色々ありすぎてわけがわからない。 docker-composeのcommandは、デフォルトのコマンドを上書きして起動するものらしい。デフォルトのコマンドってなんだよ、と色々調べると、おそらくdockerfileで設定されているcmdのことのように見える。

entrypointも、デフォルトの entrypoint を上書きするらしい。おそらくdockerfileのentrypointを上書きするということだろう。

entrypointとcommandの違いは?ぐぐると無限に出てくるので、使いながら理解していく。
lndmonにおいては、5. CMD and ENTRYPOINT better togetherをやっている。と理解できる。

Prometheus + Grafana

k8s上で動かすには、https://hakengineer.xyz/2018/06/03/post-1334/ を参考にすればあまり困ることはなさそうだ。prometheus.ymlは要は引数の設定ファイルである。