Skip to content
RamblestsadPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

Axes

这是一个用于学习微服务、Docker 和 Kubernetes 的 Rust workspace。

Docker 和 Kubernetes 配置联动

源码目录与 Kubernetes 没有直接关系。它们通过镜像连接:

services/... -> Docker image -> Deployment -> Service -> Ingress
变更 Docker Kubernetes
修改现有 Rust 源码或依赖 不改配置,只重新构建对应镜像 不改配置,只重启对应 Deployment
新增可运行服务或 Worker 新增 Dockerfile,并加入 CI 的 Dockerfile matrix 新增 Deployment,并加入最近的 kustomization.yaml
新增 HTTP API 同上 增加 Service;只有需要从集群外访问时才增加 Ingress 路由
移动或重命名 Dockerfile 修改 CI 和文档中的 Dockerfile 路径 通常不用改
修改镜像名 修改构建命令中的 tag 修改 Deployment 的 image
修改监听端口 检查 Dockerfile 的 ENV 和 EXPOSE 修改 Deployment 的 containerPort 和 Service 的 targetPort
增加环境变量 可选默认值放在 Dockerfile 修改 Deployment;秘密值还要修改 Secret 模板和本地 Secret
修改 Service 名 不用改 修改调用方地址、Ingress backend 和其他相关引用
新增 Kubernetes YAML 不用改 必须加入最近的 kustomization.yaml,Kustomize 不会自动扫描目录
仅本地环境需要不同配置 不用改 在 deploy/overlays/local 增加 patch,并登记到其 kustomization.yaml

Worker 通常只需要 Deployment。需要被其他服务调用的 API 需要 Deployment 和 Service。只有需要从集群外访问的 API 才需要 Ingress。

修改源码后的本地更新流程:

docker build -f <Dockerfile> -t <image>:dev .
kubectl rollout restart deployment/<deployment>
kubectl rollout status deployment/<deployment>

修改 Kubernetes 清单后,重新应用完整的本地 overlay:

kubectl apply -k deploy/overlays/local

完整的本地部署步骤见 deploy/README.md。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages