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

验证-回滚成功

相关推荐
AAA小肥杨3 小时前
基于k8s的Python的分布式深度学习训练平台搭建简单实践
人工智能·分布式·python·ai·kubernetes·gpu
xiaogg36787 小时前
阿里云k8s1.33部署yaml和dockerfile配置文件
java·linux·kubernetes
2503_930123937 小时前
Kubernetes (四)网络插件详解:Flannel 与 Calico 的原理、数据流向与实战对比
网络·容器·kubernetes
K_i1348 小时前
K8s 运维三大核心难题:DNS 故障、有状态存储、AI 赋能 SRE 解决方案
kubernetes
远向光11 小时前
k8s中的控制器
linux·容器·kubernetes
阿里云云原生11 小时前
AI 时代的数据通道:云消息队列 Kafka 的演进与实践
云原生·kafka
阿里云云原生11 小时前
单提交智能评审上线!用云效精准定位复杂 MR 代码问题
云原生
阿里云云原生12 小时前
再看 AI 网关:助力 AI 应用创新的关键基础设施
云原生
阿里云云原生12 小时前
零代码改造 + 全链路追踪!Spring AI 最新可观测性详细解读
spring·云原生
安卓开发者12 小时前
Docker常用镜像使用指南:从入门到实战
运维·docker·容器