Kubernetes/Helm/Helm部署Gitea.md
offends 7a2f41e7d6
All checks were successful
continuous-integration/drone Build is passing
synchronization
2024-08-07 18:54:39 +08:00

2.4 KiB
Raw Blame History

本文作者:丁辉

Helm部署Gitea

介绍

Gitea是一个轻量级的DevOps平台软件支持Git托管、代码审查、团队协作、软件包注册和CI/CD等功能

开始部署

Chart仓库

  1. 添加 Helm 仓库

    helm repo add gitea https://dl.gitea.io/charts
    helm repo update
    
  2. 创建命名空间

    kubectl create namespace gitea
    
  3. 生成secret

    kubectl create secret generic gitea-secret \
      --from-literal=username=设定仓库账号 \
      --from-literal=password=设定仓库密码 \
      -n gitea
    
  4. 创建Nginx证书secret

    cert为.pem和.crt文件都可以

    kubectl create secret tls gitea-tls --key nginx.key --cert nginx.pem -n gitea
    
  5. 编写模版文件

    vi gitea-values.yaml
    

    内容如下

    # 开启 ingress 对外访问
    ingress:
      enabled: true
      className: # 指定 ingress 控制器, 不指定则需要集群内存在默认的 ingress 控制器
      hosts:
        - host: # 域名
          paths:
            - path: /
              pathType: Prefix
      tls:
        - hosts:
          - # 域名
          secretName: gitea-tls
    
    # 配置持久化存储
    global:
      storageClass: # 指定存储卷, 不指定则需要集群内存在默认的存储卷
    
    # 配置 ssh 模式下对外访问端口
    service:
      ssh:
        type: NodePort
        port: 22
        nodePort: 30000
    
    # 配置管理员账号和密码
    gitea:
      admin:
        existingSecret: gitea-secret
        email: "gitea@gitea.com" # 配置仓库默认用户邮箱
    
      config:
        APP_NAME: "Gitea" # 配置 Gitea 默认主页面展示名称
    
        server:
          SSH_DOMAIN: "gitea.com"
          DOMAIN: "gitea.com"
          SSH_LISTEN_PORT: "22"
          SSH_PORT: "30000"
    
    # 关闭 redis 集群
    redis-cluster:
      enabled: false
    
    # 关闭 postgresql 集群  
    postgresql-ha:
      enabled: false
    
    # 启用 postgresql
    postgresql:
      enabled: true
    
  6. 部署

    helm install gitea --namespace gitea -f gitea-values.yaml gitea/gitea
    

卸载

  1. 卸载 gitea

    helm uninstall gitea -n gitea
    
  2. 删除 secret

    kubectl delete secret gitea-tls gitea-secret -n gitea
    
  3. 删除命名空间

    kubectl delete namespace gitea