Closed7

GoldilocksとVertical Pod Autoscaler

mikutasmikutas

Goldilocksのやってくれること

  • goldilocks.fairwinds.com/enabled: trueラベルがついたNSにVPAをupdatePolicy.updateMode=Offで自動的に作成してくれる
  • VPAのstatus(おすすめの設定値)を閲覧するダッシュボードを提供してくれる


ダッシュボードに認証認可はない

https://github.com/FairwindsOps/goldilocks/issues/322
https://github.com/FairwindsOps/goldilocks/issues/86

なのでこの辺が必要

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-authenticate-users.html
https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.6/guide/ingress/annotations/#authentication

mikutasmikutas

VPA

とりあえずでrequests / limitsを盛ることはあっても、とりあえずで減らすことはしない
しかしとりあえず盛ってばかりだとリソース効率は悪くなるばかり

VPA(のRecommender)を使うことで値の見直しの補助に使える(絶対的な解ではない)

より発展的にはrequests / limitsの自動調整をさせることもできる(とはいえ思い通りにコントロールするのが難しそう)

Goldilocks

GoldilocksなしでVPAを直接使うことはできる

Goldilocksと併用することで、VPA(のRecommender)をより簡単に使える

mikutasmikutas

Microsoft Entra ID(Azure AD)の場合のannotations例

  annotations:
    alb.ingress.kubernetes.io/auth-idp-oidc: >
      {"issuer":"https://login.microsoftonline.com/[ディレクトリ(テナント)ID]/v2.0","authorizationEndpoint":"https://login.microsoftonline.com/[ディレクトリ(テナント)ID]/oauth2/v2.0/authorize","tokenEndpoint":"https://login.microsoftonline.com/[ディレクトリ(テナント)ID]/oauth2/v2.0/token","userInfoEndpoint":"https://graph.microsoft.com/oidc/userinfo","secretName":"任意のk8s Secret名"}
    alb.ingress.kubernetes.io/auth-on-unauthenticated-request: authenticate
    alb.ingress.kubernetes.io/auth-scope: openid
    alb.ingress.kubernetes.io/auth-type: oidc

アプリケーションの作り方

https://kenchan0130.github.io/post/2022-12-26-1

このスクラップは2023/08/23にクローズされました