跳转至

创建服务(Service)

在 Kubernetes 集群中,每个 Pod 都有一个内部独立的 IP 地址,但是工作负载中的 Pod 可能会被随时创建和删除,直接使用 Pod IP 地址并不能对外提供服务。

这就需要创建服务,通过服务您会获得一个固定的 IP 地址,从而实现工作负载前端和后端的解耦,让外部用户能够访问服务。同时,服务还提供了负载均衡(LoadBalancer)功能,使用户能从公网访问到工作负载。

前提条件

创建服务

  1. NS Edit 用户成功登录后,点击左上角的集群列表进入集群列表页面。在集群列表中,点击一个集群名称。

    集群列表

  2. 在左侧导航栏中,点击服务与路由进入服务列表,点击右上角创建服务按钮。

    服务与路由

    Tip

    也可以通过 YAML 创建一个服务。

  3. 打开创建服务页面,选择一种访问类型,参考以下三个参数表进行配置。

    创建服务

创建集群内访问(ClusterIP) 类型的服务

点选集群内访问(ClusterIP),这是指通过集群的内部 IP 暴露服务,选择此项的服务只能在集群内部访问。这是默认的服务类型。参考下表配置参数。

参数 说明 举例值
访问类型 【类型】必填
【含义】指定 Pod 服务发现的方式,这里选择集群内访问(ClusterIP)。
ClusterIP
服务名称 【类型】必填
【含义】输入新建服务的名称。
【注意】请输入4 到 63 个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
Svc-01
命名空间 【类型】必填
【含义】选择新建服务所在的命名空间。关于命名空间更多信息请参考命名空间概述
【注意】请输入4 到 63 个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
default
标签选择器 【类型】必填
【含义】添加标签,Service 根据标签选择 Pod,填写后点击“添加”。也可以引用已有工作负载的标签,点击引用负载标签,在弹出的窗口中选择负载,系统会默认将所选的负载标签作为选择器。
app:job01
端口配置 【类型】必填
【含义】为服务添加协议端口,需要先选择端口协议类型,目前支持 TCP、UDP 两种传输协议额关于协议更多信息请参考协议概述
端口名称:输入自定义的端口的名称。
服务端口(port):Pod 对外提供服务的访问端口。
容器端口(targetport):工作负载实际监听的容器端口,用来对集群内暴露服务。
注解 【类型】选填
【含义】为服务添加注解

创建节点访问(NodePort) 类型的服务

点选节点访问(NodePort),这是指通过每个节点上的 IP 和静态端口(NodePort)暴露服务。NodePort 服务会路由到自动创建的 ClusterIP 服务。通过请求 <节点 IP>:<节点端口>,您可以从集群的外部访问一个 NodePort 服务。参考下表配置参数。

参数 说明 举例值
访问类型 【类型】必填
【含义】指定 Pod 服务发现的方式,这里选择节点访问(NodePort)。
NodePort
服务名称 【类型】必填
【含义】输入新建服务的名称。
【注意】请输入4 到 63 个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
Svc-01
命名空间 【类型】必填
【含义】选择新建服务所在的命名空间。关于命名空间更多信息请参考命名空间概述
【注意】请输入4 到 63 个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
default
标签选择器 【类型】必填
【含义】添加标签,Service 根据标签选择 Pod,填写后点击“添加”。也可以引用已有工作负载的标签,点击引用负载标签,在弹出的窗口中选择负载,系统会默认将所选的负载标签作为选择器。
端口配置 【类型】必填
【含义】为服务添加协议端口,需要先选择端口协议类型,目前支持 TCP、UDP 两种传输协议额关于协议更多信息请参考协议概述
端口名称:输入自定义的端口的名称。
服务端口(port):Pod 对外提供服务的访问端口。默认情况下,为了方便起见,服务端口被设置为与容器端口字段相同的值。
容器端口(targetport):工作负载实际监听的容器端口。
节点端口(nodeport):节点的端口,接收来自于 ClusterIP 传输的流量。用来做外部流量访问的入口。
注解 【类型】选填
【含义】为服务添加注解

创建负载均衡(LoadBalancer) 类型的服务

点选负载均衡(LoadBalancer),这是指使用云提供商的负载均衡器向外部暴露服务。 外部负载均衡器可以将流量路由到自动创建的 NodePort 服务和 ClusterIP 服务上。参考下表配置参数。

参数 说明 举例值
访问类型 【类型】必填
【含义】指定 Pod 服务发现的方式,这里选择节点访问(NodePort)。
NodePort
服务名称 【类型】必填
【含义】输入新建服务的名称。
【注意】请输入4 到 63 个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
Svc-01
命名空间 【类型】必填
【含义】选择新建服务所在的命名空间。关于命名空间更多信息请参考命名空间概述
【注意】请输入4 到 63 个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
default
外部流量策略 【类型】必填
【含义】设置外部流量策略。
Cluster:流量可以转发到集群中其他节点上的 Pod。
Local:流量只发给本机的 Pod。
【注意】请输入4 到 63 个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
标签选择器 【类型】必填
【含义】添加标签,Service 根据标签选择 Pod,填写后点击“添加”。也可以引用已有工作负载的标签,点击引用负载标签,在弹出的窗口中选择负载,系统会默认将所选的负载标签作为选择器。
负载均衡地址 【类型】必填
【含义】云厂商提供的负载均衡地址
端口配置 【类型】必填
【含义】为服务添加协议端口,需要先选择端口协议类型,目前支持 TCP、UDP 两种传输协议额关于协议更多信息请参考协议概述
端口名称:输入自定义的端口的名称。
服务端口(port):Pod 对外提供服务的访问端口。默认情况下,为了方便起见,服务端口被设置为与容器端口字段相同的值。
容器端口(targetport):工作负载实际监听的容器端口。
节点端口(nodeport):节点的端口,接收来自于 ClusterIP 传输的流量。用来做外部流量访问的入口。
注解 【类型】选填
【含义】为服务添加注解

完成服务创建

配置完所有参数后,点击确定按钮,自动返回服务列表。在列表右侧,点击 ,可以修改或删除所选服务。

服务列表

评论