文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Kubernetes中yaml文件有什么用

2023-06-19 13:15

关注

小编给大家分享一下Kubernetes中yaml文件有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

YAML 基础

YAML(Yet Another Markup Language) 不是一种标志语言。它的应用很广泛,在这里着重讲一讲,在 Kubernetes 中的一些内容。使用 YAML 用于 k8s 的定义将给你一些好处,包括:

  • 便捷性:你将不再需要添加大量的参数到命令行中执行命令

  • 可维护性:YAML 文件可以通过源头控制,可以跟踪每次的操作

  • 灵活性:通过 YAML 你将可以创建比命令行更加复杂的结构 YAML 是一个 JSON 的超集,意味着任何有效 JSON 文件也都是一个 YAML 文件。关于 Kubernetes 中 YAML 的使用,只需要知道两种类型:

  • Maps

  • Lists

 

YAML Maps

咱们先来看看 YAML Maps 这种类型。Maps 可以将键值组合,从而可以更加方便的去配置信息。像下面这样,你可能会有这样一个配置信息:

---
apiVersion: v1
kind: Service
 

第一行是分隔符,并且是可选的。如果在单个文件中只定义了一个服务,那么这种情况下,第一行的分隔符就可以忽略不计。在上面的例子中,可以看出有两个值: v1 和 Service ,对应它们的键是 apiVersion 和 kind

 

YAML Lists

接下来介绍一下 YAML Lists。其实它就是一个序列的对象,例如:

args
 - sleep
 - "1000"
 - message
 

我们可以看到,可以有任何数量的项在列表中,项的定义以破折号(-)开头,并且和父元素之间存在缩进。但是要注意一点:在 YAML 文件中绝对不要使用 tab 键来进行缩进。

 

实际中的运用

基本上,不管我们想要什么样的结构,都可以通过这两个结构去组合实现。接下来我就以我在项目中使用的 yaml 文件为例来进行讲解一下(#后面内容为注释内容):

apiVersion: v1
kind: ReplicationController   #类型是一个RC
metadata:
 name: nginx-controller
spec:
 replicas: 2                 #我想要2个RC
 selector:
   name: mynginx
 template:
   metadata:
     labels:
       name: mynginx
   spec:
     containers:
     - name: mynginx
       image: reg。zll。com/web/nginx:1。12。2    #前端需要部署在nginx上,这里是对应的nginx的镜像。
       volumeMounts:
       - name: httpd-storage
         mountPath: /etc/nginx/nginx。conf          #镜像中nginx的配置文件地址,用下面的path:/home/nginx。conf去代替此路径。
       - name: httpd-storag
         mountPath: /usr/local/dist
       ports:
       - containerPort: 80
     volumes:
     - name: httpd-storage
       hostPath:
         path: /home/nginx。conf             #自定义的nginx的配置文件,挂载到服务器上的这一路径下,去代替镜像中nginx的配置
     - name: httpd-storag
       hostPath:
         path: /usr/local/dist              #前端打包好的文件,放置的路径,去代替上放的mountPath:/usr/local/dist

---
apiVersion: v1
kind: Service    #类型是个service
metadata:
 name: nginx-service-nodeport
spec:
 ports:
   - port: 8000
     targetPort: 80
     nodePort: 30080    #暴露出来可供访问的IP。
     protocol: TCP
 type: NodePort
 selector:
   name: mynginx

以上是“Kubernetes中yaml文件有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯