corridor/kubernetes-genguardx
GitHub: corridor/kubernetes-genguardx
Stars: 0 | Forks: 0
# kubernetes-genguardx
Kubernetes 清单用于通过 Kustomize 部署 GenGuardX。
部署架构基于现有的 Corridor GenGuardX 设置:
- `corridor-app`:主 API 和 Web 应用
- `corridor-worker`:后台工作进程
- `corridor-jupyter`:面向 Jupyter/JupyterHub 的服务
- 应用数据、上传内容、笔记本和数据库的共享持久卷
- 单个入口将 `/` 路由到应用,`/jupyter` 路由到 Jupyter
此仓库与云平台无关。它可以在任何 Kubernetes 集群上使用,包括托管的 Kubernetes 服务(如 GKE、EKS 和 AKS),只要集群提供:
- 入口控制器(Ingress Controller)
- TLS 签发者或现有的 TLS 密钥
- 支持 `ReadWriteMany` 的存储类(StorageClass)
- 用于所用容器镜像仓库的镜像拉取密钥(Image Pull Secret)
## 布局
```
base/ Reusable application manifests
shared/redis/ Shared Redis deployment for one or more GenGuardX environments
overlays/example/ Minimal deployable overlay with placeholder configuration
```
## 配置
在部署前,请更新以下文件:
- `shared/redis/kustomization.yaml`
- 如需将 Redis 部署到其他命名空间,请检查共享命名空间
- `overlays/base/kustomization.yaml`
- 设置命名空间
- 设置应用镜像
- 设置公共主机名
- `overlays/base/configs/api_config.py`
- 设置数据库、Redis 以及产品相关的应用配置
- `overlays/base/configs/jupyter_server_config.py`
- 如有需要,设置 Jupyter 运行时配置
- `overlays/base/configs/jupyterhub_config.py`
- 设置 API 连接性以及任何 JupyterHub 相关的配置
如果集群使用不同的 RWX 存储类,请更新 `overlays/base/kustomization.yaml` 中的 PVC 补丁。
Redis 清单保留在 `shared/redis` 目录下,因为单个 Redis 部署可以被多个 GenGuardX 部署共享,而不是在每个覆盖层中都运行一个 Redis 实例。
## 部署
如果希望使用共享的 Redis 实例,请先部署它:
```
kubectl apply -k shared/redis
```
在目标命名空间中创建镜像拉取密钥(如需要):
```
kubectl create namespace genguardx
kubectl create secret docker-registry registry-secret \
--docker-server= \
--docker-username= \
--docker-password= \
--namespace genguardx
```
渲染并应用覆盖层:
```
kubectl apply -k overlays/base
```
验证部署状态:
```
kubectl get pods -n genguardx
kubectl get svc -n genguardx
kubectl get ingress -n genguardx
kubectl get pods -n shared
kubectl get svc -n shared
```
## 备注
- 基础清单假设应用镜像中包含 `corridor-api`、`corridor-worker` 和 `corridor-jupyter` 入口点。
- 应用部署会在主 API 启动前,在初始化容器中执行数据库迁移。
- 入口清单引用了 `cert-manager.io/cluster-issuer: letsencrypt-prod`;如果集群以不同方式处理 TLS,请调整或移除该注解。
标签:AKS, API服务, Corridor, EKS, GenGuardX, GKE, Ingress, Jupyter, JupyterHub, Kubernetes清单, Kustomize, Overlay, ReadWriteMany, Redis, SEO, TLS, 云服务, 共享卷, 后台工作进程, 命名空间, 子域名突变, 存储类, 应用部署, 持久化存储, 搜索引擎查询, 路由, 逆向工具, 部署架构, 镜像拉取密钥, 防御工具