Kuberbetes(十)--滚动升级

617 阅读1分钟

动态修改副本数量

# kubectl scale rc XXX --replicas=3

autoscale: scale虽然能够很方便的对副本数进行扩展或缩小,但是仍然需要人工介入,不能实时自动的根据系统负载对副本数进行扩、缩。autoscale命令提供了自动根据pod负载对其副本进行扩缩的功能。 autoscale命令会给一个rc指定一个副本数的范围,在实际运行中根据pod中运行的程序的负载自动在指定的范围内对pod进行扩容或缩容。如前面创建的nginx,可以用如下命令指定副本范围在1~4

[root@k8s-master /]# kubectl autoscale rc myweb --min=1 --max=4 
replicationcontroller "myweb" autoscaled

查看RC的详细信息

# kubectl describe rc 标签名或者选择器名

Pod在创建以后希望更新Pod,可以在修改Pod的定义文件后执行:

#kubectl replace /path/to/busybox.yaml

因为Pod的很多属性是没办法修改的,比如容器镜像,这时候可以用kubectl replace命令设置--force参数,等效于重新建Pod。

通过RC修改Pod副本数量

    # kubectl replace -f rc.yaml
    或
    #kubect edit replicationcontroller replicationcontroller名

对RC使用滚动升级,来发布新功能或修复BUG

#kubectl rolling-update replicationcontroller名 --image=镜像名

滚动升级

#kubectl rolling-update replicationcontroller名 -f XXX.yaml
如果在升级过程中,发现有问题还可以中途停止update,并回滚到前面版本 
#kubectl rolling-update rc-nginx-2 --rollback