Kubernetes资源创建yml语法
前言
在是用kubernetes中,我们对资源的创建大部分都是通过
1
|
kubelet create -f RESOURCE.yaml
|
刚开看的时候不免有一些迷茫,看不懂语法,不知道怎么写;今天本文就介绍一下kubernetes construct语法。
Construct语法其实就是由kubelet格式化成API的post data,提交给apiserver,因此这里支持yaml,json两种数据结构的文件。
Pod资源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
apiVersion: v1 指定api版本,此值必须在kubectl apiversion中
kind: Pod 指定创建资源的角色/类型
metadata: 资源的元数据/属性
name: test 资源的名字,在同一个namespace中必须唯一
labels: 设定资源的标签
sex: boy 标签以key/value的结构存在
age: 18
spec: #specification of the resource content 指定该资源的内容
restartPolicy: Never 表明改容器仅仅运行一次,默认k8s的策略,在此容器退出后,会立即创建一个相同的容器
volumes: 定义一组挂载设备
- name: volume 定义一个挂载设备的名字
hostPath: /data/www/html 挂载设备类型为hostPath,路径为宿主机下的/data/www/html,这里设备类型支持很多种
containers: 指定资源中的容器
- name: container1 容器的名字
image: “docker.coocla.org/ubuntu:last” 容器使用的镜像地址
volumeMounts:
- mountPath: /mnt 挂载到容器的某个路径下
name: volume 挂载设备的名字,与volumes[*].name 需要对应
livenessProbe: 容器健康监测
httpGet: http形式监测,返回200-399之间,则认为容器正常
path: /health
port: 8080
initialDelaySeconds: 15 表明第一次检测在容器启动后多长时间后开始
timeoutSeconds: 1 检测的超时时间
env: 指定容器中的环境变量
- name: str 变量的名字
value: "hello world” 变量的值
command: ["/bin/bash", "-c"] 覆盖容器中的Entrypoint,对应Dockefile中的ENTRYPOINT
args: ["/bin/echo", "$(str)"] 对应Dockerfile中CMD参数
|
健康监测还支持另外一种方法:
1
2
3
4
5
6
|
exec: 执行命令的方法进行监测,如果其退出码不为0,则认为容器正常
command:
- cat
- /tmp/health
initialDelaySeconds: 15
timeoutSeconds: 1
|
ReplicationController的语法参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 2 指定rc中pod的个数
template: 指定rc中pod的模板,rc中的pod都是按照这个模板来创建的
metadata: 指定rc中pod的元数据,注意这里不需要在指定pod的名字,它由rc复制生成
labels:
app: nginx
spec:
container:
- name: nginx
image: nginx
|
Service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
apiVersion: v1
kind: Service
metadata:
name: nginxsvc
labels:
app: nginx
spec: 指定Service中的内容
ports: 映射列表
- port: 80 service的端口
porotocal: TCP 映射的协议类型,支持TCP/UDP
targetPort: 80 映射到pod的端口
name: www.baidu.com 该映射的名字
selector: 匹配器
port: 80
app: nginx 匹配label中app为nginx,port为80的pod
|
Secret
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: 0paque 定义secret的类型,这里支持三种类型
password: xxx|base64 以key/value的形式定义,value需要经过base64编码才可以,在secret被挂载到container中后,会以key作为文件名,value的值经过base64解码作为内容,以文件的形式存在于container中
username: xxx|base64
---
type: kubernetes.io/service-account-token 第二种secret类型,用作创建服务账号的token,用作进程间通信的认证
---
type: kubernetes.io/dockercfg 第三种secret类型,用作在创建container,对docker registry的认证
data:
.dockercfg: `cat ~/.dockercfg | base64`
|
以上为部分资源参数,当然还有更多的参数可以指定,及更多的资源可以通过定义construct来创建。
转载于:https://www.cnblogs.com/davygeek/p/6432154.html
Kubernetes资源创建yml语法相关推荐
- Kubernetes资源清单篇:如何创建资源?
在Kubernetes中所有操作的内容,我们都称为"资源对象",是由API Server基于HTTP/HTTPS接收并响应客户端的操作请求,是一种Restful风格的接口,将各种组 ...
- pod:Kubernetes(k8s)创建pod的两种方式
目录 一.系统环境 服务器版本 docker软件版本 CPU架构 CentOS Linux release 7.4.1708 (Core) Docker version 20.10.12 x86_64 ...
- Kubernetes 中创建 Pod 时集群中到底发生了些什么?
想象一下,如果我想将 nginx 部署到 Kubernetes 集群,我可能会在终端中输入类似这样的命令: $ kubectl run --image=nginx --replicas=3 然后回车. ...
- java8 自动关闭资源_java9系列第二篇-资源自动关闭的语法增强
我计划在后续的一段时间内,写一系列关于java 9的文章,虽然java 9 不像Java 8或者Java 11那样的核心java版本,但是还是有很多的特性值得关注.期待您能关注我,我将把java 9 ...
- kubernetes资源--RC和RS
Replication Controller(RC) RC是K8S中的另一个核心概念,应用托管在K8S后,K8S需要保证应用能够持续运行,这是RC的工作 内容. 主要功能 确保pod数量:RC用来管理 ...
- 4 Kubernetes资源-Pod控制器(2)
4 Kubernetes资源-Pod控制器(2) 4.3 DaemonSet DaemonSet确保Pod在所有Node节点运行一个副本,当有Node节点添加时会自动在新的节点创建Pod.常用于每个N ...
- 4 Kubernetes资源-Pod控制器(1)
4 Kubernetes资源-Pod控制器(1) Kubernetes中Pod分为自主式和控制器管理式: YAML指定类型为Pod的均为自主式,此类Pod退出后不会被创建: YMAL指定类型为Repl ...
- 3. Kubernetes资源-概述
3. Kubernetes资源-概述 3.1 资源概念 Kubernetes中所有内容都抽象为资源,资源实例化之后叫做对象.Kubernetes的资源根据不同的维度可以分为: 工作负载型:Pod.Re ...
- SpingBoot yml语法及测试总结yml文件常用的五种方式
yml语法及测试总结yml文件常用的五种方式 引言 项目介绍 初始化SpringBoot项目 application.properties介绍 yml配置文件基本语法 实际操作测试 引言 今天在开发过 ...
最新文章
- 【WP开发问题1】 请确保已为开发人员解锁此设备。有关开发人员解锁的详细信息,...
- 【计算机网络(微课版)】第3章 数据链路层 课后习题及答案
- 西瓜书学习记录-神经网络(第五章)
- hibernate左连接查询时在easyUI的dataGrid中有些行取值为空的解决办法
- Mysql yum 安装后,一些重要的文件路径
- 使用jQuery获取GridView的数据行的数量
- 通过C++的try和catch来捕获SEH异常
- 使用mybaits遇见有大写的sql语句错误的bug分析
- UniFi AP 5.5.20的基本使用与设置(普通漫游和无缝漫游)
- php qrcode二维码应用
- 新建xib适配iphone4尺寸的注意
- 实验二十三——RPL协议仿真实验
- php实现独立模块,poscms独立模块URL规则
- 手机如何测量长度?为什么现在很少携带尺子了
- 《TPM原理及应用指南》学习 —— TPM历史1
- 股票证券名词解释汇总
- 都市丽人全方位能力升维,增长驱动力强劲
- 妈妈写给热恋中的女儿的信!建议女孩都要看!
- C#记录四——浅析LINQ
- 求解一维Sod激波管问题
热门文章
- 分布式锁的三种实现方式_分布式锁的多种实现方式
- oracle 取系统当前年份_Oracle 获取当前日期及日期格式
- linux swap分区与内存,虚拟内存和swap分区的关系
- html 完全复制div中的内容_LOL手游现在远非完全体,未来还有哪些端游内容会加入手游中?...
- 计算机学术硕士课题,硕士学术论文选题的原则分析
- 如何判断exe文件是debug还是release编译生成的
- java判断线程是否死锁_c++多线程锁 Mutex 自动判断死锁
- elementui ts vant冲突_如何解决vue多个ui框架css冲突?
- 千兆光纤收发器调整措施
- hdmi光端机运用于多媒体信息发布系统案例介绍