k8s集群化部署之资源清单
一、创建资源清单命令行的部署方式有的时候不是很方便,资源清单更加的简洁明了,快速实现扩容缩容资源清单的格式:1、apiVersion:指明api资源属于哪个群组和版本,同一个组可以有多个版本apiVersion: group/version2、kind:标记创建的资源类型,k8s主要支持以下资源类别Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Jo
一、创建资源清单
命令行的部署方式有的时候不是很方便,资源清单更加的简洁明了,快速实现扩容缩容
资源清单的格式:
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将运行过程生成为一个文件来查看
节点选择器
打标签
更改标签
更多推荐
所有评论(0)