K8s yaml文件配置详解

1. 基础介绍 

在Kubernetes(K8S)中,使用YAML文件来定义和配置资源对象是非常常见的。这些资源对象可以是Pod、Service、Deployment等,通过编写适当的YAML文件,可以告诉K8S如何创建、管理和操作这些资源。下面将介绍K8S中yaml文件的格式及常见名词解释,帮助你入门这一领域。

2. 语法规则

1.1、大小写敏感;
1.2、使用缩进表示层级关系,缩进时不允许使用Tab,只允许使用空格;
1.3、缩进的空格数目不重要,只要相同层级的元素左对齐即可;
1.4、# 表示注释,从它开始到行尾都被忽略;
1.5、只要是非数字都会被python识别为字符串;
1.6、单引号:特殊字符原格式输出;
1.7、双引号:转义后效果输出;
1.8、如果字符串没有空格或特殊字符,不需要加引号,但如果其中有空格或特殊字符,则需要加引号;
1.9、`&` 用于定义变量, `*

 

3. 配置详解

# yaml格式的pod定义文件完整内容:
apiVersion: v1       #必选,版本号,例如v1
kind: Pod       #必选,Pod
metadata:       #必选,元数据name: string       #必选,Pod名称namespace: string    #必选,Pod所属的命名空间labels:      #自定义标签- name: string     #自定义标签名字annotations:       #自定义注释列表- name: string
spec:         #必选,Pod中容器的详细定义containers:      #必选,Pod中容器列表- name: string     #必选,容器名称image: string    #必选,容器的镜像名称imagePullPolicy: [Always | Never | IfNotPresent] #获取镜像的策略 Alawys表示下载镜像 IfnotPresent表示优先使用本地镜像,否则下载镜像,Nerver表示仅使用本地镜像command: [string]    #容器的启动命令列表,如不指定,使用打包时使用的启动命令args: [string]     #容器的启动命令参数列表workingDir: string     #容器的工作目录volumeMounts:    #挂载到容器内部的存储卷配置- name: string     #引用pod定义的共享存储卷的名称,需用volumes[]部分定义的的卷名mountPath: string    #存储卷在容器内mount的绝对路径,应少于512字符readOnly: boolean    #是否为只读模式ports:       #需要暴露的端口库号列表- name: string     #端口号名称containerPort: int   #容器需要监听的端口号hostPort: int    #容器所在主机需要监听的端口号,默认与Container相同protocol: string     #端口协议,支持TCP和UDP,默认TCPenv:       #容器运行前需设置的环境变量列表- name: string     #环境变量名称value: string    #环境变量的值resources:       #资源限制和请求的设置limits:      #资源限制的设置cpu: string    #Cpu的限制,单位为core数,将用于docker run --cpu-shares参数memory: string     #内存限制,单位可以为Mib/Gib,将用于docker run --memory参数requests:      #资源请求的设置cpu: string    #Cpu请求,容器启动的初始可用数量memory: string     #内存清楚,容器启动的初始可用数量livenessProbe:     #对Pod内个容器健康检查的设置,当探测无响应几次后将自动重启该容器,检查方法有exec、httpGet和tcpSocket,对一个容器只需设置其中一种方法即可exec:      #对Pod容器内检查方式设置为exec方式command: [string]  #exec方式需要制定的命令或脚本httpGet:       #对Pod内个容器健康检查方法设置为HttpGet,需要制定Path、portpath: stringport: numberhost: stringscheme: stringHttpHeaders:- name: stringvalue: stringtcpSocket:     #对Pod内个容器健康检查方式设置为tcpSocket方式port: numberinitialDelaySeconds: 0  #容器启动完成后首次探测的时间,单位为秒timeoutSeconds: 0   #对容器健康检查探测等待响应的超时时间,单位秒,默认1秒periodSeconds: 0    #对容器监控检查的定期探测时间设置,单位秒,默认10秒一次successThreshold: 0failureThreshold: 0securityContext:privileged:falserestartPolicy: [Always | Never | OnFailure]#Pod的重启策略,Always表示一旦不管以何种方式终止运行,kubelet都将重启,OnFailure表示只有Pod以非0退出码退出才重启,Nerver表示不再重启该PodnodeSelector: obeject  #设置NodeSelector表示将该Pod调度到包含这个label的node上,以key:value的格式指定imagePullSecrets:    #Pull镜像时使用的secret名称,以key:secretkey格式指定- name: stringhostNetwork:false      #是否使用主机网络模式,默认为false,如果设置为true,表示使用宿主机网络volumes:       #在该pod上定义共享存储卷列表- name: string     #共享存储卷名称 (volumes类型有很多种)emptyDir: {}     #类型为emtyDir的存储卷,与Pod同生命周期的一个临时目录。为空值hostPath: string     #类型为hostPath的存储卷,表示挂载Pod所在宿主机的目录path: string     #Pod所在宿主机的目录,将被用于同期中mount的目录secret:      #类型为secret的存储卷,挂载集群与定义的secre对象到容器内部scretname: string  items:     - key: stringpath: stringconfigMap:     #类型为configMap的存储卷,挂载预定义的configMap对象到容器内部name: stringitems:- key: string

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/31150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt creator day5练习

Qt 中实现TCP 聊天服务器 大致流程 创建套接字服务器QTcpServer对象 通过QTcpServer对象设置监听,即QTcpServer::listen() 基于QTcpServer::newConnection()信号检测…

LeetCode 算法:两两交换链表中的节点 c++

原题链接🔗:两两交换链表中的节点 难度:中等⭐️⭐️ 题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交…

find 查找 Bazel 构建覆盖率文件的一个☝️坑

Bazel 是由 Google 开发的一个高效、可扩展的开源构建和测试工具,主要用于管理大型代码库。它支持多语言(如 C, Java, Python)和多平台构建,通过强大的构建缓存和并行化机制显著提高构建速度。 背景 利用Bazel构建项目时&#xf…

STM32单片机SPI通信详解

文章目录 1. SPI通信概述 2. 硬件电路 3. 移位示意图 4. SPI时序基本单元 5. SPI时序 6. Flash操作注意事项 7. SPI外设简介 8. SPI框图 9. SPI基本结构 10. 主模式全双工连续传输 11. 非连续传输 12. 软件/硬件波形对比 13. 代码示例 1. SPI通信概述 SPI&#x…

彻底卸载CAD2016两个关键点,解决许可过期问题

文章目录 1.使用自带卸载工具,避免卸~漏。 【开始菜单】-【Autodesk】-【Uninstall Tool】。 2.删除许可数据: 删除【C:\ProgramData\FLEXnet】下文件。 tips: 1.C:\ProgramData是隐藏文件夹。 2.FLEXnet:软件许可管…

keepalived高可用,LVS+keepalived的实现

概述: keepalived是集群高可用的一个技术,它是一个软件,与网络技术中VRRP协议的实现相类似,都是在若干个服务集群后虚拟出的一个对外提供服务的VIP(Virtual IP),即虚拟IP,当某一台服务器发生故障时&#x…

腾讯云API安全保障措施?有哪些调用限制?

腾讯云API的调用效率如何优化?怎么使用API接口发信? 腾讯云API作为腾讯云提供的核心服务之一,广泛应用于各行各业。然而,随着API应用的普及,API安全问题也日益突出。AokSend将详细探讨腾讯云API的安全保障措施&#x…

数据结构之B树详解(极简)

一、引言 1)介绍数据结构的重要性 在计算机科学中,数据结构是解决问题和优化性能的关键。它们是组织和存储数据的方式,直接影响着我们如何访问、检索和操作数据。一个恰当的数据结构选择可以显著提高算法的效率,降低时间复杂度和…

Scala 转义字符

Scala 转义字符 Scala作为一种多范式的编程语言,提供了丰富的转义字符集,用于在字符串中插入特殊字符。这些转义字符对于处理文件路径、正则表达式以及其他需要特殊字符的场合至关重要。本文将详细介绍Scala中的转义字符,并提供实际的应用示例。 什么是转义字符? 转义字…

Linux ls-al命令实现,tree命令实现,不带缓存的文件IO(open,read,write)

shell命令 ls -al 实现 #include <43func.h> void error_check(int ret, const char *msg) {if (ret -1) {perror(msg);exit(EXIT_FAILURE);} }char get_file_type(mode_t mode) {if (S_ISREG(mode)) return -;//检查给定的文件模式&#xff08;通常是从 stat 或 lst…

Linux——ansible中handlers

理解 1.按照已有的剧本写法 如果要完成下面这些操作&#xff1a; 1&#xff09;安装软件包&#xff1a;mysql&#xff0c;httpd&#xff0c;mysql-server&#xff0c;php 2&#xff09;复制配置文件&#xff1a;web&#xff0c;db&#xff0c;php 3&#xff09;后续追加配置文…

数据结构—排序、查找、图论和字符串算法之Java实例

一&#xff1a;引言 在编程的海洋中&#xff0c;算法是程序员的灵魂之光。它们不仅指引着代码的前进方向&#xff0c;更能解决难题&#xff0c;提升效率。虽然各式各样的算法琳琅满目&#xff0c;但其中有一些却是每位程序员必定会遇到且应当深刻掌握的。本文将带您走进这些至…

一个简单好用安全的开源交互审计系统,支持SSH,Telnet,Kubernetes协议

前言 在当今的企业网络环境中&#xff0c;远程访问和交互审计成为了保障网络安-全的重要组成部分。然而&#xff0c;现有的解-决方案往往存在一些痛点&#xff0c;如复杂的配置、有限的协议支持、以及审计功能的不足。这些问题不仅增加了IT管理员的负担&#xff0c;也为企业的…

【arm扩容】docker load -i tar包 空间不足

背景&#xff1a; 首先我在/home/nvidia/work下导入了一些镜像源码tar包。然后逐个load进去。当我 load -i dev-aarch64-18.04-20210423_2000.tar包的时候&#xff0c;出现 Error processing tar file(exit status 1): write /9818cf5a7cbd5a828600d9a4d4e62185a7067e2a6f2ee…

聚合函数和开窗函数中order by结合使用时,窗口区间不是完整区间

hive踩坑笔记 —— 开窗函数为聚合函数时&#xff0c;加order by 与不加 order by的区别_order by sum举例子-CSDN博客 文章中说&#xff0c;混用时窗口区间等价于 rows between unbounded preceding and current row &#xff0c;测试时表象与此描述不一致&#xff0c;如max&a…

【每日刷题】Day71

【每日刷题】Day71 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 牛群分隔 2. 912. 排序数组 - 力扣&#xff08;LeetCode&#xff09; 3. 791. 自定义字符串排序 -…

C语言 | Leetcode C语言题解之第169题多数元素

题目&#xff1a; 题解&#xff1a; int majorityElement(int* nums, int numsSize) {int ans 0;for (int i 0, cnts 0; i < numsSize; i) {if (nums[i] ans) {cnts;} else if (cnts 0) {ans nums[i];} else {cnts--;}}return ans; }

数据结构经典面试之数组——C#和C++篇

文章目录 1. 数组的基本概念与功能2. C#数组创建数组访问数组元素修改数组元素数组排序 3. C数组创建数组访问数组元素修改数组元素数组排序 4. 数组的实际应用与性能优化5. C#数组示例6. C数组示例总结 数组是编程中常用的数据结构之一&#xff0c;它用于存储一系列相同类型的…

基于.NET开源跨平台的文档管理系统

前言 今天大姚给大家分享一款基于.NET8开源&#xff08;MIT License&#xff09;、免费、跨平台的文档管理系统&#xff1a;Dorisoy.Pan。 官方项目介绍 Dorisoy.Pan是一款基于.NET8开源&#xff08;MIT License&#xff09;、免费、跨平台文档管理系统&#xff0c;使用MS S…

使用Python进行Web开发:从基础到实战

使用Python进行Web开发:从基础到实战 Python不仅是一门数据科学的利器,也是一门强大的Web开发语言。得益于其简洁的语法和丰富的生态系统,Python在Web开发领域同样大放异彩。本文将介绍Python在Web开发中的基础知识、常用框架以及一个完整的实战项目,帮助读者从基础入门到…