K8S中的Controller

一、创建deployment和生成service

[root@k8s-master docker_study]# kubectl create deployment web --image=nginx --dry-run=client -o yaml > n1.yaml
[root@k8s-master docker_study]# kubectl apply -f n1.yaml
[root@k8s-master docker_study]# kubectl get pod
NAME                   READY   STATUS    RESTARTS   AGE
web-5dcb957ccc-mr6dr   1/1     Running   0          27s

我们可以根据已经部署的deployment,生成yaml模板配置

[root@k8s-master docker_study]# kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=myweb -o yaml > myweb.yaml

[root@k8s-master docker_study]# kubectl apply -f myweb.yaml 
service/myweb created
[root@k8s-master docker_study]# kubectl get pod,svc
NAME                       READY   STATUS    RESTARTS   AGE
pod/web-5dcb957ccc-mr6dr   1/1     Running   0          107s

NAME                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
service/kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP        5d
service/myweb        NodePort    10.102.4.179   <none>        80:32612/TCP   8s

我们可以通过32612端口在其他节点中进行访问。
在这里插入图片描述

pod跟controller是通过label标签来进行定位的。

二、升级回滚

项目中,我们可以进行打包成新的版本,制作成docker镜像,通过K8S管理,只需要修改yaml镜像的版本。
以nginx为例,我们先构建一个nginx的1.14版本,代替我们手工构建。
由以前kubectl create deployment生成的yaml文件,我们进行修改。
在这里插入图片描述
保存,再次

kubectl apply -f nginx.yaml

之前集群节点,由于没有指定版本,默认使用latest版本
在这里插入图片描述
我们来看下,指定了版本的nginx在哪个节点进行镜像拉取
在这里插入图片描述

我们可以去k8s-node2上进行查看
在这里插入图片描述
我们模拟版本更新,由1.14升级到1.15
我们设置镜像版本

kubectl set image deployment web nginx=nginx:1.15

在这里插入图片描述
你可以看到替换的过程,使用kubectl get pod进行查看,最终只能看到一个running
在这里插入图片描述
在这里插入图片描述

我们也可以查看到,替换过程,使用kubectl describe deployment web进行查看
在这里插入图片描述
最终在k8s-node1中拉取了nginx1.15版本
在这里插入图片描述

这样我们就进行了升级
查看升级状态

kubectl rollout status deployment web

在这里插入图片描述
查看历史版本
在这里插入图片描述

回滚到上一个版本

kubectl rollout undo deployment web

在这里插入图片描述
在这里插入图片描述
还可以还原到指定版本
在这里插入图片描述
可以使用kubectl describe pod pod名称进行查看明细

三、弹性伸缩

kubectl scale deployment web --replicas=10
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄宝康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值