Open3
EKS on Fargate のあれこれ
lens での Prometheus インストール
kube lens で Pod のメトリクスを見るには metrics server ではなく Prometheus をクラスターにインストールする必要がある。
lens で kube-prometheus chart を雑に helm install するとき
Fargate では何も設定しないと 0.25 vCPU 0.5GiB memory でインストールされ、リソース不足でまともに動かないので
- alertmanager
- prometheus
の resources を上げてやる必要がある
metrics server について
Fargate で metrics-server をインストールすると
E0407 07:27:32.255990 1 scraper.go:140] "Failed to scrape node" err="Get \"https://10.x.x.x:10250/metrics/resource\": dial tcp 10.x.x.x:10250: connect: connection refused" node="fargate-ip-10-x.x.x.ap-northeast-1.compute.internal"
というエラーログを吐き続ける。
要は「Node の 10250 ポートにアクセスできないよ~~ 💦」ということ。かわいいね
Fargate は 1 Pod につき 1 Node が立ち上がるアーキテクチャであり、ゆえに DaemonSet もへったくれもないし、Pod から Node にアクセスできないといった制約もあるらしい。
metrics-server 自体は元気に動いて kube top
も通るし HPA も構成できる。
[調査中] Pod の resources について
cpu はミリ単位で足したものがそのまま vCPU 数になる。
memory は MiB 単位で足し上げたものがそのまま memory 合計値にはならないようで、 256 MiB 加えた値でノードが Provision された。
つまり Fargate の vCPU/memory 境界のギリギリを攻める場合は 256 MiB 少ない数値で設定しないといけないっぽい?