apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中
kind: ReplicationController #指定创建资源的角色/类型
metadata: #资源的元数据/属性
name: test-rc #资源的名字,在同一个namespace中必须唯一
labels: #设定资源的标签
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: test-rc #容器的名字
image: web:apache #容器使用的镜像地址
imagePullPolicy: Never #[Always|Never|IfNotPresent]获取镜像的策略
command: ['sh'] #覆盖容器中的Entrypoint,对应Dockefile中的ENTRYPOINT
args: ["$(str)"] #对应Dockerfile中CMD参数
env: #指定容器中的环境变量
- name: str #变量的名字
value: "/etc/run.sh" #变量的值
resources: #资源管理
requests: #最小资源需求
cpu: 0.1 #设置可以使用CPU个数,两种方式,浮点数或者是整数+m,0.1=100m
memory: 8Mi #内存使用量
limits: #资源限制
cpu: 0.5
memory: 16Mi
ports:
- containerPort: 80
name: httpd
protocol: TCP
livenessProbe: #pod内容器健康检查的设置
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:
- 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格式数据,提取关键信息进行统计和分析。 - 容器化部署...
《深入理解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坐标:...
华为云环境安装 flannel 插件的 yaml 文件 -- kube-flannel_hw.yml
在 Kubernetes 中,YAML 文件是用于定义资源对象的配置文件,如 Pods、Services、Deployments 等。`kubectl` 是 Kubernetes 的命令行工具,用于与集群进行交互。`kubectl create` 命令用来根据指定的 YAML 文件创建...
赠送Maven依赖信息文件:jackson-dataformat-yaml-2.11.4.pom; 包含翻译后的API文档:jackson-dataformat-yaml-2.11.4-javadoc-API文档-中文(简体)版.zip; Maven坐标:...
props2yaml-idea-plugin是一款专为Java开发人员设计的IntelliJ IDEA插件,它能够方便地将传统的Properties配置文件转换成现代的YAML格式。这个插件的目的是提高代码的可读性和维护性,因为YAML(YAML Ain't Markup ...
至此,你的CentOS节点已经成功加入了Kubernetes集群,可以运行Pods和其他Kubernetes资源了。 总结,"kubernetes-node-linux-amd64.tar.gz"是Kubernetes为Linux AMD64架构准备的节点安装包,通过下载、解压、配置和...
赠送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`的解压目录。 ### 三、编译&...
学习如何使用YAML文件定义这些对象,并用`kubectl`进行部署和管理,是成为Kubernetes管理员的基础。 总之,"**kubernetes-server-linux-amd64.tar.gz**"是一个包含所有必需组件的软件包,用于在Linux服务器上搭建...
赠送Maven依赖信息文件:jackson-dataformat-yaml-2.11.4.pom; 包含翻译后的API文档:jackson-dataformat-yaml-2.11.4-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:...
yaml-cpp-master.zip是这个库的源代码压缩包,其中包含了yaml-cpp项目的主分支代码,对于开发者而言,这是一份宝贵的学习和参考资源。 YAML(Yet Another Markup Language)是一种简洁明了的数据序列化语言,它比...
YAML配置文件的创建和读取 #### (1) 安装YAML库 对于Python,可以使用`pip3 install PyYaml`来安装`PyYAML`库,以支持YAML文件的读写操作。 #### (2) YAML数据结构 YAML支持两种主要的数据结构:字典和列表。 - ...
yaml文件是Kubernetes的配置语言,用于定义资源对象,如Pod、Service、Deployment等。在这个压缩包中提到的“kubernetes网络插件yaml文件”很可能包含了这些网络插件的配置,比如Flannel的配置文件`kube-flannel.yml...
Prometheus+Grafana监控Kubernetes-配套yaml.zip grafana.yaml、Kubernetes Pod Resources.json、namespace.yaml、node-exporter.yaml、prometheus.yaml
赠送Maven依赖信息文件:jackson-dataformat-yaml-2.8.6.pom; 包含翻译后的API文档:jackson-dataformat-yaml-2.8.6-javadoc-API文档-中文(简体)版.zip; Maven坐标:...