当前位置: 首页 > news >正文

有哪些电商网站中山视角做网站的公司

有哪些电商网站,中山视角做网站的公司,上海民营企业500强名单,做网站公司哪个好Kubernetes使用PV和PVC做存储安装mysql 环境准备什么是PV和PVC环境准备配置nfs安装nfs配置nfs服务端 创建命名空间配置pv和pvcpv的yaml文件pvc的yaml文件 部署mysql创建mysql的root密码的secret创建mysql部署的yaml部署mysql链接mysql外部链接内部链接 环境准备 首先你需要一个… Kubernetes使用PV和PVC做存储安装mysql 环境准备什么是PV和PVC环境准备配置nfs安装nfs配置nfs服务端 创建命名空间配置pv和pvcpv的yaml文件pvc的yaml文件 部署mysql创建mysql的root密码的secret创建mysql部署的yaml部署mysql链接mysql外部链接内部链接 环境准备 首先你需要一个k8s环境可以参考我写的文章https://blog.csdn.net/m0_51510236/article/details/130842122 什么是PV和PVC 我们可以简单看一下官网的描述https://kubernetes.io/zh-cn/docs/concepts/storage/persistent-volumes/#introduction 持久卷PersistentVolumePV 是集群中的一块存储可以由管理员事先制备 或者使用存储类Storage Class来动态制备。 持久卷是集群资源就像节点也是集群资源一样。PV 持久卷和普通的 Volume 一样 也是使用卷插件来实现的只是它们拥有独立于任何使用 PV 的 Pod 的生命周期。 此 API 对象中记述了存储的实现细节无论其背后是 NFS、iSCSI 还是特定于云平台的存储系统。 持久卷申领PersistentVolumeClaimPVC 表达的是用户对存储的请求。概念上与 Pod 类似。 Pod 会耗用节点资源而 PVC 申领会耗用 PV 资源。Pod 可以请求特定数量的资源CPU 和内存同样 PVC 申领也可以请求特定的大小和访问模式 例如可以要求 PV 卷能够以 ReadWriteOnce、ReadOnlyMany 或 ReadWriteMany 模式之一来挂载参见访问模式。 本篇文章就用上面提到的nfs来搭建pv和pvc并部署mysql 环境准备 首先我们需要搭建一个k8s集群并且准备一台nfs服务器为了方便我就使用k8s的主节点作为nfs服务器服务器列表如下表 IP地址服务器用途192.168.1.160k8s-masterk8s的主节点和nfs服务器192.168.1.161k8s-node01k8s的第一个工作节点192.168.1.162k8s-node02k8s的第二个工作节点 配置nfs 安装nfs 首先我们需要在三台服务器单中都需要安装nfs软件包使用如下命令进行安装 yum install -y nfs-utils如图三台服务器都需要安装 配置nfs服务端 然后我们需要在nfs的主服务器暴露一个 /data/nfs/mysql 目录我们需要修改 /etc/exports 配置文件需要将这一行加在里面 /data/nfs/mysql *(rw,sync,no_root_squash)可以直接执行这行命令第一行为创建这个目录第二行为修改文件 mkdir -p /data/nfs/mysql cat /etc/exports EOF /data/nfs/mysql *(rw,sync,no_root_squash) EOF然后我们需要启动nfs服务只需要在nfs服务器上执行 systemctl enable --now nfs-server然后我们执行这行命令看目录是否暴露 showmount -e nfs服务器地址可以看到目录暴露成功 创建命名空间 我们需要创建一个命名空间当然也可以越过这一步这里创建命名空间的目的只是为了更接近生产环境创建命名空间的yaml文件 apiVersion: v1 kind: Namespace metadata:name: deploy-test spec: {} status: {}上面的yaml文件创建了一个名为 deploy-test 的命名空间可以查看创建结果 配置pv和pvc pv的yaml文件 注意按照提示修改内容 apiVersion: v1 kind: PersistentVolume metadata:name: deploy-mysql-nfs-pv # pv的名字namespace: deploy-test # 这里为命名空间的名字 spec:capacity:storage: 1Gi # 申请的硬盘大小为1GB可修改accessModes:- ReadWriteMany # 权限为多节点读写nfs:# 注意修改nfs服务器地址server: 192.168.1.160# 注意修改目录的地址path: /data/nfs/mysqlstorageClassName: nfs # 存储类型选择nfspvc的yaml文件 apiVersion: v1 kind: PersistentVolumeClaim metadata:name: deploy-mysql-nfs-pvc # 为pvc取一个好听的名字namespace: deploy-test # 命名空间名字 spec:accessModes:- ReadWriteMany # 权限为多节点读写storageClassName: nfs # 存储类型为nfsresources:requests:storage: 1Gi # 申请大小容量为1GBvolumeName: deploy-mysql-nfs-pv # 绑定的pv名字执行后我们可以查看创建的状态 部署mysql 创建mysql的root密码的secret 前面准备工作都做好了接下来我们就可以开始部署mysql了但是之前我们还需要创建一个secret执行命令获取yaml文件内容 # 命令说明 kubectl create secret generic mysql-password --from-literalmysql_root_passwordmysql的root密码 -n 命名空间 --dry-runclient -oyaml# 命令示例 kubectl create secret generic mysql-password --from-literalmysql_root_passwordroot -n deploy-test --dry-runclient -oyaml生成如图所示 创建mysql部署的yaml apiVersion: v1 kind: Service metadata:name: deploy-mysql-svc # mysql暴露服务的名字namespace: deploy-test # 命名空间labels:app: mysql spec:ports:- port: 3306 # 暴露给外部3306端口name: mysqltargetPort: 3306 # 内部目标3306端口nodePort: 30306 # 外部访问集群nodeport的30306端口selector:app: mysqltype: NodePortsessionAffinity: ClientIP---apiVersion: apps/v1 kind: StatefulSet # 创建一个StatefulSet有状态的控制器 metadata:name: deploy-mysql # 部署的名字namespace: deploy-test # 命名空间 spec:selector:matchLabels:app: mysqlserviceName: deploy-mysql-svc # 注意指定上面的那个服务名称replicas: 1template:metadata:labels:app: mysqlspec:terminationGracePeriodSeconds: 10containers:- args: # 新增一些启动参数- --character-set-serverutf8mb4- --collation-serverutf8mb4_unicode_ci- --lower_case_table_names1- --default-time_zone8:00name: mysql# image: docker.io/library/mysql:5.7.43image: registry.cn-shenzhen.aliyuncs.com/xiaohh-docker/mysql:5.7.43 # 因为dockerhub上镜像经常拉取失败所以使用此镜像ports:- containerPort: 3306 # 容器内部暴露3306端口name: mysqlvolumeMounts:- name: mysql-data # 引用pvc挂载的名字mountPath: /var/lib/mysql # 这个是容器内部存放数据的文件夹目录需要挂在到pvc当中env:- name: MYSQL_ROOT_PASSWORDvalueFrom: # mysql的密码引用上面创建的secretsecretKeyRef:key: mysql_root_passwordname: mysql-passwordvolumes:- name: mysql-data # pvc的挂载名称persistentVolumeClaim:claimName: deploy-mysql-nfs-pvc # 指定使用那个pvc部署mysql 整体的yaml文件内容为 apiVersion: v1 kind: Namespace metadata:name: deploy-test spec: {} status: {}---apiVersion: v1 kind: PersistentVolume metadata:name: deploy-mysql-nfs-pvnamespace: deploy-test spec:capacity:storage: 1GiaccessModes:- ReadWriteManynfs:server: 192.168.1.160path: /data/nfs/mysqlstorageClassName: nfs---apiVersion: v1 kind: PersistentVolumeClaim metadata:name: deploy-mysql-nfs-pvcnamespace: deploy-test spec:accessModes:- ReadWriteManystorageClassName: nfsresources:requests:storage: 1GivolumeName: deploy-mysql-nfs-pv---apiVersion: v1 data:mysql_root_password: cm9vdA kind: Secret metadata:name: mysql-passwordnamespace: deploy-test---apiVersion: v1 kind: Service metadata:name: deploy-mysql-svcnamespace: deploy-testlabels:app: mysql spec:ports:- port: 3306name: mysqltargetPort: 3306nodePort: 30306selector:app: mysqltype: NodePortsessionAffinity: ClientIP---apiVersion: apps/v1 kind: StatefulSet metadata:name: deploy-mysqlnamespace: deploy-test spec:selector:matchLabels:app: mysqlserviceName: deploy-mysql-svcreplicas: 1template:metadata:labels:app: mysqlspec:terminationGracePeriodSeconds: 10containers:- args:- --character-set-serverutf8mb4- --collation-serverutf8mb4_unicode_ci- --lower_case_table_names1- --default-time_zone8:00name: mysql# image: docker.io/library/mysql:5.7.43image: registry.cn-shenzhen.aliyuncs.com/xiaohh-docker/mysql:5.7.43ports:- containerPort: 3306name: mysqlvolumeMounts:- name: mysql-datamountPath: /var/lib/mysqlenv:- name: MYSQL_ROOT_PASSWORDvalueFrom:secretKeyRef:key: mysql_root_passwordname: mysql-passwordvolumes:- name: mysql-datapersistentVolumeClaim:claimName: deploy-mysql-nfs-pvc执行以下命令部署 kubectl apply -f deploy-mysql.yaml创建结果 执行下面这行命令监控部署 watch kubectl get all -o wide -n deploy-test看到下面这个代表创建成功 当我们查看nfs当中挂在出来的mysql目录的时候 ll /data/nfs/mysql/文件夹内容 链接mysql 外部链接 在我们创建mysql的时候我们就规定了一个NodePort端口如图 我们直接使用集群当中任意一个节点的30306端口即可链接这个数据库 mysql -uroot -h192.168.1.160 -p -P30306查看结果 内部链接 在集群里面访问我们可以通过主机名主机名格式如下 pod名称.service名称.命名空间名称.svc.cluster.local执行命令查看 kubectl get all -o wide -n deploy-test各类名称如图所示 所以我们此次访问mysql的主机名如下 deploy-mysql-0.deploy-mysql-svc.deploy-test.svc.cluster.local我们此次就不建立其他的pod来验证是否能够安装上了我们直接检查集群内的dns解析是否正常就知道这个域名是否正常了使用以下命令查看k8s集群当中的dns服务的地址 kubectl get svc -o wide -n kube-system | grep dns查看dns服务地址 直接通过 nslookup 尝试解析查看是否解析到正确的IP地址上 # 安装nslookup命令所在的软件包 yum install -y bind-utils # 解析域名 nslookup deploy-mysql-0.deploy-mysql-svc.deploy-test.svc.cluster.local 10.96.0.10发现域名解析是正常的 好了k8s上部署mysql完成了下课
http://www.zqtcl.cn/news/866058/

相关文章:

  • 解决网站兼容性问题福州房产网站建设
  • 怀化百度整站优化服务wap网站前景
  • 临沂制作网站企业施工企业汛期工作实施方案
  • 82家合法现货交易所名单永康关键词优化
  • 郑州市建设工程造价信息网站浙江省建设工程质量管理协会网站
  • 乌兰浩特市建设局网站永州微网站建设
  • 做网站的用什么电脑好wordpress首页调用指定分类
  • 网站域名申请好了怎么建设网站室内设计培训班哪个学校好
  • 东莞厚街网站建设网页设计代码字号px
  • 网站建站免费淘宝优惠券网站建设总代
  • 茶叶网站设计建设工程监理招标网站
  • 网站建设发展历程做网站要多少钱 知乎
  • 丽江建设信息网站江门网站制作方案
  • 网站名注册移动端应用开发
  • 本地网站搭建流程短链接生成器app
  • 建网站需要哪些技术代做ppt网站
  • 在上海哪个网站比较好网站建设服务方案ppt模板
  • 天津网站优化流程uniapp微信小程序模板
  • 网站 搜索引擎 提交企业网站必须备案
  • 公司网站主页设计深圳搜索引擎
  • 织梦学校网站中国建设银行官方网站诚聘英才频道
  • 织梦网站去除技术支持网站建设热门吗
  • 手机自助网站建设电商首页设计
  • 个人做电影网站违法吗招标网站哪个好
  • 岱山县网站建设旅游网站制作
  • 深圳建网站三千哪些网站可以做微商品牌宣传
  • 做网站哪些软件比较好个人网站备案幕布
  • 用数据库代码做家乡网站专门做二维码的网站
  • 上海网站开发工程师招聘网网络维护公司需要什么资质
  • 迅速百度网站自然排名wordpress注册密码链接失效