首页 > 解决方案 > 在 GKE 上部署时在 jenkins master 上挂载失败

问题描述

我已经部署jenkins在 GKE 1.16 上。

我正在使用官方helm 图表并经历以下过程

(我只是发布这里使用的模板,这些模板当然是由 ansible 在运行时呈现的——这与问题无关)

a) 手动创建 GCP 永久磁盘:

gcloud compute disks create --size={{ jenkins_pd_size }} --zone={{ zone }} --type pd-ssd {{ jenkins_pd_name }}"

b) 多次创建 PV

apiVersion: v1
kind: PersistentVolume
metadata:
  name: "{{ jenkins_pv_name }}"
  finalizers: null
spec:
  storageClassName: "standard"
  capacity:
    storage: "{{ jenkins_pd_size | default("100Gi", true) }}"
  accessModes:
    - ReadWriteOnce
  gcePersistentDisk:
    pdName: "{{ jenkins_pd_name }}"

c) 手动创建 PVC

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: "{{ jenkins_pvc_name }}"
  namespace: "{{ jenkins_namespace }}"
  finalizers: null
spec:
  storageClassName: "standard"
  volumeName: "{{ jenkins_pv_name }}"
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: "{{ jenkins_pd_size | default("100Gi", true) }}"

然后我在这里传递 PVC 的名称

大多数时候,当需要重新启动 pod(无论出于何种原因)时,需要很长时间才能重新启动Running

根据事件流,问题如下:


Warning  FailedMount  20s (x5 over 9m23s)  kubelet, gke-environment-nodepool1-3d1a1f31-vw87  Unable to mount volumes for pod "jenkins-cd-cb8b56fb7-ssp2j_jenkins(412467g16-2bd5-48f5-b536-5de124c65dc80)": timeout expired waiting for volumes to attach or mount for pod "jenkins"/"jenkins-cd-cb8b56fb7-ssp2j". list of unmounted volumes=[jenkins-home]. list of unattached volumes=[plugins tmp jenkins-config secrets-dir jenkins-home jenkins-cd-token-83l7h]

这是日志中出现的唯一错误。

如何解决/减轻这种情况?

标签: jenkinskubernetes

解决方案


推荐阅读