一、创建资源清单

命令行的部署方式有的时候不是很方便,资源清单更加的简洁明了,快速实现扩容缩容
资源清单的格式:
1、apiVersion:
指明api资源属于哪个群组和版本,同一个组可以有多个版本
apiVersion: group/version
2、kind:
标记创建的资源类型,k8s主要支持以下资源类别
Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Job,Cronjob
3、metadata:
指定元数据
name: //对像名称
namespace: //对象属于哪个命名空间
labels: //指定资源标签,标签是一种键值数据
4、spec:
定义目标资源的期望状态
contaniers:指定容器列表

资源清单的内容非常丰富,可以使用如下指令查看资源清单帮助

kubectl explain pod

步骤1
新建一个目录用来放资源清单

mkdir manifest

步骤2
在上述目录中写一个简单的资源清单
在这里插入图片描述步骤3
生成pod
在这里插入图片描述当需要更换镜像时,以上方法不能够直接在yml文件中更改,需要将原来的yml文件删除后重新生成新的pod
在这里插入图片描述

二、控制器下的pod资源清单

步骤1:
写资源清单
在这里插入图片描述步骤2:
生成pod
在这里插入图片描述如果采用控制器控制pod,则需要更新镜像或者更改副本数只需要在yml文件中更改后运行即可,会动态的更新

三、定义资源清单要注意的问题

1、在同一个资源清单中定义两个相同但是不同版本的容器镜像会导致其中一个容器起不来,不同的镜像可以在一个资源清单中

在这里插入图片描述在这里插入图片描述上图中显示两个镜像只有一个启动成功,因为对于交互式的镜像,需要启用终端去连接,但默认情况下tty参数是关闭的,需要手动添加选项
在这里插入图片描述

2、当在一个资源清单上定义了两个容器后,这两个容器共享一个pod中的存储和网络

因此可以通过busy容器来访问nginx容器
在这里插入图片描述通过nginx容器访问容器内部用到exec命令
在这里插入图片描述在容器内将应用关闭后,在pod中会重新重启
在这里插入图片描述

3、常用的参数

imagePullPolicy:镜像拉取策略,三个值可选,Never,Always,IfNotPresent,默认情况下是Always
在这里插入图片描述端口映射hostPort与hostNetwork的区别
在这里插入图片描述在这里插入图片描述在server3上有端口映射
在这里插入图片描述在这里插入图片描述在这里插入图片描述可以直接访问节点ip
在这里插入图片描述资源限制:
limits:定义资源上限
requests:定义资源下限,最小需要的资源值
在这里插入图片描述在这里插入图片描述

重启策略:
默认情况下是Always,可选值为Never和Onfailure
在这里插入图片描述停止nginx后不会自动重启
在这里插入图片描述
运行一个pod将运行过程生成为一个文件来查看
在这里插入图片描述节点选择器
在这里插入图片描述
打标签
在这里插入图片描述在这里插入图片描述更改标签
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐