查看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 一次缩容调整过程的更多相关文章

  1. k8s用kubectl管理应用升级,服务发布与回滚,扩缩容

    应用升级 Kubectl set image --help 有案例指定新版本 [root@k8s-master ~]# kubectl set image deployment/nginx nginx ...

  2. Docker Swarm(七)Scale 扩(缩)容服务

    扩(缩)容服务 扩容服务 Service还提供了复制(类似kubernetes里的副本)功能.可以通过 docker service scale 命令来设置服务中容器的副本数: docker serv ...

  3. 三十三、HPA实现自动扩缩容

    通过HPA实现业务应用的动态扩缩容 HPA控制器介绍 当系统资源过高的时候,我们可以使用如下命令来实现 Pod 的扩缩容功能 $ kubectl -n luffy scale deployment m ...

  4. Kubernetes 笔记 11 Pod 扩容与缩容 双十一前后的忙碌

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...

  5. 023.掌握Pod-Pod扩容和缩容

    一 Pod的扩容和缩容 Kubernetes对Pod的扩缩容操作提供了手动和自动两种模式,手动模式通过执行kubectl scale命令或通过RESTful API对一个Deployment/RC进行 ...

  6. kubernetes中有状态应用的优雅缩容

    将有状态的应用程序部署到Kubernetes是棘手的. StatefulSet使它变得容易得多,但是它们仍然不能解决所有问题.最大的挑战之一是如何缩小StatefulSet而不将数据留在断开连接的Pe ...

  7. 构建Docker平台【第四篇】创建服务及扩缩容等操作

    第一步:创建服务 1. 配置 nginx 的 yaml 文件 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: my-ng ...

  8. Kubernetes 笔记 012 Pod 的自动扩容与缩容

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...

  9. Kubernetes---Pod的扩容和缩容

    用RC的Scale机制来实现Pod的扩容和缩容 把redis-slave的pod扩展到3个  ,  kubectl scale rc redis-slave --replicas=3 现在来缩容,把 ...

随机推荐

  1. Airtest安装与简介

    一:简介 什么是Airtest 网易的airtest其实是个测试套件,由Airtest框架.poco框架.airtestIDE 组成. Airtest框架 基于图像识别的自动化测试框架,是网易自己团队 ...

  2. 面试官:Redis集群有哪些方式,Leader选举又是什么原理呢?

    哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 作为一名Java程序员,Redi ...

  3. RandomStringUtils 生成随机字符串

    代码: System.out.println(RandomStringUtils.randomAlphanumeric(32));System.out.println(RandomStringUtil ...

  4. 创建一个 20G 的分区,并格式化为 ext4 文件系统

     创建一个 20G 的分区,并格式化为 ext4 文件系统,并完成如下要求: (1)block 大小为 2048,预留空间 20%,卷标为 MYDATA #fdisk /dev/sdb -->n ...

  5. Fiddler——抓取https接口配置(web,安卓,ios)

    作为一名合格的测试怎么能不会抓包呢.   抓包适用场景:   测试某个功能时,出现了bug,这时我们便需要抓包看一下这个bug到底是前端的还是服务端的: bug的精准指向,能加速bug得以解决.   ...

  6. 浅析Java反射--Java

    前言 上篇文章我们提到了可以使用反射机制破解单例模式.这篇文章我们就来谈一谈什么是反射,反射有什么用,怎么用,怎么实现反射. 概述 Java的反射(reflection)机制:是指在程序的运行状态中, ...

  7. 【死磕NIO】— 探索 SocketChannel 的核心原理

    大家好,我是大明哥,一个专注于[死磕 Java]系列创作的程序员. [死磕 Java ]系列为作者「chenssy」 倾情打造的 Java 系列文章,深入分析 Java 相关技术核心原理及源码. 死磕 ...

  8. VUE开发--环境配置(一)(转)

    无剑_君关注 0.312019.05.09 11:53:43字数 1,073阅读 19,627        https://www.jianshu.com/p/a494417def99?utm_so ...

  9. 在 java 中 wait 和 sleep 方法的不同?

    最大的不同是在等待时 wait 会释放锁,而 sleep 一直持有锁.Wait 通常被用于线 程间交互,sleep 通常被用于暂停执行. 直接了解的深入一点吧: 在 Java 中线程的状态一共被分成  ...

  10. MySQL使用日期列作为UNIQUE索引

    https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_extract https://dev.my ...