在Docker中,容器是最小的处理单元,添加、删除和更改的对象都是容器,这是一种虚拟化技术。容器是隔离的,这种隔离是基于Linux名称空间的。在Kubernetes中,Pod包含一个或多个相关的容器。Pod可以看作是容器的扩展,一个Pod也是一个隔离器,Pod中包含的一组容器是共享的(包括PID、网络、IPC、UTS)。此外,Pod中的容器可以访问一个公共数据卷,实现文件系统共享。
apiVersion: v1 #指定api版本,该值必须指定kubectl apiversion中的角色/类型元数据:#元数据/资源的属性名:web01-pod #。资源的名称在相同的命名空间标签中必须是唯一的:# Set标签k8s -app:Apache Version:v1 kubernetes.io/cluster-service: " true & quot;注释:#自定义注释列表-名称:字符串#自定义注释名称规范:#资源内容的规范指定资源的内容。restartPolicy: Always #表示容器一直在运行,默认的k8s策略。容器退出后,一个相同的容器节点selector:# node select zone:node 1 containers:-name:web 01-pod #容器镜像的名称:web:apache #容器镜像使用的镜像地址PullPolicy: Never #容器启动时检查仓库的策略。总是每次都检查,从不检查(本地有没有),IfNotPresent,本地有就不检查,没有就不检查,pull命令:[& # 39;sh & # 39] #启动容器的run命令将覆盖容器的Entrypoint,对应于Dockefile中的entry point args:[" $(str)& quot;] #命令参数启动容器,对应CMD参数env: #在Dockerfile中,指定容器中的环境变量-name:str #变量名值:"/etc/run . sh & quot;#可变资源的值:#资源管理请求:#容器运行时cpu的最低资源要求:0.1 # CPU资源(核心数),最小值为0.001核心(1m)内存:32Mi #内存资源限制:#受限CPU:0.5内存:32m端口:-容器端口:80 #容器的开放端口名称:httpd #名称协议:TCP活跃度探测:# pod内部容器健康检查的设置httpGet: #通过httpGet检查健康, 2004到399之间的容器为正常路径:/# URI地址端口:80 #主机:127.0.0.1 #主机地址方案:http initialDelaySeconds: 180 #表示容器启动后多次启动第一次检测。 timeoutSeconds: 5 #检测超时周期Seconds: 15 #检查间隔#方法2 #exec:执行命令进行监视,如果其退出代码不为0,则认为该容器正常#命令:#- cat #- /tmp/health #方法3 #tcpSocket: //通过tcpSocket检查健康状态# Port:number life cycle:# Claim life cycle Management post start:#容器创建后,运行任务exec:command:-& # 39;sh & # 39- '百胜升级-y & # 39;PreStop:# Task exec:command:[& # 39;在容器关闭之前运行的服务httpd stop & # 39]volume mounts:# persistent storage mount -name:volume # mount设备名称,mountPath: /data #对应卷[*]。name需要挂载在容器的路径中,readOnly: True volumes: #定义一组挂载的设备- name: volume #定义挂载的设备的名称# meptydir:{ } hostpath:path:/opt #挂载的设备类型为host path,路径为主机下的/opt。
评论前必须登录!
注册