Skip to content

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 08 Oct 15:18
· 80 commits to main since this release
aa453ef

追加

  • UI(TCP-UDP-rproxy-ui v0.4.2)から Kubernetes の rproxy を見られるようになりました(#41)。
    • chart の ui.namespace(--ui-namespace)を設定すると、その namespace に Secret rproxy-ui-discovery(rproxy の Pod の一覧・CA・読むだけのトークン)を書きます。中身が変わったときだけ更新し、見せる Gateway がなくなれば消します。
    • 見せるのは、ui.namespace があり、Gateway の parameters で ui.visible が false でないものだけです。
    • トークンは rules:read・metrics:read だけで、書き込みは rproxy が 403 で断ります。
    • 一覧には、トークンを受け付けられる Pod だけを載せます(Ready・ルールを当て終えた・終了中でない・今のトークンで起動した Pod)。
    • 見せる Gateway の NetworkPolicy に、UI の Pod(ui.podSelector、既定 app.kubernetes.io/name: rproxy-ui・app.kubernetes.io/component: ui)から制御 API への許可を足します。Secret の権限は UI の namespace の Role だけです。

変更

  • UI を有効・無効にしたとき、Gateway を見せる・隠すときに、その Gateway の rproxy の Pod が 1 回入れ替わります(rproxy がトークンファイルを起動時に読むため。2 つ以上なら途切れは 1 秒未満)。fleet は、UI のトークンを足したあとに DaemonSet を rollout restart してください。
  • ui.namespace を外したときは、前の namespace の rproxy-ui-discovery を手で消してください。

rproxy: rproxy-api v0.4.1 · UI: TCP-UDP-rproxy-ui v0.4.2


Added

  • The UI (TCP-UDP-rproxy-ui v0.4.2) can show Kubernetes rproxy (#41).
    • With the chart's ui.namespace (--ui-namespace), the controller writes Secret rproxy-ui-discovery (rproxy pods, CA, a read-only token) into that namespace, updates it only on change, and removes it when no Gateway is shown.
    • Shown only when ui.namespace is set and the Gateway's parameters do not set ui.visible: false.
    • The token has only rules:read and metrics:read; rproxy refuses writes with 403.
    • Only pods that accept the token are listed (Ready, rule set applied, not terminating, started with the current token).
    • Shown Gateways' NetworkPolicy lets the UI pods (ui.podSelector, default app.kubernetes.io/name: rproxy-ui and app.kubernetes.io/component: ui) reach the control API. Secret permissions are a Role in the UI namespace only.

Changed

  • Enabling or disabling the UI, or showing or hiding a Gateway, rolls that Gateway's rproxy pods once (rproxy reads its token file at start; under a second of gap with 2+ replicas). For fleet, rollout restart the DaemonSet after adding the UI token.
  • After removing ui.namespace, delete the old namespace's rproxy-ui-discovery by hand.

rproxy: rproxy-api v0.4.1 · UI: TCP-UDP-rproxy-ui v0.4.2