git clone https://github.com/kubernetes-csi/csi-driver-nfs.git cd csi-driver-nfs export REGISTRY=<dockerhub-alias> export IMAGE_VERSION=latest make container # 上述命令存在两个container对象,我们只需要执行第一个,第二个命令有问题且会编译所有架构下的镜像,所以当第一个结束后可以直接ctrl-c,或等第二个报错即可。
导出到cri
1 2 3 4 5 6 7 8 9
# 将镜像保存下来 docker save -o ./image.tar nfsplugin:latest # 导入,-n 参数为指定命名空间,必须为k8s.io命名空间 ctr -n k8s.io image import ./image.tar # 确认下导入 ctr -n k8s.io image list # crictl是Kubernetes社区定义的CRI接口工具,在这边也确认下 crictl image ctr -n k8s.io i tag docker.io/library/nfsplugin:latest gcr.io/k8s-staging-sig-storage/nfsplugin:canary
3. 部署
1 2 3
./deploy/install-driver.sh master local # 此命令会请求pull镜像,使用手动方式pull镜像,然后类似上面重新打tag即可 kubectl -n kube-system get pod -o wide -l app=csi-nfs-controller kubectl -n kube-system get pod -o wide -l app=csi-nfs-node
修改pv
1 2
vim ./deploy/example/pv-nfs-csi.yaml # 修改其中的volumeHandle和volumeAttributes下的server和share字段