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

验证-回滚成功

相关推荐
天上掉下来个程小白1 小时前
Docker-14.项目部署-DockerCompose
运维·docker·微服务·容器
星霜笔记5 小时前
Docker 部署 MariaDB+phpMyAdmin+Nextcloud 完整教程
运维·数据库·docker·容器·mariadb
数据知道7 小时前
容器化部署:用Docker封装机器翻译模型与服务详解
docker·容器·机器翻译
40kuai14 小时前
kubernetes中数据存储etcd
容器·kubernetes·etcd
Harvey_D15 小时前
【部署K8S集群】 1、安装前环境准备配置
云原生·容器·kubernetes
伊成16 小时前
Docker 部署 Nginx 完整指南
nginx·docker·容器
江湖有缘20 小时前
【Docker项目实战】使用Docker部署Notepad轻量级记事本
docker·容器·notepad++
Wezzer1 天前
k8s单master部署
云原生·容器·kubernetes
Tadas-Gao1 天前
Java设计模式全景解析:从演进历程到创新实践
java·开发语言·微服务·设计模式·云原生·架构·系统架构
Python私教1 天前
Docker in Test:用一次性的真实环境,终结“测试永远跑不通”魔咒
运维·docker·容器