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は要は引数の設定ファイルである。