현재 GCE 표준 컨테이너 클러스터를 사용하고 있으며 많은 성공과 즐거움을 가지고 있습니다. 그러나 GCE Persistent 디스크를 프로비저닝하는 것에 대한 질문이있었습니다.Kubernetes provisioning GCE 영구 디스크가 가끔 실패합니다.
this Kubernetes 문서 양식에 설명 된대로.
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
annotations:
storageclass.beta.kubernetes.io/is-default-class: "true"
name: slow
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-standard
및
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
name: fast
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-ssd
나는 지금 다음 볼륨 청구 만드는 경우 : 저는 두 YAML 파일을 생성 한 디스크를 완벽하게 작성되는
{
"kind": "PersistentVolumeClaim",
"apiVersion": "v1",
"metadata": {
"name": "claim-test",
"annotations": {
"volume.beta.kubernetes.io/storage-class": "hdd"
}
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "3Gi"
}
}
}
}
을! 지금 단위
apiVersion: v1
kind: ReplicationController
metadata:
name: nfs-server
spec:
replicas: 1
selector:
role: nfs-server
template:
metadata:
labels:
role: nfs-server
spec:
containers:
- name: nfs-server
image: gcr.io/google_containers/volume-nfs
ports:
- name: nfs
containerPort: 2049
- name: mountd
containerPort: 20048
- name: rpcbind
containerPort: 111
securityContext:
privileged: true
volumeMounts:
- mountPath: /exports
name: mypvc
volumes:
- name: mypvc
persistentVolumeClaim:
claimName: claim-test
다음 시작하는 경우 그리고 디스크가 완벽하게 장착됩니다 만 여러 번 I합니다 (kubelet.log 파일에서 찾을 수없는 그 이상)의 다음과 같은 오류 우연히 발견 :
에 실패 GCE 영구 디스크를 찾을 수 없음 : diskName = "....."zone = "europe-west1-b" 포드 동기화 중 오류 발생 : 건너 뛰기 : 제한 시간이 만료 됨 포드 "...."에 대한 볼륨 마운트/마운트 대기. 연결되지 않은 볼륨/마운트되지 않은 볼륨의 목록 = [....]
때로는 포드가 완벽하게 부팅되지만 때로는 충돌이 발생합니다. 내가 찾을 수있는 유일한 것은 PVC와 RC 자체를 만드는 사이에 충분한 시간이 필요하다는 것입니다. 나는 여러 번 시도했지만 동일한 불확실한 결과를 보았다.
누군가가 내게 제안이나 도움을 주길 바랍니다.
미리 감사드립니다. 안부,
Hacor
귀하의 의견에 미리
죄송합니다. 우리는 이것을 디버그하고 싶습니다. 오프라인 나와 함께 당신의 GKE 클러스터 정보 (프로젝트 이름, 영역/지역 및 클러스터 이름)을 공유 할 수 마지막 repro--의 정확한 시간과 함께, (https://github.com/saad-ali에서 연락처 정보) 우리는 마스터 로그를보고 무슨 일이 일어나는지 살펴볼 것입니다. GCE와 –
PVC를 사용하기 매우 곤란하다 : 포드는 임의의 기계에서 시작되는 동안 디스크는 단일 시스템에 장착됩니다. 포드는이 때문에 PV를 찾지 못할 수도 있습니다. 이를 방지하기 위해 창을 컴퓨터에 바인딩해야합니다. Google이 디스크를 여러 대의 컴퓨터에 마운트 할 수있게 될 때까지 포드에서 직접 마운트 한 GCE 스토리지를 사용하는 것이 더 효과적인 방법입니다 –