Repository navigation
v0.4.3
追加
- UI(TCP-UDP-rproxy-ui v0.4.2)から Kubernetes の rproxy を見られるようになりました(#41)。
- chart の
ui.namespace(--ui-namespace)を設定すると、その namespace に Secretrproxy-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 だけです。
- chart の
変更
- 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 Secretrproxy-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.namespaceis set and the Gateway's parameters do not setui.visible: false. - The token has only
rules:readandmetrics: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, defaultapp.kubernetes.io/name: rproxy-uiandapp.kubernetes.io/component: ui) reach the control API. Secret permissions are a Role in the UI namespace only.
- With the chart's
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 restartthe DaemonSet after adding the UI token. - After removing
ui.namespace, delete the old namespace'srproxy-ui-discoveryby hand.
rproxy: rproxy-api v0.4.1 · UI: TCP-UDP-rproxy-ui v0.4.2