通过现有工作负载创建服务

本节介绍如何创建服务并使用现有工作负载作为后端的工作负载。

前提条件

  • 您需要加入一个项目并在项目中具有应用负载管理权限。有关更多信息,请参阅“项目成员”和“项目角色”。

  • 您需要提前在项目创建工作负载。有关更多信息,请参阅创建工作负载

操作步骤

  1. 以具有应用负载管理权限的用户登录 KubeSphere Web 控制台并进入您的项目。

  2. 在左侧导航栏选择应用负载 > 服务

  3. 在页面点击创建

  4. 创建服务对话框,选择指定工作负载

  5. 基本信息页签,设置服务的基本信息,然后点击下一步

    参数描述

    名称

    服务的名称。同一项目中的服务名称不能重复。名称只能包含小写字母、数字和连字符(-),必须以小写字母开头并以小写字母或数字结尾,最长 63 个字符。

    别名

    服务的别名。不同服务的别名可以相同。别名只能包含中文、字母、数字和连字符(-),不得以连字符(-)开头或结尾,最长 63 个字符。

    描述

    服务的描述信息。描述可包含任意字符,最长 256 个字符。

  6. 服务设置页签,设置服务的内部访问模式、工作负载选择器和端口,然后点击下一步

    参数描述

    内部访问模式

    从集群内部访问服务的方式。

    • 内部域名:系统不为服务分配虚拟 IP 地址,可通过 <service name>.<namespace>.svc.cluster.local<service name>.<namespace> 格式的域名从集群内部访问。

    • 虚拟 IP 地址:系统为服务分配一个虚拟 IP 地址供集群内部访问,同时也支持通过 <service name>.<namespace>.svc.cluster.local<service name>.<namespace> 格式的域名从集群内部访问。

    工作负载选择器

    指定服务将业务流量转发给具有特定标签的工作负载管理的容器组。

    • 输入标签的键和值可手动设置选择器。点击添加可设置多个标签。

    • 点击指定工作负载可手动选择工作负载。

    • 在已创建的标签右侧点击trash-light可删除标签。

    端口

    服务端口及其与目标容器端口的映射关系。

    • 协议:目标容器中的应用程序实际监听的协议。如需使用 KubeSphere 提供的应用治理功能,请确保此处选择的协议与目标容器中的应用程序实际监听的协议保持一致。

    • 名称:服务端口的名称。KubeSphere 的应用治理功能要求服务端口名称以协议名称小写为前缀。如需使用 KubeSphere 提供的应用治理功能,请使用协议名称小写作为端口名称的前缀(例如 http-)。

    • 容器端口:目标容器中的应用程序实际监听的端口号。

    • 服务端口:服务的端口号。

    点击添加可设置多个服务端口。在已创建的服务端口右侧点击trash-light可删除服务端口。

  7. 高级设置页签,设置服务的外部访问模式、会话保持设置和元数据,然后点击创建

    参数描述

    外部访问

    服务的外部访问模式。

    • NodePort:系统将节点的端口映射到服务端口,可通过节点的 IP 地址和节点端口访问服务。

    • LoadBalancer:系统在 NodePort 服务的基础上为服务分配一个外部 IP 地址,并将外部 IP 地址与一个外部负载均衡器绑定。外部负载均衡器监听服务对应的节点端口,从而可以通过外部 IP 地址访问服务。为实现上述功能,LoadBalancer 类型的服务需要负载均衡器插件和基础设施环境提供支持,并且需要设置相关注解。有关更多信息,请联系您的基础设施环境提供商。

    会话保持

    设置系统在指定的时间内将同一个会话中来自同一个客户端的请求全部转发给同一个容器组。最长会话保持时间默认值为 10800 秒,您也可以手动设置最长会话保持时间。

    添加元数据

    设置服务的标签。

    • 点击添加可设置多条标签。

    • 在已创建的标签右侧点击trash-light可删除标签。

    服务创建完成后将显示在服务列表中。