8. yaml文件管理

文章目录

  • yaml文件管理
    • 编写yaml配置文件
    • 获取配置模板
      • 方法一
      • 方法二
      • 方法三
      • 方法四

yaml文件管理

  • Kubernetes 支持 YAML 和 JSON 格式管理资源对象

    • JSON 格式:主要用于 api 接口之间消息的传递
    • YAML 格式:用于配置和管理,YAML 是一种简洁的非标记性语言,内容格式人性化,较易读
  • YAML 语法格式:

    • 大小写敏感
    • 使用缩进表示层级关系
    • 不支持Tab键制表符缩进,只使用空格缩进
    • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可,通常开头缩进两个空格
    • 符号字符后缩进一个空格,如冒号,逗号,短横杆(-)等
    • “—”表示YAML格式,一个文件的开始,用于分隔文件间
    • “#”表示注释
###查看k8s支持的API版本
kubectl api-versions
###当前版本k8s使用的API版本
kubectl api-resources

编写yaml配置文件

apiVersion: apps/v1		   #指定api版本标签
kind: Deployment		
#定义资源的类型/角色,deployment为副本控制器,此处资源类型可以是Deployment、Job、Ingress、Service等
metadata:					#定义资源的元数据信息,比如资源的名称、namespace、标签等信息name: nginx-deployment	#定义资源的名称,在同一个namespace空间中必须是唯一的labels:				    #定义Deployment资源标签(可定义多个)app: nginx	
spec:					#定义deployment资源需要的参数属性,诸如是否在容器失败时重新启动容器的属性replicas: 3			#定义副本数量selector:				#定义标签选择器matchLabels:		#定义匹配标签app: nginx		#需与 .spec.template.metadata.labels 定义的标签保持一致template:				#定义业务模板,如果有多个副本,所有副本的属性会按照模板的相关配置进行匹配metadata:           ##pod资源的元信息labels:           #定义Pod副本将使用的标签,需与 .spec.selector.matchLabels 定义的标签保持一致app: nginxspec:                       ##定义pod的属性containers:				#定义容器属性- name: nginx				#定义一个容器名,一个 - name: 定义一个容器image: nginx:1.15.4		#定义容器使用的镜像以及版本ports:- containerPort: 80		#定义容器的对外的端口
##创建yaml文件的目录
cd /opt/
mkdir demo/
vim demo01-deploy.yamlkubectl explain deployment         
##查看deployment的信息,要编写的yaml的文件的字段
apiVersion: apps/v1
kind: Deployment
metadata: name: myapp-deploymentnamespace: test01labels: app: myapp
spec: replicas: 2selector:matchLabels: app: myapp-podtemplate:metadata: labels: app: myapp-podspec:containers:- name: myappimage: nginx:latestports: - containerPort: 80name: httpprotocol: TCP
##先创建  配置文件中的命名空间##利用yaml文件创建  deployment 
kubectl apply -f demo01-deploy.yaml##创建service资源
vim myapp-svc.yaml
apiVersion: v1
kind: Service
metadata: name: myapp-servicenamespace: test01
spec: selector: app: myapp-podports: - name: httpport: 8080targetPort: 80nodePort: 31000protocol: TCPtype: NodePortexternalTrafficPolicy: Cluster

获取配置模板

方法一

##手动配置yaml配置文件,可根据  kubectl explain  命令获取字段信息

方法二

##对于新的资源
##  利用  --dry-run   模拟创建过程,但没有创建东西
kubectl create deployment ggl -n test01 --image=nginx:1.14 --replcas=3 --dry-run=client##利用  -o  获取配置文件
kubectl create deployment ggl -n test01 --image=nginx:1.14 --replcas=3 --dry-run=client -o yaml##将配置文件导出到文件中
kubectl create deployment ggl -n test01 --image=nginx:1.14 --replcas=3 --dry-run=client -o yaml > demo3.yaml

方法三

##对于已经存在的资源
##用get命令导出
kubectl get svc nginx-service -o yaml > my-svc.yaml
##在线编辑配置
kubectl edit svc nginx-service  
#手动复制配置,再粘贴到新文件

方法四

##复制官方文档的配置文件案例

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

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

相关文章

Hash 缓存

Hash 缓存 输出文件名(Hash) 静态资源缓存是前端性能优化的一个点,所以在前端开发过程中,一般会最大限度的利用缓存(这里主要是强缓存)。如果设置了强缓存后,每次当我们部署了新的项目文件到线…

“深入探究JVM:揭秘Java虚拟机的工作原理“

标题:深入探究JVM:揭秘Java虚拟机的工作原理 摘要:本文将深入探究Java虚拟机(JVM)的工作原理,包括JVM的架构、内存管理、垃圾回收机制以及即时编译等关键概念。通过详细解释这些概念,读者将能够…

Android开发从0开始(图形与按钮)

Drawable: drawable是抽象类。包括图片,色块,画板,背景。 drawable-ldpi 存放低分辨率图片。drawable-hdpi 高分辨率。drawable-xxhdpi 超高分辨率。 Android:src”drawable/image” 即可使用 Shape: 形状图形。圆角,矩形等常见几…

dubbo之高可用

负载均衡 概述 负载均衡是指在集群中,将多个数据请求分散到不同的单元上执行,主要是为了提高系统的容错能力和对数据的处理能力。 Dubbo 负载均衡机制是决定一次服务调用使用哪个提供者的服务。 策略 在Dubbo中提供了7中负载均衡策略,默…

综合能源系统(6)——综合能源综合评估技术

综合能源系统关键技术与典型案例  何泽家,李德智主编 综合能源系统是多种能源系统非线性耦合的、多时间与空间尺度耦合的“源-网-荷一储”一体化系统,通过能源耦合、多能互补,能够实现能源的高效利用,并提高新能源的利用水平。对…

uni-app 运行时报错“本应用使用HBuilderX x.x.x 或对应的cli版本编译,而手机端SDK版本是x.x.x。不匹配的版本可能造成应用异常”

uni-app 运行时报错“本应用使用HBuilderX x.x.x 或对应的cli版本编译,而手机端SDK版本是x.x.x。不匹配的版本可能造成应用异常” 出现原因 手机端SDK版本和HBuilderX版本不一致。 解决办法 方法一 项目根目录下找到 manifest.json 配置文件,选择源码…

在idea运行python文件

在idea运行python文件 如果在idea运行python文件而没有弹出run的选项,则点击File->Settings…->Plugins,在里面搜索python,如果没有显示则在Maketplace进行搜索, 接着Install,然后restart

Spring5新功能

文章目录 前言一、整合日志功能二、Nullable注解三、函数式风格编程四、JUnit5单元测试框架总结 前言 整合日志、Nullable注解、函数式风格编程、整合JUnit5、Webflux 一、整合日志功能 Spring5移除了Log4jConfigListener,官方建议使用Log4j2. 依赖: &…

history记录日期时间和日志记录操作

history命令能查看到操作日期和时间的配置方法: 1)在/etc/profile文件中添加一行: export HISTTIMEFORMAT"%F %T whoami " 2)保存后,执行加载命令: source /etc/profile 3)然后检…

056B R包ENMeval教程-基于R包ENMeval对MaxEnt模型优化调参和结果评价制图(更新)

056B-1 资料下载 056B-2 R包ENMeval在MaxEnt模型优化调参中的经典案例解读 056B-3 R软件和R包ENMeval工具包安装 056B-4 R软件和R包ENMeval安装报错解决办法 056B-5 环境数据格式要求和处理流程 056B-6 分布数据格式要求和处理流程 056B-7 基于R包ENMeval对MaxEnt模型优化…

使用宝塔面板轻松部署云服务器

作者 : SYFStrive 博客首页 : HomePage 📜: 宝塔面版 📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗 📌:觉得文章不错可以点点关注 &#x1f449…

配置docker,案例复现

配置docker(系统为centos) 1.检查操作系统环境: docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安装docker 2.查看你是否拥有旧的版本,有的话卸载,没有的话直接略过该步骤 sudo yum remove d…

情感资源日记Resource Diary

什么是 Resource Diary ? Resource Diary 是自托管的情感资源日记,允许用户跟踪特定任务的情感反应以进行趋势识别。 按照作者的设计,对每个任务,通过 /- 号来表达任务完成后的情绪,等级从 0 到 5 ,其中&am…

【实战篇】亿级高并发电商项目(新建 ego_pojo、ego_mapper、ego_api、ego_provider、搭建后台项目 )十五

目录 八、 搭建 Provide 1 新建 ego_pojo 2 新建 ego_mapper 2.1编写 pom.xml 2.2新建配置文件 ​编辑

嵌入式面试题1

1 读程序段,回答问题 int main(int argc, char *argv[]) { int c 9, d 0; c c % 5; d c; printf("d%d\n",d);return 0;} a) 写出程序输出 b) 在一个可移植的系统中这种表达式是否存在风险?why? 答: 1.程序输出为:…

lscpu的各个参数是什么意思?

$ lscpu Architecture: x86_64 #架构 CPU op-mode(s): 32-bit, 64-bit #运行方式 Byte Order: Little Endian #字节顺序 CPU(s): 96 #逻辑cpu数 On-line CPU(s) list: 0-95 #在线cpu Thread(s) per core: 2 #每个核包含线程…

【Redis】Redis内存过期策略和内存淘汰策略

【Redis】Redis内存过期策略和内存淘汰策略 文章目录 【Redis】Redis内存过期策略和内存淘汰策略1. 过期策略1.1 惰性删除1.2 周期删除1.2.1 SLOW模式1.2.2 FAST模式 2. 淘汰策略 1. 过期策略 Redis本身是一个典型的key-value内存存储数据库,因此所有的key、value都…

antdv Input组件maxLength属性设置默认值

在一个项目开发时,经常用到input组件或者textarea组件,当前项目使用的时antdv1.7.8。提交测试时,测试人员反馈AInput和ATextarea组件没有限制字符长度导致保存时数据库插入报错,因此需要在前端需要限制字符长度。由于项目已经开发…

asp.net core 6.0 efcore +sqlserver增删改查的demo

asp.net core 6.0 efcore sqlserver增删改查的demo 下面是一个使用ASP.NET Core 5.0和Entity Framework Core进行增删改查操作的示例。 首先,创建一个空的ASP.NET Core 6.0 Web应用程序项目。 然后,安装以下NuGet包: Microsoft.EntityFra…

揭秘程序员和技师的7大共同点,最后一点绷不住了

大家好,这里是程序员晚枫,周末朋友出去放松回来,给我分析了一下程序员和技师的7个相同点,尤其是最后一点让我彻底绷不住了! 我也分享给大家。 1、都有工号。98号技师,380号技师大家都很熟悉了&#xff0c…