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

宝塔wordpress ip访问全网最低价seo

宝塔wordpress ip访问,全网最低价seo,合肥市网站建设公司,巩义网站推广怎么做1、标签和选择器 1.1 标签Label 配置文件#xff1a;在各类资源的sepc.metadata.label 中进行配置通过kubectl 命令行创建修改标签#xff0c;语法如下 创建临时label#xff1a;kubectl label po 资源名称 apphello -n 命令空间#xff08;可不加#xff0…1、标签和选择器 1.1 标签Label 配置文件在各类资源的sepc.metadata.label 中进行配置通过kubectl 命令行创建修改标签语法如下 创建临时labelkubectl label po 资源名称 apphello -n 命令空间可不加修改已经存在的label kubectl label po 资源名称 apphello -n 命令空间可不加 --overwrite通过查看lable的时候修改label selector 按照 label 单值查找节点 kubectl get po -A -l apphello查看所有节点的labels kubectl get po --show-labels ## 创建pod [rootk8s-master ~]# kubectl create -f nginx-po.yml pod/nginx-liveness-po created# 查看pod状态 [rootk8s-master ~]# kubectl get po nginx-liveness-po NAME READY STATUS RESTARTS AGE nginx-liveness-po 1/1 Running 0 51s# 查看pod状态显示label信息 [rootk8s-master ~]# kubectl get po nginx-liveness-po --show-labels NAME READY STATUS RESTARTS AGE LABELS nginx-liveness-po 1/1 Running 0 68s testl.0.0,typeapp# 临时给pod添加label [rootk8s-master ~]# kubectl label po nginx-liveness-po authxiaobai pod/nginx-liveness-po labeled[rootk8s-master ~]# kubectl get po nginx-liveness-po --show-labels NAME READY STATUS RESTARTS AGE LABELS nginx-liveness-po 1/1 Running 0 105s authxiaobai,testl.0.0,typeapp# 修改pod的label但是不加 --overwrite 会提示失败需要加 --overweite [rootk8s-master ~]# kubectl label po nginx-liveness-po authxiaohong error: auth already has a value (xiaobai), and --overwrite is false [rootk8s-master ~]# kubectl label po nginx-liveness-po authxiaohong --overwrite pod/nginx-liveness-po labeled# 修改label属性已经更改 [rootk8s-master ~]# kubectl get po nginx-liveness-po --show-labels NAME READY STATUS RESTARTS AGE LABELS nginx-liveness-po 1/1 Running 0 2m3s authxiaohong,testl.0.0,typeapp# 通过单个labe信息查找pod [rootk8s-master ~]# kubectl get po -A -l typeapp NAMESPACE NAME READY STATUS RESTARTS AGE default nginx-liveness-po 1/1 Running 0 8m27s1.2 选择器Seletor 通过yaml配置文件在各对象的配置 spec.seletor 或其他可以写selector的属性中编写。通过命令行模式语法如下 匹配但个值查找apphello的podkubectl get po -A -I apphello匹配多个值kubectl get po -A -I ‘k8s-app in (metrics-server,kubernetes-dashboard)’查找version!1 and appnginx的pod信息kubectl get po -I version!1,appnginx # 单值匹配的时候 [rootk8s-master ~]# kubectl get po -A -l typeapp --show-labels NAMESPACE NAME READY STATUS RESTARTS AGE LABELS default nginx-liveness-po 1/1 Running 0 18m authxiaohong,testl.0.0,typeapp# 显示所有的pod的label信息 [rootk8s-master ~]# kubectl get po -A --show-labels NAMESPACE NAME READY STATUS RESTARTS AGE LABELS default nginx-liveness-po 1/1 Running 0 18m authxiaohong,testl.0.0,typeapp kube-flannel kube-flannel-ds-glkkb 1/1 Running 4 (24h ago) 3d19h appflannel,controller-revision-hash7cfb6d964b,pod-template-generation1,tiernode kube-flannel kube-flannel-ds-pdmtw 1/1 Running 1 (24h ago) 44h appflannel,controller-revision-hash7cfb6d964b,pod-template-generation1,tiernode kube-flannel kube-flannel-ds-tpm8x 1/1 Running 2 (24h ago) 3d19h appflannel,controller-revision-hash7cfb6d964b,pod-template-generation1,tiernode kube-system coredns-c676cc86f-pdsl6 1/1 Running 3 (24h ago) 2d7h k8s-appkube-dns,pod-template-hashc676cc86f kube-system coredns-c676cc86f-q7hcw 1/1 Running 1 (24h ago) 2d7h k8s-appkube-dns,pod-template-hashc676cc86f kube-system etcd-k8s-master 1/1 Running 2 (24h ago) 3d20h componentetcd,tiercontrol-plane kube-system kube-apiserver-k8s-master 1/1 Running 3 (24h ago) 3d20h componentkube-apiserver,tiercontrol-plane kube-system kube-controller-manager-k8s-master 1/1 Running 4 (24h ago) 3d20h componentkube-controller-manager,tiercontrol-plane kube-system kube-proxy-n2w92 1/1 Running 4 (24h ago) 3d19h controller-revision-hashdd4c999cf,k8s-appkube-proxy,pod-template-generation1 kube-system kube-proxy-p8fhs 1/1 Running 1 (24h ago) 44h controller-revision-hashdd4c999cf,k8s-appkube-proxy,pod-template-generation1 kube-system kube-proxy-xtllb 1/1 Running 2 (24h ago) 3d20h controller-revision-hashdd4c999cf,k8s-appkube-proxy,pod-template-generation1 kube-system kube-scheduler-k8s-master 1/1 Running 4 (24h ago) 3d20h componentkube-scheduler,tiercontrol-plane# 匹配单个值 app!flannel [rootk8s-master ~]# kubectl get po -A -l app!flannel NAMESPACE NAME READY STATUS RESTARTS AGE default nginx-liveness-po 1/1 Running 0 19m kube-system coredns-c676cc86f-pdsl6 1/1 Running 3 (24h ago) 2d7h kube-system coredns-c676cc86f-q7hcw 1/1 Running 1 (24h ago) 2d7h kube-system etcd-k8s-master 1/1 Running 2 (24h ago) 3d20h kube-system kube-apiserver-k8s-master 1/1 Running 3 (24h ago) 3d20h kube-system kube-controller-manager-k8s-master 1/1 Running 4 (24h ago) 3d20h kube-system kube-proxy-n2w92 1/1 Running 4 (24h ago) 3d19h kube-system kube-proxy-p8fhs 1/1 Running 1 (24h ago) 44h kube-system kube-proxy-xtllb 1/1 Running 2 (24h ago) 3d20h kube-system kube-scheduler-k8s-master 1/1 Running 4 (24h ago) 3d20h[rootk8s-master ~]# kubectl get po -A -l app!flannel --show-labels NAMESPACE NAME READY STATUS RESTARTS AGE LABELS default nginx-liveness-po 1/1 Running 0 19m authxiaohong,testl.0.0,typeapp kube-system coredns-c676cc86f-pdsl6 1/1 Running 3 (24h ago) 2d7h k8s-appkube-dns,pod-template-hashc676cc86f kube-system coredns-c676cc86f-q7hcw 1/1 Running 1 (24h ago) 2d7h k8s-appkube-dns,pod-template-hashc676cc86f kube-system etcd-k8s-master 1/1 Running 2 (24h ago) 3d20h componentetcd,tiercontrol-plane kube-system kube-apiserver-k8s-master 1/1 Running 3 (24h ago) 3d20h componentkube-apiserver,tiercontrol-plane kube-system kube-controller-manager-k8s-master 1/1 Running 4 (24h ago) 3d20h componentkube-controller-manager,tiercontrol-plane kube-system kube-proxy-n2w92 1/1 Running 4 (24h ago) 3d19h controller-revision-hashdd4c999cf,k8s-appkube-proxy,pod-template-generation1 kube-system kube-proxy-p8fhs 1/1 Running 1 (24h ago) 44h controller-revision-hashdd4c999cf,k8s-appkube-proxy,pod-template-generation1 kube-system kube-proxy-xtllb 1/1 Running 2 (24h ago) 3d20h controller-revision-hashdd4c999cf,k8s-appkube-proxy,pod-template-generation1 kube-system kube-scheduler-k8s-master 1/1 Running 4 (24h ago) 3d20h componentkube-scheduler,tiercontrol-plane# 多值匹配 [rootk8s-master ~]# kubectl get po -A -l app!flannel,test1.0.0 --show-labels No resources found# 多值匹配多值匹配是“与”的关系不是“或”的关系 [rootk8s-master ~]# kubectl get po -A -l app!flannel,typeapp --show-labels NAMESPACE NAME READY STATUS RESTARTS AGE LABELS default nginx-liveness-po 1/1 Running 0 20m authxiaohong,testl.0.0,typeapp2、部署对象Deployment无状态应用 2.1 创建deploy 2.1.1 通过命令行创建一个deployment # 创建一个deployment [rootk8s-master ~]# kubectl create deploy nginx-deploy --imagenginx:1.20 deployment.apps/nginx-deploy created创建一个deployment 使用命令行模式kubectl create deploy nginx-deploy --imagenginx:1.20 或执行 kubectl create -f xxx.yaml --record -record会在annotation中记录当前命令创建或升级了资源后续可以查看做过哪变动操作。 2.1.2 查看deployment 信息 通过kubectl get 查看deployment可以使用deployment也可以用deploy # 通过kubectl get 查看deployment可以使用deployment也可以用deploy [rootk8s-master ~]# kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE nginx-deploy 1/1 1 1 10s[rootk8s-master ~]# kubectl get deploy NAME READY UP-TO-DATE AVAILABLE AGE nginx-deploy 1/1 1 1 14s2.1.3 查看replicasets 信息 由于创建的deployment资源包含 replicasets信息replicasets是可以自动扩容和缩容可以查看到 replicasets的名字中包含deploy资源的名字信息 # 由于deployment包含 replicasetsreplicasets是可以自动扩容和缩容可以查看到 replicasets的名字中包含deploy的名字信息 [rootk8s-master ~]# kubectl get rs NAME DESIRED CURRENT READY AGE nginx-deploy-86b7d8c46d 1 1 1 18s[rootk8s-master ~]# kubectl get replicasets.apps NAME DESIRED CURRENT READY AGE nginx-deploy-86b7d8c46d 1 1 1 38s2.1.4 查看pod 信息 可以查看到deployment创建的pod种包含 replicasets 资源的名字信息 # 下面的pod可以查看到pod的名字包含 replicasets 名字的信息 [rootk8s-master ~]# kubectl get po NAME READY STATUS RESTARTS AGE nginx-deploy-86b7d8c46d-78rj9 1/1 Running 0 46s2.1.5 通过命令行模式创建的deployment 生成 yaml信息 # 通过创建好的deploy生成yaml文件 [rootk8s-master ~]# kubectl get deploy nginx-deploy -o yaml apiVersion: apps/v1 kind: Deployment metadata:annotations:deployment.kubernetes.io/revision: 1creationTimestamp: 2024-02-23T10:59:04Zgeneration: 1labels:app: nginx-deployname: nginx-deploynamespace: defaultresourceVersion: 235341uid: def47aae-13f7-415a-a9d1-18ef72e5a925 spec:progressDeadlineSeconds: 600replicas: 1revisionHistoryLimit: 10selector:matchLabels:app: nginx-deploystrategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:creationTimestamp: nulllabels:app: nginx-deployspec:containers:- image: nginx:1.20imagePullPolicy: IfNotPresentname: nginxresources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: FilednsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30 status:availableReplicas: 1conditions:- lastTransitionTime: 2024-02-23T10:59:05ZlastUpdateTime: 2024-02-23T10:59:05Zmessage: Deployment has minimum availability.reason: MinimumReplicasAvailablestatus: Truetype: Available- lastTransitionTime: 2024-02-23T10:59:04ZlastUpdateTime: 2024-02-23T10:59:05Zmessage: ReplicaSet nginx-deploy-86b7d8c46d has successfully progressed.reason: NewReplicaSetAvailablestatus: Truetype: ProgressingobservedGeneration: 1readyReplicas: 1replicas: 1updatedReplicas: 12.1.6 查看po、rs、deploy中所有的label信息 通过以下信息可以查看到 deploy、rs、pod种都包含同一个label信息appnginx-deploy rs和pod中同时还有一个相同的pod标签信息pod-template-hash86b7d8c46d这个标签信息就是为了我们能更方便的动态创建pod使用。 [rootk8s-master ~]# kubectl get po,rs,deploy --show-labels NAME READY STATUS RESTARTS AGE LABELS pod/nginx-deploy-86b7d8c46d-78rj9 1/1 Running 0 30m appnginx-deploy,pod-template-hash86b7d8c46dNAME DESIRED CURRENT READY AGE LABELS replicaset.apps/nginx-deploy-86b7d8c46d 1 1 1 30m appnginx-deploy,pod-template-hash86b7d8c46dNAME READY UP-TO-DATE AVAILABLE AGE LABELS deployment.apps/nginx-deploy 1/1 1 1 30m appnginx-deploy2.1.7 通过2.1.5中生成的yaml信息创建yaml文件 通过命令行创建的deployment信息生成yaml信息根据我们所需信息来创建yaml文件 apiVersion: apps/v1 # deployment api版本 kind: Deployment # 资源类型为 Deployment metadata: # 原信息labels: # 标签app: nginx-deploy # 具体的标签信息appnginx-deploy key: value 配置形式name: nginx-deploy # deployment的名字namespace: default # 所在的命名空间 spec:replicas: 1 # 期望副本数revisionHistoryLimit: 10 # 进行滚动更新后保留的历史版本数量selector: # 选择器用于找到匹配的RSmatchLabels: # 按照标签匹配app: nginx-deploy # 匹配的标签strategy: #更新策略rollingUpdate: # 滚动更新配置maxSurge: 25% # 滚动更新时更新的个数最多超过多少个期望副本数或者比例maxUnavailable: 25% # 进行滚动更新时最大不可用比例更新比例表示在所有副本数中最多可以有多少个不更新成功type: RollingUpdate # 更新类型采用滚动更新template: # pod 模板metadata: # pod模板的元信息labels: # pod模板的标签app: nginx-deploy # pod模板的标签信息spec: # pod 期望信息containers: # pod 的容器信息- image: nginx:1.20 # 镜像信息imagePullPolicy: IfNotPresent # 镜像拉取策略name: nginx # 容器名字restartPolicy: Always # pod的重启策略terminationGracePeriodSeconds: 30 # pod的过期时间2.2 滚动更新 只有修改了deployment 配置文件文件中的template中的属性后才会触发滚动更新操作 2.2.1 修改deploy中的其他属性查看pod是否会更新 [rootk8s-master ~]# kubectl get deployments --show-labels NAME READY UP-TO-DATE AVAILABLE AGE LABELS nginx-deploy 1/1 1 1 44m appnginx-deploy[rootk8s-master ~]# kubectl edit deployments nginx-deploy deployment.apps/nginx-deploy edited可以通过下面新的看到我们的deploy更新并没有导致pod更新只是把新加的标签给更新到了deploy上。 [rootk8s-master ~]# kubectl get deployments --show-labels NAME READY UP-TO-DATE AVAILABLE AGE LABELS nginx-deploy 1/1 1 1 49m appnginx-deploy,new-versiontest# rs和pod并没有这个标签信息 [rootk8s-master ~]# kubectl get deployments,rs,pod --show-labels NAME READY UP-TO-DATE AVAILABLE AGE LABELS deployment.apps/nginx-deploy 1/1 1 1 51m appnginx-deploy,new-versiontestNAME DESIRED CURRENT READY AGE LABELS replicaset.apps/nginx-deploy-86b7d8c46d 1 1 1 51m appnginx-deploy,pod-template-hash86b7d8c46dNAME READY STATUS RESTARTS AGE LABELS pod/nginx-deploy-86b7d8c46d-78rj9 1/1 Running 0 51m appnginx-deploy,pod-template-hash86b7d8c46d 2.2.2 修改这个deploy的副本数 [rootk8s-master ~]# kubectl get deploy nginx-deploy --show-labels NAME READY UP-TO-DATE AVAILABLE AGE LABELS nginx-deploy 3/3 3 3 55m appnginx-deploy,new-versiontest [rootk8s-master ~]# kubectl describe deployments nginx-deploy Name: nginx-deploy Namespace: default CreationTimestamp: Fri, 23 Feb 2024 18:59:04 0800 Labels: appnginx-deploynew-versiontest Annotations: deployment.kubernetes.io/revision: 1 Selector: appnginx-deploy Replicas: 3 desired | 3 updated | 3 total | 3 available | 0 unavailable StrategyType: RollingUpdate MinReadySeconds: 0 RollingUpdateStrategy: 25% max unavailable, 25% max surge Pod Template:Labels: appnginx-deployContainers:nginx:Image: nginx:1.20Port: noneHost Port: noneEnvironment: noneMounts: noneVolumes: none Conditions:Type Status Reason---- ------ ------Progressing True NewReplicaSetAvailableAvailable True MinimumReplicasAvailable OldReplicaSets: none NewReplicaSet: nginx-deploy-86b7d8c46d (3/3 replicas created) Events:Type Reason Age From Message---- ------ ---- ---- -------Normal ScalingReplicaSet 55m deployment-controller Scaled up replica set nginx-deploy-86b7d8c46d to 1Normal ScalingReplicaSet 27s deployment-controller Scaled up replica set nginx-deploy-86b7d8c46d to 3 from 1 [rootk8s-master ~]#通过增加副本数后我们可以看到deploy变为了3rs为1pod为3pod的模版使用的都是同一个模版。 [rootk8s-master ~]# kubectl get deployments,rs,po --show-labels NAME READY UP-TO-DATE AVAILABLE AGE LABELS deployment.apps/nginx-deploy 3/3 3 3 57m appnginx-deploy,new-versiontestNAME DESIRED CURRENT READY AGE LABELS replicaset.apps/nginx-deploy-86b7d8c46d 3 3 3 57m appnginx-deploy,pod-template-hash86b7d8c46dNAME READY STATUS RESTARTS AGE LABELS pod/nginx-deploy-86b7d8c46d-6cf95 1/1 Running 0 93s appnginx-deploy,pod-template-hash86b7d8c46d pod/nginx-deploy-86b7d8c46d-78rj9 1/1 Running 0 57m appnginx-deploy,pod-template-hash86b7d8c46d pod/nginx-deploy-86b7d8c46d-vjncw 1/1 Running 0 93s appnginx-deploy,pod-template-hash86b7d8c46d2.2.3 通过edit选项编辑template属性后我们看看会发生那些变化 通过实时监控deploy的时候可以看到deploy的变化 [rootk8s-master ~]# kubectl get deployments.apps nginx-deploy -w NAME READY UP-TO-DATE AVAILABLE AGE nginx-deploy 3/3 3 3 61m nginx-deploy 3/3 3 3 61m nginx-deploy 3/3 3 3 61m nginx-deploy 3/3 0 3 61m nginx-deploy 3/3 1 3 61m nginx-deploy 4/3 1 4 62m nginx-deploy 3/3 1 3 62m nginx-deploy 3/3 2 3 62m nginx-deploy 4/3 2 4 62m nginx-deploy 3/3 2 3 62m nginx-deploy 3/3 3 3 62m nginx-deploy 4/3 3 4 62m nginx-deploy 3/3 3 3 62m# 通过这个命令可以看到更新的状态为成功了 [rootk8s-master ~]# kubectl rollout status deployment nginx-deploy deployment nginx-deploy successfully rolled out2.2.4 修改set选项编辑刚才的镜像信息看看更新如何 [rootk8s-master ~]# kubectl set image deployment/nginx-deploy nginxnginx:1.20 deployment.apps/nginx-deploy image updated[rootk8s-master ~]# kubectl get deployments.apps nginx-deploy -w NAME READY UP-TO-DATE AVAILABLE AGE nginx-deploy 3/3 3 3 72m nginx-deploy 3/3 3 3 72m nginx-deploy 3/3 3 3 72m nginx-deploy 3/3 0 3 72m nginx-deploy 3/3 1 3 72m nginx-deploy 4/3 1 4 72m nginx-deploy 3/3 1 3 72m nginx-deploy 3/3 2 3 72m nginx-deploy 4/3 2 4 72m nginx-deploy 3/3 2 3 72m nginx-deploy 3/3 3 3 72m nginx-deploy 4/3 3 4 72m nginx-deploy 3/3 3 3 72m 通过如下信息可以看到新的nginx pod信息可以看到他滚动更新到刚开始的rs信息 [rootk8s-master ~]# kubectl get rs NAME DESIRED CURRENT READY AGE nginx-deploy-6bf65c4445 0 0 0 17m nginx-deploy-86b7d8c46d 3 3 3 79m [rootk8s-master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE nginx-deploy-86b7d8c46d-4s98c 1/1 Running 0 7m17s nginx-deploy-86b7d8c46d-7s9gz 1/1 Running 0 7m19s nginx-deploy-86b7d8c46d-w8ljk 1/1 Running 0 7m15s2.3 回滚操作 有时候你可能想回退一个Deployment例如当Deployment不稳定时比如一直crash looping。 默认侍况下kubernetes会在系统中保存前两次的Deployment的rollout历史记录以便你可以随时会退你可以修改revisionhistory limit来更改保存的revision数) 2.3.1 通过set选项修改一个错误的images信息 [rootk8s-master ~]# kubectl set image deployment/nginx-deploy nginxnginx:1.200 deployment.apps/nginx-deploy image updated# 可以看到一个更新的这个nginx的状态是ImagePullBackOff [rootk8s-master ~]# kubectl get pod -w NAME READY STATUS RESTARTS AGE nginx-deploy-85bc5c8fdb-h4rmn 0/1 ImagePullBackOff 0 83s nginx-deploy-86b7d8c46d-4s98c 1/1 Running 0 25m nginx-deploy-86b7d8c46d-7s9gz 1/1 Running 0 25m nginx-deploy-86b7d8c46d-w8ljk 1/1 Running 0 25m使用命令kubectl describe pod nginx-deploy-85bc5c8fdb-h4rmn 可以查看到这个新的pod信息 2.3.2 通过edit选项查看这个deploy的信息 2.3.3 查看历史的版本信息 [rootk8s-master ~]# kubectl rollout history deployment/nginx-deploy --revision0 deployment.apps/nginx-deploy REVISION CHANGE-CAUSE 2 none 3 none 4 none2.3.4 查看历史更新的具体信息 [rootk8s-master ~]# kubectl rollout history deployment/nginx-deploy --revision4 deployment.apps/nginx-deploy with revision #4 Pod Template:Labels: appnginx-deploypod-template-hash85bc5c8fdbContainers:nginx:Image: nginx:1.200Port: noneHost Port: noneEnvironment: noneMounts: noneVolumes: none[rootk8s-master ~]# kubectl rollout history deployment/nginx-deploy --revision3 deployment.apps/nginx-deploy with revision #3 Pod Template:Labels: appnginx-deploypod-template-hash86b7d8c46dContainers:nginx:Image: nginx:1.20Port: noneHost Port: noneEnvironment: noneMounts: noneVolumes: none[rootk8s-master ~]# kubectl rollout history deployment/nginx-deploy --revision2 deployment.apps/nginx-deploy with revision #2 Pod Template:Labels: appnginx-deploypod-template-hash6bf65c4445Containers:nginx:Image: nginx:1.21Port: noneHost Port: noneEnvironment: noneMounts: noneVolumes: none 2.3.5 回滚为revision3的版本 [rootk8s-master ~]# kubectl rollout undo deployment/nginx-deploy --to-revision3 deployment.apps/nginx-deploy rolled back[rootk8s-master ~]# kubectl rollout status deployments.apps nginx-deploy deployment nginx-deploy successfully rolled out如下已经回滚为了revision3的版本。 [rootk8s-master ~]# kubectl describe deployments nginx-deploy Name: nginx-deploy Namespace: default CreationTimestamp: Fri, 23 Feb 2024 18:59:04 0800 Labels: appnginx-deploynew-versiontest Annotations: deployment.kubernetes.io/revision: 5 Selector: appnginx-deploy Replicas: 3 desired | 3 updated | 3 total | 3 available | 0 unavailable StrategyType: RollingUpdate MinReadySeconds: 0 RollingUpdateStrategy: 25% max unavailable, 25% max surge Pod Template:Labels: appnginx-deployContainers:nginx:Image: nginx:1.20Port: noneHost Port: noneEnvironment: noneMounts: noneVolumes: none Conditions:Type Status Reason---- ------ ------Available True MinimumReplicasAvailableProgressing True NewReplicaSetAvailable OldReplicaSets: none NewReplicaSet: nginx-deploy-86b7d8c46d (3/3 replicas created) Events:Type Reason Age From Message---- ------ ---- ---- -------Normal ScalingReplicaSet 57m deployment-controller Scaled up replica set nginx-deploy-86b7d8c46d to 3 from 1Normal ScalingReplicaSet 51m deployment-controller Scaled up replica set nginx-deploy-6bf65c4445 to 1Normal ScalingReplicaSet 50m deployment-controller Scaled down replica set nginx-deploy-86b7d8c46d to 2 from 3Normal ScalingReplicaSet 50m deployment-controller Scaled up replica set nginx-deploy-6bf65c4445 to 2 from 1Normal ScalingReplicaSet 49m deployment-controller Scaled down replica set nginx-deploy-86b7d8c46d to 1 from 2Normal ScalingReplicaSet 49m deployment-controller Scaled up replica set nginx-deploy-6bf65c4445 to 3 from 2Normal ScalingReplicaSet 49m deployment-controller Scaled down replica set nginx-deploy-86b7d8c46d to 0 from 1Normal ScalingReplicaSet 40m deployment-controller Scaled up replica set nginx-deploy-86b7d8c46d to 1 from 0Normal ScalingReplicaSet 40m deployment-controller Scaled down replica set nginx-deploy-6bf65c4445 to 2 from 3Normal ScalingReplicaSet 40m (x4 over 40m) deployment-controller (combined from similar events): Scaled down replica set nginx-deploy-6bf65c4445 to 0 from 1Normal ScalingReplicaSet 16m deployment-controller Scaled up replica set nginx-deploy-85bc5c8fdb to 1Normal ScalingReplicaSet 116s deployment-controller Scaled down replica set nginx-deploy-85bc5c8fdb to 0 from 12.3.6 为啥可以回退为revision3呢 可以通过设置spec.revisonHistoryLimit来指定deployment保留多少revision。如果revisonHistoryLimit设置为0则不允许deployment回退了。 2.4 扩容和缩容 扩缩容命令 kubectl scale --replicas6 deployment nginx-deploy扩容和缩容一样只需要通过–replicas 指定数量即可 2.4.1 扩容 # 目前有3个pod扩容到6个 [rootk8s-master ~]# kubectl scale --replicas6 deployment nginx-deploy deployment.apps/nginx-deploy scaled [rootk8s-master ~]# kubectl get deployments nginx-deploy NAME READY UP-TO-DATE AVAILABLE AGE nginx-deploy 6/6 6 6 5h43m [rootk8s-master ~]# kubectl get rs NAME DESIRED CURRENT READY AGE nginx-deploy-6bf65c4445 0 0 0 4h42m nginx-deploy-85bc5c8fdb 0 0 0 4h7m nginx-deploy-86b7d8c46d 6 6 6 5h43m [rootk8s-master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE nginx-deploy-86b7d8c46d-4s98c 1/1 Running 0 4h31m nginx-deploy-86b7d8c46d-7s9gz 1/1 Running 0 4h31m nginx-deploy-86b7d8c46d-n2m6j 1/1 Running 0 33s nginx-deploy-86b7d8c46d-w8ljk 1/1 Running 0 4h31m nginx-deploy-86b7d8c46d-wgdnv 1/1 Running 0 33s nginx-deploy-86b7d8c46d-z86rx 1/1 Running 0 33s2.4.1 缩容 # 缩容有6个pod现在缩容到4个pod [rootk8s-master ~]# kubectl scale --replicas4 deployment nginx-deploy deployment.apps/nginx-deploy scaled [rootk8s-master ~]# kubectl get deployments nginx-deploy NAME READY UP-TO-DATE AVAILABLE AGE nginx-deploy 4/4 4 4 5h45m [rootk8s-master ~]# kubectl get rs NAME DESIRED CURRENT READY AGE nginx-deploy-6bf65c4445 0 0 0 4h44m nginx-deploy-85bc5c8fdb 0 0 0 4h9m nginx-deploy-86b7d8c46d 4 4 4 5h45m [rootk8s-master ~]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-deploy-86b7d8c46d-4s98c 1/1 Running 0 4h33m 10.2.2.12 k8s-node-01 none none nginx-deploy-86b7d8c46d-7s9gz 1/1 Running 0 4h33m 10.2.1.28 k8s-node-02 none none nginx-deploy-86b7d8c46d-w8ljk 1/1 Running 0 4h33m 10.2.1.29 k8s-node-02 none none nginx-deploy-86b7d8c46d-z86rx 1/1 Running 0 2m33s 10.2.2.14 k8s-node-01 none none2.5 暂停和恢复 由于每次对pod 的 template中的信息发生修改后都会触发更新deployment操作那么此时如果频繁修改信息就会产生多次更新而实际上只需要执行最后一次更新即可当出现此类情况时我们就可以暂停deployment的 rollout。 2.5.1 给template添加一个最小cpu和内存的参数 2.5.2 暂停deploy更新 通过kubectl rollout pause deployment name 就可以实现暂停直到你下次恢复后才会继续进行滚动更新。 # 暂时deploy更新 [rootk8s-master ~]# kubectl rollout pause deployment nginx-deploy deployment.apps/nginx-deploy paused2.5.3 再次更新template给cpu和内存添加一个最大参数 这次更新过之后rs信息和pod信息都没有发生改变是由于我们暂停了deploy的更新 [rootk8s-master ~]# kubectl edit deploy nginx-deploy deployment.apps/nginx-deploy edited[rootk8s-master ~]# kubectl get rs NAME DESIRED CURRENT READY AGE nginx-deploy-6bf65c4445 0 0 0 5h7m nginx-deploy-6dc7697cfb 3 3 3 8m33s nginx-deploy-85bc5c8fdb 0 0 0 4h32m nginx-deploy-86b7d8c46d 0 0 0 6h8m [rootk8s-master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE nginx-deploy-6dc7697cfb-6p9mj 1/1 Running 0 8m38s nginx-deploy-6dc7697cfb-lc472 1/1 Running 0 8m37s nginx-deploy-6dc7697cfb-w295s 1/1 Running 0 8m35s2.5.4 查看更新信息 通过下面的信息可以看到刚才添加cpu和内存参数在更新历史列表里面没有显示说明我们的deploy没有更新 [rootk8s-master ~]# kubectl rollout history deployment nginx-deploy --revision0 deployment.apps/nginx-deploy REVISION CHANGE-CAUSE 2 none 4 none 5 none 6 none[rootk8s-master ~]# kubectl rollout history deployment nginx-deploy --revision6 deployment.apps/nginx-deploy with revision #6 Pod Template:Labels: appnginx-deploypod-template-hash6dc7697cfbContainers:nginx:Image: nginx:1.20Port: noneHost Port: noneRequests:cpu: 100mmemory: 128MiEnvironment: noneMounts: noneVolumes: none 2.5.5 恢复deploy的更新 启动deploy的更新 [rootk8s-master ~]# kubectl rollout resume deployment nginx-deploy deployment.apps/nginx-deploy resumed这里 rs 已经发生了改变 [rootk8s-master ~]# kubectl get rs NAME DESIRED CURRENT READY AGE nginx-deploy-57bf686b9d 3 3 3 12s nginx-deploy-6bf65c4445 0 0 0 5h15m nginx-deploy-6dc7697cfb 0 0 0 17m nginx-deploy-85bc5c8fdb 0 0 0 4h41m nginx-deploy-86b7d8c46d 0 0 0 6h17m刚才查询的历史更新版本只有4个现在又多了一个 [rootk8s-master ~]# kubectl rollout history deployment nginx-deploy --revision0 deployment.apps/nginx-deploy REVISION CHANGE-CAUSE 2 none 4 none 5 none 6 none 7 none通过历史更新版本信息可以看到我们添加的最大cpu和内存参数都发生了改变。 [rootk8s-master ~]# kubectl rollout history deployment nginx-deploy --revision7 deployment.apps/nginx-deploy with revision #7 Pod Template:Labels: appnginx-deploypod-template-hash57bf686b9dContainers:nginx:Image: nginx:1.20Port: noneHost Port: noneLimits:cpu: 500mmemory: 512MiRequests:cpu: 100mmemory: 128MiEnvironment: noneMounts: noneVolumes: none2.6 配置文件部署无状态服务nginx的yaml文件 [rootk8s-master ~]# cat nginx-deploy.yaml apiVersion: apps/v1 # deployment api版本 kind: Deployment # 资源类型为 Deployment metadata: # 原信息labels: # 标签app: nginx-deploy # 具体的标签信息appnginx-deploy key: value 配置形式name: nginx-deploy # deployment的名字namespace: default # 所在的命名空间 spec:replicas: 1 # 期望副本数revisionHistoryLimit: 10 # 进行滚动更新后保留的历史版本数量selector: # 选择器用于找到匹配的RSmatchLabels: # 按照标签匹配app: nginx-deploy # 匹配的标签strategy: #更新策略rollingUpdate: # 滚动更新配置maxSurge: 25% # 滚动更新时更新的个数最多超过多少个期望副本数或者比例maxUnavailable: 25% # 进行滚动更新时最大不可用比例更新比例表示在所有副本数中最多可以有多少个不更新成功type: RollingUpdate # 更新类型采用滚动更新template: # pod 模板metadata: # pod模板的元信息labels: # pod模板的标签app: nginx-deploy # pod模板的标签信息spec: # pod 期望信息containers: # pod 的容器信息- image: nginx:1.20 # 镜像信息imagePullPolicy: IfNotPresent # 镜像拉取策略name: nginx # 容器名字restartPolicy: Always # pod的重启策略terminationGracePeriodSeconds: 30 # pod的过期时间
http://www.tj-hxxt.cn/news/132486.html

相关文章:

  • 海口免费做网站信息服务平台怎么赚钱
  • 漂亮的网站改版中 html代码网站建设和前端开发的区别
  • 网站建设与域名建设微信代运营
  • 企业网站名称怎么写企业邮箱域名解析
  • 重庆做木门网站公司简介本地营销型网站建设
  • 桂林的网站建设公司cms开发教程
  • 房地产网站的设计要求接兼职建设网站
  • 网站被加黑链免费推广网站排名
  • 网站的设计理念专业网站制作需要多少钱
  • 招聘网站开发需要多长时间什么响应式网站
  • 网站建设视频教程最新外贸网站高端定做
  • 黄岛网站建设个人注册公司代理
  • 馀姚网站建设wordpress怎么填写
  • 郑州 做网站宝和网站建设
  • 哪里有做网站系统的app平台搭建
  • 做网站接电话一般要会什么问题济南英文网站建设
  • 新网站如何做搜索引擎收录校园网站建设重要性
  • 额敏网站建设汕头seo建站
  • 二手车网站开发没有基础学做网站
  • wordpress 无法创建目录 linux南通百度网站快速优化
  • 企业网站的用户需求建设一个商城网站需要多少钱
  • 哪个网站课件做的比较好莱芜东风街吧
  • 公众号申请网站海南网页制作
  • 精密模具东莞网站建设如何运行安装wordpress
  • 哈尔滨做网站哪家好强论坛网站需要多大的空间
  • 网站建设错误代码50019wordpress 覆盖原始图片对比效果
  • 怎么自己编码做网站企业邮箱域名怎么填写
  • 网站制作自己接单wordpress 判断语句
  • 深圳做棋牌网站建设哪家公司收费合理qq星是哪个公司的产品
  • 具体的网站建设方案常州模板网站建设信息