服务创建

本文通过服务创建的过程,对服务的功能、配置和操作进行介绍。
1 填写基本信息

服务名称:作为服务标识,英文字母小写,在项目命名空间下唯一。
所属应用:应用在容器服务中,可理解为对服务的分类、标签或目录,一个服务必须归属于一个应用。
服务类型:分为无状态和有状态服务。无状态服务可设置多个实例,可滚动升级、可以使用共享存储;有状态服务只有一个实例,可挂载单实例读写的存储进行数据持久化。
实例个数:无状态时,可以设置用实实例(Pod)的数量。服务创建后,可在实例伸缩功能中,设置自动伸缩。有状态服务只能设置1个实例,且无自动伸缩功能。
服务描述:对服务增加额外的描述,了解服务的功能与作用。
2 容器设置
服务的运行的实际主体是容器,因此服务的主要配置实际上是对容器的配置。

镜像地址:部署服务时需要指定运行的镜像,可以直接输入或从平台内置镜像仓库、第三方仓库中选取。
资源限制:设置容器运行的CPU、内存最大使用量。每个项目资源限制能设置的最大值,由集群管理员或拥有者在集群项目管理的配额中设置。如果节点上的资源无法满足这项配置,则实例将无法调度到该节点上,如果集群内全部节点都无法满足此配置,则实例无法被调度,会触发“实例无法调度”事件。当容器实际使用内存超过限制时,会触发OOMKill事件,容器将被杀死并重启。
数据存储:根据不同的存储类型,挂载到容器中进行使用。
本地存储:将容器所在节点上的磁盘目录直接映射到容器内,容器内读写将直接操作节点目录。
临时存储:随实例生命周期存在的一个临时存储,多用于同一实例中多个容器共享存储目录。
NFS存储:将NFS存储服务的一个指定路径映射到容器内,容器内读写将应用于NFS存储服务。
配置文件:将ConfigMap以文件的形式挂载成容器内指定文件,多用于应用配置,当ConfigMap内容发生变更时,需要重启容器才能加载最新数据。同时也支持Secret作为文件进行挂载。
自定义存储:通过自定义的驱动和StorageClass实现对不同存储服务提供商的支持。可以通过别名设置显示为有意义的名称。
本地存储类:由gPaaS默认提供的一种自定义存储,效果类似于块存储,速度接近本地存储。
启动命令:容器允许配置启动命令和运行参数,如果未配置“容器运行命令”,容器将以镜像自身的entrypoint启动,如果配置了“容器运行命令”,容器将会执行此处配置的命令,代替镜像自身的entrypoint,如果配置了“容器运行参数”,容器会将参数追加到运行命令或镜像entrypoint后面执行。
环境变量:给容器设置环境变量,设置后,可以在容器运行环境下使用env等命令查看,或者应用程序获取。环境变量设置支持手动添加和引用配置两种方式。手动可以直接编辑添加,引用是引用配置中的配置项。如果服务所属应用也设置了配置项引用,那服务里也会显示出来。同时支持把配置中的密钥(Secret)作为环境变量,达到环境变量配置不使用明文的效果。
健康检查:提供http和tcp检测,用于判断容器中的应用程序是否启动成功,并在运行过程中进行健康检查。对一些程序(特别是java)的启动时间可能很长,或者要加载磁盘数据、依赖外部的某个模块启动完成很有用,当检测到程序响应正常时才转发流量到容器实例。另外,如果运行过程中检查失败,则重启实例(Pod)。合理设置,可使程序平滑升级,异常自动重启。
响应正常判断:http检测时,返回http状态码属于 200~399 范围;tcp检测时,能建立tcp连接成功。
启动延时:容器启动后,多久开始探测。例如启动延时设置10,集群将在容器启动 10 秒后开始健康检查。
响应超时:健康探测的超时时间,表示 HTTP 请求响应超时时间或TCP 连接超时时间。
间隔时间:健康检查的频率。例如间隔时间设置成 10,集群会在检测开始后面每隔 10秒 检查一次。
健康阀值:健康检查连续成功多少次后才认定为检测成功。
不健康阀值:健康检查连续失败多少次后才认定为检测失败。
健康检查基于Kubernetes的livenessProbe存活探测和readinessProbe就绪探测实现。
livenessPr
服务创建
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



