zoukankan      html  css  js  c++  java
  • kubernetes1.17.2结合ceph13.2.8部署gitlab12.1.6

    [root@bs-k8s-ceph ~]# ceph -s
      cluster:
        id:     11880418-1a9a-4b55-a353-4b141e2199d8
        health: HEALTH_OK
     
      services:
        mon: 3 daemons, quorum bs-hk-hk01,bs-hk-hk02,bs-k8s-ceph
        mgr: bs-hk-hk02(active), standbys: bs-k8s-ceph, bs-hk-hk01
        osd: 6 osds: 6 up, 6 in
     
      data:
        pools:   3 pools, 320 pgs
        objects: 416  objects, 978 MiB
        usage:   8.7 GiB used, 105 GiB / 114 GiB avail
        pgs:     320 active+clean
    [root@bs-k8s-master01 ~]# kubectl get pods --all-namespaces 
    NAMESPACE     NAME                                        READY   STATUS        RESTARTS   AGE
    default       rbd-provisioner-75b85f85bd-8ftdm            0/1     Terminating   12         5d
    default       rbd-provisioner-75b85f85bd-bk5kz            1/1     Running       4          24h
    harbor        rbd-provisioner-75b85f85bd-dhnr4            1/1     Terminating   7          3d13h
    harbor        rbd-provisioner-75b85f85bd-qzzbx            1/1     Running       3          24h
    kube-system   calico-kube-controllers-5b644bc49c-kv4wb    1/1     Running       67         10d
    kube-system   calico-node-4jxbp                           1/1     Running       5          10d
    kube-system   calico-node-7t9cj                           1/1     Running       12         10d
    kube-system   calico-node-cchgl                           1/1     Running       15         10d
    kube-system   calico-node-czj76                           1/1     Running       7          10d
    kube-system   calico-node-lxb2s                           0/1     Running       15         10d
    kube-system   calico-node-nmg9t                           1/1     Running       8          10d
    kube-system   coredns-7f9c544f75-bwx9p                    1/1     Running       67         10d
    kube-system   coredns-7f9c544f75-q58mr                    1/1     Running       66         10d
    kube-system   dashboard-metrics-scraper-6b66849c9-qtwzx   1/1     Running       83         10d
    kube-system   etcd-bs-k8s-master01                        1/1     Running       30         10d
    kube-system   etcd-bs-k8s-master02                        1/1     Running       12         10d
    kube-system   etcd-bs-k8s-master03                        1/1     Running       37         10d
    kube-system   kube-apiserver-bs-k8s-master01              1/1     Running       49         10d
    kube-system   kube-apiserver-bs-k8s-master02              1/1     Running       22         10d
    kube-system   kube-apiserver-bs-k8s-master03              1/1     Running       67         10d
    kube-system   kube-controller-manager-bs-k8s-master01     1/1     Running       49         10d
    kube-system   kube-controller-manager-bs-k8s-master02     1/1     Running       38         10d
    kube-system   kube-controller-manager-bs-k8s-master03     1/1     Running       42         10d
    kube-system   kube-proxy-26ffm                            1/1     Running       4          10d
    kube-system   kube-proxy-298tr                            1/1     Running       5          10d
    kube-system   kube-proxy-hzsmb                            1/1     Running       4          10d
    kube-system   kube-proxy-jb4sq                            1/1     Running       5          10d
    kube-system   kube-proxy-pt94r                            1/1     Running       7          10d
    kube-system   kube-proxy-wljwv                            1/1     Running       5          10d
    kube-system   kube-scheduler-bs-k8s-master01              1/1     Running       46         10d
    kube-system   kube-scheduler-bs-k8s-master02              1/1     Running       31         10d
    kube-system   kube-scheduler-bs-k8s-master03              1/1     Running       46         10d
    kube-system   kubernetes-dashboard-887cbd9c6-j7ptq        1/1     Terminating   30         10d
    kube-system   kubernetes-dashboard-887cbd9c6-rzlp4        1/1     Running       7          24h
    kube-system   rbd-provisioner-75b85f85bd-2dclz            1/1     Running       35         3d14h
    
    [root@bs-k8s-ceph ~]# ceph osd pool create gitlab 64
    pool 'github' created
    [root@bs-k8s-ceph ~]# cd /etc/ceph/
    [root@bs-k8s-ceph ceph]# ceph auth get-or-create client.gitlab mon 'allow r' osd 'allow class-read, allow rwx pool=gitlab' -o ceph.client.gitlab.keyring
    [root@bs-k8s-node01 ~]# ceph auth get-key client.admin | base64
    QVFDNmNVSmV2eU8yRnhBQVBxYzE5Mm5PelNnZk5acmg5aEFQYXc9PQ==
    [root@bs-k8s-node01 ~]# ceph auth get-key client.gitlab | base64
    QVFCUzNFMWVqRDZpTXhBQTgrd3RIajVWb295M1J1QkJDZi9QOXc9PQ==
    [root@bs-k8s-master01 gitlab]# kubectl apply -f ceph-gitlab-namespace.yaml
    namespace/gitlab created
    [root@bs-k8s-master01 gitlab]# kubectl get namespace gitlab
    NAME     STATUS   AGE
    gitlab   Active   <invalid>
    [root@bs-k8s-master01 gitlab]# cat ceph-gitlab-namespace.yaml 
    ##########################################################################
    #Author:                     zisefeizhu
    #QQ:                         2********0
    #Date:                       2020-02-16
    #FileName:                   ceph-harbor-namespace.yaml
    #URL:                        https://www.cnblogs.com/zisefeizhu/
    #Description:                The test script
    #Copyright (C):              2020 All rights reserved
    ###########################################################################
    apiVersion: v1
    kind: Namespace
    metadata:
      name: gitlab
    [root@bs-k8s-node02 ~]# docker tag quay.io/external_storage/rbd-provisioner:latest harbor.linux.com/kubworker/rbd-provisioner:latest
    [root@bs-k8s-node02 ~]# docker push harbor.linux.com/kubworker/rbd-provisioner:latest
    [root@bs-k8s-master01 gitlab]# kubectl apply -f external-storage-rbd-provisioner.yaml
    serviceaccount/rbd-provisioner created
    clusterrole.rbac.authorization.k8s.io/rbd-provisioner created
    clusterrolebinding.rbac.authorization.k8s.io/rbd-provisioner created
    role.rbac.authorization.k8s.io/rbd-provisioner created
    rolebinding.rbac.authorization.k8s.io/rbd-provisioner created
    deployment.apps/rbd-provisioner created
    [root@bs-k8s-master01 gitlab]# kubectl get pods -n gitlab 
    NAME                               READY   STATUS    RESTARTS   AGE
    rbd-provisioner-75b85f85bd-t224w   1/1     Running   0          64s
    [root@bs-k8s-master01 gitlab]# cat external-storage-rbd-provisioner.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: rbd-provisioner
      namespace: gitlab
    ---
    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: rbd-provisioner
    rules:
      - apiGroups: [""]
        resources: ["persistentvolumes"]
        verbs: ["get", "list", "watch", "create", "delete"]
      - apiGroups: [""]
        resources: ["persistentvolumeclaims"]
        verbs: ["get", "list", "watch", "update"]
      - apiGroups: ["storage.k8s.io"]
        resources: ["storageclasses"]
        verbs: ["get", "list", "watch"]
      - apiGroups: [""]
        resources: ["events"]
        verbs: ["create", "update", "patch"]
      - apiGroups: [""]
        resources: ["endpoints"]
        verbs: ["get", "list", "watch", "create", "update", "patch"]
      - apiGroups: [""]
        resources: ["services"]
        resourceNames: ["kube-dns"]
        verbs: ["list", "get"]
    ---
    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: rbd-provisioner
    subjects:
      - kind: ServiceAccount
        name: rbd-provisioner
        namespace: gitlab
    roleRef:
      kind: ClusterRole
      name: rbd-provisioner
      apiGroup: rbac.authorization.k8s.io
    
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: rbd-provisioner
      namespace: gitlab
    rules:
    - apiGroups: [""]
      resources: ["secrets"]
      verbs: ["get"]
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: rbd-provisioner
      namespace: gitlab
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: rbd-provisioner
    subjects:
    - kind: ServiceAccount
      name: rbd-provisioner
      namespace: gitlab
    
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: rbd-provisioner
      namespace: gitlab
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: rbd-provisioner
      strategy:
        type: Recreate
      template:
        metadata:
          labels:
            app: rbd-provisioner
        spec:
          containers:
          - name: rbd-provisioner
            image: "harbor.linux.com/kubworker/rbd-provisioner:latest"
            env:
            - name: PROVISIONER_NAME
              value: ceph.com/rbd
          serviceAccount: rbd-provisioner
          imagePullSecrets:
            - name: login
    [root@bs-k8s-master01 gitlab]# kubectl apply -f ceph-gitlab-secret.yaml
    secret/ceph-gitlab-admin-secret created
    secret/ceph-gitlab-gitlab-secret created
    [root@bs-k8s-master01 gitlab]# cat ceph-gitlab-secret.yaml 
    ##########################################################################
    #Author:                     zisefeizhu
    #QQ:                         2********0
    #Date:                       2020-02-16
    #FileName:                   ceph-harbor-secret.yaml
    #URL:                        https://www.cnblogs.com/zisefeizhu/
    #Description:                The test script
    #Copyright (C):              2020 All rights reserved
    ###########################################################################
    apiVersion: v1
    kind: Secret
    metadata:
      name: ceph-gitlab-admin-secret
      namespace: gitlab
    data:
      key: QVFDNmNVSmV2eU8yRnhBQVBxYzE5Mm5PelNnZk5acmg5aEFQYXc9PQ==
    type: kubernetes.io/rbd
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: ceph-gitlab-gitlab-secret
      namespace: gitlab
    data:
      key: QVFCUzNFMWVqRDZpTXhBQTgrd3RIajVWb295M1J1QkJDZi9QOXc9PQ==
    type: kubernetes.io/rbd
    [root@bs-k8s-master01 gitlab]# kubectl apply -f ceph-gitlab-storageclass.yaml 
    storageclass.storage.k8s.io/ceph-gitlab created
    [root@bs-k8s-master01 gitlab]# cat ceph-gitlab-storageclass.yaml 
    ##########################################################################
    #Author:                     zisefeizhu
    #QQ:                         2********0
    #Date:                       2020-02-16
    #FileName:                   ceph-harbor-storageclass.yaml
    #URL:                        https://www.cnblogs.com/zisefeizhu/
    #Description:                The test script
    #Copyright (C):              2020 All rights reserved
    ###########################################################################
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: ceph-gitlab
      annotations:
        storageclass.kubernetes.io/is-default-class: "false"
    provisioner: ceph.com/rbd
    reclaimPolicy: Retain
    parameters:
      monitors: 20.0.0.206:6789,20.0.0.207:6789,20.0.0.208:6789
      adminId: admin
      adminSecretName: ceph-gitlab-admin-secret
      adminSecretNamespace: gitlab
      pool: gitlab
      fsType: xfs
      userId: gitlab
      userSecretName: ceph-gitlab-gitlab-secret
      imageFormat: "2"
      imageFeatures: "layering"
    [root@bs-k8s-master01 gitlab]# kubectl apply -f ceph-gitlab-pvc.yaml 
    persistentvolumeclaim/pvc-ceph-gitlab created
    [root@bs-k8s-master01 gitlab]# kubectl get pv -n gitlab
    NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                    STORAGECLASS   REASON   AGE
    pvc-494a130d-018c-4be3-9b31-e951cc4367a5   20Gi       RWO            Retain           Bound    default/wp-pv-claim      ceph-rbd                4d14h
    pvc-8ffa3182-a2f6-47d9-a71d-ff8e8b379a16   1Gi        RWO            Retain           Bound    default/ceph-pvc         ceph-rbd                4d16h
    pvc-ac7d3a09-123e-4614-886c-cded8822a078   20Gi       RWO            Retain           Bound    default/mysql-pv-claim   ceph-rbd                4d14h
    pvc-ba59cba5-e394-4b19-8c4b-4018162bbe69   1Gi        RWO            Retain           Bound    harbor/pvc-ceph-harbor   ceph-harbor             3d14h
    [root@bs-k8s-master01 gitlab]# kubectl get pvc -n gitlab
    NAME              STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    pvc-ceph-gitlab   Bound    pvc-c7c7aed3-4f8f-4801-a9db-c13f9390af8c   1Gi        RWO            ceph-gitlab    21s
    [root@bs-k8s-master01 gitlab]# cat ceph-gitlab-pvc.yaml 
    ##########################################################################
    #Author:                     zisefeizhu
    #QQ:                         2********0
    #Date:                       2020-02-16
    #FileName:                   ceph-harbor-pvc.yaml
    #URL:                        https://www.cnblogs.com/zisefeizhu/
    #Description:                The test script
    #Copyright (C):              2020 All rights reserved
    ###########################################################################
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-ceph-gitlab
      namespace: gitlab
    spec:
      storageClassName: ceph-gitlab
      accessModes:
      - ReadWriteOnce
      resources:
        requests: 
          storage: 1Gi
    [root@bs-k8s-ceph ceph]# ceph osd pool application enable gitlab rbd
    enabled application 'rbd' on pool 'gitlab'
    [root@bs-k8s-ceph ceph]# ceph -s
      cluster:
        id:     11880418-1a9a-4b55-a353-4b141e2199d8
        health: HEALTH_OK
     
      services:
        mon: 3 daemons, quorum bs-hk-hk01,bs-hk-hk02,bs-k8s-ceph
        mgr: bs-hk-hk02(active), standbys: bs-k8s-ceph, bs-hk-hk01
        osd: 6 osds: 6 up, 6 in
     
      data:
        pools:   4 pools, 384 pgs
        objects: 420  objects, 978 MiB
        usage:   8.9 GiB used, 105 GiB / 114 GiB avail
        pgs:     384 active+clean
    [root@bs-k8s-master01 gitlab]# echo -n "admin" > ./username
    [root@bs-k8s-master01 gitlab]# echo -n "zisefeizhzu" > ./password
    [root@bs-k8s-master01 gitlab]#  kubectl create secret generic db-user-pass --from-file=./username --from-file=./password
    secret/db-user-pass created
    [root@bs-k8s-master01 gitlab]# kubectl apply -f ceph-redis-pvc.yaml
    persistentvolumeclaim/pvc-ceph-redis created
    [root@bs-k8s-master01 gitlab]# kubectl get pvc -n gitlab
    NAME              STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    pvc-ceph-gitlab   Bound    pvc-c7c7aed3-4f8f-4801-a9db-c13f9390af8c   1Gi        RWO            ceph-gitlab    53m
    pvc-ceph-redis    Bound    pvc-f8051bd4-4617-4823-b190-3581ec502d7e   1Gi        RWO            ceph-gitlab    15s
    [root@bs-k8s-master01 gitlab]# cat ceph-redis-pvc.yaml 
    ##########################################################################
    #Author:                     zisefeizhu
    #QQ:                         2********0
    #Date:                       2020-02-20
    #FileName:                   ceph-redis-pvc.yaml
    #URL:                        https://www.cnblogs.com/zisefeizhu/
    #Description:                The test script
    #Copyright (C):              2020 All rights reserved
    ###########################################################################
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-ceph-redis
      namespace: gitlab
    spec:
      storageClassName: ceph-gitlab
      accessModes:
      - ReadWriteOnce
      resources:
        requests: 
          storage: 1Gi
    [root@bs-k8s-master01 gitlab]# kubectl apply -f gitlab-redis.yaml
    deployment.apps/redis created
    service/redis created
    [root@bs-k8s-master01 gitlab]# kubectl get pods -n gitlab -o wide
    NAME                               READY   STATUS    RESTARTS   AGE    IP              NODE            NOMINATED NODE   READINESS GATES
    rbd-provisioner-75b85f85bd-t224w   1/1     Running   0          81m    10.209.145.42   bs-k8s-node02   <none>           <none>
    redis-598f9d7ccb-vmrpz             1/1     Running   0          2m7s   10.209.208.22   bs-k8s-node03   <none>           <none>
    [root@bs-k8s-master01 gitlab]# cat gitlab-redis.yaml 
    ##########################################################################
    #Author:                     zisefeizhu
    #QQ:                         2********0
    #Date:                       2020-02-20
    #FileName:                   gitlab-redis.yaml
    #URL:                        https://www.cnblogs.com/zisefeizhu/
    #Description:                The test script
    #Copyright (C):              2020 All rights reserved
    ###########################################################################
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: redis
      namespace: gitlab
      labels:
        name: redis
    spec:
      selector:
        matchLabels:
          name: redis
      template:
        metadata:
          name: redis
          labels:
            name: redis
        spec:
          containers:
          - name: redis
            image: sameersbn/redis
            imagePullPolicy: IfNotPresent
            ports:
            - name: redis
              containerPort: 6379
            volumeMounts:
            - mountPath: /var/lib/redis
              name: data
            livenessProbe:
              exec:
                command:
                - redis-cli
                - ping
              initialDelaySeconds: 30
              timeoutSeconds: 5
            readinessProbe:
              exec: 
                command:
                - redis-cli
                - ping
              initialDelaySeconds: 5
              timeoutSeconds: 1
          volumes:
          - name: data
            persistentVolumeClaim:
              claimName: pvc-ceph-redis
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: redis
      namespace: gitlab
      labels:
        name: redis
    spec:
      ports:
        - name: redis
          port: 6379
          targetPort: redis
      selector:
        name: redis
    [root@bs-k8s-master01 gitlab]# cp ceph-redis-pvc.yaml ceph-postgresql-pvc.yaml
    [root@bs-k8s-master01 gitlab]# vim ceph-postgresql-pvc.yaml
    [root@bs-k8s-master01 gitlab]# kubectl apply -f ceph-postgresql-pvc.yaml
    persistentvolumeclaim/pvc-ceph-postgresql created
    [root@bs-k8s-master01 gitlab]# kubectl get pvc -n gitlab
    NAME                  STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    pvc-ceph-gitlab       Bound    pvc-c7c7aed3-4f8f-4801-a9db-c13f9390af8c   1Gi        RWO            ceph-gitlab    23h
    pvc-ceph-postgresql   Bound    pvc-5995ff51-08fe-4f66-aca8-bda906c44c83   1Gi        RWO            ceph-gitlab    21h
    pvc-ceph-redis        Bound    pvc-f8051bd4-4617-4823-b190-3581ec502d7e   1Gi        RWO            ceph-gitlab    22h
    [root@bs-k8s-master01 gitlab]# cat ceph-postgresql-pvc.yaml 
    ##########################################################################
    #Author:                     zisefeizhu
    #QQ:                         2********0
    #Date:                       2020-02-20
    #FileName:                   ceph-redis-pvc.yaml
    #URL:                        https://www.cnblogs.com/zisefeizhu/
    #Description:                The test script
    #Copyright (C):              2020 All rights reserved
    ###########################################################################
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-ceph-postgresql
      namespace: gitlab
    spec:
      storageClassName: ceph-gitlab
      accessModes:
      - ReadWriteOnce
      resources:
        requests: 
          storage: 1Gi
    [root@bs-k8s-master01 gitlab]# kubectl apply -f gitlab-postgresql.yaml
    deployment.apps/postgresql created
    service/postgresql created
    [root@bs-k8s-master01 gitlab]# kubectl get pods -n gitlab
    NAME                               READY   STATUS    RESTARTS   AGE
    postgresql-8c84b7698-w4wpp         1/1     Running   0          5m31s
    rbd-provisioner-75b85f85bd-t224w   1/1     Running   0          104m
    redis-598f9d7ccb-vmrpz             1/1     Running   0          24m
    [root@bs-k8s-master01 gitlab]# cat gitlab-postgresql.yaml 
    ##########################################################################
    #Author:                     zisefeizhu
    #QQ:                         2********0
    #Date:                       2020-02-20
    #FileName:                   gitlab-postgresql.yaml
    #URL:                        https://www.cnblogs.com/zisefeizhu/
    #Description:                The test script
    #Copyright (C):              2020 All rights reserved
    ###########################################################################
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: postgresql
      namespace: gitlab
      labels:
        name: postgresql
    spec:
      selector:
        matchLabels:
          name: postgresql
      template:
        metadata:
          name: postgresql
          labels:
            name: postgresql
        spec:
          containers:
          - name: postgresql
            image: sameersbn/postgresql
            imagePullPolicy: IfNotPresent
            env:
            - name: DB_USER
              value: gitlab
            - name: DB_PASS
              value: zisefeizhu
            - name: DB_NAME
              value: gitlab_production
            - name: DB_EXTENSION
              value: pg_trgm
            ports:
            - name: postgres
              containerPort: 5432
            volumeMounts:
            - mountPath: /var/lib/postgresql
              name: data
            livenessProbe:
              exec:
                command:
                - pg_isready
                - -h
                - localhost
                - -U
                - postgres
              initialDelaySeconds: 30
              timeoutSeconds: 5
            readinessProbe:
              exec:
                command:
                - pg_isready
                - -h
                - localhost
                - -U
                - postgres
              initialDelaySeconds: 5
              timeoutSeconds: 1
          volumes:
          - name: data
            persistentVolumeClaim:
              claimName: pvc-ceph-postgresql
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: postgresql
      namespace: gitlab
      labels:
        name: postgresql
    spec:
      ports:
        - name: postgres
          port: 5432
          targetPort: postgres
      selector:
        name: postgresql
    [root@bs-k8s-master01 gitlab]# kubectl apply -f gitlab-gitlab.yaml
    deployment.apps/gitlab created
    service/gitlab created
    ingress.extensions/gitlab created
    [root@bs-k8s-master01 gitlab]# kubectl get ingress -n gitlab
    NAME     HOSTS              ADDRESS   PORTS   AGE
    gitlab   gitlab.linux.com             80      106s
    [root@bs-k8s-master01 gitlab]# kubectl get service -n gitlab
    NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                     AGE
    gitlab       NodePort    10.96.120.85    <none>        80:32208/TCP,22:30022/TCP   2m33s
    postgresql   ClusterIP   10.111.30.80    <none>        5432/TCP                    41m
    redis        ClusterIP   10.103.127.83   <none>        6379/TCP  
    [root@bs-k8s-master01 gitlab]# kubectl get pods -n gitlab -o wide
    NAME                               READY   STATUS    RESTARTS   AGE     IP              NODE            NOMINATED NODE   READINESS GATES
    gitlab-6468b9f55c-mzcmj            1/1     Running   1          4m59s   10.209.208.41   bs-k8s-node03   <none>           <none>
    postgresql-8c84b7698-w4wpp         1/1     Running   0          101m    10.209.145.43   bs-k8s-node02   <none>           <none>
    rbd-provisioner-75b85f85bd-t224w   1/1     Running   0          3h20m   10.209.145.42   bs-k8s-node02   <none>           <none>
    redis-598f9d7ccb-vmrpz             1/1     Running   0          120m    10.209.208.22   bs-k8s-node03   <none>  
    [root@bs-k8s-master01 gitlab]# cat gitlab-gitlab.yaml 
    ##########################################################################
    #Author:                     zisefeizhu
    #QQ:                         2********0
    #Date:                       2020-02-20
    #FileName:                   gitlab-gitlab.yaml
    #URL:                        https://www.cnblogs.com/zisefeizhu/
    #Description:                The test script
    #Copyright (C):              2020 All rights reserved
    ###########################################################################
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: gitlab
      namespace: gitlab
      labels:
        name: gitlab
    spec:
      selector:
        matchLabels:
          name: gitlab
      template:
        metadata:
          name: gitlab
          labels:
            name: gitlab
        spec:
          containers:
          - name: gitlab
            image: sameersbn/gitlab:12.1.6
            imagePullPolicy: IfNotPresent
            env:
            - name: TZ
              value: Asia/Shanghai
            - name: GITLAB_TIMEZONE
              value: Beijing
            - name: GITLAB_SECRETS_DB_KEY_BASE
              value: long-and-random-alpha-numeric-string
            - name: GITLAB_SECRETS_SECRET_KEY_BASE
              value: long-and-random-alpha-numeric-string
            - name: GITLAB_SECRETS_OTP_KEY_BASE
              value: long-and-random-alpha-numeric-string
            - name: GITLAB_ROOT_PASSWORD 
              value: zisefeizhu
            - name: GITLAB_ROOT_EMAIL
              value: 2350835860@qq.com
            - name: GITLAB_HOST
              value: gitlab.linux.com
            - name: GITLAB_PORT
              value: "80"
            - name: GITLAB_SSH_PORT
              value: "30022"
            - name: GITLAB_NOTIFY_ON_BROKEN_BUILDS
              value: "true"
            - name: GITLAB_NOTIFY_PUSHER
              value: "false"
            - name: GITLAB_BACKUP_SCHEDULE
              value: daily
            - name: GITLAB_BACKUP_TIME
              value: 01:00
            - name: DB_TYPE
              value: postgres
            - name: DB_HOST
              value: postgresql
            - name: DB_PORT
              value: "5432"
            - name: DB_USER
              value: gitlab
            - name: DB_PASS
              value: zisefeizhu
            - name: DB_NAME
              value: gitlab_production
            - name: REDIS_HOST
              value: redis
            - name: REDIS_PORT
              value: "6379"
            ports:
            - name: http
              containerPort: 80
            - name: ssh
              containerPort: 22
            volumeMounts:
            - mountPath: /home/git/data
              name: data
            livenessProbe:
              httpGet:
                path: /
                port: 80
              initialDelaySeconds: 180
              timeoutSeconds: 5
            readinessProbe:
              httpGet:
                path: /
                port: 80
              initialDelaySeconds: 5
              timeoutSeconds: 1
          volumes:
          - name: data
            persistentVolumeClaim:
              claimName: pvc-ceph-gitlab
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: gitlab
      namespace: gitlab
      labels:
        name: gitlab
    spec:
      ports:
        - name: http
          port: 80
          targetPort: http
        - name: ssh
          port: 22
          targetPort: ssh
          nodePort: 30022
      type: NodePort
      selector:
        name: gitlab
    ---
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: gitlab
      namespace: gitlab
      annotations:
        kubernetes.io/ingress.class: traefik
    spec:
      rules:
      - host: gitlab.linux.com
        http:
          paths:
          - backend:
              serviceName: gitlab
              servicePort: http
  • 相关阅读:
    NLog.Config的配置示例
    极限定义新讲:动态定义与静态定义
    rclone命令
    linux用户管理命令
    vim常用命令
    Python解二元二次方程组
    英雄联盟为什么这么难玩?——认识所有英雄
    snap安装、运行ss
    阿里云邮件推送服务Python API发送邮件
    Visual Studio #include<bits/stdc++.h>万能头文件
  • 原文地址:https://www.cnblogs.com/zisefeizhu/p/12336123.html
Copyright © 2011-2022 走看看