关于云计算:K8S使用群晖DS218的NFS

6次阅读

共计 2812 个字符,预计需要花费 8 分钟才能阅读完成。

欢送拜访我的 GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,波及 Java、Docker、Kubernetes、DevOPS 等;

群晖和 K8S+

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

全文概览

  1. 设置 NFS;
  2. NFS 客户端装置 NFS 利用;
  3. K8S 上的设置;
  4. 创立存储卷;
  5. 创立 Tomcat
  6. 拜访 Tomcat 服务

环境信息

  1. 群晖零碎:DSM 6.2.2-24922 Update 4
  2. Kubernetes:1.15
  3. Kubernetes 宿主机:CentOS Linux release 7.7.1908
  4. Helm:2.16.1

参考文章

本文重点是 K8S 实战,因而须要肯定 K8S 根底,请参考:

  1. 《kubespray2.11 装置 kubernetes1.15》
  2. 《部署和体验 Helm(2.16.1 版本)》
  3. 《Ubuntu16 环境装置和应用 NFS》

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

设置 NFS

  1. 网页登录群晖,<font color=”blue”> 控制面板 -> 共享文件夹 </font>;

  1. 新增共享文件夹:

  1. 接下来是加密设置,这里为不设置加密,间接点击 <font color=”blue”> 下一步 </font>:

  1. 高级设置页面,请按需设置,这里为了简略间接 <font color=”blue”> 下一步 </font>:

  1. 点击利用即可创立文件夹,而后做 NFS 设置,如下图:

  1. 如下图,记下红框 1 中的 NFS 门路 <font color=”blue”>/volume1/nfs-tomcat</font>(前面会用到),而后点击红框 2:

  1. 除了 NFS 设置,还要给这个文件夹设置权限,<font color=”red”> 否则近程写入的时候会报错 </font>,如下图,关上 File Station 即可看到红框 2 中的 <font color=”blue”>nfs-tomcat</font>,这就是 NFS 目录对应的本地磁盘目录,在下面点击鼠标右键,抉择 <font color=”blue”> 属性 </font>:

  1. 在弹出的属性页面,减少一个权限配置,请依照您的理论须要设置,这里为了省事儿设为任何人都能操作:


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

NFS 客户端装置

NFS 的使用者须要装置客户端,这里是 K8S 要用 NFS,因而要在 K8S 宿主机上安装客户端利用,对 CentOS 来说就是执行命令:<font color=”blue”>yum install nfs-utils -y</font>

创立存储卷(PersistentVolume 简称 PV)

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

  1. SSH 登录 K8S;
  2. 创立 namespace:<font color=”blue”>kubectl create namespace tomcat-test</font>
  3. 新建名为 <font color=”blue”>tomcat-test-pv.yaml</font> 的文件,内容如下,留神 <font color=”blue”>nfs.server</font> 的值,是群晖的 IP 地址,nfs.path 的值就是后面创立共享文件时记下来的 <font color=”blue”>/volume1/nfs-tomcat</font>:
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
  1. 创立 PV:<font color=”blue”>kubectl apply -f tomcat-test-pv.yaml</font>
  2. 查看 PV,如下图,名为 <font color=”blue”>pv-tomcat-test</font> 的 PV 状态为 <font color=”red”>Available</font>,示意闲暇状态,能够被 K8S 应用:

  1. 当初 PV 创立胜利,接下来通过 Helm 创立 tomcat,来应用这个 PV;

创立 Tomcat

  1. 减少 helm 仓库 (带有 tomcat 的仓库):<font color=”blue”>helm repo add bitnami https://charts.bitnami.com/bi…</font>
  2. 下载 tomcat 的 chart:<font color=”blue”>helm fetch bitnami/tomcat</font>
  3. chart 下载胜利后,当前目录呈现 tomcat 配置压缩包 tomcat-6.2.4.tgz,解压:<font color=”blue”>tar -zxvf tomcat-6.2.4.tgz</font>
  4. 解压后呈现 tomcat 文件夹,进去后关上文件 <font color=”blue”>templates/pvc.yaml</font>,所有内容放弃不变,仅在开端增加下图红框中的内容:

  1. 上图红框中的内容很好了解:减少选择器,用上方才创立的 PV
  2. 回到 tomcat 文件夹上面,执行命令创立 tomcat:<font color=”blue”>helm install –name-template tomcat001 -f values.yaml . –namespace tomcat-test</font>
  3. 查看 PV 状态,可见曾经被应用 (另一个 PV 仍旧是闲暇状态,阐明在 <font color=”blue”>pvc.yaml</font> 中设置的选择器是无效的):

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

  1. 浏览器拜访 <font color=”blue”> 宿主机 IP:30512</font>,能够失常关上 tomcat 欢送页面:

  1. 回到群晖网页,关上 File Station,可见 nfs-tomcat 目录下曾经写入了很多内容,都是 tomcat 的外部文件:


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

欢送关注公众号:程序员欣宸

微信搜寻「程序员欣宸」,我是欣宸,期待与您一起畅游 Java 世界 …
https://github.com/zq2599/blog_demos

正文完
 0