Merge pull request '分阶段接管 Envoy Gateway Helm release' (#37) from feat/envoy-gateway-adoption-stage into main
yaml / yaml (push) Successful in 10s
yaml / yaml (push) Successful in 10s
Reviewed-on: #37
This commit was merged in pull request #37.
This commit is contained in:
@@ -45,5 +45,6 @@ sudo k3s kubectl -n flux-system get gitrepositories,kustomizations
|
|||||||
- `http-echo` 保持 `prune: true`,root 保持 `prune: false`;
|
- `http-echo` 保持 `prune: true`,root 保持 `prune: false`;
|
||||||
- `gitea-actions`、`gitea` 与 External Secrets 已由 Flux HelmRelease 接管,Gitea 已升级到 `1.27.3`;
|
- `gitea-actions`、`gitea` 与 External Secrets 已由 Flux HelmRelease 接管,Gitea 已升级到 `1.27.3`;
|
||||||
- cert-manager 已固定现有 `v1.21.0` 并完成分阶段 Flux HelmRelease 接管;
|
- cert-manager 已固定现有 `v1.21.0` 并完成分阶段 Flux HelmRelease 接管;
|
||||||
|
- Envoy Gateway 已进入分阶段接管:固定现有 `v1.5.6`,HelmRelease 暂停等待零变更验证;
|
||||||
- External Secrets Operator 已固定 chart `2.8.0` 并完成分阶段接管;
|
- External Secrets Operator 已固定 chart `2.8.0` 并完成分阶段接管;
|
||||||
- root Kustomization 与所有 brownfield 子 Kustomization 继续保持 `prune: false`。
|
- root Kustomization 与所有 brownfield 子 Kustomization 继续保持 `prune: false`。
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: envoy-gateway
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 10m
|
||||||
|
path: ./platform/envoy-gateway
|
||||||
|
prune: false
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: flux-system
|
||||||
|
timeout: 3m
|
||||||
|
wait: false
|
||||||
@@ -4,6 +4,7 @@ resources:
|
|||||||
- flux-system
|
- flux-system
|
||||||
- namespaces/gitops-canary.yaml
|
- namespaces/gitops-canary.yaml
|
||||||
- apps/cert-manager.yaml
|
- apps/cert-manager.yaml
|
||||||
|
- apps/envoy-gateway.yaml
|
||||||
- apps/external-secrets.yaml
|
- apps/external-secrets.yaml
|
||||||
- apps/gitea.yaml
|
- apps/gitea.yaml
|
||||||
- apps/gitea-actions.yaml
|
- apps/gitea-actions.yaml
|
||||||
|
|||||||
@@ -79,6 +79,19 @@ unauthenticated requests to an app whose auth model is "trust the header".
|
|||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
|
### Flux 接管状态
|
||||||
|
|
||||||
|
现有 release 为 OCI chart/app `v1.5.6`,且没有 user-supplied values。Git 中固定
|
||||||
|
同一版本,并先以 `suspend: true` 的 HelmRelease 登记;确认 OCI source Ready、Helm
|
||||||
|
revision 与 controller/data-plane Pod UID 均未变化后,再通过独立 PR 解除暂停。
|
||||||
|
|
||||||
|
`GatewayClass eg` 与 `Gateway eg` 随本目录 Kustomization 由 Flux 管理。接管期间保持
|
||||||
|
`prune: false`;Gateway API 与 Envoy Gateway CRD 使用 `CreateReplace`,延续现有 Helm
|
||||||
|
所有权且绝不通过删除 CRD 迁移。Gateway 的三个 `certificateRefs` 最初属于
|
||||||
|
`kubectl-client-side-apply`;首次 reconcile 会以 Flux 默认 SSA `Override` 转移这些已在
|
||||||
|
Git 中声明且值相同的字段所有权,不改变 listener spec。不得用 `force: true`,它用于
|
||||||
|
不可变字段失败时删除重建资源。以下命令保留为 break-glass 手工恢复流程。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# The Gateway API CRDs may already be owned by another tool's field manager (Contour's
|
# The Gateway API CRDs may already be owned by another tool's field manager (Contour's
|
||||||
# quickstart used client-side apply), which makes Helm fail with
|
# quickstart used client-side apply), which makes Helm fail with
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: envoy-gateway
|
||||||
|
namespace: envoy-gateway-system
|
||||||
|
spec:
|
||||||
|
# 第一阶段只登记现有 release;入口数据面必须在独立激活 PR 后才由 Flux reconcile。
|
||||||
|
suspend: true
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: gateway-helm
|
||||||
|
interval: 1h
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: envoy-gateway
|
||||||
|
version: v1.5.6
|
||||||
|
driftDetection:
|
||||||
|
mode: enabled
|
||||||
|
install:
|
||||||
|
crds: CreateReplace
|
||||||
|
strategy:
|
||||||
|
name: RetryOnFailure
|
||||||
|
retryInterval: 5m
|
||||||
|
interval: 30m
|
||||||
|
releaseName: envoy-gateway
|
||||||
|
targetNamespace: envoy-gateway-system
|
||||||
|
timeout: 10m
|
||||||
|
upgrade:
|
||||||
|
crds: CreateReplace
|
||||||
|
strategy:
|
||||||
|
name: RetryOnFailure
|
||||||
|
retryInterval: 5m
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: envoy-gateway
|
||||||
|
namespace: envoy-gateway-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
type: oci
|
||||||
|
url: oci://docker.io/envoyproxy
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- helmrepository.yaml
|
||||||
|
- helmrelease.yaml
|
||||||
|
- gateway.yaml
|
||||||
Reference in New Issue
Block a user