栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

每天五分钟玩转K8S(三)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

每天五分钟玩转K8S(三)

接着上一篇介绍完k8s架构后,我们就开始学习k8s中的一个重要概念:deployment

一、部署deployment
kubectl create deployment nginx-deployment --image=nginx:1.7.9 --replicas=2


(最下面的events记录的是replicas的启动过程,证明了deployment可以通过replicas来管理pod)
接着我们将
使用kubectl describe replicaset查询replica的情况

查询各个pod的情况,先用kubectl get pod获取pod的名字,然后使用kubectl describe pod (podname)
可以看到pod的具体情况,如果有error的话,可以通过这种方法来查询具体的错误情况(描述的非常详细)

用户通过kubectl创建deployment->deployment创建replicaset->replicaset创建pod
如果有replica的话,就要用到replicaset,如果没有的话deployment直接动手

二、使用yaml来部署

之前我们一直是直接使用命令行直接部署deployment的,但在实际中,更多的是用yaml文件来部署,先贴上书上的栗子

在1中,需要通过查询支持apiVersion的版本,如果稳妥的话,在创建不同kind的yaml文件前都应该先查询。

kubectl api-resources | grep deployment

在本机查到的是

所以在apiVersion中需要填写apps/v1。

由于版本原因,需要在文件中加多一个标签,selector。修改后如下:

接着就可以成功运行了

其中常用的查询指令是:

kubectl get pod -o wide
三、调整replica的个数

可以直接在yaml文件中修改replicas的数量

再运行一次kubectl apply -f nginx.yml即可。

四、用label来控制scheduler调度的策略

我们给node1打上label,然后查询label的tag,看到已经成功打上了。

在yaml文件中,加上nodeSelector字段,指定要scheduler将该pod调度到有这个tag的node上。(需要注意的是,格式一定要正确,要不就不能成功识别,container和nodeSelector的缩进要一样)

执行kubectl apply -f nginx.yaml,稍等片刻,可以看到都部署到node1上了。

在这里需要注意的是,即时删除了tag,pod不会重新部署,除非重新运行yaml文件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631965.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号