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

泰安做网站公司哪家比较好飞行时代网站建设

泰安做网站公司哪家比较好,飞行时代网站建设,企业网站开发用什么好,网站建设的收获体会一、statefullsets控制器概述 1#xff0c;举例 假如#xff0c;我们有一个deployment资源#xff0c;创建了3个nginx的副本#xff0c;对于nginx来讲#xff0c;它是不区分启动或者关闭的先后顺序的#xff0c;也就是“没有特殊状态”的一个服务#xff0c;也成“无状…一、statefullsets控制器概述 1举例 假如我们有一个deployment资源创建了3个nginx的副本对于nginx来讲它是不区分启动或者关闭的先后顺序的也就是“没有特殊状态”的一个服务也成“无状态服务”3个副本谁先启动、谁后启动都没有关系它只是用来web服务分发使用的一个工具而已 那么反之有没有需要有启动顺序、关闭顺序这样的“有状态服务”呐答案肯定是有啊 【访问顺序问题】再假如再企业当中的MySQL主从数据库架构中假设是2主1从数据架构架构本身是区分master和slave角色的在构建主从关系的时候master必须先启动不然slave没办法加入到主从架构中所以需要有相同副本服务启动的先后顺序 【副本独立的存储问题】我们知道MySQL是不能多服务共享数据目录的所以在拉去多副本的“有状态服务”时存储独立化就成了问题也就是说一个pod副本对应一个单独的存储目录。 【固定的访问地址问题】还拿MySQL做举例我们需要对有状态服务有固定寻址的能力我们知道pod删除重新拉取后ip就会发生变化那么对于mysql服务来说副本的每个pod都需要有精准的、不变的唯一标识不然主从架构等问题一旦重新新启动pod就会彻底摧毁架构也就是说pod副本删除重新拉取后能够精准的找到对应原来的服务 2总结 对于同一个deployment或者其他资源创建的pod副本我们在使用“有状态服务”的副本pod时有着三个需求 1副本启动、停止要求有顺序 2每个副本需要有独立的存储目录空间 3副本重新拉起能够有方式在其改变ip的情况下还能精准的找到对应副本 那么以上也是statefulsets控制器能够解决的问题 二、启停顺序与headless网络唯一标识 1创建一个“无头”svc资源 · 编辑无头服务svc资源清单 无头svc服务就是没有ClusterIP的svc资源 [rootk8s231 statefulsets]# cat headless.yaml  apiVersion: v1 kind: Service metadata:   name: xinjizhiwa-headless spec:   ports:   - port: 80     name: web   # 将clusterIP字段设置为None表示为一个无头服务headless即svc将不会分配VIP。   clusterIP: None   selector:     k8s: xinjizhiwa · 创建无头svc服务 [rootk8s231 statefulsets]# kubectl apply -f headless.yaml 2创建statefullsets使用无头服务 · 编辑statefulsets资源清单 声明使用无头svc [rootk8s231 statefulsets]# vim staefulsets.yaml apiVersion: apps/v1 kind: StatefulSet metadata:   name: xinjizhiwa-web spec:   selector:     matchLabels:       k8s: xinjizhiwa   #声明无头服务的service   serviceName: xinjizhiwa-headless   replicas: 3    template:     metadata:       labels:         k8s: xinjizhiwa     spec:       containers:       - name: c1         image: nginx:1.20.1-alpine   · 创建statefulsets资源 [rootk8s231 statefulsets]# kubectl apply -f staefulsets.yaml 3验证无头服务机启停顺序 · 查看pod 发现破的名称是按照statefulsets资源的名称加上数字顺序排列生成的 [rootk8s231 statefulsets]# kubectl get pods -o wide · 查看无头svc [rootk8s231 statefulsets]# kubectl get svc · 创建一个用来测试【pod网络唯一标识 】的pod容器 [rootk8s231 statefulsets]# kubectl run -it dns-test --rm --imagealpine:latest -- sh / # / # for i in seq 0 2;do ping xinjizhiwa-web-${i}.xinjizhiwa-headless.default.svc.xinjizhiwa.com -c3;done 网路唯一标识 【pod的名称】.【无头服务的名称】.【名称空间】.【svc】.【集群DNS域名】 拓展这个就是集群DNS域名的所在位置可以通过这里来查看 [rootk8s231 deploy]# vim /var/lib/kubelet/config.yaml  ....... clusterDNS: - 10.200.0.10 clusterDomain: xinjizhiwa.com   · 删除pod重新拉起在ping唯一标识测试结果 [rootk8s231 deploy]# kubectl delete pods --all 删除pod等待重新拉取 · 结论 通过ping唯一标识ping通后删除pod在ping唯一标识还可以ping通查看pod的ip已经重新拉起后改变了可还是ping通了就证明唯一标识成功 三、StatefulSets副本独立存储 1创建一个无头服务 [rootk8s231 vol]# vim headless.yaml apiVersion: v1 kind: Service metadata:   name: xjzw-headless spec:   ports:   - port: 80     name: web   clusterIP: None   selector:     k8s: xjzw [rootk8s231 vol]# kubectl apply -f headless.yaml 查看无头svc [rootk8s231 vol]# kubectl get svc 2创建StatefulSets资源 声明独立存储 [rootk8s231 vol]# cat statefulset.yaml  apiVersion: apps/v1 kind: StatefulSet metadata:   name: xjzw-web spec:   selector:     matchLabels:       k8s: xjzw   serviceName: xjzw-headless   replicas: 3    #声明创建pvc存储卷卷申请模板会为每个Pod去创建唯一的pvc并与之关联哟!   volumeClaimTemplates:   - metadata:       name: data     spec:       accessModes: [ ReadWriteOnce ]       # 声明咱们自定义的动态存储类即storageclass动态存储资源。       storageClassName: managed-nfs-storage       resources:         requests:           storage: 2Gi   template:     metadata:       labels:         k8s: xjzw     spec:       containers:       - name: nginx         image: nginx:1.20.1-alpine         volumeMounts:         - name: data           mountPath: /usr/share/nginx/html [rootk8s231 vol]# kubectl apply -f statefulset.yaml 查看statefulsets资源 [rootk8s231 vol]# kubectl get statefulsets NAME             READY   AGE xinjizhiwa-web   3/3     55m xjzw-web         3/3     17s 3验证是否有独立存储 查看nfs挂载地址可以看到创建出来三个存储地址证明3个副本都有自己的独立存储空间了 [rootk8s231 vol]# kubectl exec -it xjzw-web-0 -- sh / # echo 111111111 /usr/share/nginx/html/index.html / # exit [rootk8s231 vol]# kubectl exec -it xjzw-web-1 -- sh / # echo 222222222 /usr/share/nginx/html/index.html / # exit [rootk8s231 vol]# kubectl exec -it xjzw-web-2 -- sh / # echo 333333333 /usr/share/nginx/html/index.html / # exit 证明三个pod副本的存储是相互独立的 至此咱们的statefulset资源学习完毕 四、总结 1唯一的pod副本网络标识重启pod时ip改变也不影响访问 2启停顺序安转数字排序 3个副本通过声明存储卷申请模板独立存储
http://www.pierceye.com/news/38618/

相关文章:

  • 可视化编辑建站平台网站建设顾问站建
  • 网站建设参考文献2017网站如何投放广告
  • 网站开发尺寸如何做网站域名
  • 做烘焙的网站岳阳建设网站
  • 网站自定义链接怎么做网站规划教学设计
  • 网站设计的公司如何选网站建设自己怎么做
  • 无障碍 网站 怎么做html电影网站模板下载
  • 五 网站开发总体进度安排免费找客户网站
  • 手机网站 方案广州北京网站建设公司哪家好
  • 知道网站域名怎么联系长春哪里做网站好
  • 怎样做网站搜索推广营销型网站建设电话
  • 潍坊网站建设报价费用课堂网站开发
  • 茌平做网站推广信贷网站开发
  • 国外网站做调查网站指向邮箱超链接怎么做
  • 专门做网站的科技公司wordpress 电话插件
  • 河南做网站推广专业的饰品行业网站开发
  • 第三方做网站安徽网络推广新手
  • 网站的总体架构网站开发 后端服务
  • 锦州市城市建设服务中心网站莱芜新闻片头
  • 织梦网站install图片设计制作
  • 帝国cms做投资网站源码河南艾特 网站建设
  • 旅游网站建设翻译重庆做蔬菜配送的网站有哪些
  • 单页淘宝客网站2014年行吗自媒体平台账号注册
  • 连云港专业做网站哪个网站可以做翻译兼职
  • 计算机网络资源网站建设论文企业网站建设主要考虑哪些
  • 财经网站直播系统建设小程序代理注册
  • 用商标做网站名字珍珠设计制作培训
  • 网站建设案例完整代码有没有做网站源代码 修改的
  • 网站排名优化软件网站开发虚拟主机系统
  • 河北省住房和城市建设厅网站建设了湛江市志愿服务网站