logo
当前位置:首 页 > 云计算&大数据 > 查看文章

K8S使用群晖DS218+的NFS

云计算&大数据, 运维&测试 你是第1285个围观者 0条评论 供稿者: 标签:,

群晖和K8S+

  1. 学习K8S时经常用到网络存储,于是想找个稳定的NFS服务,正好家里的群晖DS218+长期开着,空间又充足,用来提供NFS服务挺合适,本文就是设置和使用的过程备忘;
  2. 下图是DS218+刚买来的样子,两块NAS硬盘,一直在稳定服务:

    全文概览

  3. 设置NFS;
  4. NFS客户端安装NFS应用;
  5. K8S上的设置;
  6. 创建存储卷;
  7. 创建Tomcat
  8. 访问Tomcat服务

    环境信息

  9. 群晖系统:DSM 6.2.2-24922 Update 4
  10. Kubernetes:1.15
  11. Kubernetes宿主机:CentOS Linux release 7.7.1908
  12. Helm:2.16.1

如果您已经准备好了群晖、K8S、Helm,咱们就来实战吧。

设置NFS

  1. 网页登录群晖,控制面板->共享文件夹;

  2. 新增共享文件夹:

  3. 接下来是加密设置,这里为不设置加密,直接点击下一步:

  4. 高级设置页面,请按需设置,这里为了简单直接下一步:

  5. 点击应用即可创建文件夹,然后做NFS设置,如下图:

  6. 如下图,记下红框1中的NFS路径/volume1/nfs-tomcat(后面会用到),然后点击红框2:

  7. 除了NFS设置,还要给这个文件夹设置权限,否则远程写入的时候会报错,如下图,打开File Station即可看到红框2中的nfs-tomcat,这就是NFS目录对应的本地磁盘目录,在上面点击鼠标右键,选择属性:

  8. 在弹出的属性页面,增加一个权限配置,请按照您的实际需要设置,这里为了省事儿设为任何人都能操作:

    至此,群晖上的NFS设置完毕,接下来在K8S运行一个应用,使用这个NFS存储;

    NFS客户端安装

    NFS的使用者需要安装客户端,这里是K8S要用NFS,因此要在K8S宿主机上安装客户端应用,对CentOS来说就是执行命令:yum install nfs-utils -y

    创建存储卷(PersistentVolume简称PV)

    PV是K8S里常用的存储类型,这里创建一个NFS类型的PV:

  9. SSH登录K8S;

  10. 创建namespace:kubectl create namespace tomcat-test

  11. 新建名为tomcat-test-pv.yaml的文件,内容如下,注意nfs.server的值,是群晖的IP地址,nfs.path的值就是前面创建共享文件时记下来的/volume1/nfs-tomcat:

    apiVersion: v1
    kind: PersistentVolume
    metadata:
    name: pv-tomcat-test
    namespace: tomcat-test
    labels:
    pv: pv-tomcat-test
    spec:
    capacity:
    storage: 10Gi
    accessModes:
    - ReadWriteOnce
    persistentVolumeReclaimPolicy: Recycle
    nfs:
    path: /volume1/nfs-tomcat
    server: 192.168.50.42
  12. 创建PV:kubectl apply -f tomcat-test-pv.yaml

  13. 查看PV,如下图,名为pv-tomcat-test的PV状态为Available,表示空闲状态,可以被K8S使用:

  14. 现在PV创建成功,接下来通过Helm创建tomcat,来使用这个PV;

    创建Tomcat

  15. 增加helm仓库(带有tomcat的仓库):helm repo add bitnami charts.bitnami.com/bitn

  16. 下载tomcat的chart:helm fetch bitnami/tomcat

  17. chart下载成功后,当前目录出现tomcat配置压缩包tomcat-6.2.4.tgz,解压:tar -zxvf tomcat-6.2.4.tgz

  18. 解压后出现tomcat文件夹,进去后打开文件templates/pvc.yaml,所有内容保持不变,仅在末尾添加下图红框中的内容:

  19. 上图红框中的内容很好理解:增加选择器,用上刚才创建的PV

  20. 回到tomcat文件夹下面,执行命令创建tomcat:helm install –name-template tomcat001 -f values.yaml . –namespace tomcat-test

  21. 查看PV状态,可见已经被使用(另一个PV仍旧是空闲状态,说明在pvc.yaml中设置的选择器是有效的):

  22. 继续查看pod和service,一切正常,同时发现tomcat的服务端口被映射到宿主机的30512端口:

  23. 浏览器访问宿主机IP:30512,可以正常打开tomcat欢迎页面:

  24. 回到群晖网页,打开File Station,可见nfs-tomcat目录下已经写入了很多内容,都是tomcat的内部文件:

    k8s

    至此,K8S成功的用上了群晖提供的NFS服务,在今后的K8S学习中,有了稳定的NFS服务,并且得益于群晖文件系统的安全性,数据安全性也有了提升;

说说梦想,谈谈感悟 ,聊聊技术,有啥要说的来github留言吧 https://github.com/cjx2328

—— 陈 建鑫

陈建鑫
你可能也喜欢Related Posts
footer logo
未经许可请勿自行使用、转载、修改、复制、发行、出售、发表或以其它方式利用本网站之内容。站长联系:cjx2328#126.com(修改#为@)
Copyright ©ziao Studio All Rights Reserved. E-mail:cjx2328#126.com(#号改成@) 沪ICP备14052271号-3