kubernetes和RC定义yaml文件格式
来源:互联网 发布:告白软件生成器 编辑:程序博客网 时间:2024/06/03 06:42
kubernetes定义yaml文件格式。
Pod定义文件模板(yaml格式)如下:
apiVersion: v1# required
kind: Pod# required
metadata:# required
name: string # required
namespace:string # required
labels:
- name: string
annotations:
- name: string
spec: #required
containers: # required
- name:string # required
image:string # required
imagePullPolicy: [Always | Never | IfNotPresent]
command:[string]
workingDir:string
volumeMounts:
- name:string
mountPath: string
readOnly:boolean
ports:
- name:string
containerPort: int
hostPort:int
protocol:string
env:
- name:string
value:string
resources:
limits:
cpu:string
memory:string
volumes:
- name: string
# EitheremptyDir for an empty directory
emptyDir: {}
# OrhostPath for a pre-existing directory on the host
hostPath:
path: string
restartPolicy:[Always | Never | OnFailure]
dnsPlicy:[Default | ClusterFirst] #required
nodeSelector:object
imagePullSercret:object
对Pod各属性详细说明表如下:
属 性 名 称取 值 类 型是 否 必 选取 值 说明
versionStringRequiredv1
kindStringRequiredPod
metadataObjectRequired元数据
RC定义文件详解
RC(ReplicationController)定义文件模板(yaml格式)如下:
apiVersion: v1# required
kind: ReplicationController # required
metadata:# required
name: string # required
namespace:string # required
labels:
- name: string
annotations:
- name: string
spec: #required
replicas:number # required
selector: [] # required
template:object # required
Service定义文件详解
Service定义文件模板(yaml格式)如下:
apiVersion: v1# required
kind: Service# required
metadata:# required
name: string # required
namespace:string # required
labels:
- name: string
annotations:
- name: string
spec: #required
selector: [] # required
type: string #required
clusterIP: string
sessionAffinity:string
ports:
- name: string
port: int
targetPort:int
protocol:string
status:
loadBalancer:
ingress:
ip: string
hostname:string
对Service各属性详细说明表如下:
属 性 名 称取 值 类 型是 否 必 选取 值 说明
versionStringRequiredv1
kindStringRequiredPod
metadataObjectRequired元数据
metadata.nameStringRequiredService名称,符合RFC1035规范
metadata.namespaceStringRequired命名空间,不指定时系统使用名为?default?的命名空间
metadata.labels[]list自定义标签属性列表
metadata.annotation[]list自定义注解属性列表
specobjectRequired详细描述
spec.selector[]listRequiredLabel Selector配置,将选择具有指定label标签的Pod作为管理范围
spec.typestringRequiredService类型,指定Service访问方式,默认为ClusterIP。
ClusterIP: 虚拟的服务IP地址,该地址用户kubernetes集群内部Pod访问,在Node上kube-proxy通过设置的iptables规则进行转发;
NodePort: 使用宿主机的端口,使能够访问各Node的外部客户端通过Node的IP地址和端口号就能访问服务;
LoadBalancer: 使用外接负载均衡器完成到服务的负载分发,需要在spec.status.loadBalancer字段指定外部负载均衡器的IP地址,并同时定义nodePort和clusterIP.
spec.clusterIPString虚拟服务IP地址,当type=ClusterIP时,如果不指定,则系统自动分配;当type=LoadBalancer时,则需要指定。
spec.sessionAffinityString是否支持Session,可选值为ClientIP,默认为空。
ClientIP: 表示同一个客户端(根据客户端的IP地址决定)的访问请求都转发到同一个后端Pod。
spec.ports[]listService需要暴露的端口号列表
spec.ports[].nameString端口名称
spec.ports[].portint服务监听的端口号
spec.ports[].targetPortint需要转发到后端Pod的端口号
spec.ports[].protocolint端口协议,支持TCP和UDP,默认TCP
statusobject当spec.type=LoadBalancer时,设置外部负载均衡器的地址
status.loadBalancerobject外部负载均衡器
status.loadBalancer.ingressobject外部负载均衡器
status.loadBalancer.ingress.ipstring外部负载均衡器的IP地址
status.loadBalancer.ingress.hostnamestring外部负载均衡器的主机名
附录
根据yaml创建:
$ kubectl create -f [--validate[=true]]
根据yaml删除:
$ kubectl delete -f
Pod定义文件模板(yaml格式)如下:
apiVersion: v1# required
kind: Pod# required
metadata:# required
name: string # required
namespace:string # required
labels:
- name: string
annotations:
- name: string
spec: #required
containers: # required
- name:string # required
image:string # required
imagePullPolicy: [Always | Never | IfNotPresent]
command:[string]
workingDir:string
volumeMounts:
- name:string
mountPath: string
readOnly:boolean
ports:
- name:string
containerPort: int
hostPort:int
protocol:string
env:
- name:string
value:string
resources:
limits:
cpu:string
memory:string
volumes:
- name: string
# EitheremptyDir for an empty directory
emptyDir: {}
# OrhostPath for a pre-existing directory on the host
hostPath:
path: string
restartPolicy:[Always | Never | OnFailure]
dnsPlicy:[Default | ClusterFirst] #required
nodeSelector:object
imagePullSercret:object
对Pod各属性详细说明表如下:
属 性 名 称取 值 类 型是 否 必 选取 值 说明
versionStringRequiredv1
kindStringRequiredPod
metadataObjectRequired元数据
RC定义文件详解
RC(ReplicationController)定义文件模板(yaml格式)如下:
apiVersion: v1# required
kind: ReplicationController # required
metadata:# required
name: string # required
namespace:string # required
labels:
- name: string
annotations:
- name: string
spec: #required
replicas:number # required
selector: [] # required
template:object # required
Service定义文件详解
Service定义文件模板(yaml格式)如下:
apiVersion: v1# required
kind: Service# required
metadata:# required
name: string # required
namespace:string # required
labels:
- name: string
annotations:
- name: string
spec: #required
selector: [] # required
type: string #required
clusterIP: string
sessionAffinity:string
ports:
- name: string
port: int
targetPort:int
protocol:string
status:
loadBalancer:
ingress:
ip: string
hostname:string
对Service各属性详细说明表如下:
属 性 名 称取 值 类 型是 否 必 选取 值 说明
versionStringRequiredv1
kindStringRequiredPod
metadataObjectRequired元数据
metadata.nameStringRequiredService名称,符合RFC1035规范
metadata.namespaceStringRequired命名空间,不指定时系统使用名为?default?的命名空间
metadata.labels[]list自定义标签属性列表
metadata.annotation[]list自定义注解属性列表
specobjectRequired详细描述
spec.selector[]listRequiredLabel Selector配置,将选择具有指定label标签的Pod作为管理范围
spec.typestringRequiredService类型,指定Service访问方式,默认为ClusterIP。
ClusterIP: 虚拟的服务IP地址,该地址用户kubernetes集群内部Pod访问,在Node上kube-proxy通过设置的iptables规则进行转发;
NodePort: 使用宿主机的端口,使能够访问各Node的外部客户端通过Node的IP地址和端口号就能访问服务;
LoadBalancer: 使用外接负载均衡器完成到服务的负载分发,需要在spec.status.loadBalancer字段指定外部负载均衡器的IP地址,并同时定义nodePort和clusterIP.
spec.clusterIPString虚拟服务IP地址,当type=ClusterIP时,如果不指定,则系统自动分配;当type=LoadBalancer时,则需要指定。
spec.sessionAffinityString是否支持Session,可选值为ClientIP,默认为空。
ClientIP: 表示同一个客户端(根据客户端的IP地址决定)的访问请求都转发到同一个后端Pod。
spec.ports[]listService需要暴露的端口号列表
spec.ports[].nameString端口名称
spec.ports[].portint服务监听的端口号
spec.ports[].targetPortint需要转发到后端Pod的端口号
spec.ports[].protocolint端口协议,支持TCP和UDP,默认TCP
statusobject当spec.type=LoadBalancer时,设置外部负载均衡器的地址
status.loadBalancerobject外部负载均衡器
status.loadBalancer.ingressobject外部负载均衡器
status.loadBalancer.ingress.ipstring外部负载均衡器的IP地址
status.loadBalancer.ingress.hostnamestring外部负载均衡器的主机名
附录
根据yaml创建:
$ kubectl create -f [--validate[=true]]
根据yaml删除:
$ kubectl delete -f
阅读全文
1 0
- kubernetes和RC定义yaml文件格式
- kubernetes创建资源对象yaml文件例子--rc
- YAML文件格式
- kubernetes资源对象--RC和RS
- oencv-xml,yaml文件格式的写和读
- YAML文件格式简介
- yaml 文件格式简介
- yaml的使用及.yaml文件格式问题
- Kubenetes 创建管理hadoop的docker容器的RC和service.yaml文件
- .rc Windows资源文件定义和使用
- 使用YAML创建一个 Kubernetes Depolyment
- kubernetes initcontainer <=1.5 yaml 例子
- Hive数据类型、文件格式和数据定义
- Kubernetes对象之Replication Controller(RC)和Replica Sets(RS)
- xx.rc windows资源文件的定义和使用
- kubernetes学习2--RC/service/pod实践
- kubernetes学习2--RC/service/pod实践
- kubernetes单个pod运行两个容器yaml文件实践
- 什么是值传递和引用传递
- 将本地Jar包安装到maven仓库
- 构造函数的含义和作用,复制构造函数
- VxWorks内核解读-1
- linux下C语言,我的新手学习之路。
- kubernetes和RC定义yaml文件格式
- 简单记录交叉验证(Cross Validation)
- Fragment与ViewPager
- ValueError: compiledir '/home/external/.theano/compiledir_Linux-4.4--generic-x86_64-with-Ubuntu-16.0
- TensorFlow
- V8系统中不同权限的用户有不同的图标功能
- InventorCAM 2017
- 解决微信小程序里的view里面image缝隙问题
- gdb调试core分析jvm(JNI)奔溃原因