Монтирование тома Kubernetes с помощью Quarkus - PullRequest
1 голос
/ 08 июля 2020

Я пытаюсь смонтировать том в Pod, чтобы одно развертывание могло писать в него, а другое развертывание могло читать с него. Я использую MiniKube с Docker в Ubuntu. Я использую ./mvnw clean package -Dquarkus.kubernetes.deploy=true.

Из документации Quarkus это кажется довольно простым, но у меня проблемы.

Когда я добавляю эту строку quarkus.kubernetes.mounts.my-volume.path=/volumePath в свой application.properties , Я получаю следующую ошибку:

[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:1.6.0.Final:build (default) on project getting-started: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]         [error]: Build step io.quarkus.kubernetes.deployment.KubernetesDeployer#deploy threw an exception: io.dekorate.deps.kubernetes.client.KubernetesClientException: Failure executing: POST at: https://IP:8443/apis/apps/v1/namespaces/default/deployments. Message: Deployment.apps "getting-started" is invalid: spec.template.spec.containers[0].volumeMounts[0].name: Not found: "my-volume". Received status: Status(apiVersion=v1, code=422, details=StatusDetails(causes=[StatusCause(field=spec.template.spec.containers[0].volumeMounts[0].name, message=Not found: "my-volume", reason=FieldValueNotFound, additionalProperties={})], group=apps, kind=Deployment, name=getting-started, retryAfterSeconds=null, uid=null, additionalProperties={}), kind=Status, message=Deployment.apps "getting-started" is invalid: spec.template.spec.containers[0].volumeMounts[0].name: Not found: "my-volume", metadata=ListMeta(_continue=null, remainingItemCount=null, resourceVersion=null, selfLink=null, additionalProperties={}), reason=Invalid, status=Failure, additionalProperties={}).

Когда я добавляю quarkus.kubernetes.config-map-volumes.my-volume.config-map-name=my-volume (вместе с предыдущим оператором), ошибка исчезает, но модуль не запускается. Запуск "kubectl describe pods" возвращает:

Normal   Scheduled    <unknown>          default-scheduler  Successfully assigned default/getting-started-859d89fc8-tbg6w to minikube
  Warning  FailedMount  14s (x6 over 30s)  kubelet, minikube  MountVolume.SetUp failed for volume "my-volume" : configmap "my-volume" not found

Похоже, что громкость не установлена ​​в файле YAML?

Итак, мой вопрос, как я могу установить имя том в application.properties, чтобы я мог смонтировать том в Pod?

1 Ответ

1 голос
/ 08 июля 2020

Я рекомендую вам посмотреть ваши файлы kubernetes.yml и kubernetes. json под target/kubernetes

на предмет первой ошибки. Похоже, что my-volume должен существовать в вашем кластере либо как Persistent Volume .

Для второй ошибки quarkus.kubernetes.config-map-volumes.my-volume.config-map-name=my-volume предназначен для использования как ConfigMap поэтому фактическая ConfigMap должна быть определена / существовать в вашем кластере.

...