首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes nfs在权利要求中定义路径

Kubernetes nfs在权利要求中定义路径
EN

Stack Overflow用户
提问于 2016-11-11 17:41:13
回答 1查看 757关注 0票数 0

我想用nfs创建通用的持久化卷。

PV(nfs):

代码语言:javascript
复制
common-data-pv       1500Gi       RWO           Retain
192.168.0.24 /home/common-data-pv

我想要一个声明或pod(挂载声明)订阅common-data-pv可以定义路径示例:

代码语言:javascript
复制
/home/common-data-pv/www-site-1(50GI)
/home/common-data-pv/www-site-2(50GI)

但我在文档中找不到如何定义这一点。

我对pv的实际配置:

代码语言:javascript
复制
kind: PersistentVolume
apiVersion: v1
metadata:
  name: common-data-pv
  labels:
    type: common
spec:
  capacity:
    storage: 1500Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 192.168.122.1
    path: "/home/pv/common-data-pv"



kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: common-data-pvc
  namespace: kube-system
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  selector:
    matchLabels:
      type: common

示例用法:

代码语言:javascript
复制
apiVersion: v1
kind: ReplicationController
metadata:
  name: nfs-web-1
  namespace: kube-system
spec:
  replicas: 2
  selector:
    role: web-frontend
  template:
    metadata:
      labels:
        role: web-frontend
    spec:
      containers:
      - name: web
        image: nginx:alpine
        ports:
          - name: web
            containerPort: 80
        volumeMounts:
            # name must match the volume name below
            - name: nfs
              mountPath: "/usr/share/nginx/html"
      volumes:
      - name: nfs
        persistentVolumeClaim:
          claimName: common-data-pvc

apiVersion: v1
kind: ReplicationController
metadata:
  name: nfs-web-2
  namespace: kube-system
spec:
  replicas: 2
  selector:
    role: web-frontend
  template:
    metadata:
      labels:
        role: web-frontend
    spec:
      containers:
      - name: web
        image: nginx:alpine
        ports:
          - name: web
            containerPort: 80
        volumeMounts:
            # name must match the volume name below
            - name: nfs
              mountPath: "/usr/share/nginx/html"
      volumes:
      - name: nfs
        persistentVolumeClaim:
          claimName: common-data-pvc
EN

回答 1

Stack Overflow用户

发布于 2016-11-16 13:12:06

要使用声明,您只需向清单中添加volumeMounts部分和卷。这是一个nginx的复制控制器示例,它将使用您的声明。请注意使用相同PVC名称的最后一行。

代码语言:javascript
复制
apiVersion: v1
kind: ReplicationController
metadata:
  name: nfs-web
  namespace: kube-system
spec:
  replicas: 2
  selector:
    role: web-frontend
  template:
    metadata:
      labels:
        role: web-frontend
    spec:
      containers:
      - name: web
        image: nginx:alpine
        ports:
          - name: web
            containerPort: 80
        volumeMounts:
            # name must match the volume name below
            - name: nfs
              mountPath: "/usr/share/nginx/html"
      volumes:
      - name: nfs
        persistentVolumeClaim:
          claimName: common-data-pvc

可以在kubernetes repo under examples中找到更多示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40545094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档