【问题标题】:Kubernetes: Choose volume dependent on namespaceKubernetes:根据命名空间选择卷
【发布时间】:2018-05-20 08:12:09
【问题描述】:

在一个简单的 Postgres 部署中,我希望选择依赖于命名空间的卷。目的是使用相同的部署配置文件在不同的命名空间(例如生产/暂存)中创建 Postgres 部署。

有什么方法可以做到这一点?

在我的配置文件下面,我基本上是想让MAKE_THIS_DEPENDENT_ON_NAMESPACE依赖于这个Deployment使用的环境(或命名空间)。

kind: Deployment
metadata:
  name: postgres
  labels:
    app: postgres
spec:
  template:
    metadata:
      labels:
        app: postgres
    spec:
      containers:
        - image: postgres:9.6
          name: postgres
          volumeMounts:
            -name: postgres-storage
            mountPath: /var/lib/postgresql
      volumes:
        - name: postgres-persistent-storage
          gcePersistentDisk:
            pdName: MAKE_THIS_DEPENDENT_ON_NAMESPACE

【问题讨论】:

  • 你在哪里指定命名空间?
  • 就像 k8s 集群上的不同命名空间一样。是这个意思吗?
  • 但是您如何将此部署与特定命名空间相关联?
  • 通过使用带有 --namespace 标志的 kubectl。我的意思是保持上面的文件没有任何特定的命名空间。如果这不是最佳做法,我很感谢您提供替代方法的提示。

标签: postgresql kubernetes


【解决方案1】:

您应该尝试改用持久卷声明,PVC 是命名空间的。

https://kubernetes.io/docs/concepts/storage/persistent-volumes/#claims-as-volumes

kind: Pod
apiVersion: v1
metadata:
  name: mypod
spec:
  containers:
    - name: myfrontend
      image: dockerfile/nginx
      volumeMounts:
      - mountPath: "/var/www/html"
        name: mypd
  volumes:
    - name: mypd
      persistentVolumeClaim:
        claimName: myclaim

【讨论】:

    猜你喜欢
    • 2015-12-21
    • 2018-09-08
    • 2019-10-27
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 2020-08-21
    • 1970-01-01
    相关资源
    最近更新 更多