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

网站开发 价格差异指数分布

网站开发 价格差异,指数分布,建筑类企业网站模板下载,企业做网站营销的四大途径目录 pod亲和性与反亲和性 pod亲和性 pod反亲和性 pod状态与重启策略 pod状态 pod重启策略 本文主要介绍了pod资源与pod相关的亲和性,以及pod的重启策略 pod亲和性与反亲和性 pod亲和性(podAffinity)有两种 1.podaffinity,…

目录

pod亲和性与反亲和性

pod亲和性

pod反亲和性

 pod状态与重启策略

pod状态

pod重启策略


本文主要介绍了pod资源与pod相关的亲和性,以及pod的重启策略

pod亲和性与反亲和性

pod亲和性(podAffinity)有两种 1.podaffinity,即联系比较紧密的pod更倾向于使用同一个区域 比如tomcat和nginx这样资源的利用效率更高

2.podunaffinity,即两套完全相同,或两套完全不同功能的服务 为了不互相影响容灾效果,或者让服务之间不会互相影响,更倾向于不适用同一个区域

那么如何判断是不是“同一个区域”就非常重要


#查看帮助
kubectl explain pods.spec.affinity.podAffinity
preferredDuringSchedulingIgnoredDuringExecution #软亲和性,尽可能在一起
requiredDuringSchedulingIgnoredDuringExecution  #硬亲和性,一定要在一起

pod亲和性

#硬亲和性
kubectl explain pods.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecutionlabelSelector        <Object>     #以标签为筛选条件,选择一组亲和的podnamespaceSelector    <Object>     #以命名空间为筛选条件,选择一组亲和的podnamespaces   <[]string>           #确定命名空间的位置topologyKey  <string> -required-  #拓扑逻辑键,根据xx判断是否是同一位置cat > qinhe-pod1.yaml << EOF
apiVersion: v1 
kind: Pod
metadata:name: qinhe1namespace: defaultlabels:user: ws
spec:containers:- name: qinhe1image: docker.io/library/nginximagePullPolicy: IfNotPresent
EOF
kubectl apply -f qinhe-pod1.yaml    #定义一个初始的pod,后面的pod可以依次为参照echo "
apiVersion: v1
kind: Pod
metadata:name: qinhe2labels:app: app1
spec:containers:- name: qinhe2image: docker.io/library/nginximagePullPolicy: IfNotPresentaffinity:podAffinity:  # 和pod亲和性requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:  # 以标签为筛选条件matchExpressions:  # 以表达式进行匹配- {key: user, operator: In, values: ["ws"]}topologyKey: kubernetes.io/hostname
#带有kubernetes.io/hostname标签相同的被认为是同一个区域,即以主机名区分
#标签的node被认为是统一位置
" > qinhe-pod2.yaml
kubectl apply -f qinhe-pod2.yamlkubectl get pods -owide #因为hostname node1和node2不同,所以只会调度到node1
NAME     READY   STATUS    RESTARTS   AGE   IP             NODE           NOMINATED NODE   READINESS GATES
qinhe1   1/1     Running   0          68s   10.10.179.9    ws-k8s-node1   <none>           <none>
qinhe2   1/1     Running   0          21s   10.10.179.10   ws-k8s-node1   <none>           <none>#修改
...topologyKey: beta.kubernetes.io/arch
... #node1和node2这两个标签都相同
kubectl delete -f qinhe-pod2.yaml
kubectl apply -f qinhe-pod2.yaml
kubectl get pods -owide #再查看时会发现qinhe2分到了node2
NAME     READY   STATUS    RESTARTS   AGE     IP             NODE           NOMINATED NODE   READINESS GATES
qinhe1   1/1     Running   0          4m55s   10.10.179.9    ws-k8s-node1   <none>           <none>
qinhe2   1/1     Running   0          15s     10.10.234.68   ws-k8s-node2   <none>           <none>#清理环境
kubectl delete -f qinhe-pod1.yaml
kubectl delete -f qinhe-pod2.yaml

pod反亲和性

kubectl explain pods.spec.affinity.podAntiAffinity
preferredDuringSchedulingIgnoredDuringExecution      <[]Object>
requiredDuringSchedulingIgnoredDuringExecution       <[]Object>#硬亲和性
#创建qinhe-pod3.yaml
cat > qinhe-pod3.yaml << EOF
apiVersion: v1 
kind: Pod
metadata:name: qinhe3namespace: defaultlabels:user: ws
spec:containers:- name: qinhe3image: docker.io/library/nginximagePullPolicy: IfNotPresent
EOF#创建qinhe-pod4.yaml
echo "
apiVersion: v1
kind: Pod
metadata:name: qinhe4labels:app: app1
spec:containers:- name: qinhe4image: docker.io/library/nginximagePullPolicy: IfNotPresentaffinity:podAntiAffinity:  # 和pod亲和性requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:  # 以标签为筛选条件matchExpressions:  # 以表达式进行匹配- {key: user, operator: In, values: ["ws"]}  #表达式user=wstopologyKey: kubernetes.io/hostname  #以hostname作为区分是否同个区域
" > qinhe-pod4.yaml
kubectl apply -f qinhe-pod3.yaml
kubectl apply -f qinhe-pod4.yaml
#分配到了不同的node
kubectl get pods -owide
NAME     READY   STATUS    RESTARTS   AGE   IP             NODE           NOMINATED NODE   READINESS GATES
qinhe3   1/1     Running   0          9s    10.10.179.11   ws-k8s-node1   <none>           <none>
qinhe4   1/1     Running   0          8s    10.10.234.70   ws-k8s-node2   <none>           <none>#修改topologyKey
pod4修改为topologyKey: user
kubectl label nodes ws-k8s-node1 user=xhy
kubectl label nodes ws-k8s-node2 user=xhy
#现在node1和node2都会被pod4识别为同一位置,因为node的label中user值相同kubectl delete -f qinhe-pod4.yaml
kubectl apply -f qinhe-pod4.yaml
#直接显示离线
kubectl get pods -owide
NAME     READY   STATUS    RESTARTS   AGE     IP             NODE           NOMINATED NODE   READINESS GATES
qinhe3   1/1     Running   0          9m59s   10.10.179.12   ws-k8s-node1   <none>           <none>
qinhe4   0/1     Pending   0          2s      <none>         <none>         <none>           <none>
#查看日志
Warning  FailedScheduling  74s   default-scheduler  0/4 nodes are available: 2 node(s) didn't match pod anti-affinity rules, 2 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }. preemption: 0/4 nodes are available: 2 No preemption victims found for incoming pod, 2 Preemption is not helpful for scheduling..#pod反亲和性的软亲和性与node亲和性的软亲和性同理#清理环境
kubectl label nodes ws-k8s-node1 user-
kubectl label nodes ws-k8s-node2 user-
kubectl delete -f qinhe-pod3.yaml
kubectl delete -f qinhe-pod4.yaml

 pod状态与重启策略

参考文档:Pod 的生命周期 | Kubernetes

pod状态

1.pending——挂起
(1)正在创建pod,检查存储、网络、下载镜像等问题
(2)条件不满足,比如硬亲和性,污点等调度条件不满足

2.failed——失败
至少有一个容器因为失败而停止,即非0状态退出

3.unknown——未知
apiserver连不上node节点的kubelet,通常是网络问题

4.Error——错误

5.succeeded——成功
pod所有容器成功终止

6.Unschedulable
pod不能被调度

7.PodScheduled
正在调度中

8.Initialized
pod初始化完成

9.ImagePullBackOff
容器拉取失败

10.evicted
node节点资源不足

11.CrashLoopBackOff
容器曾经启动,但又异常退出了

pod重启策略

当容器异常时,可以通过设置RestartPolicy字段,设置pod重启策略来对pod进行重启等操作

#查看帮助
kubectl explain pod.spec.restartPolicy
KIND:     Pod
VERSION:  v1
FIELD:    restartPolicy <string>
DESCRIPTION:Restart policy for all containers within the pod. One of Always, OnFailure,Never. Default to Always. More info:<https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy>Possible enum values:- `"Always"`   #只要异常退出,立即自动重启- `"Never"`    #不会重启容器- `"OnFailure"`#容器错误退出,即退出码不为0时,则自动重启#测试Always策略,创建always.yaml
cat > always.yaml << EOF
apiVersion: v1
kind: Pod
metadata:name: always-podnamespace: default
spec:restartPolicy: Alwayscontainers:- name: test-podimage: docker.io/library/tomcatimagePullPolicy: IfNotPresent
EOF
kubectl apply -f always.yaml
kubectl get po #查看状态
NAME         READY   STATUS    RESTARTS   AGE
always-pod   1/1     Running   0          22s
#进入容器去关闭容器
kubectl exec -it always-pod -- /bin/bash
shutdown.sh
#查看当前状态,可以看到always-pod重启计数器为1
kubectl get po
NAME         READY   STATUS    RESTARTS     AGE
always-pod   1/1     Running   1 (5s ago)   70s#测试never策略,创建never.yaml
cat > never.yaml << EOF
apiVersion: v1
kind: Pod
metadata:name: never-podnamespace: default
spec:restartPolicy: Nevercontainers:- name: test-podimage: docker.io/library/tomcatimagePullPolicy: IfNotPresent
EOF
kubectl apply -f never.yaml
kubectl exec -it never-pod -- /bin/bash
shutdown.sh
#不会重启,状态为completed
kubectl get pods | grep never
never-pod    0/1     Completed   0            73s#测试OnFailure策略,创建onfailure.yaml
cat > onfailure.yaml << EOF
apiVersion: v1
kind: Pod
metadata:name: onfailure-podnamespace: default
spec:restartPolicy: OnFailurecontainers:- name: test-podimage: docker.io/library/tomcatimagePullPolicy: IfNotPresent
EOF
kubectl apply -f onfailure.yaml
#进去后进行异常退出
kubectl exec -it onfailure-pod -- /bin/bash
kill 1
#查看pods状态,已经重启
kubectl get po  | grep onfailure
onfailure-pod   1/1     Running     1 (43s ago)   2m11s
#进入后进行正常退出
kubectl exec -it onfailure-pod -- /bin/bash
shutdown.sh
#查看pods状态,没有重启,进入completed状态
kubectl get po  | grep onfailure
onfailure-pod   0/1     Completed   1             3m58s#清理环境
kubectl delete -f always.yaml
kubectl delete -f never.yaml
kubectl delete -f onfailure.yaml


文章转载自:
http://medium.hwLk.cn
http://paedagogic.hwLk.cn
http://pathogenetic.hwLk.cn
http://battalion.hwLk.cn
http://macrocosmos.hwLk.cn
http://bottomland.hwLk.cn
http://wantage.hwLk.cn
http://leafiness.hwLk.cn
http://scull.hwLk.cn
http://complementizer.hwLk.cn
http://cloot.hwLk.cn
http://jippo.hwLk.cn
http://cardiant.hwLk.cn
http://bayberry.hwLk.cn
http://laboured.hwLk.cn
http://extenuation.hwLk.cn
http://dental.hwLk.cn
http://murmansk.hwLk.cn
http://aimlessly.hwLk.cn
http://reproducible.hwLk.cn
http://sodomist.hwLk.cn
http://sphingolipid.hwLk.cn
http://rhinologist.hwLk.cn
http://groats.hwLk.cn
http://thioether.hwLk.cn
http://corsetting.hwLk.cn
http://arjuna.hwLk.cn
http://parafoil.hwLk.cn
http://pentangular.hwLk.cn
http://ammophilous.hwLk.cn
http://phenomenize.hwLk.cn
http://godavari.hwLk.cn
http://felicitously.hwLk.cn
http://leghorn.hwLk.cn
http://reciprocate.hwLk.cn
http://fullface.hwLk.cn
http://subtenure.hwLk.cn
http://daimon.hwLk.cn
http://bogey.hwLk.cn
http://rawhide.hwLk.cn
http://hydrobromic.hwLk.cn
http://unselfishly.hwLk.cn
http://dispassion.hwLk.cn
http://crackled.hwLk.cn
http://assessable.hwLk.cn
http://reemphasize.hwLk.cn
http://cauterization.hwLk.cn
http://cardamine.hwLk.cn
http://chainreactor.hwLk.cn
http://pheasantry.hwLk.cn
http://pistachio.hwLk.cn
http://immortelle.hwLk.cn
http://amygdaloidal.hwLk.cn
http://criminality.hwLk.cn
http://nonuple.hwLk.cn
http://legator.hwLk.cn
http://hypodynamic.hwLk.cn
http://hydroelectricity.hwLk.cn
http://eupatrid.hwLk.cn
http://spaggers.hwLk.cn
http://penninite.hwLk.cn
http://cushy.hwLk.cn
http://guayule.hwLk.cn
http://jehangir.hwLk.cn
http://disorient.hwLk.cn
http://lawn.hwLk.cn
http://spif.hwLk.cn
http://encephalomyocarditis.hwLk.cn
http://keelman.hwLk.cn
http://balloonfish.hwLk.cn
http://applewife.hwLk.cn
http://significs.hwLk.cn
http://irreverent.hwLk.cn
http://inarm.hwLk.cn
http://jurimetricist.hwLk.cn
http://ecstatic.hwLk.cn
http://typhogenic.hwLk.cn
http://discommon.hwLk.cn
http://tipsily.hwLk.cn
http://hardboot.hwLk.cn
http://brainpan.hwLk.cn
http://hosta.hwLk.cn
http://knickerbockers.hwLk.cn
http://fifine.hwLk.cn
http://semibrachiation.hwLk.cn
http://doth.hwLk.cn
http://conspectus.hwLk.cn
http://agnosia.hwLk.cn
http://endolymph.hwLk.cn
http://epitaph.hwLk.cn
http://antilysim.hwLk.cn
http://jota.hwLk.cn
http://given.hwLk.cn
http://icon.hwLk.cn
http://multimedia.hwLk.cn
http://horseshoe.hwLk.cn
http://scaled.hwLk.cn
http://minimill.hwLk.cn
http://brushfire.hwLk.cn
http://multiprograming.hwLk.cn
http://www.15wanjia.com/news/88525.html

相关文章:

  • 做网站的宣传单素材长沙seo外包平台
  • 漳州做网站含博大选厦门seo服务
  • 程序员给传销做网站hao123网址之家官网
  • 哪个网站可以做店招店标轮播哪里有营销策划培训班
  • 上海有什么大企业西安seo网络推广
  • 企业网站建设预算中国数据网
  • wordpress最好选择搜索引擎优化包括哪些
  • 建设什么网站抖音账号权重查询
  • 360免费做网站拉新项目官方一手平台
  • 现在流行做网站吗中国今日新闻
  • 做性奴双马网站台州关键词优化推荐
  • 酒店设计的网站建设媒体代发布
  • 怎么给网站做外链怎么建网站平台卖东西
  • 张家口做网站有没有免费的广告平台
  • 青海省建设厅职业注册官方网站合肥网站关键词排名
  • 如何海外网站建设软文营销模板
  • 网站建设 重庆百度推广引流
  • 空间除了可以做网站还能干什么项目推广渠道有哪些
  • 在做好政府网站建设方面长沙网络营销哪家平台专业
  • wordpress 签到 插件下载seo实战密码第三版pdf
  • python做网站好用吗福州百度首页优化
  • 美女直接做的网站有哪些百度关键词排名优化
  • 济南网站开发wuliankj百度站长工具域名查询
  • 漯河网做网站win优化大师怎么样
  • 网站界面设计教程头条新闻 最新消息条
  • 无锡专业做网站建设南昌百度搜索排名优化
  • 建设一个公司网站 需要钱吗营销软文范文200字
  • 上海企业公示湖南正规seo优化报价
  • 用jsp怎么做网站开鲁网站seo免费版
  • 南汇网站建设优化公司网站排名