kubernetes(六)------应用升级(rolling update of an application in kubernetes)

本文详细介绍了如何在Kubernetes中进行应用部署、扩容、创建Service以实现高可用,以及如何执行滚动更新。通过创建Deployment,设置replicas数量,然后通过`kubectl scale`扩容至5个Pod,确保服务的稳定性。接着创建NodePort类型的Service暴露应用,并通过curl验证访问。在应用升级过程中,使用`kubectl set image`进行滚动更新,观察Pod状态和历史记录,展示了一个完整的Kubernetes应用管理流程。
摘要由CSDN通过智能技术生成

1. 创建一个deployment

(1)新建kubeserve-deployment.yaml文件,内容如下:

apiVersion: apps/v1

kind: Deployment

metadata:

     name: kubeserve

spec:

     replicas: 3

     selector:

            matchLabels:

                app: kubeserve

     template:

            metadata:

                 name: kubeserve

                 labels:

                       app: kubeserve

           spec:

                 containers:

                 - image: linuxacademycontent/kubeserve:v1

                        name: app

(2)用kubectl执行这个yaml文件,创建deployment。根据yaml文件可知,创建的deployment的名字为kubeserve。根据yaml中的replicas的数字是3,知道生成了3个pod。

kubectl apply -f kubeserve-deployment.yaml --record

(3)检查deployment是否成功了

kubectl rollout status deployments kubeserve

(4)检查应用application的版本是否正确

kubectl describe deployment kubeserve

2. 扩容application,实现高可用(Scale up the application to create high availability)

(1)扩容到5个pod

kubectl scale deployment kubeserve --replicas=5

(2)查看pod情况

kubectl get pods

3. 创建一个service,让用户可以访问这个application

(1)创建service

kubectl expose deployment kubeserve --port 80 --target-port 80 --type NodePort

(2)查看service和集群cluster的ip

kubectl get services

(3)访问ip,因为http默认端口就是80,可以省略写80

curl http://<ip-address-of-the-service>

4. 升级应用(rolling update of the application)

(1)创建一个循环,不断访问url,即查看版本号的实时变化

while true; do curl http://<ip-address-of-the-service>; done

(2)升级,步骤(1)现在也同时在运行呢。

kubectl set image deployments/kubeserve app=linuxacademycontent/kubeserve:v2 --v 6

(3)查看所有运行着的pod

kubectl get pods

(4)查看rollout history

kubectl rollout history deployment kubeserve

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值