helm部署gitea
helm repo add gitea-charts https://dl.gitea.io/charts/
helm repo update
helm repo list
创建secrets

cat secret1.yaml apiVersion: v1 kind: Secret metadata: name: gitea-admin-secret type: Opaque stringData: username: jerry password: admin1 kubectl apply -f secret1.yaml
查看存储类

kubectl get sc NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE managed-nfs-storage k8s-sigs.io/nfs-subdir-external-provisioner Delete Immediate false 3d1h openebs-device openebs.io/local Delete WaitForFirstConsumer false 19h openebs-hostpath openebs.io/local Delete WaitForFirstConsumer false 19h postgresql-nfs k8s-sigs.io/nfs-subdir-external-provisioner Delete Immediate false 3d1h 生成相关的pvc [root@master gitea3]# cat gitea-pv.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gitea-pv2-claim spec: storageClassName: managed-nfs-storage accessModes: - ReadWriteOnce resources: requests: storage: 1Gi You have new mail in /var/spool/mail/root [root@master gitea3]# cat gitea-pv3.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gitea-pv3-claim spec: storageClassName: managed-nfs-storage accessModes: - ReadWriteOnce resources: requests: storage: 1Gi kubectl apply -f gitea-pv.yaml kubectl apply -f gitea-pv3.yaml 查看pv,pvc [root@master gitea3]# kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE gitea-pv2-claim Bound pvc-7bbd3854-e30d-41cb-b032-c90c9b56ccb1 1Gi RWO managed-nfs-storage 27m gitea-pv3-claim Bound pvc-a05dabc6-b922-4cd9-a254-7d1c360da231 1Gi RWO managed-nfs-storage 27m [root@master gitea3]# kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-7bbd3854-e30d-41cb-b032-c90c9b56ccb1 1Gi RWO Delete Bound default/gitea-pv2-claim managed-nfs-storage 27m pvc-a05dabc6-b922-4cd9-a254-7d1c360da231 1Gi RWO Delete Bound default/gitea-pv3-claim managed-nfs-storage 27m
生成配置文件
helm show values gitea-charts/gitea > gitea-values.yaml
修改持久化存储

persistence: enabled: true existingClaim: gitea-pv2-claim size: 10Gi accessModes: - ReadWriteOnce labels: {} annotations: {} storageClass: managed-nfs-storage subPath:
postgresql持久化存储

postgresql: enabled: true global: postgresql: auth: password: gitea database: gitea username: gitea service: ports: postgresql: 5432 primary: persistence: size: 10Gi existingClaim: gitea-pv3-claim
配置ingress

ingress: apiVersion: networking.k8s.io/v1 enabled: enable # className: nginx className: nginx annotations: {} #kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" hosts: - host: git.hzde.com paths: - path: / pathType: Prefix
启动

helm install gitea11 gitea-charts/gitea --values gitea-values.yaml --set image.pullPolicy=IfNotPresent --set gitea.admin.existingSecret=gitea-admin-secret
查看日志信息

[root@master gitea3]# kubectl get pods NAME READY STATUS RESTARTS AGE gitea11-0 1/1 Running 0 10m gitea11-memcached-5f45d4f94d-25bpt 1/1 Running 0 10m gitea11-postgresql-0 1/1 Running 0 10m nfs-client-provisioner-6b76d84db7-lrtcq 1/1 Running 12 (7h23m ago) 3d1h You have new mail in /var/spool/mail/root [root@master gitea3]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE gitea11-http ClusterIP 10.101.16.196 <none> 3000/TCP 10m gitea11-memcached ClusterIP 10.105.135.137 <none> 11211/TCP 10m gitea11-postgresql ClusterIP 10.104.242.178 <none> 5432/TCP 10m gitea11-postgresql-hl ClusterIP None <none> 5432/TCP 10m gitea11-ssh ClusterIP 10.111.105.67 <none> 22/TCP 10m kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 27d [root@master gitea3]# kubectl get ingress NAME CLASS HOSTS ADDRESS PORTS AGE gitea11 nginx git.hzde.com 192.168.14.240 80 10m [root@master gitea3]# kubectl get ingress gitea11 -o yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: meta.helm.sh/release-name: gitea11 meta.helm.sh/release-namespace: default creationTimestamp: "2023-04-19T12:37:57Z" generation: 1 labels: app: gitea app.kubernetes.io/instance: gitea11 app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: gitea app.kubernetes.io/version: 1.19.1 helm.sh/chart: gitea-8.1.0 version: 1.19.1 name: gitea11 namespace: default resourceVersion: "283038" uid: 8144ec36-a50e-40f3-9dd7-e6f7c4540ff6 spec: ingressClassName: nginx rules: - host: git.hzde.com http: paths: - backend: service: name: gitea11-http port: number: 3000 path: / pathType: Prefix status: loadBalancer: ingress: - ip: 192.168.14.240
访问gitea

vim /etc/hosts 192.168.14.240 git.hzde.com 192.168.14.240 这个ip地址是ingress虚拟出来的vip ,在hosts文件中做好这个ip和域名的映射 [root@master gitea3]# !curl curl git.hzde.com -I HTTP/1.1 200 OK Date: Wed, 19 Apr 2023 12:50:18 GMT Connection: keep-alive Set-Cookie: i_like_gitea=34707ec95539959c; Path=/; HttpOnly; SameSite=Lax windows浏览器访问,先修改hosts文件 http://git.hzde.com/
other

helm status gitea11 查看helm 部署的giea11的状态 NAME: gitea11 LAST DEPLOYED: Wed Apr 19 20:37:55 2023 NAMESPACE: default STATUS: deployed REVISION: 1 NOTES: 1. Get the application URL by running these commands: http://git.hzde.com/
菜鸟的自白
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现