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

成都seo网站开发软件开发定制案例

成都seo网站开发,软件开发定制案例,网站公众号信息化建设工作计划,贷款类的网站好做怎么做Kubernetes部署高可用多主多从的Redis集群 环境准备准备Kubernetes准备存储类 部署redis准备一个命名空间命令创建yaml文件创建#xff08;推荐#xff09; 准备redis配置文件准备部署statefulset的资源清单文件执行文件完成部署初始化集群 环境准备 准备Kubernetes 首先你… Kubernetes部署高可用多主多从的Redis集群 环境准备准备Kubernetes准备存储类 部署redis准备一个命名空间命令创建yaml文件创建推荐 准备redis配置文件准备部署statefulset的资源清单文件执行文件完成部署初始化集群 环境准备 准备Kubernetes 首先你需要一个Kubernetes集群如图我已经安装好了一个Kubernetes集群 如果你还没有Kubernetes集群可参考我写的文章https://blog.csdn.net/m0_51510236/article/details/130842122 准备存储类 你还需要一个可动态供应的存储类我之前已经写过一篇关于安装NFS动态供给存储类的文章https://blog.csdn.net/m0_51510236/article/details/132641343这篇文章的上半部分如图我已经安装好了一个NFS的存储类名字为 nfs-client: 部署redis 我之前写过一篇在物理机上安装高可用多主多从的redis集群的文章https://blog.csdn.net/m0_51510236/article/details/132684529这篇文章参考的那片物理机上安装集群的步骤来。 准备一个命名空间 为了贴近生产环境我们先创建一个命名空间 命令创建 kubectl create namespace deploy-testyaml文件创建推荐 apiVersion: v1 kind: Namespace metadata:name: deploy-test spec: {} status: {}准备redis配置文件 首先我们需要一个Redis的配置文件我已经准备好了注意名字命名为 redis.conf # 关闭保护模式 protected-mode no# 日志级别 loglevel warning# 日志存放目录 logfile /data/redis.log# 数据文件目录 dir /data dbfilename dump.rdb# 数据库数量 databases 16# 保存数据库到数据文件 save 900 1 save 300 10 save 60 10000# 集群相关配置 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 15000先把这个文件复制到服务器上如图 然后我们需要创建一个ConfigMap可以直接通过下面命令生产ConfigMap的yaml资源清单文件 kubectl create configmap redis-cluster-config --from-fileredis.conf -n deploy-test --dry-runclient -o yaml生成了如图 因为我们真实部署中可能还会将这个应用部署到其他集群所以我们记得保存这个配置文件 apiVersion: v1 data:redis.conf: |# 关闭保护模式protected-mode no# 日志级别loglevel warning# 日志存放目录logfile /data/redis.log# 数据文件目录dir /datadbfilename dump.rdb# 数据库数量databases 16# 保存数据库到数据文件save 900 1save 300 10save 60 10000# 集群相关配置cluster-enabled yescluster-config-file nodes-6379.confcluster-node-timeout 15000 kind: ConfigMap metadata:name: redis-cluster-confignamespace: deploy-test我们将这个内容保存到一个文件中如 redis-deploy.yaml 准备部署statefulset的资源清单文件 资源清单文件我已经准备好了下面有详细的说明 # 创建一个Redis部署要用到的Service apiVersion: v1 kind: Service metadata:name: deploy-redis-svcnamespace: deploy-testlabels:app: redis spec:ports:- port: 6379name: redistargetPort: 6379nodePort: 30379selector:app: redistype: NodePortsessionAffinity: ClientIP---apiVersion: apps/v1 kind: StatefulSet metadata:name: deploy-redisnamespace: deploy-test spec:selector:matchLabels:app: redis# 引用上面定义的ServiceserviceName: deploy-redis-svc# 注意这里部署六个节点按照本篇文章的逻辑最好不要修改replicas: 6template:metadata:labels:app: redisspec:terminationGracePeriodSeconds: 10containers:- command:# 这里指定使用那个配置文件启动redis-server- redis-server- /usr/local/etc/redis.confname: redis# 因为redis6集群对域名支持不好并且Kubernetes是需要通过域名连接各个pod的所以我们采用redis7来完成这次部署# 如果你能拉取到DockerHub上的镜像那么你就使用这个# image: docker.io/library/redis:7.0.12# 如果你拉取不到那么就使用我拉取并推送到国内阿里云的镜像image: registry.cn-shenzhen.aliyuncs.com/xiaohh-docker/redis:7.0.12ports:- containerPort: 6379name: redisvolumeMounts:# 挂载redis的数据卷使用的是我在下面声明的存储类模版- name: redis-datamountPath: /data# 挂载redis的配置文件- name: redis-configmountPath: /usr/local/etcreadOnly: truevolumes:# 读取configmap获取redis的配置文件方便上面挂载这个配置文件- name: redis-configconfigMap:name: redis-cluster-configitems:- key: redis.confpath: redis.conf# 定义存储类模版volumeClaimTemplates:- metadata:name: redis-data # 这个名字要与上面的对应namespace: deploy-testspec:accessModes:- ReadWriteMany # 设置多节点读写模式resources:requests:storage: 1Gi # 申请1个g的存储空间可根据自己的服务器空间修改storageClassName: nfs-client # 这里填写你存储类的名字完整的资源清单文件内容 apiVersion: v1 kind: Namespace metadata:name: deploy-test spec: {} status: {}---apiVersion: v1 data:redis.conf: |# 关闭保护模式protected-mode no# 日志级别loglevel warning# 日志存放目录logfile /data/redis.log# 数据文件目录dir /datadbfilename dump.rdb# 数据库数量databases 16# 保存数据库到数据文件save 900 1save 300 10save 60 10000# 集群相关配置cluster-enabled yescluster-config-file nodes-6379.confcluster-node-timeout 15000 kind: ConfigMap metadata:name: redis-cluster-confignamespace: deploy-test [rootk8s-master ~]# vim re reboot-all.sh redis.conf redis-deploy.yaml [rootk8s-master ~]# vim redis-deploy.yaml [rootk8s-master ~]# vi redis-deploy.yaml [rootk8s-master ~]# cat redis-deploy.yaml \apiVersion: v1 kind: Namespace metadata:name: deploy-test spec: {} status: {}---apiVersion: v1 data:redis.conf: |# 关闭保护模式protected-mode no# 日志级别loglevel warning# 日志存放目录logfile /data/redis.log# 数据文件目录dir /datadbfilename dump.rdb# 数据库数量databases 16# 保存数据库到数据文件save 900 1save 300 10save 60 10000# 集群相关配置cluster-enabled yescluster-config-file nodes-6379.confcluster-node-timeout 15000 kind: ConfigMap metadata:name: redis-cluster-confignamespace: deploy-test---apiVersion: v1 kind: Service metadata:name: deploy-redis-svcnamespace: deploy-testlabels:app: redis spec:ports:- port: 6379name: redistargetPort: 6379nodePort: 30379selector:app: redistype: NodePortsessionAffinity: ClientIP---apiVersion: apps/v1 kind: StatefulSet metadata:name: deploy-redisnamespace: deploy-test spec:selector:matchLabels:app: redisserviceName: deploy-redis-svcreplicas: 6template:metadata:labels:app: redisspec:terminationGracePeriodSeconds: 10containers:- command:- redis-server- /usr/local/etc/redis.confname: redis# image: docker.io/library/redis:7.0.12image: registry.cn-shenzhen.aliyuncs.com/xiaohh-docker/redis:7.0.12ports:- containerPort: 6379name: redisvolumeMounts:- name: redis-datamountPath: /data- name: redis-configmountPath: /usr/local/etcreadOnly: truevolumes:- name: redis-configconfigMap:name: redis-cluster-configitems:- key: redis.confpath: redis.confvolumeClaimTemplates:- metadata:name: redis-datanamespace: deploy-testspec:accessModes:- ReadWriteManyresources:requests:storage: 1GistorageClassName: nfs-client执行文件完成部署 我们可以使用这行命令执行这个文件完成部署 kubectl apply -f redis-deploy.yaml执行后如图 可以通过这行命令监控它的部署 watch kubectl get all -o wide -n deploy-test看到6个pod都已经成功运行起来了 初始化集群 我们部署的pod是statefulset类型的pod所以我们访问pod的域名格式为 pod名字.service名字.命名空间.svc.cluster.local所以我们在集群中访问六个redis的地址分别为 deploy-redis-0.deploy-redis-svc.deploy-test.svc.cluster.local:6379 deploy-redis-1.deploy-redis-svc.deploy-test.svc.cluster.local:6379 deploy-redis-2.deploy-redis-svc.deploy-test.svc.cluster.local:6379 deploy-redis-3.deploy-redis-svc.deploy-test.svc.cluster.local:6379 deploy-redis-4.deploy-redis-svc.deploy-test.svc.cluster.local:6379 deploy-redis-5.deploy-redis-svc.deploy-test.svc.cluster.local:6379接下来我们需要去到里面的任何一个pod去执行一行命令使用这行命令进入到第一个pod # 注意修改你自己的命名空间和pod名字 kubectl exec -itn deploy-test pod/deploy-redis-0 bash进入后如图 然后我们执行一下下面这行命令 redis-cli --cluster create --cluster-replicas 1 \ deploy-redis-0.deploy-redis-svc.deploy-test.svc.cluster.local:6379 \ deploy-redis-1.deploy-redis-svc.deploy-test.svc.cluster.local:6379 \ deploy-redis-2.deploy-redis-svc.deploy-test.svc.cluster.local:6379 \ deploy-redis-3.deploy-redis-svc.deploy-test.svc.cluster.local:6379 \ deploy-redis-4.deploy-redis-svc.deploy-test.svc.cluster.local:6379 \ deploy-redis-5.deploy-redis-svc.deploy-test.svc.cluster.local:6379执行后会出现这个提示 它问我们这样的一个分配方式行不行这里直接输入yes然后回车接下来看到下面这个画面代表集群配置成功 我们接下来使用这行命令来进入集群 # -c 的意思是进入集群 redis-cli -c然后我们输入这行命令来查看集群里的节点 CLUSTER NODES可以看到是三master三node的redis集群 到这里Kubernetes上搭建redis高可用集群就已经完毕了。
http://www.dnsts.com.cn/news/205852.html

相关文章:

  • 南宁伯才网络公司做网站好吗wordpress的简单应用
  • 衡东建设局网站二级医院网站建设的方案
  • 萧云建设网站wordpress 主题 新闻_
  • 外贸网站要先备案吗万网网站备案证书
  • 做游戏网站思想步骤揭阳百度关键词优化
  • 门户网站模板免费下载台州网络优化
  • 国内做网站好的公司wordpress 分类目录404
  • 茶叶建设网站市场分析做家乡网站需要哪些内容
  • 域名备案 填写网站信息惠州seo排名外包
  • 秦皇岛营销式网站制作国际外贸平台排名
  • dede程序网站如何查看百度蜘蛛怎么注册工作邮箱
  • 怎么制作自己的网站海南省住房和城乡建设局网站
  • 网站开发完成后如何发布网站怎么上传
  • 品牌网站建设 杭州大连住建局官网网站
  • 根据一个网站仿做新网站是什么网站新型电子产品代理加盟
  • 销量不高的网站怎么做网站开发 项目的招标文件
  • 做网站建网站麦味旅行的网站建设需求分析
  • 中国建设银行安徽分行网站政和县建设局网站公告
  • 太原营销型网站建设股票专业网站
  • 专门做动漫的网站有哪些百度优化seo
  • php网站功能做爰网站名称
  • 推广网站哪里好wordpress默认主题下载地址
  • 湖南茶叶网站建设免费获取资源的公众号
  • 禅城网站设计微信公众号直接同步到wordpress
  • 网站彩票做号网络服务器租赁费一般多少钱
  • 沈阳个人网站制作泰安华航网络有限公司
  • 乐清网站定制公司服务器win7网站建设
  • 杭州网站设计建筑公司网站制作
  • 网站功能模块清单怎样在wordpress里添加菜单
  • 电商网站开发商个人网站有哪些