Yang terbaik ialah guna helm tapi kalau ada kluster Kubernetes tu ada ruang udara dengan Internet, helm tidak boleh digunakan. Oleh itu kena pasang sendiri seperti yang berikut
1. pull gogs/gogs image dari https://hub.docker.com
2. tag dan push ke Harbor
1. pull gogs/gogs image dari https://hub.docker.com
docker pull gogs/gogs:0.11.91
2. tag dan push ke Harbor
docker tag gogs/gogs:0.11.91 harbor.kubix.my/library/gogs:0.11.91
docker push harbor.kubix.my/library/gogs:0.11.91
3. Bina persistance volume. Saya menggunakan pvc yang berikut
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: gogs-pvc
annotations:
volume.beta.kubernetes.io/storage-class: thin-disk
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Gi
4. Pasangkan gogs dengan menggunakan manifes yang berikut
---
#ClusterIP Service to expose Trust app
apiVersion: v1
kind: Service
metadata:
name: sv-gogs
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 3000
selector:
app: gogs
---
#Trust App deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: gogs
spec:
replicas: 1
selector:
matchLabels:
app: gogs
template:
metadata:
labels:
app: gogs
spec:
containers:
- name: gogs
image: harbor.prod.kubix.tm.com.my/library/gogs:0.11.91
ports:
- containerPort: 3000
volumeMounts:
- name: gogs-volume
mountPath: /data
volumes:
- name: gogs-volume
persistentVolumeClaim:
claimName: gogs-pvc
5. Untuk memaparkan service ini keluar, saya menggunakan ingress
#apiVersion: networking.k8s.io/v1beta1
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: gogs
spec:
tls:
- hosts:
- gogs.kubix.tm
secretName: poc-kubix-tls
rules:
- host: gogs.kubix.tm
http:
paths:
- backend:
serviceName: sv-gogs
servicePort: 80
6. Kemudian anda boleh terus kepada setting awal gogs:-
7. Boleh cuba guna seperti pelayan-pelayan git yang lain :)
No comments:
Post a Comment