NFS系统的使用
本教程只供本人记录操作流程,对于其他项目无参考价值。
重要前提
#使用NFS前提,在主节点的/usr/local/kubernetes/service目下创建自己的服务文件夹,里面进行编写自己的服务
第一步:创建服务器和客户端的数据卷:
主节点操作开始
#进入到下面的目录
cd /usr/local/kubernetes/volumes
#创建自己服务所需要的数据卷的文件夹
mkdir xxx
#为该目录增加读写权限
chmod a+rw xxx
#在/etc/exports增加服务的数据卷的位置,就是刚才你创建的目录的位置
/usr/local/kubernetes/volumes/xxx 192.168.98.7(rw,sync,no_subtree_check,no_root_squash)
/usr/local/kubernetes/volumes/xxx 192.168.98.8(rw,sync,no_subtree_check,no_root_squash)
/usr/local/kubernetes/volumes/xxx 192.168.98.9(rw,sync,no_subtree_check,no_root_squash)
#重新加载刚才编写的配置
systemctl restart rpcbind.service
systemctl restart nfs-server.service
#主节点操作结束
#从节点操作开始,两个节点操作一下
#在客户端,每个节点的服务器上创建挂载目录,xxx为你的服务名
mkdir -p /usr/local/kubernetes/volumes-mount-xxx
#挂载到服务端
mount 192.168.98.7:/usr/local/kubernetes/volumes/xxx /usr/local/kubernetes/volumes-mount-xxx
#从节点操作结束,用下面的命令进行查看
df
第二步:编写PV和PVC,在自己服务的文件下面进行创建
#编写pv的.yaml文件,
apiVersion: v1
kind: PersistentVolume
metadata:
#xxx是自己的服务名字,最好能够加上自己的名字的缩写,以便区分
name: nfs-pv-xx
labels:
app: nfs-pv-xxx
spec:
# 设置容量,自己设定
capacity:
storage: 2Gi
# 访问模式
accessModes:
# 该卷能够以读写模式被多个节点同时加载
- ReadWriteMany
# 回收策略,这里是基础擦除 `rm-rf/thevolume/*`
persistentVolumeReclaimPolicy: Recycle
nfs:
# NFS 服务端配置的路径
path: /usr/local/kubernetes/volumes/xxx
# NFS 服务端地址
server: 192.168.98.7
readOnly: false
#运行配置文件,使用下面命令进行查看
kubectl get pv
#编写PVC的.yaml文件
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
#这里是PVC的名字,xxx是你的服务名字,需要加上自己的名字缩写,以便区分
name: nfs-pvc-xxx
spec:
accessModes:
# 需要使用和 PV 一致的访问模式
- ReadWriteMany
# 按需分配资源
resources:
requests:
storage: 1Gi
selector:
matchLabels:
#这是你刚才创建的PV
app: nfs-pv-xxx
#运行配置文件,使用下面命令进行查看
kubectl get pvc
第三步:写自己的服务的pod所要挂载的目录
#nfs使用的时候,主要是写在deployment的配置里
apiVersion: v1
kind: Service
metadata:
name: service-tomcat
namespace: default
spec:
selector:
app: tomcat
ports:
- name: http
targetPort: 8080
port: 8080
- name: ajp
targetPort: 8009
port: 8009
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: deploy-tomcat
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: tomcat
template:
metadata:
labels:
app: tomcat
spec:
containers:
- name: tomcat
image: tomcat:8.5.23
ports:
- name: http
containerPort: 8080
name: ajp
containerPort: 8009
volumeMounts:
- name: nfs-vol-ghw-tomcat
mountPath: /usr/local/tomcat
volumes:
- name: nfs-vol-ghw-tomcat
persistentVolumeClaim:
claimName: nfs-pvc-ghw-tomcat
运行该文件
第四步:进行查看
#进入刚才创建的目录下查看是否挂载成功,若不成功就一步步查看找问题
cd /usr/local/kubernetes/volumes/xxx
Dashboard的使用
#检查danshoboard部署在那儿一个节点
#首先在switchhost,这是一个软件,相当于linux里的/etc/hosts的映射关系,增加下面的配置
节点公网IP ghwself.dashboard.com
#访问下面的网站在自己的电脑就可以访问
https://ghwself.dashboard.com:30443
#在主节点打印token
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
#将打印出来的token复制到浏览器中即可登录