diff options
author | BetaCat <outman99@hotmail.com> | 2018-10-29 09:28:06 +0800 |
---|---|---|
committer | techknowlogick <hello@techknowlogick.com> | 2018-10-28 21:28:06 -0400 |
commit | 8b4c4bd08fdddb01ecf54345ec74a5da6f1ee1d4 (patch) | |
tree | 64abdcd9ecb92043a8ecff19141034380c5ee7d3 /contrib | |
parent | b8451190d85af255a94b02cdfdd6d375015b3864 (diff) | |
download | gitea-8b4c4bd08fdddb01ecf54345ec74a5da6f1ee1d4.tar.gz gitea-8b4c4bd08fdddb01ecf54345ec74a5da6f1ee1d4.zip |
k8s deployment (#5046)
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/k8s/gitea.yml | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/contrib/k8s/gitea.yml b/contrib/k8s/gitea.yml new file mode 100644 index 0000000000..c4aed869f7 --- /dev/null +++ b/contrib/k8s/gitea.yml @@ -0,0 +1,107 @@ +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 |