安装gitlab-PV绑定不正确,externalIP导致错误

问题描述 投票:0回答:1

我正在尝试使用HelmGitlab安装到OpenShift 3.11

为此,我尝试遵循Gitlab文档,并尝试一些示例。

头盔命令

我正在从Ansible剧本中运行Helm。我用来运行Helm命令的任务是:

- name: Install Gitlab using Helm
  command: "{{ item }} "    
  loop:
      - "helm repo add gitlab https://gitlab-charts.s3.amazonaws.com/ --ca-file=/etc/ssl/certs/ca-bundle.crt"
      - "helm repo update"
      - "helm install  gitlab/gitlab -f /home/{{ ansible_ssh_user }}/files/gitlab-customize.yaml --name gitlab"

问题

永久卷

永久卷声明绑定到不正确的永久卷。

[运行helm install之后运行oc get pv之后,我看到以下内容(注意声明未绑定到正确的PV):

NAME                        CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM                                   STORAGECLASS   REASON    AGE
gitlab-minio                10Gi       RWO            Retain           Bound       kube-system/gitlab-prometheus-server                             1m
gitlab-postgresql           10Gi       RWO            Retain           Bound       kube-system/gitlab-postgresql                                    1m
gitlab-prometheus-server    10Gi       RWO            Retain           Available                                                                    1m
repo-data-gitlab-gitaly-0   50Gi       RWO            Retain           Bound       kube-system/repo-data-gitlab-gitaly-0   

                     1m

[我看到了这个示例-https://gitlab.com/gitlab-org/charts/gitlab/blob/master/examples/storage/use_manual_volumes.yml-通过在Helm值文件中添加以下内容显示,我可以纠正此问题-但是它没有任何区别:

gitlab:
  gitaly:
    persistence:
      volumeName: repo-data-gitlab-gitaly-0



postgresql:
  persistence:
    volumeName: gitlab-postgresql
minio:
  persistence:
    volumeName: gitlab-minio
redis:
  persistence:
    volumeName: gitlab-redis

问题?

如何以持久卷绑定到正确的持久卷声明的方式安装gitlab?


版本

头盔

Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}

Openshift

oc v3.11.0+62803d0-1
kubernetes v1.11.0+d4cacc0
features: Basic-Auth GSSAPI Kerberos SPNEGO

Server https://wallets-mgnt-master100.mgmt.wallets:8443
openshift v3.11.0+bd0bee4-337
kubernetes v1.11.0+d4cacc0

Gitlab

  • 图表:gitlab-2.5.1
  • App:12.5.0
gitlab kubernetes-helm
1个回答
0
投票

我能够通过以下艰巨的任务解决此问题:

- name: "Create PersistentVolume for each gitlab component"
    k8s:
      name: "{{ item[0] | lower }}"
      state: present
      definition:
        apiVersion: v1
        kind: PersistentVolume
        metadata:
          namespace: kube-system
          name: "{{ item[0] | lower }}"
          labels:
            app: "{{ item[1] }}"
        spec:
          accessModes:
          - ReadWriteOnce
          capacity:
            storage: "{{ item[2] }}"
          hostPath:
            path: "/{{ansible_env.PV_HOST_DIRECTORY}}/{{  item[0] | lower }}"
          persistentVolumeReclaimPolicy: Retain
          claimRef:
            namespace: kube-system
            name: "{{ item[0] | lower }}"
    loop:
        - [ 'gitlab-minio', 'minio', '10Gi' ]
        - [ 'gitlab-postgresql', 'postgresql', '10Gi']
        - [ 'gitlab-prometheus-server', 'prometheus', '10Gi']
        - [ 'repo-data-gitlab-gitaly-0', 'gitlab', '50Gi']
        - [ 'gitlab-redis', 'gitlab-redis', '5Gi']

注意,使用claimRef,用于绑定到PVC。

也请参阅https://stackoverflow.com/a/34323691/265119以获得很好的解释。

© www.soinside.com 2019 - 2024. All rights reserved.