网站建设用什么服务器网站 内容建设需要进一步加强

张小明 2026/3/12 7:40:15
网站建设用什么服务器,网站 内容建设需要进一步加强,wordpress主题 relax,一般网站建设公司有多少客户啊一、Statefulset控制器#xff1a;概念、原理解读StatefulSet是为了管理有状态服务的问题而设计的。有状态服务StatefulSet是有状态的集合#xff0c;管理有状态的服务#xff0c;它所管理的Pod的名称不能随意变化。数据持久化的目录也是不一样#xff0c;每一个Pod都有自己…一、Statefulset控制器概念、原理解读StatefulSet是为了管理有状态服务的问题而设计的。有状态服务StatefulSet是有状态的集合管理有状态的服务它所管理的Pod的名称不能随意变化。数据持久化的目录也是不一样每一个Pod都有自己独有的数据持久化存储目录。比如MySQL主从、redis集群等。无状态服务RC、Deployment、DaemonSet都是管理无状态的服务它们所管理的Pod的IP、名字启停顺序等都是随机的。个体对整体无影响所有pod都是共用一个数据卷的部署的tomcat就是无状态的服务tomcat被删除在启动一个新的tomcat加入到集群即可跟tomcat的名字无关。StatefulSet部分组成Headless Service用来定义pod网路标识生成可解析的DNS记录volumeClaimTemplates存储卷申请模板创建pvc指定pvc名称大小自动创建pvc且pvc由存储类供应。StatefulSet管理pod的Headless serviceHeadless service不分配clusterIPheadless service可以通过解析service的DNS,返回所有Pod的dns和ip地址 (只有statefulSet部署的Pod才有DNS地址)普通的service,只能通过解析service的DNS返回service的ClusterIP。为什么要用headless service没有service ip的service在使用Deployment时创建的Pod名称是没有顺序的是随机字符串在用statefulset管理pod时要求pod名称必须是有序的每一个pod不能被随意取代pod重建后pod名称还是一样的。因为pod IP是变化的所以要用Pod名称来识别。pod名称是pod唯一性的标识符必须持久稳定有效。这时候要用到无头服务它可以给每个Pod一个唯一的名称。1、headless service会为service分配一个域名service name.$namespace name.svc.cluster.localK8s中资源的全局FQDN格式:Service_NAME.NameSpace_NAME.Domain.LTD.Domain.LTD.svc.cluster.local.[rootk8s-master deployment]# dig nginx-deploy-svc.default.svc.cluster.local 10.96.0.10 ; DiG 9.11.36-RedHat-9.11.36-14.el8_10 nginx-deploy-svc.default.svc.cluster.local 10.96.0.10 ;; global options: cmd ;; Got answer: ;; WARNING: .local is reserved for Multicast DNS ;; You are currently testing what happens when an mDNS query is leaked to DNS ;; -HEADER- opcode: QUERY, status: NOERROR, id: 19414 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 16379d4770867ed4 (echoed) ;; QUESTION SECTION: ;nginx-deploy-svc.default.svc.cluster.local. IN A ;; ANSWER SECTION: nginx-deploy-svc.default.svc.cluster.local. 30 IN A 10.97.172.98 ;; Query time: 7 msec ;; SERVER: 10.96.0.10#53(10.96.0.10) ;; WHEN: 一 1月 13 01:25:21 EST 2025 ;; MSG SIZE rcvd: 141 [rootk8s-master deployment]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 none 443/TCP 6d4h nginx-deploy-svc NodePort 10.97.172.98 none 80:30676/TCP 2m20s2、StatefulSet会为关联的Pod保持一个不变的Pod Namestatefulset中Pod的名字格式为 【 $(StatefulSet name)-$(pod序号) 】3、StatefulSet会为关联的Pod分配一个dnsName$Pod Name.$service name.$namespace name.svc.cluster.local二、Statefulset资源清单文件编写技巧#查看定义Statefulset资源需要的字段 [rootk8s-master01~]# kubectl explain statefulset FIELDS: apiVersion string #定义statefulset资源需要使用的api版本 kind string #定义的资源类型 metadata Object #元数据 spec Object #定义容器相关的信息 #查看statefulset.spec字段如何定义 [rootk8s-master01~]# kubectl explain statefulset.spec FIELDS: podManagementPolicy string #pod管理策略 replicas integer #副本数 revisionHistoryLimit integer #保留的历史版本 selector Object -required- #标签选择器选择它所关联的pod serviceName string -required- #headless service的名字 template Object -required- #生成pod的模板 updateStrategy Object #更新策略 volumeClaimTemplates []Object #存储卷申请模板 #查看statefulset的spec.template字段如何定义 #对于template而言其内部定义的就是podpod模板是一个独立的对象 [rootk8s-master01~]# kubectl explain statefulset.spec.template FIELDS: metadata Object spec Object #定义容器属性的通过上面可以看到statefulset资源中有两个spec字段。第一个spec声明的是statefulset定义多少个Pod副本默认将仅部署1个Pod、匹配Pod标签的选择器、创建pod的模板、存储卷申请模板第二个spec是spec.template.spec主要用于Pod里的容器属性等配置。.spec.template里的内容是声明Pod对象时要定义的各种属性所以这部分也叫做PodTemplatePod模板。还有一个值得注意的地方是在.spec.selector中定义的标签选择器必须能够匹配到spec.template.metadata.labels里定义的Pod标签否则Kubernetes将不允许创建statefulset。三、Statefulset使用案例部署web站点#编写一个Statefulset资源清单文件 [rootk8s-master01~]# cat statefulset.yaml apiVersion: v1 kind: Service metadata: name: nginx-svc labels: app: nginx spec: ports: - port: 80 name: web clusterIP: None selector: app: nginx --- apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: selector: matchLabels: app: nginx serviceName: nginx-svc replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent ports: - containerPort: 80 name: web #更新资源清单文件 [rootk8s-master01~]# kubectl apply -f statefulset.yaml service/nginx created statefulset.apps/web created #查看statefulset是否创建成功 [rootk8s-master01~]# kubectl get statefulset NAME READY AGE web 2/2 42s #查看pod [rootk8s-master01~]# kubectl get pods -l appnginx NAME READY STATUS RESTARTS AGE web-0 1/1 Running 0 2m17s web-1 1/1 Running 0 115s #通过上面可以看到创建的pod是有序的 #查看headless service [rootk8s-master01~]# kubectl get svc -l appnginx NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx ClusterIP None none 80/TCP 3m19s #查看pvc [rootk8s-master01~]# kubectl get pvc #查看pod主机名 [rootk8s-master01~]# for i in 0 1; do kubectl exec web-$i -- sh -c hostname;done web-0 web-1 #使用k运行一个提供nslookup命令的容器(bubybox:1.28)这个命令来自于dnsutils包通过对pod主机名执行nslookup可以检查它们在集群内部的DNS地址 [roothd1 ~]# cat pod-second.yaml apiVersion: v1 kind: Pod metadata: name: pod-second labels: app: backend tier: db spec: containers: - name: busybox image: busybox:1.28 imagePullPolicy: IfNotPresent command: [sh,-c,sleep 3600] [roothd1 ~]# kubectl apply -f pod-second.yaml [roothd1 ~]# kubectl exec -it pod-second -- /bin/sh / # nslookup web-0.nginx.default.svc.cluster.local Server: 10.10.0.10 Address 1: 10.10.0.10 kube-dns.kube-system.svc.cluster.local Name: web-0.nginx.default.svc.cluster.local Address 1: 10.10.156.137 web-0.nginx.default.svc.cluster.local / # #statefulset创建的pod也是有dns记录的 Address: 10.10.209.154 #解析的是pod的ip地址还可以解析 nginx.default.svc.cluster.local / # nslookup nginx.default.svc.cluster.local Server: 10.10.0.10 Address 1: 10.10.0.10 kube-dns.kube-system.svc.cluster.local Name: nginx.default.svc.cluster.local Address 1: 10.10.25.245 web-1.nginx.default.svc.cluster.local Address 2: 10.10.156.137 web-0.nginx.default.svc.cluster.local / #四、Statefulset管理pod扩容、缩容、更新Statefulset实现pod的动态扩容如果我们觉得两个副本太少了想要增加只需要修改配置文件statefulset.yaml里的replicas的值即可原来replicas: 2现在变成replicaset: 3修改之后执行如下命令更新[rootk8s-master01~]# kubectl apply -f statefulset.yaml service/nginx unchanged statefulset.apps/web configured [rootk8s-master01~]# kubectl get sts NAME READY AGE web 3/3 60m [rootk8s-master01~]# kubectl get pods -l appnginx NAME READY STATUS RESTARTS AGE web-0 1/1 Running 0 61m web-1 1/1 Running 0 60m web-2 1/1 Running 0 79s #也可以直接编辑控制器实现扩容 [rootk8s-master01~]# kubectl edit sts web #这个是我们把请求提交给了apiserver实时修改把上面的spec下的replicas 后面的值改成4保存退出 [rootk8s-master01~]# kubectl get pods -l appnginx NAME READY STATUS RESTARTS AGE web-0 1/1 Running 0 62m web-1 1/1 Running 0 62m web-2 1/1 Running 0 3m13s web-3 1/1 Running 0 26sStatefulset实现pod的动态缩容如果我们觉得4个Pod副本太多了想要减少只需要修改配置文件statefulset.yaml里的replicas的值即可把replicaset4变成replicas: 2修改之后执行如下命令更新[rootk8s-master01~]# kubectl apply -f statefulset.yaml​service/nginx unchanged​statefulset.apps/web configured​[rootk8s-master01~]# kubectl get pods -l appnginx​NAME READY STATUS RESTARTS AGE​web-0 1/1 Running 0 64m​web-1 1/1 Running 0 64mStatefulset实现pod的更新[rootk8s-worker01 ~]# docker load -i myapp.tar.gz [rootk8s-master01~]# kubectl edit sts web #修改镜像nginx变成- image: ikubernetes/myapp:v2修改之后保存退出 [rootk8s-master01~]# kubectl get pods -o wide -l appnginx NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES web-0 1/1 Running 0 18s 10.10.209.156 k8s-worker01 web-1 1/1 Running 0 36s 10.10.187.115 k8s-worker02 #查看pod详细信息 [rootk8s-master01~]# kubectl describe pods web-0 #可以看到pod已经使用刚才更新的镜像ikubernetes/myapp:v2
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

asp手机网站开发教程wordpress 分享 插件下载

第一章:传感器数据聚合函数的核心概念在物联网和实时监控系统中,传感器持续产生海量时序数据。为了从这些数据中提取有价值的信息,必须对原始信号进行汇总与分析。传感器数据聚合函数正是用于将多个数据点合并为更高级别统计量的数学工具&…

张小明 2026/3/5 3:17:39 网站建设

网站建设思路方向网站空间可以自己做服务器

输入法词库转换神器:轻松实现跨平台词库迁移 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 还在为更换输入法时无法保留个人词库而烦恼吗?深…

张小明 2026/3/5 3:17:43 网站建设

黄山工程建设信息网站做pop网站

Syncthing-Android文件同步应用完整使用教程 【免费下载链接】syncthing-android Wrapper of syncthing for Android. 项目地址: https://gitcode.com/gh_mirrors/sy/syncthing-android 在数据安全日益重要的今天,如何安全高效地同步文件成为许多用户的痛点。…

张小明 2026/3/5 3:17:42 网站建设

合肥制作网站单位有哪些网站手机端生成

Via头域 Via:【1】定义SIP事务的下层(传输层)传输协议,【2】并标识响应消息将要被发送的位置。【3】它记录了请求消息经过的路径,帮助实现消息的路由和追踪。详解:假设有两个用户代理客户端(Use…

张小明 2026/3/5 3:17:42 网站建设

本地电脑做网站待办事项 wordpress

群晖Audio Station歌词插件:3步搞定完美音乐播放体验 【免费下载链接】Synology-LrcPlugin Lyrics plugin for Synology Audio Station/DS Audio 项目地址: https://gitcode.com/gh_mirrors/sy/Synology-LrcPlugin 还在为群晖NAS上的音乐播放缺少歌词而烦恼吗…

张小明 2026/3/7 9:42:30 网站建设

深圳市中心房价关键词搜索优化

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

张小明 2026/3/5 6:13:34 网站建设