背景:本人搭建kubesphere(k8s)集群的时候,采用NFS作为集群的存储,并且使用nfs-provider作为集群的SC。
1、克隆 NFS 仓库
git clone https://github.com/jansure/nfs-provider.git
提示:官方的仓库地址是:https://github.com/kubernetes-incubator/external-storage.git
2、进入 deploy 目录
cd external-storage/nfs-client/deploy
3、修改rbac.yaml和deployment.yaml的命名空间以及class.yaml的sc的名称,class.yaml里的sc名称跟PROVISIONER_NAME 的名称一致
4、若出现forbiden user get endpoint之类的错误就去改一下external-storage/nfs-client/deploy/object下的的clusterrole.yaml的rules下增加:- apiGroups: [""] resources: ["endpoints"] verbs: ["get", "list", "watch", "create", "update", "patch"]
5、若出现unauthorized则需求rbac.yaml里的ClusterRole的apiVersion为
rbac.authorization.k8s.io/v1beta
,
把ClusterRoleBinding的apiVersion改为:
rbac.authorization.k8s.io/v1beta1
,
把role的apiVersion修改为:rbac.authorization.k8s.io/v1beta1
,把RoleBinding的apiVersion改为:rbac.authorization.k8s.io/v1beta1