Files
NovalRedot/k8s

Noval K3s 部署说明

文件列表

  • namespace.yaml:命名空间
  • pvc.yamlSQLite 数据持久化存储
  • deployment.yaml应用部署2 副本,滚动更新)
  • service.yaml:集群内服务
  • cluster-issuer.yamlcert-manager ClusterIssuerLet's Encrypt
  • ingress.yamlTraefik 入口(域名 + TLS

一次性手动部署

cd /root/k8syaml/NovalRedot
kubectl apply -f k8s/namespace.yaml
kubectl apply -f k8s/cluster-issuer.yaml
kubectl apply -f k8s/pvc.yaml
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
kubectl apply -f k8s/ingress.yaml

CI/CD 自动部署

已配置 Gitea Actions.gitea/workflows/deploy.yml

触发条件:main 分支 push。

流水线逻辑:

  1. 在 Runner 所在机器拉取最新代码
  2. 构建 Docker 镜像并打 tagnoval-app:<commit> + latest
  3. 导入镜像到 k3s containerd
  4. 应用 K8s 资源并滚动更新 Deployment
  5. 等待 rollout 完成

你需要确认/调整

  1. 域名:当前写的是 writing-reddot.roog-code.cnk8s/ingress.yaml
  2. TLS Secret:当前是 writing-reddot-roog-code-tls
  3. ClusterIssuer:当前是 letsencrypt-prodk8s/cluster-issuer.yaml
  4. ClusterIssuer 邮箱:当前是 roog-code@outlook.com(可改成你常用邮箱)
  5. Ingress 类:当前按 Traefik 配置k3s 默认)
  6. StorageClasslocal-pathk3s 默认)