kubernetes(k8s):使用helm部署nfsclass

1.部署nfsclass

Helm部署nfs-client-provisioner: 预先配置好外部的NFS服务器。

[kubeadm@server1 nfsclass]$ ls
class.yaml  deployment.yaml  pod.yaml  pvc.yaml  rbac.yaml

[kubeadm@server1 nfsclass]$ kubectl delete -f .  // 删除之前的部署
storageclass.storage.k8s.io "managed-nfs-storage" deleted
deployment.apps "nfs-client-provisioner" deleted
serviceaccount "nfs-client-provisioner" deleted
clusterrole.rbac.authorization.k8s.io "nfs-client-provisioner-runner" deleted
clusterrolebinding.rbac.authorization.k8s.io "run-nfs-client-provisioner" deleted
role.rbac.authorization.k8s.io "leader-locking-nfs-client-provisioner" deleted
rolebinding.rbac.authorization.k8s.io "leader-locking-nfs-client-provisioner" deleted
Error from server (NotFound): error when deleting "pod.yaml": pods "test-pod" not found
Error from server (NotFound): error when deleting "pvc.yaml": persistentvolumeclaims "test-claim" not found

注意:在使用helm uninstall删除的时候,调用的是kubectl apiserver,通过config完成授权
[kubeadm@server2 .kube]$ ls
cache  config  http-cache
[kubeadm@server2 .kube]$ pwd
/home/kubeadm/.kube

[kubeadm@server2 helm]$ helm search repo nfs
NAME                         	CHART VERSION	APP VERSION	DESCRIPTION                                       
stable/nfs-client-provisioner	1.2.8        	3.1.0      	nfs-client is an automatic provisioner that use...
stable/nfs-server-provisioner	1.0.0        	2.3.0      	nfs-server-provisioner is an out-of-tree dynami...

[kubeadm@server1 ~]$ helm pull stable/nfs-client-provisioner  // 拉取nfs-client

[kubeadm@server1 ~]$ tar zxf nfs-client-provisioner-1.2.8.tgz

[kubeadm@server1 ~]$ cd nfs-client-provisioner/
[kubeadm@server1 nfs-client-provisioner]$ ls
Chart.yaml  ci  OWNERS  README.md  templates  values.yaml
[kubeadm@server1 nfs-client-provisioner]$ vim values.yaml
image:
  repository: nfs-client-provisioner  // 需要在你的私有仓库中有nfs-client-provisioner镜像
  tag: latest

nfs:
  server: 172.25.0.1  // nfs输出端
  path: /nfs // nfs输出端路径

defaultClass: true  // 默认stroageclass将内用于动态的为没有特定storage class需求的pvc配置存储

[kubeadm@server1 nfs-client-provisioner]$ kubectl create namespace nfs-client-provisioner  // 创建一个独立的namespace
namespace/nfs-client-provisioner created

[kubeadm@server1 nfs-client-provisioner]$ helm install nfs-client-provisioner . -n nfs-client-provisioner 
NAME: nfs-client-provisioner
LAST DEPLOYED: Wed May 13 11:38:41 2020
NAMESPACE: nfs-client-provisioner
STATUS: deployed
REVISION: 1
TEST SUITE: None
[kubeadm@server1 nfs-client-provisioner]$ helm -n nfs-client-provisioner list
NAME                  	NAMESPACE             	REVISION	UPDATED                                	STATUS  	CHART                       	APP VERSION
nfs-client-provisioner	nfs-client-provisioner	1       	2020-05-13 11:38:41.860926655 +0800 CST	deployed	nfs-client-provisioner-1.2.8	3.1.0      

[kubeadm@server1 nfs-client-provisioner]$ kubectl -n nfs-client-provisioner get all  // 部署完成
NAME                                          READY   STATUS    RESTARTS   AGE
pod/nfs-client-provisioner-76474c9c94-5dcjq   1/1     Running   0          75s

NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nfs-client-provisioner   1/1     1            1           76s

NAME                                                DESIRED   CURRENT   READY   AGE
replicaset.apps/nfs-client-provisioner-76474c9c94   1         1         1       76s

测试:

[kubeadm@server1 pv]$ kubectl get sc
NAME                   PROVISIONER                            RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
nfs-client (default)   cluster.local/nfs-client-provisioner   Delete          Immediate           true                   6m5s
[kubeadm@server1 pv]$ cat pvc1.yaml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc1
spec:
#  storageClassName: nfs
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

[kubeadm@server1 pv]$ kubectl apply -f pvc1.yaml 
persistentvolumeclaim/pvc1 created

[kubeadm@server1 pv]$ kubectl get pv   
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM          STORAGECLASS   REASON   AGE
pvc-d7372908-97a8-4c46-ab24-e269570f8005   1Gi        RWO            Delete           Bound    default/pvc1   nfs-client              7s

[kubeadm@server1 pv]$ kubectl delete -f pvc1.yaml 
persistentvolumeclaim "pvc1" deleted

你可能感兴趣的:(kubernetes)