K8S通过yaml格式的声明式API与资源对象交互

API版本由apiVersion字段指定,API对象类型由kind字段指定

除此之外,每个API对象有三大类属性:

  • metadata:元数据
  • spec:规范
  • status:状态

Pod

一般很少单独定义Pod,字段如下:

  • apiVersion: v1
  • kind: pod
  • metadata
    • namespace:非必须,默认为"default"
    • name:必须指定,命名空间内唯一
  • spec
    • containers:Pod内的容器,数组类型,每个元素以-开头

Containers元素字段:

  • args: <[]string>,entrypoint的参数,$()取变量,$$$
  • command<[]string>,entrypoint数组
  • image<string>,容器镜像名
  • imagePullPolicy<string>,镜像拉取策略
    • Always(默认)
    • Never
    • IfNotPresent
  • workingDir:容器工作目录
  • volumeMounts:数据卷挂载
  • ports:暴露端口,不阻止未指定的端口的暴露
  • readinessProbe:就绪探头
  • livenessProbe:存活探头

Deployment

Deployment定义如下:

  • apiVersion: apps/v1
  • kind: Deployment
  • metadata
    • namespace
    • name
  • spec
    • replicas:期望的pod数,默认为1
    • strategy:pod替换策略(非必需)
      • type

        • Recreate:创建新pod前删除所有旧pod
        • RollingUpdate:默认,使rollingUpdate字段生效,滚动更新策略
      • rollingUpdate:指定滚动更新的参数
        • maxSurge:最大的可以存在的pod超出replicas的数量
        • maxUnavailable:最大的不可用pod数量
    • selector:pod的标签选择器
      • matchLabels:键值对map,逻辑与相连
    • template:描述创建pod的模板
      • matadatapod.metadata
      • specpod.spec

【Kubernetes】yaml文件编写 -- 持续更新的更多相关文章

  1. Kubernetes YAML 文件全字段详解

    Kubernetes YAML 文件全字段详解 Deployment yaml 其中主要参数都在podTemplate 中,DaemonSet StatefulSet 中的pod部分一样. apiVe ...

  2. Kubernetes——YAML文件

    kubernetes——yaml文件的编写yaml文件的结尾后缀名.yaml或者.yml都能够识别.yaml文件就像脚本一样,可以放在任意的位置.编写yaml文件需要用到的帮助手册的查看: kubec ...

  3. 入门Kubernetes - YAML文件

    前言 前篇文章中简单了解到如何把.Net Core 程序部署到k8s中,过程中使用了多个*.yaml文件,那么这些文件的格式及含义.语法是如何的呢? 接下来,进一步了解学习 一.YAML介绍: 1.简 ...

  4. [Kubernetes]yaml文件详解

    应前一段时间夸下的海口:[Kubernetes]如何使用yaml文件使得可以向外暴露服务,说过要写一篇关于yaml文件详解的文章出来的,今天来总结一下.yaml文件用在很多地方,但是这里以介绍在Kub ...

  5. Docker Kubernetes YAML文件常用指令

    YAML文件常用指令 配置文件说明: 定义配置时,指定最新稳定版API(当前为v1). 配置文件应该存储在集群之外的版本控制仓库中.如果需要,可以快速回滚配置.重新创建和恢复. 应该使用YAML格式编 ...

  6. kubernetes 微服务西游记(持续更新中...)

    随着微服务架构的流行,迈向云原生的趋势,容器化微服务就成为了持续集成最好的手段,镜像成为了持续交付最好的产物,容器成为了镜像运行最好的环境,kubernetes成了部署容器最好的生态系统和规范.实践出 ...

  7. Kubernetes (yaml 文件详解)

    # yaml格式的pod定义文件完整内容:apiVersion: v1       #必选,版本号,例如v1kind: Pod       #必选,Podmetadata:       #必选,元数据 ...

  8. 数据结构与算法C语言所有头文件汇总 —— 持续更新

    header.h // 顺序表的结构定义 #define Maxsize 100 //const int Maxsize = 100; // 预先定义一个足够大的常数 typedef struct { ...

  9. k8s Service yaml文件编写

    apiVersion: app/v1 #API的版本号,版本号可以用 kubectl api-versions 查询到 kind: Service #表明资源对象,例如Pod.RC.Service.N ...

  10. 验证Kubernetes YAML的最佳实践和策略

    本文来自Rancher Labs Kubernetes工作负载最常见的定义是YAML格式的文件.使用YAML所面临的挑战之一是,它相当难以表达manifest文件之间的约束或关系. 如果你想检查所有部 ...

随机推荐

  1. C盘爆满的解决方法,不用删除文件,使用分区助手无损增加内存

    一.分区助手傲梅科技 对于我们C盘内存不足的来说,老师推荐的yyds. 我的内存C盘历史最低是900多M,1.5G还是多的,经过我不断的删除文件,发现没什么用,电脑用久了C盘文件占内存自然就多了!!改 ...

  2. 关于Java中对象的向上转型和向下转型

    什么是多态? 同一个类调用同一个方法会产生不同的影响/结果 这就是多态 public class Pet{ public void eat(){ System.out.println("Pe ...

  3. linux下live555编译和调试

    linux下live555编译和调试 live555 支持 h.264 初步告捷,可以播放,尽管不是很稳定,或者说暂时只能播放 1 帧(主要是我现在还不了解 帧的概念),同时还有 Mal SDP 的传 ...

  4. C# 获取系统已安装的.NET版本

    获取系统已安装的.NET版本,来确定当前应用可运行的环境. 微软已经有相应的完整文档,请参考:确定已安装的 .NET Framework 版本 - .NET Framework | Microsoft ...

  5. Python定时任务框架apscheduler的简单使用

    apscheduler的简单使用 APScheduler有四大组件: 1.触发器 triggers : 触发器包含调度逻辑.每个作业都有自己的触发器,用于确定下一个任务何时运行.除了初始配置之外,触发 ...

  6. 2020-11-08:在Mysql中,三个字段A、B、C的联合索引,查询条件是B、A、C,会用到索引吗?

    福哥答案2020-11-08: 会走索引,原因是mysql优化器会把BAC优化成ABC. CREATE TABLE `t_testabc2` ( `id` int(11) NOT NULL AUTO_ ...

  7. 2021-08-21:给定一个数组arr,长度为N > 1,从中间切一刀,保证左部分和右部分都有数字,一共有N-1种切法,如此多的切法中,每一种都有:绝对值(左部分最大值 – 右部分最大值)。返回最大

    2021-08-21:给定一个数组arr,长度为N > 1,从中间切一刀,保证左部分和右部分都有数字,一共有N-1种切法,如此多的切法中,每一种都有:绝对值(左部分最大值 – 右部分最大值).返 ...

  8. ET框架6.0分析三、网络通信

    概述 ET框架的消息机制贯彻始终,包含Entity消息(Awake,Update ...),自定义(Customer)消息,网络消息等.而ET系统的进程包含了客户端.Gate等各种类型的服务器,进程包 ...

  9. vue全家桶进阶之路35:Vue3 传递参数query和params

    在 Vue.js 3.x 中,可以通过路由的 params 和 query 属性来传递参数. 通过 params 传递参数 我们可以在路由跳转时通过 params 传递参数.具体方法如下: // 在组 ...

  10. el-table自适应列宽

    这里可对内容为文本的列进行自适应列宽 以下为 工具方法 /** * 使用span标签包裹内容,然后计算span的宽度 width: px * @param valArr */ function get ...