k8s扩缩容与滚动更新

使用kubectl run创建应用

kubectl run kubernetes-bootcamp \

> --image=docker.io/jocatalin/kubernetes-bootcamp:v1 \

> --port=8080

端口暴露出去

kubectl expose pod kubernetes-bootcamp --type="NodePort" --port 8080

使用kubectl create创建应用

kubectl create deployment kubernetes-bootcamp  \

--image=docker.io/jocatalin/kubernetes-bootcamp:v1

端口暴露出去

kubectl expose deployment/kubernetes-bootcamp \

> --type="NodePort" \

> --port 8080

run与create区别:

run为一次性的创建运行,删除后不会自动生成,没有pod控制器

create创建的,删除后还会自动生成,有pod控制器,拥有副本集控制

scale应用

默认情况下

应用只会运行一个副本,可以通过命令查看副本数

kubectl get deployments

执行如下命令将副本数增加到3个,如图所示。

kubectl scale deployments/kubernetes-bootcamp --replicas=3

查看当前pod

通过curl访问应用,可以看到每次请求发送到不同的Pod,3个副本轮询处理,这样就实现了负载均衡

缩减副本

kubectl scale deployment/kubernetes-bootcamp --replicas=2

显示其中一个副本被删除了

滚动更新

现在将其升级为v2

kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

验证-更新成功

回退到上一个版本

执行 kubectl rollout undo命令

kubectl rollout undo deployment/kubernetes-bootcamp

验证-回滚成功

相关推荐
福大大架构师每日一题9 小时前
22.1 k8s不同role级别的服务发现
容器·kubernetes·服务发现
莹雨潇潇9 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
weixin_4539650010 小时前
[单master节点k8s部署]30.ceph分布式存储(一)
分布式·ceph·kubernetes
weixin_4539650010 小时前
[单master节点k8s部署]32.ceph分布式存储(三)
分布式·ceph·kubernetes
tangdou36909865510 小时前
1分钟搞懂K8S中的NodeSelector
云原生·容器·kubernetes
Lansonli11 小时前
云原生(四十一) | 阿里云ECS服务器介绍
服务器·阿里云·云原生
Dylanioucn12 小时前
【分布式微服务云原生】掌握分布式缓存:Redis与Memcached的深入解析与实战指南
分布式·缓存·云原生
tangdou36909865513 小时前
Docker系列-5种方案超详细讲解docker数据存储持久化(volume,bind mounts,NFS等)
docker·容器
later_rql13 小时前
k8s-集群部署1
云原生·容器·kubernetes
weixin_4539650015 小时前
[单master节点k8s部署]31.ceph分布式存储(二)
分布式·ceph·kubernetes