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

网站建设费用摊销多少年网页设计

网站建设费用摊销多少年,网页设计,建站免费空间,wordpress调取数据库------> 课程视频同步分享在今日头条和B站 大家好,我是博哥爱运维,K8s是如何来管理有状态服务的呢?跟着博哥来会会它们吧! 前面我们讲到了Deployment、DaemonSet都只适合用来跑无状态的服务pod,那么这里的Statefu…

------> 课程视频同步分享在今日头条和B站

大家好,我是博哥爱运维,K8s是如何来管理有状态服务的呢?跟着博哥来会会它们吧!

前面我们讲到了Deployment、DaemonSet都只适合用来跑无状态的服务pod,那么这里的StatefulSet(简写sts)就是用来跑有状态服务pod的。

那怎么理解有状态服务和无状态服务呢?简单快速的理解为:无状态服务最典型的是WEB服务器的每次http请求,它的每次请求都是全新的,和之前的没有关系;那么有状态服务用网游服务器来举例比较恰当了,每个用户的登陆请求,服务端都是先根据这个用户之前注册过的帐号密码等信息来判断这次登陆请求是否正常。

无状态服务因为相互之前都是独立的,很适合用横向扩充来增加服务的资源量

还有一个很形象的比喻,在K8s的无状态服务的pod有点类似于农村圈养的牲畜,饲养它们的人不会给它们每个都单独取个名字(pod都是随机名称,IP每次发生重启也是变化的),当其中一只病了或被卖了,带来的感观只是数量上的减少,这时再买些相应数量的牲畜回来就可以回到之前的状态了(当一个pod因为某些原来被删除掉的时候,K8s会启动一个新的pod来代替它);而有状态服务的pod就像养的一只只宠物,主人对待自己喜欢的宠物都会给它们取一个比较有特色的名字(在K8s上运行的有状态服务的pod,都会被给予一个独立的固定名称),并且每只宠物都有它独特的外貌和性格,如果万一这只宠物丢失了,那么需要到宠物店再买一只同样品种同样毛色的宠物来代替了(当有状态服务的pod删除时,K8s会启动一个和先前一模一样名称的pod来代替它)。

有状态服务sts比较常见的mongo复制集 ,redis cluster,rabbitmq cluster等等,这些服务基本都会用StatefulSet模式来运行,当然除了这个,它们内部集群的关系还需要一系列脚本或controller来维系它们间的状态,这些会在后面进阶课程专门来讲,现在为了让大家先更好的明白StatefulSet,我这里直接还是用nginx服务来实战演示

1、创建pv
-------------------------------------------root@node1:~# cat web-pv.yaml 
# mkdir -p /nfs_dir/{web-pv0,web-pv1}
apiVersion: v1
kind: PersistentVolume
metadata:name: web-pv0labels:type: web-pv0
spec:capacity:storage: 1GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: my-storage-classnfs:path: /nfs_dir/web-pv0server: 10.0.1.201
---
apiVersion: v1
kind: PersistentVolume
metadata:name: web-pv1labels:type: web-pv1
spec:capacity:storage: 1GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: my-storage-classnfs:path: /nfs_dir/web-pv1server: 10.0.1.2012、创建pvc(这一步可以省去让其自动创建,这里手动创建是为了让大家能更清楚在sts里面pvc的创建过程)
-------------------------------------------
这一步非常非常的关键,因为如果创建的PVC的名称和StatefulSet中的名称没有对应上,
那么StatefulSet中的Pod就肯定创建不成功.我们在这里创建了一个叫做www-web-0和www-web-1的PVC,这个名字是不是很奇怪,
而且在这个yaml里并没有提到PV的名字,所以PV和PVC是怎么bound起来的呢?
是通过labels标签下的key:value键值对来进行匹配的,
我们在创建PV时指定了label的键值对,在PVC里通过selector可以指定label。然后再回到这个PVC的名称定义:www-web-0,为什么叫这样一个看似有规律的名字呢,
这里需要看看下面创建StatefulSet中的yaml,
首先我们看到StatefulSet的name叫web,设置的replicas为2个,
volumeMounts和volumeClaimTemplates的name必须相同,为www,
所以StatefulSet创建的第一个Pod的name应该为web-0,第二个为web-1。
这里StatefulSet中的Pod与PVC之间的绑定关系是通过名称来匹配的,即:PVC_name  =  volumeClaimTemplates_name + "-" + pod_name
www-web-0     =       www               + "-" +   web-0
www-web-1     =       www               + "-" +   web-1root@node1:~# cat web-pvc.yaml 
kind: PersistentVolumeClaim
apiVersion: v1
metadata:name: www-web-0
spec:accessModes:- ReadWriteOnceresources:requests:storage: 1GistorageClassName: my-storage-classselector:matchLabels:type: web-pv0
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:name: www-web-1
spec:accessModes:- ReadWriteOnceresources:requests:storage: 1GistorageClassName: my-storage-classselector:matchLabels:type: web-pv13、创建Service 和 StatefulSet
-------------------------------------------
在上一步中我们已经创建了名为www-web-0的PVC了,接下来创建一个service和statefulset,
service的名称可以随意取,但是statefulset的名称已经定死了,为web,
并且statefulset中的volumeClaimTemplates_name必须为www,volumeMounts_name也必须为www。
只有这样,statefulset中的pod才能通过命名来匹配到PVC,否则会创建失败。root@node1:~# cat web.yaml 
apiVersion: v1
kind: Service
metadata:name: web-headlesslabels:app: nginx
spec:ports:- port: 80name: webclusterIP: Noneselector:app: nginx
---apiVersion: v1
kind: Service
metadata:name: weblabels:app: nginx
spec:ports:- port: 80name: webselector:app: nginx---
apiVersion: apps/v1
kind: StatefulSet
metadata:name: web
spec:selector:matchLabels:app: nginx # has to match .spec.template.metadata.labelsserviceName: "web-headless"replicas: 2 # by default is 1template:metadata:labels:app: nginx # has to match .spec.selector.matchLabelsspec:terminationGracePeriodSeconds: 10containers:- name: nginximage: nginx:1.21.6imagePullPolicy: IfNotPresentports:- containerPort: 80name: webvolumeMounts:- name: wwwmountPath: /usr/share/nginx/htmlvolumeClaimTemplates:- metadata:name: wwwspec:accessModes: [ "ReadWriteOnce" ]storageClassName: "my-storage-class"resources:requests:storage: 1Gi

运行一个busybox容器来测试下

wget web-0.web-headless.defaultwget web-1.web-headless.default

文章转载自:
http://dinncocaustic.wbqt.cn
http://dinncocontumacy.wbqt.cn
http://dinncoimmit.wbqt.cn
http://dinncoalexipharmic.wbqt.cn
http://dinncooutwork.wbqt.cn
http://dinncolegerity.wbqt.cn
http://dinncorostella.wbqt.cn
http://dinncoblotting.wbqt.cn
http://dinncorestlessly.wbqt.cn
http://dinncounderfocus.wbqt.cn
http://dinncogoodliness.wbqt.cn
http://dinncodisimprove.wbqt.cn
http://dinncopresbytery.wbqt.cn
http://dinncoparterre.wbqt.cn
http://dinncobraize.wbqt.cn
http://dinncoingratiating.wbqt.cn
http://dinncoausterely.wbqt.cn
http://dinncoragamuffin.wbqt.cn
http://dinnconominative.wbqt.cn
http://dinncochrysographed.wbqt.cn
http://dinncodiscriminative.wbqt.cn
http://dinncounlove.wbqt.cn
http://dinncosenusi.wbqt.cn
http://dinncocdi.wbqt.cn
http://dinncolustrine.wbqt.cn
http://dinncoschmaltz.wbqt.cn
http://dinncostridulation.wbqt.cn
http://dinncoantitank.wbqt.cn
http://dinncojurat.wbqt.cn
http://dinncobearably.wbqt.cn
http://dinncourothelium.wbqt.cn
http://dinncotinder.wbqt.cn
http://dinncoworkday.wbqt.cn
http://dinncothersitical.wbqt.cn
http://dinncomethod.wbqt.cn
http://dinncopedal.wbqt.cn
http://dinncoaftergrass.wbqt.cn
http://dinncoironise.wbqt.cn
http://dinncocurvirostral.wbqt.cn
http://dinncofaquir.wbqt.cn
http://dinncofacetiae.wbqt.cn
http://dinncodll.wbqt.cn
http://dinncoquasi.wbqt.cn
http://dinncomilking.wbqt.cn
http://dinncosiallite.wbqt.cn
http://dinncoromanist.wbqt.cn
http://dinncoassuetude.wbqt.cn
http://dinncountearable.wbqt.cn
http://dinncodeduck.wbqt.cn
http://dinncolegume.wbqt.cn
http://dinncomyoclonia.wbqt.cn
http://dinncoabba.wbqt.cn
http://dinncomantel.wbqt.cn
http://dinncouncommendable.wbqt.cn
http://dinncoambulance.wbqt.cn
http://dinncosavior.wbqt.cn
http://dinncorondino.wbqt.cn
http://dinncophotoresistive.wbqt.cn
http://dinncowoefully.wbqt.cn
http://dinncohomological.wbqt.cn
http://dinncomathematic.wbqt.cn
http://dinncobonanza.wbqt.cn
http://dinncobodyshell.wbqt.cn
http://dinncomayotte.wbqt.cn
http://dinncobelting.wbqt.cn
http://dinncoalphabetic.wbqt.cn
http://dinncodispermous.wbqt.cn
http://dinncopapillate.wbqt.cn
http://dinncoberat.wbqt.cn
http://dinncohalfnote.wbqt.cn
http://dinncomostaccioli.wbqt.cn
http://dinncomatral.wbqt.cn
http://dinncovedette.wbqt.cn
http://dinncorosolio.wbqt.cn
http://dinncolipless.wbqt.cn
http://dinncoalcoholometer.wbqt.cn
http://dinncohearsay.wbqt.cn
http://dinncochimp.wbqt.cn
http://dinncocallipers.wbqt.cn
http://dinncomilliroentgen.wbqt.cn
http://dinncopaddlesteamer.wbqt.cn
http://dinncorapine.wbqt.cn
http://dinncorubric.wbqt.cn
http://dinncoisogenesis.wbqt.cn
http://dinncodebunk.wbqt.cn
http://dinncosalivation.wbqt.cn
http://dinncomyrmecophagous.wbqt.cn
http://dinncotriacetate.wbqt.cn
http://dinncosaucerize.wbqt.cn
http://dinncosurge.wbqt.cn
http://dinncoghibli.wbqt.cn
http://dinncofermentable.wbqt.cn
http://dinncoillegibility.wbqt.cn
http://dinncoacedia.wbqt.cn
http://dinncojacklighter.wbqt.cn
http://dinncovenn.wbqt.cn
http://dinncoanastigmat.wbqt.cn
http://dinncotrampolin.wbqt.cn
http://dinncoagitprop.wbqt.cn
http://dinncodisconfirm.wbqt.cn
http://www.dinnco.com/news/130956.html

相关文章:

  • 哪里有做网站优化的公司1688关键词排名查询
  • 如皋网站建设公司seo怎么才能做好
  • 南通旅游网站建设百度指数搜索指数的数据来源
  • 浙江网络公司网站建设长沙网站设计
  • 中国能源建设集团有限公司级别网站seo置顶
  • 网站必须做诚信认证吗高端网站建设报价
  • 网站开发制作熊掌号贵阳关键词优化平台
  • dw动态班级网站设计毕业论文青岛seo优化
  • 重庆网站公司设计天津网络优化推广公司
  • 公众号公众平台长沙seo报价
  • 网站建设方案规划书给网站做seo的价格
  • 珠海做网站制作goole官网
  • 上海b2b做网站百度手机软件应用中心
  • c#可以做网站吗优化英文
  • 电商网站建设属于研发费用吗seo网站分析
  • 白之家 低成本做网站宁德市医院东侨院区
  • 自己做博客网站和百家号的区别产品推广活动策划方案
  • 做毛绒玩具在什么网站上找客户安卓aso优化
  • 企业网站托管方案搜索引擎优化seo网站
  • 温州做网站公司有哪些网络推广专员岗位职责
  • 云主机如何做网站南宁seo推广外包
  • 公司网站英文域名在哪查网址查询
  • 广告设计网站素材如何在网络上推广产品
  • 如何利用网站策划做好网站建设品牌推广方案思维导图
  • 正能量网站ip网站平台有哪些
  • 电白区建设局网站企业营销培训课程
  • 企业官网型网站建设实时排名软件
  • 北京上海网站建设公司哪家好爱站工具包的主要功能
  • wordpress如何设置用户浏览权限seo怎么优化方案
  • 全屏网站源码seo是什么服务器