kubernetes-资源编排(YAML)

本文介绍了YAML文件在Kubernetes中的应用,包括API版本、资源类型(如Deployment和Service)的定义,kubectlcreate与apply的区别,以及处理复杂YAML结构的方法,如通过创建、导出和编辑来简化资源定义。
摘要由CSDN通过智能技术生成

一、YAML文件格式说明

二、YAML文件管理资源对象

解释:

        apiVersion - 以官方demo的apiVersion为准,官方文档示例一直保持最新的版本。

Deployments | Kubernetes

也可以通过api-versions查看当前api支持的版本

命令:kubectl api-versions

kind - 资源类型

可以通过api-resources查看都有哪些资源类型

最后一列就是写在kind处对应的资源类型。

apiVersion: apps/v1 #api版本

kind: Deployment  #资源类型

metadata:

  name: web   #资源名称

  namespace: default  #命名空间

spec:   #资源规格

  replicas: 3 #副本数量

  selector:

    matchLabels:

        app: web   #选择器标签,可以有多个

  template:    #pod模版

    metadata:   #pod元数据

        labels:

          app: web  #pod标签,唯一,要与选择器标签一一对应

     spec:      #pod规格

        containers:   #容器配置

        - name: web

          image: lizhenliang/java-demo

apiVersion:v1   #api版本

kind: Service   #资源类型

metadata:       #元数据

  name:web    #资源的名字,在同一个namespace中必须唯一

  namespace: default   #部署在哪个namespace中。不指定时默认为default命名空间

spec:

   posts:

    - port: 80   #服务监听的端口号

      protocol: TCP  #端口协议,支持TCP或UDP,默认TCP

      targetPort: 80  #容器暴露的端口

  selector:   #选择器。选择具有指定label标签的pod作为管理范围

     app: web

   type: NodePort     #当type=NodePort时,指定映射到物理机的端口号

kubectl create命令与kubectl apply -f 区别:

相同点:

1.都可以创建资源;

不同点:

create可以创建各种资源以及支持各种创建格式(json、yaml以及命令行),而apply主要是通过yaml创建资源以及更新。

建议:create一般用于初次创建资源,已经创建过,再使用create命令创建会报错。

三、YAML文件中字段太多,记不住怎么办

技巧:

方式一:创建一个资源(但并不实际创建),然后导出

删除web2.yaml导出的多余字段

修改后

 导出的web2_expose,同样可以修改成一个新的Service。

修改前:

修改后:

然后继续创建新的Service就好了。

注意:这种先通过create再导出yaml的方式,还要看kubectl是否支持你当前需要创建的资源,不支持也是不行的。

把-o yaml 的yaml换成 json, 就可以导出JSON格式的文件,一般json主要用于传输对接yaml信息用的,正常主要用yaml执行kube操作。

 方式二:

通过get命令导出一个资源。

编辑java-demo_deployment-export.yaml

修改前:

修改后:

注:通过get方式导出yaml,就比较通用了。

Pod容器的字段拼写忘记了?

  • 19
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值