在上文的搭建kubeflow环境中,遇到了这个问题:
image.png
describe后发现是下面的原因导致:
Warning FailedScheduling 20s (x429 over 2h) default-scheduler PersistentVolumeClaim is not bound: "vizier-db" (repeated 4 times)
也就是说我们要给vizier创建存储卷。这里使用的是NFS做存储卷。
操作如下:
针对master节点:
(1)master节点上安装NFS服务
sudo apt-get update && sudo apt-get install -y nfs-server
(2)建立一个共享的文件夹
sudo mkdir /nfs-data/kubeflow-pv1
(3)修改/etc/exports文件
image.png
末尾添加:
/nfs-data/kubeflow-pv1 *(rw,sync,no_root_squash,no_subtree_check)
这一行的意思是将/nfs-data/kubeflow-pv1作为服务文件夹向客户端开放,'*'表示任何IP都可以访问,rw是读写权限,sync是同步权限,no_subtree_check表示如果输出目录是一个子目录,nfs不检查其父目录的权限;
(4)重启NFS服务
$ sudo /etc/init.d/nfs-kernel-server restart
针对node节点
(1)安装NFS客户端
sudo apt-get update && sudo apt-get install -y nfs-common
完成上面的操作已经建立好了NFS服务了。接下来我们还要创建一个NFS PV给kubeflow使用。
创建一个vizier-pv.yaml的文件,编辑下面的内容:
apiVersion: v1
kind: PersistentVolume
metadata:
name: vizier-pv
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteOnce
nfs:
server: 192.168.14.99
path: /nfs-data/kubeflow-pv1
然后创建:
kubectl create -f nfs-pv.yaml
输入该命令后,你会得到一个输出:
image.png
这时候已经成功创建了一个NFS PV(持久卷)
接下来验证:
kubectl get pod -n kubeflow
image.png
网友评论