一、项目概述
使用Kuboard图形化页面部署Nginx工作负载,代理页面是Vue打包的todos任务记录页面,并且将nginx配置文件挂载到单独一台NFS服务器进行存储。
二、环境
现场环境使用一个管理节点,两个工作节点,一个NFS存储服务器 k8s部署可以使用Kuboard-Spray
图形化页面安装,也可以使用kubeadm
进行安装 参考地址:Kuboard官网建议: 1.服务器版本最好在不要选择centos7.9版本,kuboard官网上面对这个版本好像只有Kuboard-Spray
图形化页面安装方式 2.k8s版本最好选在v1.24以下版本,1.24以上版本需要对docker的cri环境的配置文件进行修改,不修改可能你的管理节点Master初始化会失败,从1.24版本以上就弃用了dokcer,改用containerd,后续拉取镜像,harbor镜像仓库联机都需要配置containerd,需要你需要装k8sV1.24以上版本,最好把containerd学习一下。 3.网上k8s安装教程很多,遇到错误自己去尝试,下面是自己安装时参考的地址: kubernetes新版本使用kubeadm init的超全问题解决和建议快速搭建k8s--单节点Masterkubernetes新版本使用kubeadm init的相关问题和解决方法
三、样式
3.1 nginx运行页面
3.2 nginx挂载存储页面
3.3 nginx服务service页面
3.4 Index代理网页
四、部署流程
Kuboard导入集群
搭建NFS服务器
新建工作负载
配置容器镜像存储服务等信息
拷贝nginx配置文件到NFS
4.1 集群导入
导入集群这里有三种方式,使用token、kubeconfig、Kuboard Agent
这里没有在k8s集群里面安装kuboard,采用docker单独部署的方式,所以使用前两种方式导入,不过我用配置文件的方式有问题,就使用的token的方式
4.2 NFS服务器搭建
参考文档:搭建NFS服务器
#安装nfs软件包
yum install -y rpcbind nfs-utils
#将挂载目录写入文件,可以自定义目录
echo '/opt/k8s/nfs *(insecure,rw,sync,no_root_squash)' >> /etc/exports
# 创建共享目录,如果要使用自己的目录,请替换本文档中所有的 /opt/k8s/nfs
mkdir /root/nfs_root
systemctl enable rpcbind
systemctl enable nfs-server
systemctl start rpcbind
systemctl start nfs-server
exportfs -r
每个工作节点挂载nfs存储服务器的目录,下面两行是进行测试
#安装nfs软件包
yum install -y rpcbind nfs-utils \
&& mkdir /tmp/testnfs \
&& mount -t nfs 192.168.2.142:/opt/k8s/nfs /tmp/testnfs \
&& echo "hello nfs" >> /tmp/testnfs/test.txt \
&& cat /tmp/testnfs/test.txt
4.3 新建nginx工作负载配置
4.3.1 容器信息
4.3.2 存储信息
4.3.3 服务应用路由
4.4 拷贝配置信息到NFS
五、总结
测试环境目前基本完成生产环境所需,k8s,Kuboard图形化页面,NFS存储服务器,还差一个本地私有化Harbor镜像仓库,管理配置文件的Nacos平台就差不多齐全了,之所以使用kuboard平台来进行部署是因为单个部署工作负载简单,如果需要批量部署很多微服务就需要使用yaml文件的方式。