k8s-hostpath存储使用

参考网址: https://github.com/nailgun/k8s-hostpath-provisioner

运行k8s-hostpath-provisioner

下载github项目

git clone https://github.com/nailgun/k8s-hostpath-provisioner.git

下载k8s-hostpath镜像

docker pull nailgun/k8s-hostpath-provisioner:latest

自己可以把镜像push到私有仓库,修改yaml中镜像的路径。
进行项目的example目录,运行k8s-hostpath-provisioner

$ cd example
$ kubectl create -f sa.yaml -f cluster-roles.yaml -f cluster-role-bindings.yaml -f ds.yaml

标记所有k8s节点都可以提供hostpath卷

$ kubectl label node --all nailgun.name/hostpath=enabled

k8s hostpath存储使用

定义storageclass
例如sc.yaml指明将要使用的目录为k8s-hostpath-provisioner的/ssd目录。

[root@k8s-master example]# cat sc.yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
  name: local-ssd
provisioner: nailgun.name/hostpath
parameters:
  hostPathName: ssd

标注节点(自主选择)将k8s-hostpath-provisioner的/ssd目录映射到节点/tmp/ssd目录

$ kubectl annotate node NODE_NAME hostpath.nailgun.name/ssd=/tmp/ssd

构建pvc.yaml使用存储local-ssd。

[root@k8s-master example]# cat pvc.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: local-ssd
  annotations:
    volume.beta.kubernetes.io/storage-class: local-ssd
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Mi

构建Pod使用名为local-ssd的pvc。

[root@k8s-master example]# cat test-pod.yaml 
kind: Pod
apiVersion: v1
metadata:
  name: test-pod
spec:
  containers:
  - name: test-pod
    image: gcr.io/google_containers/busybox:1.24
    command:
    - "/bin/sh"
    args:
    - "-ec"
    - "echo hello >> /mnt/test && cat /mnt/test"
    volumeMounts:
    - name: hostpath-pvc
      mountPath: "/mnt"
  restartPolicy: "Never"
  volumes:
  - name: hostpath-pvc
    persistentVolumeClaim:
      claimName: local-ssd

这样该test-pod的/mnt目录就会映射到选定节点的/tmp/ssd目录中的一个以PVC开头的目录。
运行例子

$ kubectl create -f sc.yaml -f pvc.yaml -f test-pod.yaml

使用命令查看/tmp/ssd目录中那个PVC目录绑定

kubectl get pvc

可以查看该PVC目录是否有test文件。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值