В настоящее время я использую стандартный контейнерный кластер GCE с большим успехом и удовольствием. Но у меня возник вопрос о предоставлении GCE Persistent дисков.Предоставление Kubernetes GCE Постоянный диск иногда не работает
Как описано в this Форма документа Kubernetes. Я создал два YAML файлы:
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
Если я теперь создать следующие тома претензии:
{
"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
Диск смонтировано отлично, но я много раз наткнуться на следующее сообщение об ошибке (не более можно найти в файле kubelet.log):
Не удалось приложите том «запрос-тест» на узле «....» с: постоянный диск GCE не найден: diskName = «.....» zone = «europe-west1-b» Ошибка синхронизации кода, пропуск: время ожидания истекло ожидая томов для подключения/монтирования для стручка «....». список неприкрепленных/немонтированных томов = [....]
Иногда подставка отлично подходит, но иногда она падает. Единственное, что я мог найти, это то, что должно быть достаточно времени между созданием ПВХ и самой RC. Я пробовал это много раз, но с такими же неопределенными результатами.
Я надеюсь, что кто-то может дать мне какое-то предложение или помощь.
Заранее благодарен! С наилучшими пожеланиями,
Hacor
Извините за беспокойство Hacor. Мы хотели бы отладить это. Не могли бы вы поделиться своей информацией о кластере GKE (название проекта, зона/регион и имя кластера) со мной в автономном режиме (контактная информация на https://github.com/saad-ali), а также точное время последнего воспроизведения - мы рассмотрим мастер-журналы, чтобы узнать, что происходит. –
ПВХ с GCE довольно хлопотно: диск устанавливается на одну машину, а стручок запускается на случайной машине. Из-за этого стручок никогда не сможет найти PV. Чтобы этого не произошло, вам нужно привязать контейнеры к машинам. Более эффективный способ до тех пор, пока Google не позволит установить диск на несколько компьютеров, является использование хранилища GCE, установленного непосредственно из модуля –