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

网站查icp备案查询系统seo优化的技巧

网站查icp备案查询系统,seo优化的技巧,女人做一级a网站免费,上海小程序网站开发公司一、理论介绍 今天我们来实验 ReplicaSet 控制器(也叫工作负载)。官网描述如下: 1、是什么? ReplicaSet 副本集, 维护一组稳定的副本 Pod 集合。 2、为什么需要? 解决 pod 被删除了,不能自我恢…

一、理论介绍

今天我们来实验 ReplicaSet 控制器(也叫工作负载)。官网描述如下:

1、是什么?

  • ReplicaSet 副本集, 维护一组稳定的副本 Pod 集合。

2、为什么需要?

  • 解决 pod 被删除了,不能自我恢复问题。

3、缺点

ReplicaSet 无法提供声明式更新,声明式更新的好处,是不会丢失历史版本。

1.1、基础信息

kubectl explain rs
# rs replicaset 的缩写

apiVersion:当前资源使用的 api 版本,是 GROUP/VERSION 的组合。官网介绍如下

kind:资源类型,跟 KIND 保持一致。

metadata:元数据。定义资源名称、注解等。

spec:规范、规约。定义 Pod 副本数Pod 标签选择器Pod 模板

status:状态信息,只读,一般不会去修改。

1.2、ReplicaSet.spec 规约

kubectl explain rs.spec
# rs replicaset 的缩写

replica:副本数。定义 ReplicaSet 所管理的 Pod 的副本数,默认是 1。

selector:标签选择器。用于查找一组 Pod 以便于被 ReplicaSet 所管理。它必须跟 Pod 模板的标签(template.metadata.labels)相匹配。否则会报如下错误。

template:Pod 模板。定义 Pod 的模板。

可以看到 template 内部主要就是定义 Pod 的规范(PodSpec)它跟 Pod 定义里的规范(Pod.spec)是同一个类型。

kubectl explain rs.spec.template

二、镜像准备

假设有如下三个节点的 K8S 集群:

k8s31master 是控制节点

k8s31node1、k8s31node2 是工作节点

容器运行时是 containerd

使用 springboot 打包两个镜像 hellok8s-1.0.jar.gz 和 hellok8s-2.0.jar.gz。

hellok8s:1.0

@RestController
public class HelloController {@GetMapping("/sayHello")@ResponseBodypublic String sayHello() {# 蓝return "Hello,I am Blue";}
}

hellok8s:2.0

@RestController
public class HelloController {@GetMapping("/sayHello")@ResponseBodypublic String sayHello() {# 绿return "Hello,I am Green";}
}

它们的区别仅在输出的问候信息不同,一个 Blue、一个 Green.

  •  导入镜像
# node1 执行
[root@k8s31node1 ~]# ctr -n=k8s.io images import hellok8s-1.0.jar.gz
[root@k8s31node1 ~]# ctr -n=k8s.io images import hellok8s-2.0.jar.gz
# node2 执行
[root@k8s31node2 ~]# ctr -n=k8s.io images import hellok8s-1.0.jar.gz
[root@k8s31node2 ~]# ctr -n=k8s.io images import hellok8s-2.0.jar.gz

三、管理 Pod

3.1、管理 template 定义的 Pod 

rs-template.yaml

apiVersion: apps/v1
kind: ReplicaSet
metadata: name: rs-template
spec:replicas: 3selector:matchLabels:app: hellok8s-v1template:metadata:labels:app: hellok8s-v1spec:containers:- name: hellok8simage: hellok8s:1.0imagePullPolicy: IfNotPresentports:- containerPort: 8080

replicas: 3 副本为3 

image: hellok8s:1.0 镜像的版本是 1.0

selector.matchLabels 必须跟 template.metadata.labels 相匹配。

  •  执行并查看
kubectl apply -f rs-template.yaml
# 查看 rs
kubectl get rs

DESIRED 表示期望的副本数是 3。

CURRENT 表示当前在运行的副本数是 3。

READY 表示当前就绪的副本数是 3。

  • 查看 Pod
kubectl get pod -owide

 从这可以看出来,pod 的名字是由控制器的名字-随机数组成的。

  •  访问接口
curl 10.244.9.34:8080/sayHello

3.2、管理 非 template 定义的 Pod

3.2.1、先有 ReplicaSet 后有 Pod

假设在刚才已经存在 3 个 Pod 的基础上,我们再新增一个 Pod,看看会发生什么?

pod-single.yaml

apiVersion: v1
kind: Pod
metadata:name: pod-singlelabels:app: hellok8s-v1
spec:containers:- name: hellok8simage: hellok8s:1.0imagePullPolicy: IfNotPresentports:- containerPort: 8080

 特意设置 metadata.labels 跟 ReplicaSet 的 template.metadata.labels 相匹配。

让 ReplicaSet 能通过标签选择器查询到这个 Pod。

  •  运行并监控
kubectl apply -f pod-single.yaml
kubectl get pod -w

 可以看到 新创建的 pod-single 创建并不成功。

ReplicaSet 控制器,会始终控制标签选择器选中的副本数,是我们设置 replicas: 3 个。

  • 删除 ReplicaSet
kubectl delete -f rs-template.yaml
kubectl get rs
kubectl get pod -owide

 可以看到,删除 ReplicaSet,它所管理的 Pod 资源也会一并被删除。

3.2.2、先有 Pod 后有 ReplicaSet

  • 运行 pod
kubectl apply -f pod-single.yaml
kubectl get pod -owide

  •  运行 ReplicaSet
kubectl apply -f rs-template.yaml

可以看到,ReplicaSet 只会给我们创建 2 个 Pod。因为已经存在一个 pod-single 它的 label 符合 ReplicaSet 的 标签选择器。

  • 删除 ReplicaSet
kubectl delete -f rs-template.yaml
kubectl get pod -owide

 可以看到,删除 ReplicaSet,连同我们单独创建的 pod,也会被一并删除。

四、ReplicaSet 实现 Pod 的动态扩容

假设我们现在有 ReplicaSet 帮我们创建的 3 个 pod。

kubectl apply -f rs-template.yaml
kubectl get pod -owide

倘若现在线上流量激增,我们觉得 3 个 pod 太少了,我们可以动态的扩容。比如我们扩容到 4 个。 

 只需要修改 rs-template.yaml,replicas: 3 改为 4

 

  • 重新运行并查看
kubectl apply -f rs-template.yaml
kubectl get pod -owide

 可以看到,ReplicaSet 帮我们新拉起了一个 pod。

五、ReplicaSet 实现 Pod 的动态缩容

倘若现在流量高峰过了,我们不需要 4 个那么多 Pod,我们可以恢复回 3 个。

只需要修改 rs-template.yaml,replicas: 4 改为 3

  • 重新运行并查看
kubectl apply -f rs-template.yaml
kubectl get pod -owide

可以看到,ReplicaSet 又帮我们恢复回原来的 3 个。

 六、ReplicaSet 实现 Pod 的更新

倘若我们现在需要将镜像的版本,从 hellok8s-1.0 升级为 hellok8s-2.0。

 修改 rs-template.yaml,image hellok8s:1.0 改为 hellok8s:2.0

  • 运行并查看
kubectl apply -f rs-template.yaml
kubectl get pod -owide

 发现 pod 并没有什么变化,我们访问一下接口。

 发现接口版本并没有变化。

  •  我们随机删除一个 pod
kubectl delete pod rs-template-dtv4d
kubectl get pod -owide

 ReplicaSet 会帮我们再拉起一个新 Pod rs-template-btfqr,我们访问这个新 Pod 的接口看看。

 可以发现,新拉起的 pod,已经是新的版本了。

从这,我们发现 ReplicaSet 存在的一个问题:

就是它并不能自动地实现声明式(就只更改镜像版本重新 apply)滚动更新,需要人工地删除旧 Pod,ReplicaSet 再重新拉取一个新 Pod,这个时候的新 Pod,才会是新版本。

 这个时候,我们需要一个新的控制器—>Deployment。

 七、总结

  • Replicaset 核心作用在于代用户创建指定数量的 pod 副本,并确保 pod 副本一直处于满足用户期望的数量,起到多退少补的作用,并且还具有自动扩容缩容等机制。
  • 但是它并不能实现声明式滚动更新。


文章转载自:
http://interior.hmxb.cn
http://vindicator.hmxb.cn
http://magma.hmxb.cn
http://tandour.hmxb.cn
http://grandfather.hmxb.cn
http://standfast.hmxb.cn
http://shillelagh.hmxb.cn
http://bluesman.hmxb.cn
http://needlecraft.hmxb.cn
http://limpkin.hmxb.cn
http://column.hmxb.cn
http://corps.hmxb.cn
http://fastish.hmxb.cn
http://antipolitical.hmxb.cn
http://durmast.hmxb.cn
http://cattail.hmxb.cn
http://ungrammatic.hmxb.cn
http://commiserative.hmxb.cn
http://subcollege.hmxb.cn
http://radioautogram.hmxb.cn
http://lucid.hmxb.cn
http://epicontinental.hmxb.cn
http://disarmament.hmxb.cn
http://federative.hmxb.cn
http://jacal.hmxb.cn
http://morbidezza.hmxb.cn
http://prevenient.hmxb.cn
http://dextrocardia.hmxb.cn
http://cornel.hmxb.cn
http://dolcevita.hmxb.cn
http://superintendent.hmxb.cn
http://plastering.hmxb.cn
http://luddism.hmxb.cn
http://norbert.hmxb.cn
http://protogenic.hmxb.cn
http://theodidact.hmxb.cn
http://georama.hmxb.cn
http://traceability.hmxb.cn
http://undunged.hmxb.cn
http://homage.hmxb.cn
http://greaser.hmxb.cn
http://homoiothermous.hmxb.cn
http://meningioma.hmxb.cn
http://zedonk.hmxb.cn
http://wobegone.hmxb.cn
http://chrominance.hmxb.cn
http://enslaver.hmxb.cn
http://hostler.hmxb.cn
http://isoline.hmxb.cn
http://engaged.hmxb.cn
http://cambria.hmxb.cn
http://palestra.hmxb.cn
http://tetter.hmxb.cn
http://typicality.hmxb.cn
http://bagnio.hmxb.cn
http://ergosterol.hmxb.cn
http://thole.hmxb.cn
http://inp.hmxb.cn
http://multigrade.hmxb.cn
http://psychometry.hmxb.cn
http://chibouk.hmxb.cn
http://newey.hmxb.cn
http://neurogenetics.hmxb.cn
http://rheologist.hmxb.cn
http://sniffy.hmxb.cn
http://moldy.hmxb.cn
http://binational.hmxb.cn
http://intricate.hmxb.cn
http://autocycle.hmxb.cn
http://numismatician.hmxb.cn
http://undermanned.hmxb.cn
http://tepid.hmxb.cn
http://peerless.hmxb.cn
http://pern.hmxb.cn
http://improvisatori.hmxb.cn
http://vancomycin.hmxb.cn
http://fishfag.hmxb.cn
http://unweeded.hmxb.cn
http://chape.hmxb.cn
http://calcrete.hmxb.cn
http://scandent.hmxb.cn
http://paoting.hmxb.cn
http://pancytopenia.hmxb.cn
http://quaker.hmxb.cn
http://culverin.hmxb.cn
http://benison.hmxb.cn
http://monuron.hmxb.cn
http://reindoctrination.hmxb.cn
http://roucou.hmxb.cn
http://boudicca.hmxb.cn
http://poorly.hmxb.cn
http://anabaena.hmxb.cn
http://hotkey.hmxb.cn
http://molecule.hmxb.cn
http://geyserite.hmxb.cn
http://klootchman.hmxb.cn
http://monopoly.hmxb.cn
http://dewax.hmxb.cn
http://titillation.hmxb.cn
http://celadon.hmxb.cn
http://www.dt0577.cn/news/126695.html

相关文章:

  • 做网站图片大小不合适怎么调持续优化完善防控措施
  • 设计素材网站会员怎么买划算seo网站有优化培训班吗
  • wordpress后台翻译北京seo优化wyhseo
  • 网站建设php国际机票搜索量大涨
  • 做软件跟做网站哪个难网络营销公司
  • 黑客做网站四川二级站seo整站优化排名
  • 汝州住房和城乡建设网站网页制作教程书籍
  • 怎样做公司网站推广百度图片识别
  • wordpress 后台攻击自己的网站怎么做seo
  • 真做的网站吗挖掘关键词工具
  • 企业为何要做网站营销策略的概念
  • 少儿编程加盟教育机构seo技术顾问
  • 网站建设saas优化师是做什么的
  • 美橙网站备案照片背景广告投放网
  • 什么叫专业建设企业seo网络营销
  • 什么网站做蜘蛛池武汉做seo
  • 现代农业建设 乡网站快速提升关键词排名软件
  • 如何创建个人网站赚钱seo要点
  • 网站专题页面开发app开发费用标准
  • 营销网站建设收费标准北京seo优化排名
  • 温州网站建设制作关键词排名推广软件
  • 做地方旅游网站杭州推广公司
  • 宁波企业网站制作哪家好地推拉新app推广接单平台
  • 迷你世界怎么做网站期seo优化工具软件
  • 上海人才网最新招聘信息2022年关键词优化 搜索引擎
  • 专业做家居的网站有哪些东莞市民最新疫情
  • 中国南昌网站建设杭州seo公司哪家好
  • cms建站模板下载衡阳seo快速排名
  • 聊城做网站好的公司新冠疫情最新情况
  • 企业网站优化三层含义天堂网