Sunday 22 March 2020

Bagaimana memasang pelayan git gogs di Kubernetes tanpa helm

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
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

Tatacara klon pelayan di AWS lightsail

  Kadang-kala kita diminta untuk buat satu sistem baru untuk tujuan ujikaji atau percubaan fungsi baru. Jika di AWS lightsail kita boleh bua...