《Kubernetes权威指南》——运维技巧
1 Node的隔离和恢复
方法1:
- 创建新的Node配置文件指定
spec.unschedulable: true - 通过kubectl replace完成对Node的状态修改
kubectl replace -f xxx.yaml
- 此时Node的状态增加一项SchedulingDisabled,后续创建Pod将不会对该Node进行调度
- 创建新的Node配置文件指定
方法2:
kubectl patch node name -p '{"spec":{"unschedulable":true}}'
将Node脱离调度后,Node上运行的Pod不会自动停止
将Node重新纳入集群只需要将
spec.unschedulable: false可用上述两种方法
2 Node扩容
- 在新Node上安装Docker、Kubelet和kube-proxy服务
- 在Kubelet和kube-proxy的启动参数中的Master URL指定为当前Master地址
3 Pod动态扩容和缩放
- 通过
kubectl scale rc调整副本数
kubectl scale rc name --replicas=3
4 更新资源对象的Label
kubectl label pod name role=backend #加一个role=backend的label
kubectl label pod name role- #删除key为role的label
kubectl label pod name role=master --overwrite #修改role的label
5 将Pod调度到指定的Node
- 通过Node的label与Pod的nodeSelector匹配实现
- 给Node设置label
- Pod的配置文件中
spec.nodeSelector中设置与Node中相同的label
6 应用的滚动升级
Kubernetes提供rolling-update功能实现
该命令创建一个新的RC然后自动控制旧的RC中的Pod数逐渐减少到0,同时新的RC中Pod从0逐渐增加
必须是相同Namespace中的RC
方法一使用配置文件,新的RC配置文件需要注意的地方:
- RC名字不能与旧的相同
- selector中至少有一个Label与旧RC的Label不同
kubectl rolling-update 旧RC -f 配置文件
方法二不使用配置文件,指定新版镜像名实现
kubectl rolling-update RC名 --image=新镜像名
更新过程有误可以通过
kubectl rolling-update --rollback实现Pod版本回滚kubectl rolling-update RC名 --image=新镜像名 --rollback
《Kubernetes权威指南》——运维技巧的更多相关文章
- 14-MySQL DBA笔记-运维技巧和常见问题处理
第14章 运维技巧和常见问题处理 DBA的成长,离不开对各种问题的处理.本章将为读者介绍一些运维技巧和常见问题的处理方法.我们需要意识到,别人的经验代替不了自己的经验,所以,多实践.多处理问题,最终会 ...
- Docker集群管理工具 - Kubernetes 部署记录 (运维小结)
一. Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernete ...
- Kubernetes权威指南学习笔记(一)
https://blog.csdn.net/keysilence1/article/details/70239717 概念 Kubernetes是谷歌严格保密十几年的秘密武器——Borg的一个开源版本 ...
- 《Kubernetes权威指南第2版》学习(一) Kubernetes是什么
1.1 Kubernetes是什么? 首先,它是一个全新的基于容器技术的分布式架构领先方案.是谷歌的Borg(大规模集群管理系统)的一个开源版本. 其次,如果系统设计遵循了Kubernetes的设计思 ...
- 阿里巴巴大规模神龙裸金属 Kubernetes 集群运维实践
作者 | 姚捷(喽哥)阿里云容器平台集群管理高级技术专家 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击即可完成下载. 导读:值得阿里巴巴技术人骄傲的是 2019 ...
- Kubernetes权威指南 第一章:Kubernetes入门
Kubernetes是什么 官网 https://kubernetes.io/ 中文版:https://kubernetes.io/zh/ Kubernetes是谷歌十几年大规模容器管理经验的成果 是 ...
- 《Kubernetes权威指南》——网络原理
1 Kubernetes网络模型 基本原则:每个Pod都拥有一个独立IP,而且假定所有Pod都在一个可以直接连通的.扁平的网络空间中. 基于基本原则,用户不需要额外考虑如何建立Pod之间的连接,也不需 ...
- 《Kubernetes权威指南》——Kubelet运行机制与安全机制
1 Kubelet运行机制 Kubenetes集群中的每个Node节点都会启动一个Kubelet服务进程用于处理Master下发到该节点的任务,管理Pod及其中的容器 Kubelet进程在API Se ...
- 《Kubernetes权威指南》——组件原理
1 API Server 1.1 提供集群管理的API接口 API Server在kubernetes中的进程名为apiserver,运行在Master节点上 apiserver开放两个端口 本地端口 ...
随机推荐
- 【转载】在MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问,并可修改MySQL密码
在MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问,并可修改MySQL密码 2018年08月 ...
- 计算a月的第b个星期c
计算从y1到y2年a月的第b个星期c的日期 #include<iostream> using namespace std; bool isLeap(int y) { == || y%==& ...
- 异常解决 Unable to write generated Java files for schemas: null
错误是在使用cxf调用其他系统接口时报出的.而且问题很诡异,只有服务器调用时才报错,本地直接写main方法直接调用却正常的.以下是异常的堆栈: ERROR c.k.p.webservice.WebSe ...
- win10安装MongoDB提示 the domain,user name and/or password are incorrect. Remember to use "." for the domain if the account is on the local machine.
好心塞,提示输入不合法. 后来发现这样可以解决.退出安装.重新打开()因为我第一次打开时是没有卡在这一步的,只不过返回上一页时就一直卡在验证的页面了),默认,默认,默认,
- 网站开发,推荐使用SuperSlide 插件-Tab标签切换,图片滚动,无缝滚动,焦点图
SuperSlide 致力于解决网站大部分特效展示问题,使网站代码规范整洁,方便维护更新.网站上常用的“焦点图/幻灯片”“Tab标签切换”“图片滚动”“无缝滚动”等只需要一个SuperSlide即可解 ...
- [网络流]Farm Tour(费用流
Farm Tour 题目描述 When FJ's friends visit him on the farm, he likes to show them around. His farm compr ...
- linux学习第十二天 (Linux就该这么学)找到一本不错的Linux电子书,附《Linux就该这么学》章节目录
本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值 ...
- 关闭浏览器时提示的javascript事件
onbeforeunload事件 它是这样用的: <script language="javascript"> g_blnCheckUnload = true; fun ...
- Apache ab性能测试结果分析
Apache ab性能测试结果分析 测试场景:模拟10个用户,对某页发起总共100次请求. 测试命令: ab -n 100 -c 10 地址 测试报告: Server Software: 被测服务器软 ...
- Python_day5
局部变量 全局变量 def test(): # 声明使用全局变量x global x x = 100 y = 300 # 局部变量:作用域和生存周期仅在从定义开始到函数结束 x = 200 # 全局变 ...