k8s deployment (#5046)
parent
b8451190d8
commit
8b4c4bd08f
@ -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 |
Loading…
Reference in new issue