jenkins - 在 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]
这是日志中出现的唯一错误。
如何解决/减轻这种情况?