apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中
kind: ReplicationController #指定创建资源的角色/类型
metadata: #资源的元数据/属性
name: test-rc #资源的名字,在同一个namespace中必须唯一
labels: #设定资源的标签,详情请见http://blog.csdn.net/liyingke112/article/details/77482384
k8s-app: apache
software: apache
project: test
app: test-rc
version: v1
annotations: #自定义注解列表
- name: String #自定义注解名字
spec:
replicas: 2 #副本数量2
selector: #RC通过spec.selector来筛选要控制的Pod
software: apache
project: test
app: test-rc
version: v1
name: test-rc
template: #这里Pod的定义
metadata:
labels: #Pod的label,可以看到这个label与spec.selector相同
software: apache
project: test
app: test-rc
version: v1
name: test-rc
spec:#specification of the resource content 指定该资源的内容
restartPolicy: Always #表明该容器一直运行,默认k8s的策略,在此容器退出后,会立即创建一个相同的容器
nodeSelector: #节点选择,先给主机打标签kubectl label nodes kube-node1 zone=node1
zone: node1
containers:
- name: web04-pod #容器的名字
image: web:apache #容器使用的镜像地址
imagePullPolicy: Never #三个选择Always、Never、IfNotPresent,每次启动时检查和更新(从registery)images的策略,
# Always,每次都检查
# Never,每次都不检查(不管本地是否有)
# IfNotPresent,如果本地有就不检查,如果没有就拉取
command: ['sh'] #启动容器的运行命令,将覆盖容器中的Entrypoint,对应Dockefile中的ENTRYPOINT
args: ["$(str)"] #启动容器的命令参数,对应Dockerfile中CMD参数
env: #指定容器中的环境变量
- name: str #变量的名字
value: "/etc/run.sh" #变量的值
resources: #资源管理,请求请见http://blog.csdn.net/liyingke112/article/details/77452630
requests: #容器运行时,最低资源需求,也就是说最少需要多少资源容器才能正常运行
cpu: 0.1 #CPU资源(核数),两种方式,浮点数或者是整数+m,0.1=100m,最少值为0.001核(1m)
memory: 32Mi #内存使用量
limits: #资源限制
cpu: 0.5
memory: 32Mi
ports:
- containerPort: 80 #容器开发对外的端口
name: httpd #名称
protocol: TCP
livenessProbe: #pod内容器健康检查的设置,详情请见http://blog.csdn.net/liyingke112/article/details/77531584
httpGet: #通过httpget检查健康,返回200-399之间,则认为容器正常
path: / #URI地址
port: 80
#host: 127.0.0.1 #主机地址
scheme: HTTP
initialDelaySeconds: 180 #表明第一次检测在容器启动后多长时间后开始
timeoutSeconds: 5 #检测的超时时间
periodSeconds: 15 #检查间隔时间
#也可以用这种方法
#exec: 执行命令的方法进行监测,如果其退出码不为0,则认为容器正常
# command:
# - cat
# - /tmp/health
#也可以用这种方法
#tcpSocket: //通过tcpSocket检查健康
# port: number
lifecycle: #生命周期管理
postStart: #容器运行之前运行的任务
exec:
command:
- 'sh'
- 'yum upgrade -y'
preStop:#容器关闭之前运行的任务
exec:
command: ['service httpd stop']
volumeMounts: #详情请见http://blog.csdn.net/liyingke112/article/details/76577520
- name: volume #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /data #挂载到容器的某个路径下
readOnly: True
volumes: #定义一组挂载设备
- name: volume #定义一个挂载设备的名字
#meptyDir: {}
hostPath:
path: /opt #挂载设备类型为hostPath,路径为宿主机下的/opt,这里设备类型支持很多种
分享到:
相关推荐
resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs"] verbs: ["get", "update", "delete"] # Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map. -...
- 配置管理:例如,服务启动脚本可以使用yaml-cpp读取YAML配置文件,获取服务的运行参数,如端口号、数据库连接信息等。 - 日志分析:通过解析日志文件中的YAML格式数据,提取关键信息进行统计和分析。 - 容器化部署...
在 Kubernetes 中,YAML 文件是用于定义资源对象的配置文件,如 Pods、Services、Deployments 等。`kubectl` 是 Kubernetes 的命令行工具,用于与集群进行交互。`kubectl create` 命令用来根据指定的 YAML 文件创建...
《深入理解YAML-CPP库:解析YAML文件的CPP实现》 YAML,全称“YAML Ain't Markup Language”(发音同“camel”,意为“不是标记语言”),是一种简洁、直观的数据序列化语言。它常用于配置文件、数据交换格式等领域...
赠送Maven依赖信息文件:jackson-dataformat-yaml-2.10.0.pom; 包含翻译后的API文档:jackson-dataformat-yaml-2.10.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:...
props2yaml-idea-plugin是一款专为Java开发人员设计的IntelliJ IDEA插件,它能够方便地将传统的Properties配置文件转换成现代的YAML格式。这个插件的目的是提高代码的可读性和维护性,因为YAML(YAML Ain't Markup ...
华为云环境安装 flannel 插件的 yaml 文件 -- kube-flannel_hw.yml
赠送Maven依赖信息文件:jackson-dataformat-yaml-2.11.4.pom; 包含翻译后的API文档:jackson-dataformat-yaml-2.11.4-javadoc-API文档-中文(简体)版.zip; Maven坐标:...
yaml文件是Kubernetes的配置语言,用于定义资源对象,如Pod、Service、Deployment等。在这个压缩包中提到的“kubernetes网络插件yaml文件”很可能包含了这些网络插件的配置,比如Flannel的配置文件`kube-flannel.yml...
赠送Maven依赖信息文件:jackson-dataformat-yaml-2.8.6.pom; 包含翻译后的API文档:jackson-dataformat-yaml-2.8.6-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:...
yaml-cpp是一个开源库,专门用于处理YAML(YAML Ain't Markup Language)格式的文件,它提供了C++语言的接口,使得开发者能够方便地在C++程序中读取和写入YAML数据。在yaml-cpp-0.5.3这个版本中,我们将重点探讨两个...
假设你下载的文件名为`yaml-cpp-yaml-cpp-0.7.0.tar.gz`,则可以执行以下命令: ```bash tar -xvf yaml-cpp-yaml-cpp-0.7.0.tar.gz ``` 这将创建一个名为`yaml-cpp-yaml-cpp-0.7.0`的解压目录。 ### 三、编译&...
赠送Maven依赖信息文件:jackson-dataformat-yaml-2.11.4.pom; 包含翻译后的API文档:jackson-dataformat-yaml-2.11.4-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:...
yaml-cpp库的核心功能包括解析YAML文件、构建YAML节点、以及将C++对象序列化和反序列化为YAML格式。它支持多种数据类型,如字符串、整数、浮点数、布尔值,以及数组、映射等复杂结构。库的设计允许开发者灵活地处理...
**YAML配置文件解析-YAML** YAML (YAML Ain't Markup Language) 是一种轻量级的数据序列化语言,被广泛应用于配置文件和数据交换。它具有简洁易读的特性,支持多种编程语言,如Python、Java、Ruby等。YAML的语法...
在Kubernetes(k8s)集群中创建MySQL数据库服务,通常涉及到多个YAML文件的配置,这些文件共同定义了MySQL的部署、服务、持久卷和持久卷声明等组件。以下是对这一过程的详细阐述: 首先,`mysql-deployment.yaml`是...