Kubernetes: MountVolume.SetUp 失败:hostPath 类型检查失败,不是目录。

3
我正在尝试使用hydra部署登录同意提供者。
以下是yaml文件。
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: login-consent-deployment
  labels:
    app: login-consent-nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: login-consent-nginx
  template:
    metadata:
      labels:
        app: login-consent-nginx
    spec:
      containers:
      - name: login-consent-nginx
        image: ubergarm/openresty-nginx-jwt:latest
        command: ["/usr/local/openresty/bin/openresty", "-g", "daemon off;", "-c", "/usr/local/openresty/nginx/conf/nginx.conf"]
        ports:
        - name: http-lc-port
          containerPort: 80
        resources:
          limits:
            cpu: "0.1"
            memory: 32Mi
        volumeMounts:
        - mountPath: /etc/nginx/conf.d
          name: login-consent-nginx-conf-volume
        - mountPath: /usr/local/openresty/nginx/html
          name: login-consent-www-resources
      volumes:
      - name: login-consent-nginx-conf-volume
        configMap:
          name: login-consent-conf
          items:
            - key: login-consent.conf
              path: login-consent.conf
      - name: login-consent-www-resources
        hostPath:
          path: C:\Users\myUser\www
          type: Directory

---
apiVersion: v1
kind: Service
metadata:
  name: login-consent-service
spec:
  type: LoadBalancer
  selector:
    app: login-consent-nginx
  ports:
  - protocol: TCP
    name: http-lc-nginx
    port: 3000
    targetPort: http-lc-port

在部署后我在 Pod 描述中遇到的错误。
Warning  FailedMount            2s (x4 over 6s)  kubelet, docker-for-desktop  MountVolume.SetUp failed for volume "login-consent-www-resources" : hostPath type check failed: C:\Users\myUser\www is not a directory

www是我用户主目录下的一个文件夹。

$docker run --rm -v c:/Users/myUser:/data alpine ls /data
3D Objects
...
...
...
...
www

我想知道这里我做错了什么?我正在使用Windows下的Docker和它自带的Kubernetes,我已经在Docker中启用了我的共享文件夹C。

需要帮助吗?

2个回答

2
因此,在Docker容器中,您的c:/ Users / myUser 现在作为 / data 可用。因此,您必须使用 / data / www 作为主机路径。"Original Answer"翻译成“最初的回答”。

起初它没有工作,我删除并重新创建了文件夹,尝试了很多次,然后它才工作了。感谢您的帮助。 - Ziko

0

在我的情况下,Windows风格的路径不起作用,直到我将其更改为Unix风格,如下所示:

path: /C/Users/myUser/www

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接