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 ...
随机推荐
- Python排序算法——快速排序
有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10768593.html 排序算法(Sortin ...
- (转)MySQL慢查询分析优化 + MySQL调优
.long_query_time的默认值为10,意思是运行10S以上的语句. .临时设置开启慢查询日志 mysql> show variables like '%slow_query_log%' ...
- 下拉框选择blur与click冲突问题
缘由:今天在做下拉框选择时,遇到click和blur冲突问题:具体现象如下 1.intput框获取焦点(focus事件)时显示隐藏的下拉框,失去焦点(blur事件)则隐藏下拉框 2.点击选择(clic ...
- Project Tungsten:让Spark将硬件性能压榨到极限(转载)
在之前的博文中,我们回顾和总结了2014年Spark在性能提升上所做的努力.本篇博文中,我们将为你介绍性能提升的下一阶段——Tungsten.在2014年,我们目睹了Spark缔造大规模排序的新世界纪 ...
- Ubuntu Server 18.04 修改网路配置
新的Ubuntu 服务器采用netplan管理网络配置,跟以前的配置有很大的区别. 实际可行的办法是修改/etc/netplan/01-netcfg.yaml文件: sudo vim /etc/net ...
- poj3468 线段树的懒惰标记
题目链接:poj3468 题意:给定一段数组,有两种操作,一种是给某段区间加c,另一种是查询一段区间的和 思路:暴力的方法是每次都给这段区间的点加c,查询也遍历一遍区间,复杂度是n*n,肯定过不去,另 ...
- python获取当前日期时间
转载自:https://www.cnblogs.com/wenBlog/p/6023742.html 在Python里如何获取当前的日期和时间呢?在Python语言里,我们可以通过调用什么模块或者类函 ...
- Golang中进行reslice时的注意事项
先看下面代码: package main import "fmt" func main() { slice := []int{0, 1, 2, 3, 4, 5, 6, 7, 8} ...
- #Leetcode# 524. Longest Word in Dictionary through Deleting
https://leetcode.com/problems/longest-word-in-dictionary-through-deleting/ Given a string and a stri ...
- yum 命令
yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 基於RPM包管理,能够从指定的服务器自动下载RPM包 ...