Open3

EKS on Fargate のあれこれ

D.HoriyamaD.Horiyama

lens での Prometheus インストール

pod metrics

kube lens で Pod のメトリクスを見るには metrics server ではなく Prometheus をクラスターにインストールする必要がある。

lens で kube-prometheus chart を雑に helm install するとき
Fargate では何も設定しないと 0.25 vCPU 0.5GiB memory でインストールされ、リソース不足でまともに動かないので

  • alertmanager
  • prometheus

の resources を上げてやる必要がある

D.HoriyamaD.Horiyama

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 も構成できる。

D.HoriyamaD.Horiyama

[調査中] Pod の resources について

cpu はミリ単位で足したものがそのまま vCPU 数になる。

memory は MiB 単位で足し上げたものがそのまま memory 合計値にはならないようで、 256 MiB 加えた値でノードが Provision された。

つまり Fargate の vCPU/memory 境界のギリギリを攻める場合は 256 MiB 少ない数値で設定しないといけないっぽい?