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/