You need to enable JavaScript to run this app.
导航
服务管理
最近更新时间:2024.03.14 17:12:58首次发布时间:2023.11.07 14:27:53

边缘智能的应用管理模块支持 K8s 的 Service(服务)对象。本文介绍了在边缘一体机上管理服务对象的方法。

背景信息

什么是服务

工作负载由一组(多个)运行相同镜像的 Pod 组成。您创建工作负载后,工作负载在多个 Pod 中运行。由于 Pod 具有弹性伸缩属性,因此访问 Pod 会面临一些问题,例如:

  • Pod 会随时被 Deployment 等控制器创建或删除。因此,直接访问 Pod 具有很大的不确定性,无法保证总能访问到 Pod。
  • Pod 启动后才被分配 IP 地址,在 Pod 启动前 Pod 的 IP 地址是未知的。

Kubernetes 中的 Service(服务)对象就是用来解决上述 Pod 访问问题的。Service 有一个固定 IP 地址,用户可以通过访问 Service 来访问工作负载。而 Service 通过 Label 来选择 Pod,并将用户的访问流量转发给 Pod。
图片

支持的服务类型

服务包含多种类型,适应于不同的场景。边缘智能支持的服务类型包括:集群内访问(ClusterIP)和节点端口访问(NodePort)。

  • 集群内访问(ClusterIP):指将工作负载暴露给同一集群内其他工作负载访问的方式,可以通过 集群内部域名 访问。

    示例:
    创建一个名为 nginx 的服务,端口号为 80,则集群内部访问时,直接通过 nginx:80 就可以访问到服务,进而访问后台 Pod。

    图片

  • 节点端口访问(NodePort):指在每个节点的 IP 上开放一个静态端口,通过静态端口对外暴露服务。
    其他应用通过请求 Node_IP:Node_Port 即可访问服务。节点的 IP 地址可以分配私网地址,也可以分配公网地址。因此,通过节点访问方式可以对内或对外暴露服务。
    图片

前提条件

您已经创建了工作负载。相关操作,请参见创建工作负载

创建服务

  1. 登录边缘智能控制台

  2. 在左侧导航栏顶部的 我的项目 区域,选择您的项目。

  3. 在左侧导航栏,选择 应用管理 > 服务管理

  4. 服务管理 页面,单击 创建服务

  5. 创建服务 页面,配置以下参数,然后单击 确认

类型

参数

说明

基本信息

名称

为服务设置一个名称。输入要求如下:

  • 允许使用以下字符:英文大小写字母、数字、连字符(-)。
  • 长度在 2~63 字符之间。只能以字母开头。不能以连字符结尾。
  • 在同一个项目下,服务的名称必须保持唯一。

标签

单击 添加标签,配置服务的标签。标签能够为服务定义不同的属性,常用于筛选服务。

注解

对应 Kubernetes 中的 Annotation。单击 添加注解,为服务添加注解。

访问配置

访问类型

选择服务的访问类型。可选项:集群内访问(ClusterIP)节点端口访问(NodePort)

端口映射

配置端口映射规则。配置说明如下:

  • 名称:配置服务端口到其他服务或容器端口映射的名称。
  • 服务端口:配置 Service 对外提供服务的端口。取值范围:0~65535。同一种协议的服务端口不允许重复。
  • 节点端口:配置节点对内/对外提供服务的端口。取值范围:30000~32767。

    该参数只在 访问类型节点端口访问(NodePort) 时才会出现。

  • 容器端口:配置容器的端口,该端口为工作负载对外提供服务的端口号或端口名称。取值范围:0~65535。例如:Nginx 开放的默认端口号为 80。
  • 协议:根据业务的协议类型,选择端口协议。可选项:TCPUDP

标签选择器

服务通过标签选择器与后端容器组实例(Pod)绑定:

  • 关联工作负载:将服务直接绑定到指定的工作负载。
  • 添加标签:将服务绑定到关联了指定标签的工作负载。

管理服务

编辑服务

通过编辑服务,您可以修改除了服务名称以外的服务属性,例如,访问配置、关联的工作负载等。

  1. 服务管理 页面,找到要编辑的服务,单击 操作 列的 编辑
  2. 编辑服务 页面,修改服务的参数配置,然后单击 确认

删除服务

如果不再需要使用某个服务,您可以将其删除。

注意

服务被删除后,集群内的其他服务或容器将无法通过服务访问工作负载。请谨慎操作。

  1. 服务管理 页面,找到要删除的服务,单击 操作 列的 删除
  2. 在弹出的对话框,单击 确定