k8s——pod的资源配置文件详解(manifest)
pod的资源配置文件(manifest)
详细介绍pod的资源配置文件(mannifest)的各个字段的含义
元数据
| 字段 | 是否必须 | 类型 | 含义 | 由用户提供 | 备注 |
|---|---|---|---|---|---|
| name | 必须 | str | pod的名称 | 用户提供 | 在同一个namspace中唯一 |
| labels | 不必须 | map[str]str | 用户自主标识的k/y键值对 | 由用户提供 | 多用于service与pod或者replication controller与pod的匹配 |
| uid | 必须 | str | 系统唯一标识pod实例的uid | 非用户提供 | z只读属性,由系统注入 |
| namespace | 不必须 | str | pod所在的namespace | 由用户提供 | 若为空,则默认为default |
定义容器资源
| 字段 | 是否必须 | 类型 | 含义 | 由用户提供 | 备注 |
|---|---|---|---|---|---|
| containers[] | 必须 | str | list | 要在pod内启动所有的container | 由用户提供 |
| containers[].name | 必须 | str | 容器名 | 由用户提供 | 唯一标识容器,在同一个pod内必须独一无二 |
| containers[].image | 必须 | str | 容器使用的docker镜像名 | 由用户提供 | 无备注 |
| containers[].command[] | 不必须 | str list | 启动docker容器时运行的命令 | 由用户提供 | 无备注 |
| containers[].workingDir | 不必须 | str | 命令在docker容器内执行的初始工作目录 | 由用户提供 | 一旦设置无法更新,默认是Docker default |
| containers[].volumeMounts[] | 不必须 | list | 暴露给容器且能够挂载到docker容器文件系统上的所有volume | 由用户提供 | 无备注 |
| containers[].volumeMounts[].name | 不必须 | str | volume名 | 由用户提供 | 代挂载volume的名字,该字段必须与在volume[]中定义的name匹配 |
| containers[].volumeMounts[].mountPath | 不必须 | str | volume在容器内的挂载点路径 | 由用户提供 | 该路径必须是绝对路径且长度不能超过512个字符 |
| containers[].volumeMounts[].readOnly | 不必须 | boolean | 标识该volume是否是只读的 | 由用户提供 | 默认值是dalse,即可读可写 |
定义容器端口和环境
| 字段 | 是否必须 | 类型 | 含义 | 由用户提供 | 备注 |
|---|---|---|---|---|---|
| containers[].ports[] | 非必须 | list | 容器打开的所有端口 | 由用户提供 | 一旦设置便无法更新 |
| containers[].ports[].name | 非必须 | str | 端口名 | 由用户提供 | 在pdo内必须独一无二 |
| containers[].ports[].containersPort | 必须 | int | 容器监听的端口号 | 由用户提供 | 1-65535 |
| containers[].ports[].hostPort | 非必须 | int | 容器端口在宿主机上的端口映射 | 由用户提供 | 1-65535 |
| containers[].ports[].protocol | 非必须 | str | 端口类型 | 由用户提供 | udp或者tcp,默认是tcp |
| containers[].env[] | 非必须 | list | 在容器运行前设置的环境变量 | 由用户提供 | 是一组键值对 |
| containers[].env[] | 非必须 | list | 在容器运行前设置的环境变量 | 由用户提供 | 无备注 |
| containers.[].env[].value | 非必须 | str | 环境变量 | 由用户提供 | 无备注 |
重启策略
| 字段 | 是否必须 | 类型 | 含义 | 由用户提供 | 备注 |
|---|---|---|---|---|---|
| RestartPolicy | 非必须 | str | pod内容器重启策略 | 由用户提供 | 包含3种策略:Always,OnFailure和Never |
volume配置
| 字段 | 是否必须 | 类型 | 含义 | 由用户提供 | 备注 |
|---|---|---|---|---|---|
| volumes[] | 非必须 | list | pod内由容器间共享的所有volume | 由用户提供 | 无备注 |
| volumes[].name | 非必须 | str | volume名 | 由用户提供 | 无备注 |
| volumes[].VolumeSource | 非必须 | object | 代挂载volume的种类 | 由用户提供 | 包括HostPath,EmptDir,GcePersistentDist等多种类型 |
| volumes[].source.emptyDir | 非必须 | object | emptyDir类型volume | 由用户提供 | 默认的volume类型,代表挂载的volume是一个风险pod生命周期的您是目录,emotyDir的值是一个空对象,即:empuytDir:{} |
| volume[].source.hostPath | 非必须 | object | hostPath类型volume | 由用户提供 | 代表挂载的volume是个以及存在与宿主机上的目录。需要指定volumes[].source.hostPath.path |
| volumes[].source.hostPath.path | 非必须 | str | 宿主机上一个暴露给容器的现存目录的路径 | 由用户提供 | 无备注 |
| volumes[].source.gcePersistentDisk | 非必须 | object | GCEPersistentDisk类型的volume | 由用户提供 | 无备注 |
| volumes[].source.gitRepo | 非必须 | object | gitRepo类型volume | 由用户提供 | 代表某个特定版本的git仓库的url |
| volumes[].source.secret | 非必须 | object | secret类型的volume | 不确定 | 用户可以自行提供secret,亦可以采用系统生成的默认secret |
pod使用的dns
| 字段 | 是否必须 | 类型 | 含义 | 由用户提供 | 备注 |
|---|---|---|---|---|---|
| DNSPolicy | 非必须 | list | 定义pod使用DNS的策略 | 由用户提供 | 有两种选择:ClusterFirst和Default,前者代表pod首先使用集群dns,否则代表pod使用kubelet设置的dns。默认值是ClusterFirst |
k8s——pod的资源配置文件详解(manifest)的更多相关文章
- Kubernetes K8S之CPU和内存资源限制详解
Kubernetes K8S之CPU和内存资源限制详解 Pod资源限制 备注:CPU单位换算:100m CPU,100 milliCPU 和 0.1 CPU 都相同:精度不能超过 1m.1000m C ...
- WebConfig配置文件详解
今天看到博客园一位朋友整理的一个WebConfig配置文件详解,觉得不错,转载一下: <?xml version="1.0"?> <!--注意: 除了手动编辑此文 ...
- sqlMapConfig.xml配置文件详解
sqlMapConfig.xml配置文件详解: Xml代码 Xml代码 <? xml version="1.0" encoding="UTF-8" ?& ...
- 【转】nginx服务器安装及配置文件详解
原文:http://seanlook.com/2015/05/17/nginx-install-and-config/ nginx服务器安装及配置文件详解 nginx在工作中已经有好几个环境在使用了, ...
- BIND9配置文件详解模板[转载]
在CU上看到了一篇关于BIND9配置文件详解的文章,感觉不错,现转载了分享一下. //named.conf 注释说明 by shellyxz@163.com// 此文件对bind9的默认配置文件的说明 ...
- mybatis代码生成器配置文件详解
mybatis代码生成器配置文件详解 更多详见 http://generator.sturgeon.mopaas.com/index.html http://generator.sturgeon.mo ...
- MySQL配置文件详解
MYSQL 配置文件详解 “全局缓存”.“线程缓存”,全局缓存是所有线程共享,线程缓存是每个线程连接上数据时创建一个线程(如果没有设置线程池),假如有200连接.那就是200个线程,如果参数设定值是1 ...
- 【JAVAEE学习笔记】hibernate01:简介、搭建、配置文件详解、API详解和CRM练习:保存客户
今日学习:hibernate是什么 一.hibernate是什么 框架是什么: 1.框架是用来提高开发效率的 2.封装了好了一些功能.我们需要使用这些功能时,调用即可.不需要再手动实现. 3.所以框架 ...
- spring4配置文件详解
转自: spring4配置文件详解 一.配置数据源 基本的加载properties配置文件 <context:property-placeholder location="classp ...
- [转帖]nginx服务器安装及配置文件详解
nginx服务器安装及配置文件详解 http://seanlook.com/2015/05/17/nginx-install-and-config/ 发表于 2015-05-17 | 更新于: 2 ...
随机推荐
- Java面试题:为什么HashMap不建议使用对象作为Key?
HashMap 是一种基于哈希表的动态数据结构,它允许使用任意不可变对象作为键(key)来存储和检索数据.然而,在某些情况下,使用对象作为 HashMap 的键可能会遇到一些问题. 首先,我们需要明确 ...
- 力扣287(java&python)-寻找重复数(中等)
题目: 给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数. 假设 nums 只有 一个重复的整数 ,返回 这个重复的 ...
- HarmonyOS NEXT应用开发之使用AKI轻松实现跨语言调用
介绍 针对JS与C/C++跨语言访问场景,NAPI使用比较繁琐.而AKI提供了极简语法糖使用方式,一行代码完成JS与C/C++的无障碍跨语言互调,使用方便.本示例将介绍使用AKI编写C++跨线程调用J ...
- 爱奇艺在 Dubbo 生态下的微服务架构实践
简介: 本文整理自作者于 2020 年云原生微服务大会上的分享<爱奇艺在 Dubbo 生态下的微服务架构实践>,重点介绍了爱奇艺在 Dubbo.Sentinel 等开发框架方面的使用经验以 ...
- 阿里云容器服务差异化 SLO 混部技术实践
简介:阿里巴巴在"差异化 SLO 混合部署"上已经有了多年的实践经验,目前已达到业界领先水平.所谓"差异化 SLO",就是将不同类型的工作负载混合运行在同一节 ...
- 快速上手 Serverless | 入门第一课
简介: 本文从云计算抛砖引玉,详解 Serverless 的典型应用场景和一些产品介绍. 一. 从云计算到 Serverless 自世界上第一台通用计算机 ENIAC (图左)诞生以来,计算机科学与技 ...
- [FAQ] CodeLlama GGUF 文件下载
hf-mirror: https://hf-mirror.com/TheBloke/CodeLlama-7B-GGUFmodelscope: https://modelscope.cn/models/ ...
- [FAQ] Git 修改最后一次的提交人和提交时间 ?
$ date -R Tue, 21 Mar 2021 21:08:58 +0800 $ git commit --amend --author="xxx <xxx@email.com ...
- WPF 探索任务管理器的进程分组逻辑
在看到 Win10 或 Win11 的 Task Manager 任务管理器时,不知大家是否有一个疑问,在 进程 标签里的应用进程是如何分组的.为什么有些组能包含很多个不同的进程,有些只能包含一个.本 ...
- dotnet 教你写一个可以搞炸本机所有 WCF 应用的程序方法
作为团队里面挖掘机出身的我,怎么能不多挖一些坑好将小伙伴们都埋进去呢.本文来告诉大家一个有趣且简单的方法,此方法可以将本机的 WCF 玩坏,不敢说真的搞炸本机所有 WCF 应用,但搞炸大部分基于 WC ...