首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
1. Pod
1.1. Pod介绍
1.1.1. Pod简介
1.1.2. Pod生命周期
1.1.3. Pod状态
1.2. Pod模板
1.2.1. apiversion/kind
1.2.2. metadata
1.2.3. spec
1.2.4. k8s和image中的命令
1.2.5. 就绪性探测和存活性探测
1.3. 案例
1.3.1. 创建简单pod
1.3.2. 带健康检测的pod
2. Deployment
2.1. 介绍
2.1.1. 简介
2.1.2. 部署方式
2.1.3. Deployment升级方案
2.2. 模板
2.3. 案例
2.3.1. 创建deployment
2.3.2. 模拟蓝绿发布
2.3.3. 滚动发布
2.3.4. 模拟灰度(金丝雀)发布
2.3.5. 版本回滚
2.3.6. 常用命令
3. DaemonSet
3.1. DaemonSet介绍
3.2. 模板
3.3. 案例
3.3.1. 创建daemonset
3.3.2. 升级daemonset
4. Job
4.1. Job介绍
4.2. 模板
4.3. 案例
5. CronJob
5.1. cronjob介绍
5.2. 模板
5.3. 案例
6. StatefulSet
6.1. 介绍
6.1.1. Statefulset使用场景
6.1.2. Statefulset注意项
6.2. 模板
6.3. 案例
6.3.1. 创建Statefulset资源
6.3.2. 扩缩容
6.3.3. 滚动更新
6.3.4. 删除Statefulset
6.3.5. 部署有状态应用一般思路
7. 原理分析
8. 调度
8.1. 调度器
8.2. 节点选择器
8.3. 节点亲和性
8.4. Pod亲和性
8.5. 污点和污点容忍度
当前位置:
首页>>
技术小册>>
Kubernets合辑5-Pod控制器
小册名称:Kubernets合辑5-Pod控制器
通过定义 maxsurge 和 maxUnavailable 来实现滚动升级的速度,滚动升级中,可以使用 kubectl rollout pause 来实现暂停。 ``` [root@hdss7-200 deployment]# vim /data/k8s-yaml/base_resource/deployment/nginx-v1.14.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deploy namespace: app spec: replicas: 5 selector: matchLabels: app: nginx release: stable tier: slb partition: website strategy: rollingUpdate: # 以下两项,控制升级速度 maxSurge: 1 maxUnavailable: 0 template: metadata: labels: app: nginx release: stable tier: slb partition: website # 修改版本 version: v1.14 spec: containers: - name: nginx-pod # 修改镜像版本 image: harbor.od.com/public/nginx:v1.14 lifecycle: postStart: exec: command: - /bin/bash - -c - "echo 'health check ok!' > /usr/share/nginx/html/health.html" readinessProbe: initialDelaySeconds: 5 httpGet: port: 80 path: /health.html livenessProbe: initialDelaySeconds: 10 periodSeconds: 5 httpGet: port: 80 path: /health.html ``` ``` [root@hdss7-21 ~]# kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.14.yaml --record=true [root@hdss7-21 ~]# kubectl get rs -n app -l tier=slb -L version # replicaset 数量增加 NAME DESIRED CURRENT READY AGE VERSION nginx-deploy-5597c8b45 0 0 0 155m v1.12 nginx-deploy-6bd88df699 0 0 0 154m v1.13 nginx-deploy-7c5976dcd9 5 5 5 83s v1.14 [root@hdss7-21 ~]# kubectl rollout history deployment nginx-deploy -n app # 升级记录 REVISION CHANGE-CAUSE 1 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.12.yaml --record=true 2 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.13.yaml --record=true 3 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.14.yaml --record=true ``` ``` [root@hdss7-21 ~]# kubectl get pod -n app -l partition=website -L version -w # 逐个滚动升级 NAME READY STATUS RESTARTS AGE VERSION nginx-deploy-6bd88df699-242fr 1/1 Running 0 152m v1.13 nginx-deploy-6bd88df699-4kj8z 1/1 Running 0 152m v1.13 nginx-deploy-6bd88df699-8j85n 1/1 Running 0 152m v1.13 nginx-deploy-6bd88df699-8pmdg 1/1 Running 0 152m v1.13 nginx-deploy-6bd88df699-n7x6n 1/1 Running 0 152m v1.13 nginx-deploy-7c5976dcd9-ttlqx 0/1 Pending 0 0s v1.14 nginx-deploy-7c5976dcd9-ttlqx 0/1 Pending 0 0s v1.14 nginx-deploy-7c5976dcd9-ttlqx 0/1 ContainerCreating 0 0s v1.14 nginx-deploy-7c5976dcd9-ttlqx 0/1 Running 0 1s v1.14 nginx-deploy-7c5976dcd9-ttlqx 1/1 Running 0 9s v1.14 nginx-deploy-6bd88df699-8pmdg 1/1 Terminating 0 153m v1.13 ...... ```
上一篇:
2.3.2. 模拟蓝绿发布
下一篇:
2.3.4. 模拟灰度(金丝雀)发布
该分类下的相关小册推荐:
Kubernetes合辑1-安装Kubernetes
Kubernetes中文教程(三)
Kubernets合辑8-权限控制
Kubernets合辑9-资源约束
Kubernets合辑2-部署Ingress
Kubernets合辑15-持续部署
Kubernetes中文教程(四)
Kubernets合辑14-日志收集
Kubernets合辑10-网络
Kubernets合辑13-集群监控
Kubernets合辑11-持续集成
Kubernets合辑12-配置中心