|
- apiVersion: v1
- kind: Namespace
- metadata:
- name: gitea
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: gitea
- namespace: gitea
- labels:
- app: gitea
- spec:
- replicas: 1
- template:
- metadata:
- name: gitea
- labels:
- app: gitea
- spec:
- containers:
- - name: gitea
- image: gitea/gitea:latest
- imagePullPolicy: Always
- volumeMounts:
- - mountPath: "/var/lib/gitea"
- name: "root"
- - mountPath: "/data"
- name: "data"
- ports:
- - containerPort: 22
- name: ssh
- protocol: TCP
- - containerPort: 3000
- name: http
- protocol: TCP
- restartPolicy: Always
- volumes:
- # Set up a data directory for gitea
- # For production usage, you should consider using PV/PVC instead(or simply using storage like NAS)
- # For more details, please see https://kubernetes.io/docs/concepts/storage/volumes/
- - name: "root"
- hostPath:
- # directory location on host
- path: "/var/lib/gitea"
- # this field is optional
- type: Directory
- - name: "data"
- hostPath:
- path: "/data/gitea"
- type: Directory
- selector:
- matchLabels:
- app: gitea
- ---
- # Using cluster mode
- apiVersion: v1
- kind: Service
- metadata:
- name: gitea-web
- namespace: gitea
- labels:
- app: gitea-web
- spec:
- ports:
- - port: 80
- targetPort: 3000
- name: http
- selector:
- app: gitea
- ---
- # Using node-port mode
- # This mainly open a specific TCP port for SSH usage on each host,
- # so you can use a proxy layer to handle it(e.g. slb, nginx)
- apiVersion: v1
- kind: Service
- metadata:
- name: gitea-ssh
- namespace: gitea
- labels:
- app: gitea-ssh
- spec:
- ports:
- - port: 22
- targetPort: 22
- nodePort: 30022
- name: ssh
- selector:
- app: gitea
- type: NodePort
- ---
- # Ingress is always suitable for HTTP usage,
- # we suggest using an proxy layer such as slb to send traffic to different ports.
- # Usually 80/443 for web and 22 directly for SSH.
- apiVersion: extensions/v1beta1
- kind: Ingress
- metadata:
- name: gitea
- namespace: gitea
- spec:
- rules:
- - host: your-gitea-host.com
- http:
- paths:
- - backend:
- serviceName: gitea-web
- servicePort: 80
|