不是特定于数字海洋的,非常好的去验证这是否是预期的行为。
我正在尝试使用来自ElasticSearch itself的掌舵图在DO管理的Kubernetes集群上设置ElasticSearch集群
他们说我需要在storageclassname
中指定一个volumeclaimTemplate
才能使用托管kubernetes服务提供的卷。对于DO,根据其docs为do-block-storages
。似乎也不必定义PVC,掌舵图应自行完成。
我正在使用的配置
# Specify node pool
nodeSelector:
doks.digitalocean.com/node-pool: elasticsearch
# Shrink default JVM heap.
esJavaOpts: "-Xmx128m -Xms128m"
# Allocate smaller chunks of memory per pod.
resources:
requests:
cpu: "100m"
memory: "512M"
limits:
cpu: "1000m"
memory: "512M"
# Specify Digital Ocean storage
# Request smaller persistent volumes.
volumeclaimTemplate:
accessModes: [ "ReadWriteonce" ]
storageclassname: do-block-storage
resources:
requests:
storage: 10Gi
extraInitContainers: |
- name: create
image: busybox:1.28
command: ['mkdir','/usr/share/elasticsearch/data/nodes/']
volumeMounts:
- mountPath: /usr/share/elasticsearch/data
name: elasticsearch-master
- name: file-permissions
image: busybox:1.28
command: ['chown','-R','1000:1000','/usr/share/elasticsearch/']
volumeMounts:
- mountPath: /usr/share/elasticsearch/data
name: elasticsearch-master
我正在使用Terraform设置头盔图,但是无论如何,这都没关系,
resource "helm_release" "elasticsearch" {
name = "elasticsearch"
chart = "elastic/elasticsearch"
namespace = "elasticsearch"
values = [
file("charts/elasticsearch.yaml")
]
}
这是我检查pod日志时得到的内容:
51s Normal Provisioning persistentvolumeclaim/elasticsearch-master-elasticsearch-master-2 External provisioner is provisioning volume for claim "elasticsearch/elasticsearch-master-elasticsearch-master-2"
2m28s Normal ExternalProvisioning persistentvolumeclaim/elasticsearch-master-elasticsearch-master-2 waiting for a volume to be created,either by external provisioner "dobs.csi.digitalocean.com" or manually created by system administrator
我很确定问题在于数量。它应该由kubernetes自动提供。描述持久性存储可以做到这一点:
holms@debian ~/D/c/s/b/t/s/post-infra> kubectl describe pvc elasticsearch-master-elasticsearch-master-0 --namespace elasticsearch
Name: elasticsearch-master-elasticsearch-master-0
Namespace: elasticsearch
Storageclass: do-block-storage
Status: Pending
Volume:
Labels: app=elasticsearch-master
Annotations: volume.beta.kubernetes.io/storage-provisioner: dobs.csi.digitalocean.com
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
access Modes:
VolumeMode: Filesystem
Mounted By: elasticsearch-master-0
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Provisioning 4m57s (x176 over 14h) dobs.csi.digitalocean.com_master-setupad-eu_04e43747-fafb-11e9-b7dd-e6fd8fbff586 External provisioner is provisioning volume for claim "elasticsearch/elasticsearch-master-elasticsearch-master-0"
Normal ExternalProvisioning 93s (x441 over 111m) persistentvolume-controller waiting for a volume to be created,either by external provisioner "dobs.csi.digitalocean.com" or manually created by system administrator
我已经在Google上搜索了所有内容,似乎一切都正确,并且DO端的音量应该没有问题,但是它挂起了挂起状态。这是预期的行为吗?还是我应该请DO支持人员检查他们的情况?