9.Pod控制器概念和基本操作2
[root@master song]# cat deploy.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deploy
namespace: default
spec:
replicas:
selector:
matchLabels:
app: myapp
release: canary
template:
metadata:
labels:
app: myapp
release: canary
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
Pod.yml
启动控制器
kubectl create --save-config -f deploy.yml
[root@master song]# !
kubectl get pod -l app=myapp
NAME READY STATUS RESTARTS AGE
myapp-deploy-7769f49474-lq7dw / Running 14m
myapp-deploy-7769f49474-v4nj4 / Running 14m
查看deployment和rs之间的命名关系
[root@master song]# kubectl get deployments.
NAME READY UP-TO-DATE AVAILABLE AGE
myapp-deploy / 15m
nginx-test / 6d21h
tomcat-test / 6d18h
[root@master song]# kubectl get rs
NAME DESIRED CURRENT READY AGE
myapp-deploy-7769f49474 15m rs控制器的名字为deployment的名称+随机串
nginx-test-8bbbdc7d5 6d21h
nginx-test-8f5f46d94 6d20h
tomcat-test-76789745c5 6d18h
编辑配置文件 将 replicas改为3
使用 kubectl get pods -l app=myapp -w
^C[root@master ~]# kubectl get pods -l app=myapp -w
NAME READY STATUS RESTARTS AGE
myapp-deploy-84d9546645-l6gvz / Running 6m3s
myapp-deploy-84d9546645-lmn8n / Running 6m3s
pod-demo / Running 2d3h
myapp-deploy-84d9546645-tjhtr / Pending 0s
myapp-deploy-84d9546645-tjhtr / Pending 0s
myapp-deploy-84d9546645-tjhtr / ContainerCreating 0s
myapp-deploy-84d9546645-tjhtr / Running 2s
在将配置文件中 副本数一值改为5,进行版本升级操作
是控制器配置生效的集中操作 apply直接更改配置文件 edit 编辑动态配置 path 命令行动态的以json形式进行资源更改
kubectl patch deployments myapp-deploy -p '{"spec":{"strategy":{"rollingUpdate":{"maxSurge":1,"maxUnavailable":0}}}}' 字母不能错,错了不提示
查看最新描述中有关rollingUpdate 的部分操作
Selector: app=myapp,release=canary
Replicas: desired | updated | total | available | unavailable
StrategyType: RollingUpdate
MinReadySeconds:
RollingUpdateStrategy: max unavailable, max surge
进行版本更新,并在途中执行pause命令来进行服务暂停
[root@master song]# kubectl set image deployment myapp-deploy myapp=ikubernetes/myapp:v2 && kubectl rollout pause deployment myapp-deploy
deployment.extensions/myapp-deploy image updated
deployment.extensions/myapp-deploy paused 查看状态
[root@master ~]# kubectl get pods -l app=myapp -w
NAME READY STATUS RESTARTS AGE
myapp-deploy-7769f49474-8zxl2 / Running 13m
myapp-deploy-7769f49474-jsj6l / Running 20m
myapp-deploy-7769f49474-nkr5g / Running 13m
myapp-deploy-7769f49474-vc6dg / Running 20m
myapp-deploy-7769f49474-wg2cx / Running 20m
pod-demo / Running 2d4h
myapp-deploy-84d9546645-v55vd / Pending 0s
myapp-deploy-84d9546645-v55vd / Pending 0s
myapp-deploy-84d9546645-v55vd / ContainerCreating 0s
myapp-deploy-84d9546645-v55vd / Running 1s describe 来查看资源状态,5个副本中多出来一个就是我们的新启动的这个 Selector: app=myapp,release=canary
Replicas: desired | updated | total | available | unavailable
StrategyType: RollingUpdate
MinReadySeconds:
RollingUpdateStrategy: max unavailable, max surge
Pod Template:
Daemonset 控制器
9.Pod控制器概念和基本操作2的更多相关文章
- kubernetes系列07—Pod控制器详解
本文收录在容器技术学习系列文章总目录 1.Pod控制器 1.1 介绍 Pod控制器是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试 进行重启,当根据重启策略无 ...
- Kubernetes的pod控制器及ReplicaSet控制器类型的pod的定义
为什么需要Pod Kubernetes项目之所以这么做的原因: 因为Kubernetes是谷歌公司基于Borg项目做出来的,谷歌工程师发现,他们部署的应用往往存在这进程与进程组的关系.具体说呢,就是这 ...
- k8s学习笔记之六:Pod控制器(kube-controller-manager)
第一章.什么是kube-controller-manager? Controller Manager 由 kube-controller-manager 和 cloud-controller-mana ...
- kubernetes 的pod控制器
转载于网络 pod是kubernetes的最小单元,自主式创建的pod删除就没有了,但是通过资源控制器创建的pod如果删除还会重建.pod控制器就是用于实现代替我们去管理pod的中间层,并帮我们确 ...
- Kubernetes学习之路(十二)之Pod控制器--ReplicaSet、Deployment
一.Pod控制器及其功用 Pod控制器是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试 进行重启,当根据重启策略无效,则会重新新建pod的资源. pod控制器 ...
- InfluxDB概念和基本操作 二
InfluxDB概念和基本操作 InfluxDB基本概念 数据格式 在 InfluxDB 中,我们可以粗略的将要存入的一条数据看作一个虚拟的 key 和其对应的 value(field value ...
- k8s的Pod控制器
pod的配置清单常见选项: apiVersion,kind,metadata,spec,status(只读) spec: containers: nodeSelector: nodeName: res ...
- k8s之pod控制器
1.生产中,很少会跑一个自主式pod,一般由控制器去创建pod,其配置文件中内嵌了pod的创建方式. pod控制器:ReplicaSet.Deployment.DaemonSet.Job.Cronjo ...
- 05-kubernetes Pod控制器应用进阶
目录 Pod 资源 标签 给资源打标签 标签选择器 Pod 生命周期 实际操作 livenessProbe 实战 livenessProbe exec 测试 livenessProbe httpGet ...
随机推荐
- 从零开始搭建django前后端分离项目 系列四(实战之实时进度)
本项目实现了任务执行的实时进度查询 实现方式 前端websocket + 后端websocket + 后端redis订阅/发布 实现原理 任务执行后,假设用变量num标记任务执行的进度,然后将num发 ...
- zookeepeer使用java api
一.引入依赖 <!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper --> <dependen ...
- Python_老男孩练习题1
get有陷阱:value 5.以下打印的内容是:—————— —————— —————— [10, 'a'] [123] [10, 'a'] #方法一: 将list 转为 set #l ...
- 割顶树 BZOJ1123 BLO
无向图中,求去掉点x[1,n]后每个联通块的大小. 考虑tarjan求bcc的dfs树,对于每个点u及其儿子v,若low[v]<prv[u],则v对u的父亲联通块有贡献,否则对u的子树有贡献.每 ...
- plw的骰子
链接 [http://murphyc.fun/problem/4007] 题意 描述 duxing2016有一个神奇的骰子,投出1-6的概率为(p1,p2...p6) 现在他投n次骰子,问投出点数和大 ...
- c语言之sizeof的细节
关于sizeof,我们知道sizeof并不是一个函数,尽管通常我们会用sizeof()用法(这是c语言的坑),在此关于sizeof的一些关键不被认知的进行一下总结: # include "i ...
- 三次握手复习TCP
临近下班,突然想起三次握手的概念有点模糊. 大学时候的<计算机网络>是英语版的,那时候学习迷迷糊糊的.大概记得一个模型罢了. 幸好,大学基本所有的书都卖了,就是计算机网络没卖.待会回去看看 ...
- PS 十分钟教你做出文字穿插效果
- openstack-KVM-Memory
一.Memory 1.查看memory信息 free -g cat /proc/meminfo dmesg | grep Memory 2.xml文件中的内存信息: vim /etc/libvirt/ ...
- stark组件数据库管理软件的总结
1.stark - 总结 用到的知识点: 1.单例模式 2.继承 3.反射 4.面向对象 5.modelform 1.注册表 单例模式 site = StarkSite() 2.生成url url ...