ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

k8s_使用k8s部署wordpress博客系统(一)

2021-10-05 13:34:52  阅读:192  来源: 互联网

标签:nfstest 01 博客 nfs wordpress k8s root kube


系统部署流程

使⽤kubernetes部署wordpress+MySQL, 并利⽤NFS去保存我们容器的源代码以及DB数据。搭建好nfs后任意node上的Pod访问db或者业务代码都会有相同的效果,数据只存储一份。 步骤:
  • 所有节点搭建nfs⽂件系统
  • 创建PersistentVolumeClaims(PVC)和PersistentVolume(PV)
  • 创建service
  • 创建Secret(注⼊MySql密码等)
  • 创建confifigMap(初始化数据库)
  • 部署MySQL容器组(Deployment)
  • 部署WordPress容器组(Deployment)
在K8S上部署⼀个WordPress和MySQL应⽤,其中WordPress和MySQL都使⽤PersistentVolume 和 PersistentVolumeClaim 存储数据。 PersistentVolume 是集群中可⽤的⼀⽚存储空间,通常由集群管理员⼿⼯提供,或者由Kubernetes 使⽤ StorageClass ⾃动提供。 PersistentVolumeClaim 代表了⽤户(应⽤程序)对存储空间的需求,此需求可由PersistentVolume 满⾜。 PersistentVolume 和 PersistentVolumeClaim 都是独⽴于 Pod 的⽣命周期,可⽤于在Pod 重启、重新调度、甚⾄删除之后保存数据。⼀句话表示PersistentVolume 和PersistentVolumeClaim 就是,我有多少,你要多少  

nfs文件系统搭建

安装nfs并设置开机启动

#集群所有节点上执行nfs文件系统的安装和启动
[root@k8s-01 ~]# yum install nfs-utils -y
[root@k8s-01 ~]# systemctl enable nfs-server && systemctl start nfs-server
#启动完成后查看nfs启动状态
[root@k8s-01 ~]# systemctl status nfs-server
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
  Drop-In: /run/systemd/generator/nfs-server.service.d
           └─order-with-mounts.conf
   Active: active (exited) since Mon 2021-10-04 17:51:47 CST; 16h ago
  Process: 1399 ExecStartPost=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
  Process: 1378 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
  Process: 1375 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 1378 (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
   CGroup: /system.slice/nfs-server.service

Oct 04 17:51:47 k8s-01 systemd[1]: Starting NFS server and services...
Oct 04 17:51:47 k8s-01 systemd[1]: Started NFS server and services.

master节点创建nfs挂载点

#创建/home/nfstest测试路径,测试nfs文件系统
[root@k8s-01 home]# mkdir nfstest
#修改/home/nfstest路径权限
#no_subtree_check不检查其父目录的权限,rw表示权限 读写,sync表示同步写入,no_root_squash表示worknode以root访问时赋予本地root权限
[root@k8s-01 home]# chown nfsnobody:nfsnobody /home/nfstest
[root@k8s-01 home]# echo -e "/home/nfstest *(rw,sync,no_subtree_check,no_root_squash)" > /etc/exports
#应用配置
[root@k8s-01 home]# exportfs -a

work node进行nfs挂载验证

#worknode上创建本地挂载点
[root@k8s-02 ~]# mkdir /home/nfstest
#将worknode本地挂载点与master上的nfs挂载点映射
[root@k8s-02 ~]# mount -t nfs 192.168.188.131:/home/nfstest /home/nfstest
#本地挂载点修改属主信息
[root@k8s-02 ~]# chown nfsnobody:nfsnobody /home/nfstest
#检查挂载是否成功
[root@k8s-02 ~]# df -h|grep /home/nfstest
192.168.188.131:/home/nfstest   16G  7.2G  8.9G  45% /home/nfstest

#master节点上创建文件
[root@k8s-01 nfstest]# echo "test nfs on k8s-01 master" >> nfstest.file
[root@k8s-01 nfstest]# cat nfstest.file 
test nfs on k8s-01 master
#worknode上对应挂载点查看此文件
[root@k8s-02 ~]# cat /home/nfstest/nfstest.file 
test nfs on k8s-01 master

 配置mysql和wordpress的nfs文件系统

#master节点创建nfs文件主目录以及相关设置
[root@k8s-01 ~]# mkdir -p /kube/mysql-db
[root@k8s-01 ~]# mkdir -p /kube/wordpress
[root@k8s-01 ~]# chown nfsnobody:nfsnobody /kube/mysql-db
[root@k8s-01 ~]# chown nfsnobody:nfsnobody /kube/wordpress
[root@k8s-01 ~]# vim /etc/exports
/kube/wordpress *(rw,sync,no_subtree_check,no_root_squash)
/kube/mysql-db *(rw,sync,no_subtree_check,no_root_squash)
[root@k8s-01 ~]# exportfs -a

#worknode上创建挂载点,作相应设置,并通过nfs将挂载点挂载到master对应的目录上,k8s-01是master节点的主机名
[root@k8s-02 ~]# mkdir -p /kube/mysql-db
You have new mail in /var/spool/mail/root
[root@k8s-02 ~]# mkdir -p /kube/wordpress
[root@k8s-02 ~]# chown nfsnobody:nfsnobody /kube/mysql-db
[root@k8s-02 ~]# chown nfsnobody:nfsnobody /kube/wordpress
[root@k8s-02 ~]# mount -t nfs k8s-01:/kube/wordpress /kube/wordpress
[root@k8s-02 ~]# mount -t nfs k8s-01:/kube/mysql-db /kube/mysql-db

[root@k8s-02 ~]# df -h|grep k8s-01
k8s-01:/kube/wordpress   16G  6.0G   11G  38% /kube/wordpress
k8s-01:/kube/mysql-db    16G  6.0G   11G  38% /kube/mysql-db

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:nfstest,01,博客,nfs,wordpress,k8s,root,kube
来源: https://www.cnblogs.com/flags-blog/p/15368407.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有