【问题标题】:I am trying to use gcs bucket as the volume in gke pod我正在尝试使用 gcs 存储桶作为 gke pod 中的卷
【发布时间】:2018-06-21 17:10:50
【问题描述】:

我收到错误:

验证“mysql.yaml”时出错:验证数据时出错: ValidationError(Deployment.spec.template.spec.volumes[0]):未知 io.k8s.kubernetes.pkg.api.v1.Volume 中的“路径”字段; )

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mysql
  labels:
    app: mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - image: mysql:5.6
          name: mysql
          env:
            - name: MYSQL_ROOT_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: mysql
                  key: password
          ports:
            - containerPort: 3306
              name: mysql
          volumeMounts:
            - name: mapping-sandbox-test
              mountPath: /var/lib/mysql
      volumes:
        - name: mapping-sandbox-test
          path: gs://<bucket-name>

【问题讨论】:

    标签: kubernetes google-cloud-storage docker-volume google-kubernetes-engine


    【解决方案1】:

    使用名称和路径作为键,您的部署对象看起来是正确的。你可以在how to mount a GCS bucket on kubernetes here看到一个例子

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: gcsfuse-test
    spec:
      replicas: 1
      template:
        metadata:
          labels:
            app: gcsfuse-test
        spec:
          containers:
            - name: gcsfuse-test
              image: gcr.io/some-repo/gcs-fuse:latest
              securityContext:
                privileged: true
                capabilities:
                  add:
                    - SYS_ADMIN
              lifecycle:
                postStart:
                  exec:
                    command: ["gcsfuse", "-o", "nonempty", "some-bucket", "/mnt/some-bucket"]
                preStop:
                  exec:
                    command: ["fusermount", "-u", "/mnt/some-bucket"]
    

    This Stack Overflow question might help too.

    【讨论】:

    • 我试过这个,但我确实收到了 CrashLoopBackOff 错误。我使用了相同的 Dockerfile,并用我的存储桶替换了存储桶。我的容器也可以完全访问存储桶。请检查此文件一次。
    • kubectl describe pod &lt;podname&gt; 的输出是什么?
    猜你喜欢
    • 2020-09-17
    • 2018-05-08
    • 2021-02-21
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2016-02-25
    相关资源
    最近更新 更多