[REDIS] 디지털 오션 포드는 언 바운드 즉시 PersistentVolumeClaims있다
REDIS디지털 오션 포드는 언 바운드 즉시 PersistentVolumeClaims있다
나는 디지털 오션에서는 Kubernetes에서 레디 스 클러스터를 실행하려합니다. 의한 PoC, 나는 단순히 온라인 내가 찾은 예제를 실행 시도 (https://github.com/sanderploegsma/redis-cluster/blob/master/redis-cluster.yml), 실행시 적절하게 포드를 회전 할 수있는 로컬 minikube를 사용하여.
디지털 오션에 실행 그러나, 나는 항상 다음과 같은 오류가 발생합니다 :
난 아무것도 변화하지 오전 감안할 때, 나는 확실하지 않다 왜이 작동하지 않을 것입니다. 사람이 어떤 제안이 있습니까?
편집 : 몇 가지 추가 정보
$ kubectl describe pvc
Name: data-redis-cluster-0
Namespace: default
StorageClass:
Status: Pending
Volume:
Labels: app=redis-cluster
Annotations: <none>
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal FailedBinding 3m19s (x3420 over 14h) persistentvolume-controller no persistent volumes available for this claim and no storage class is set
Mounted By: <none>
편집 : 기본 저장 클래스를 설정 부분적으로 문제가 해결! 그러나, 노드는 바인딩에 사용 가능한 볼륨을 찾을 지금 수 없습니다 :
PVC를 설명 kubectl :
Name: data-redis-cluster-0
Namespace: default
StorageClass: local-storage
Status: Pending
Volume:
Labels: app=redis-cluster
Annotations: <none>
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal WaitForFirstConsumer 12m (x9 over 13m) persistentvolume-controller waiting for first consumer to be created before binding
Normal WaitForFirstConsumer 3m19s (x26 over 9m34s) persistentvolume-controller waiting for first consumer to be created before binding
포드 설명 kubectl 레디 스를 클러스터-0
....
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 16m (x25 over 17m) default-scheduler 0/5 nodes are available: 1 node(s) had taints that the pod didn't tolerate, 4 node(s) didn't find available persistent volumes to bind.
사우스 캐롤라이나 설명 kubectl
Name: local-storage
IsDefaultClass: Yes
Annotations: storageclass.kubernetes.io/is-default-class=true
Provisioner: kubernetes.io/no-provisioner
Parameters: <none>
AllowVolumeExpansion: <unset>
MountOptions: <none>
ReclaimPolicy: Delete
VolumeBindingMode: WaitForFirstConsumer
Events: <none>
는 Kubernetes 관리자는 로그를 깍지 :
I1028 15:30:56.154131 1 event.go:221] Event(v1.ObjectReference{Kind:"StatefulSet", Namespace:"default", Name:"redis-cluster", UID:"7528483e-dac6-11e8-871f-2e55450d570e", APIVersion:"apps/v1", ResourceVersion:"2588806", FieldPath:""}): type: 'Normal' reason: 'SuccessfulCreate' create Claim data-redis-cluster-0 Pod redis-cluster-0 in StatefulSet redis-cluster success
I1028 15:30:56.166649 1 event.go:221] Event(v1.ObjectReference{Kind:"PersistentVolumeClaim", Namespace:"default", Name:"data-redis-cluster-0", UID:"76746506-dac6-11e8-871f-2e55450d570e", APIVersion:"v1", ResourceVersion:"2588816", FieldPath:""}): type: 'Normal' reason: 'WaitForFirstConsumer' waiting for first consumer to be created before binding
I1028 15:30:56.220464 1 event.go:221] Event(v1.ObjectReference{Kind:"StatefulSet", Namespace:"default", Name:"redis-cluster", UID:"7528483e-dac6-11e8-871f-2e55450d570e", APIVersion:"apps/v1", ResourceVersion:"2588806", FieldPath:""}): type: 'Normal' reason: 'SuccessfulCreate' create Pod redis-cluster-0 in StatefulSet redis-cluster successful
I1028 15:30:57.004631 1 event.go:221] Event(v1.ObjectReference{Kind:"PersistentVolumeClaim", Namespace:"default", Name:"data-redis-cluster-0", UID:"76746506-dac6-11e8-871f-2e55450d570e", APIVersion:"v1", ResourceVersion:"2588825", FieldPath:""}): type: 'Normal' reason: 'WaitForFirstConsumer' waiting for first consumer to be created before binding
해결법
-
==============================
1.이:
이:
그리고 kubectl에 대해 빈 출력은 더 스토리지 클래스가 없다는 것을 SC 방법을 설명합니다.
나는 디지털 오션에 대한 CSI-드라이버를 설치하는 것이 좋습니다. 즉,는 Kubernetes CSI 인터페이스를 사용하여 DO-블록 스토리지 클래스를 생성합니다.
또 다른 옵션은 로컬 스토리지를 사용하는 것입니다. 로컬 스토리지 클래스를 사용 :
$ cat <<EOF kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: local-storage provisioner: kubernetes.io/no-provisioner volumeBindingMode: WaitForFirstConsumer EOF | kubectl apply -f -
그런 다음 각각의 경우에 대해 당신은 당신의 PVC 당신이 storageClassName을 지정하지 않으면 기본 스토리지 클래스로 설정해야 할 수도 있습니다 :
$ kubectl patch storageclass local-storage -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
또는
$ kubectl patch storageclass do-block-storage -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
-
==============================
2.그것은 PersistentVolumeClaims를 사용하여 statefulSet입니다
그것은 PersistentVolumeClaims를 사용하여 statefulSet입니다
당신은 PersistentVolumeClaim가 거기에서 저장을 할 수 있도록 클러스터의 기본 storageClass를 구성해야합니다.
이 오류없이 성공 있도록 minikube에서 하나는 이미 볼 수 있습니다 :
C02W84XMHTD5:ucp iahmad$ kubectl get sc --all-namespaces NAME PROVISIONER AGE standard (default) k8s.io/minikube-hostpath 7d
from https://stackoverflow.com/questions/52975887/digitalocean-pod-has-unbound-immediate-persistentvolumeclaims by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 세트 / pyarrow를 사용하여 레디 스에 팬더의 dataframes을 얻을 방법 (0) | 2020.01.19 |
---|---|
[REDIS] 어떻게 SO 후 레디 스로 기록 될 것인가? [닫은] (0) | 2020.01.19 |
[REDIS] 양조 설치 레디 스 (OSX 10.7) (0) | 2020.01.19 |
[REDIS] 실행 파이프 라인 순서를 레디 스 (0) | 2020.01.19 |
[REDIS] 그들은 실시간 추가로 어떻게 레디 스의 개체를 팝업 할 수 있습니까? (0) | 2020.01.18 |