kubectl scale 一次缩容调整过程
查看master环境相关信息
一、版本信息
[root@master-web-38 ~]# kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.13", GitCommit:"954ff68d59e9dc62fa8252ffa9023a90ff8a358c", GitTreeState:"clean", BuildDate:"2019-02-13T11:03:32Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.13", GitCommit:"954ff68d59e9dc62fa8252ffa9023a90ff8a358c", GitTreeState:"clean", BuildDate:"2019-02-13T11:03:32Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
[root@master-web-38 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@fpNet-web-38 ~]# uname -r
3.10.0-327.el7.x86_64
[root@master-web-38 ~]# docker -v
Docker version 18.03.0-ce, build 0520e24
这里需要用到两个命令,示例命令:
[root@master ~]#kubectl scale sts....
[root@master ~]#kubectl scale deployment....
例子:
# kubectl scale deployment nginx-deployment --replicas=4
# kubectl scale sts cs-node --replicas=4
实际情况调研:


//通过上面命令可以看到 rabbitmq是通过 deployment方式进行的部署.
我们查看有几个pod在运行

操作需求:我们要对rabbitmq进行缩容后,再次扩容,因为这样就不用直接删除rabbitmq pod了
目的是把所有的pod删除,转移到其他节点的机器上去,目前机器在主机名为ht1,ht2上,想转移到ht3去
执行
[root@master-web-38 ~]# kubectl scale deployment rabbitmq --replicas=2
deployment.extensions "rabbitmq" scaled
我们扩容中出现了这样的问题

我们接着来解决下,利用describe看下:
[root@master-web-38 ~]# kubectl describe pod rabbitmq-8565b4b7d8-69glr

初步判断就是从宿主机上加载时出错,应该是 docker images 仓库里面没有这个包,之前遇到过。
我们登录宿主机看下,确实没有这个包在docker images 命令显示结果里面,我在登陆之前好的那台部署好的,我登录看下

确实存在这个包,好我们需要导出,加入到出问题的机器上。
这里为什么要写下导出rabbitmq tar包这个步骤呢,因为你有时候不注意,直接导出,则标签可能会显示none
例如: docker save -o rabbitmq-v1-SNAPSHOT.zip bdefd564571b 或 docker load < rabbitmq.tar.gz // 这种就会出问题。
所以你有两种方法来修正这个错误
1、安装tar,在没有rabbitmq的那台机器上,重命名镜像
2、导出tar包时候,就把标签已经原样的导出了。
步骤为:
1、docker save -o rabbitmq.tar 127.0.0.1:35000/test/rabbitmq:v1
执行命令
[root@node1 rabbitmq]# docker save -o rabbitmq.tar 127.0.0.1:35000/test/rabbitmq:v1
[root@node1 rabbitmq]# ll
total 183148
-rw------- 1 root root 187540480 Feb 18 10:54 rabbitmq.tar
2、sz,rz 之后或scp
[root@node1 rabbitmq]# scp -r /usr/local/src/rabbitmq/rabbitmq.tar root@10.121.51.24:/usr/local/src/tar
在另一个node节点 10.121.51.24 上执行
3、执行 docker load -i < rabbitmq.tar
[root@node1 tar]# docker load -i rabbitmq.tar
5d6cbe0dbcf9: Loading layer [==================================================>] 129.2MB/129.2MB
5238a571b25e: Loading layer [==================================================>] 352.3kB/352.3kB
4b6d0457619d: Loading layer [==================================================>] 4.657MB/4.657MB
d2080f33d9e5: Loading layer [==================================================>] 6.656kB/6.656kB
4b3fc05f70d5: Loading layer [==================================================>] 3.584kB/3.584kB
ce98c94ff8e4: Loading layer [==================================================>] 45.34MB/45.34MB
0b025f55bda5: Loading layer [==================================================>] 6.656kB/6.656kB
d4e97504ea93: Loading layer [==================================================>] 3.584kB/3.584kB
327047f16aba: Loading layer [==================================================>] 7.764MB/7.764MB
2a4d27fea928: Loading layer [==================================================>] 11.78kB/11.78kB
df9bb8de3115: Loading layer [==================================================>] 2.048kB/2.048kB
104c5f54aed4: Loading layer [==================================================>] 1.536kB/1.536kB
c61e291bfc42: Loading layer [==================================================>] 10.75kB/10.75kB
4e3da2aaefea: Loading layer [==================================================>] 1.536kB/1.536kB
99f2452a9491: Loading layer [==================================================>] 62.98kB/62.98kB
3365b724bdfb: Loading layer [==================================================>] 3.072kB/3.072kB
f5b70732093d: Loading layer [==================================================>] 3.072kB/3.072kB
Loaded image: 127.0.0.1:35000/test/rabbitmq:v1
4、 docker images | grep rabbitmq 之后看到了加载的结果:

我们再次执行
[root@master-web-38 ~]# kubectl scale deployment rabbitmq --replicas=2
查看情况:

kubectl scale 一次缩容调整过程的更多相关文章
- k8s用kubectl管理应用升级,服务发布与回滚,扩缩容
应用升级 Kubectl set image --help 有案例指定新版本 [root@k8s-master ~]# kubectl set image deployment/nginx nginx ...
- Docker Swarm(七)Scale 扩(缩)容服务
扩(缩)容服务 扩容服务 Service还提供了复制(类似kubernetes里的副本)功能.可以通过 docker service scale 命令来设置服务中容器的副本数: docker serv ...
- 三十三、HPA实现自动扩缩容
通过HPA实现业务应用的动态扩缩容 HPA控制器介绍 当系统资源过高的时候,我们可以使用如下命令来实现 Pod 的扩缩容功能 $ kubectl -n luffy scale deployment m ...
- Kubernetes 笔记 11 Pod 扩容与缩容 双十一前后的忙碌
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...
- 023.掌握Pod-Pod扩容和缩容
一 Pod的扩容和缩容 Kubernetes对Pod的扩缩容操作提供了手动和自动两种模式,手动模式通过执行kubectl scale命令或通过RESTful API对一个Deployment/RC进行 ...
- kubernetes中有状态应用的优雅缩容
将有状态的应用程序部署到Kubernetes是棘手的. StatefulSet使它变得容易得多,但是它们仍然不能解决所有问题.最大的挑战之一是如何缩小StatefulSet而不将数据留在断开连接的Pe ...
- 构建Docker平台【第四篇】创建服务及扩缩容等操作
第一步:创建服务 1. 配置 nginx 的 yaml 文件 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: my-ng ...
- Kubernetes 笔记 012 Pod 的自动扩容与缩容
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...
- Kubernetes---Pod的扩容和缩容
用RC的Scale机制来实现Pod的扩容和缩容 把redis-slave的pod扩展到3个 , kubectl scale rc redis-slave --replicas=3 现在来缩容,把 ...
随机推荐
- web自动化之selenium(四)元素等待
隐式等待 说明 隐式等待是通过设置一定时长的等待,让页面上的某些元素能过加载出来,如果超过了设置的时间还没有加载出来则抛出(NoSuchelementException异常),默认单位为"秒 ...
- CF908G&LOJ6697口胡
为什么我从ACAM做到了数位DP啊 考虑枚举前缀顶着最高位和后缀没有顶着的最高位. 考虑计算一个数对答案的贡献.统计 \(t\) 的出现次数记录到 \(c[t]\) 中. 贡献就是 \(\sum_{i ...
- CF708C题解
挺简单的一道数据结构... 首先考虑这个"改造"的本质,很明显是把一颗子树塞到了另一个节点下面. 考虑一个节点可能成为重心的条件.条件很明显是只有一颗子树的大小大于 \(\frac ...
- Re:《Unity Shader入门精要》13.3全局雾效--如何从深度纹理重构世界坐标
如何从深度纹理重构世界坐标 游戏特效,后处理是必不可少的,而后处理经常需要我们得到当前画面的像素对应世界空间的所有信息. 思路 通过深度纹理取得NDC坐标,然后再通过NDC坐标还原成世界空间坐标 // ...
- K8S原来如此简单(三)Pod+Deployment
上篇我们已经安装好k8s1.23集群,现在我们开始使用k8s部署我们的项目 Pod Pod 是一组容器集合,是可以在 Kubernetes 中创建和管理的.最小的可部署的计算单元.这些容器共享存储.网 ...
- Django1.11 添加markdown语法支持
pip install markdown 在view.py 的视图界面:导入,圈起来的那两个包 对post进行处理, models.py 详情如下 测试,效果如图
- MYSQL5.7详细安装步骤
0.更换yum源 1.打开 mirrors.aliyun.com,选择centos的系统,点击帮助 2.执行命令:yum install wget -y 3.改变某些文件的名称 mv /etc/yum ...
- Vue中import和require的对比
Vue中import和require的对比 一.前言 vue框架想必是我们前端朋友们必学的知识点,说它难也没有那么难,说简单也没有那么简单,主要技术就是那么几个,可是里面的细节很多,有些时候我们会 ...
- node的内置常量 __dirname和 __filename
node的内置常量 __ dirname和 __ filename __dirname当前文件(你用node运行的文件)所在的文件夹地址 // dirname.js console.log(__dir ...
- Vscode的使用小技巧
命令行启动code 如果你的系统是Linux系统(我使用的是Ubuntu 16.04)这样就可以直接使用 code + filename来编辑文件(就像vi + filename) 如果你的系统是Ma ...