更新时间:2024-10-25 GMT+08:00

节点访问(NodePort)

节点访问 ( NodePort )表示工作负载可以从集群外部访问,节点访问方式是在每个节点上都开放一个静态端口。当外部流量访问到节点端口时,会被路由到集群中自动创建的ClusterIP服务,最终访问到工作负载。如果集群中的节点绑定了EIP,用户通过请求<EIP>:<NodePort>,也可实现工作负载的公网访问。

添加方式

您可以在创建工作负载时设置访问方式,也可以在无状态工作负载创建完成后添加访问方式。

创建工作负载时设置

创建Deployment、StatefulSet、DaemonSet等不同类型的工作负载时添加Service的方法一致。

  1. 参考创建无状态负载创建有状态负载创建守护进程集,在服务配置步骤,单击,进行工作负载服务配置。

    • Service名称:自定义服务名称,取值范围为1-50字符。
    • 访问类型:选择“节点访问 NodePort”
    • 服务亲和
      • 集群级别:集群下所有节点的IP+访问端口均可以访问到此服务关联的负载,服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。
      • 节点级别:只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载,服务访问没有因路由跳转导致的性能损失,且可以获取到客户端源IP。
    • 端口配置
      • 协议:TCP或UDP,请根据业务的协议类型选择。
      • 服务端口:容器端口映射到集群虚拟IP上的端口,用虚拟IP访问应用时使用,端口范围为1-65535,可任意指定。
      • 容器端口:容器镜像中应用程序实际监听的端口,需用户确定。例如:nginx程序实际监听的端口为80。
      • 节点端口:容器端口映射到节点私有IP上的端口,用私有IP访问应用时使用,端口范围为30000-32767,建议选择“自动生成”
        • 自动生成:系统会自动分配端口号。
        • 指定端口:指定固定的节点端口,默认取值范围为30000-32767。若指定端口时,请确保同个集群内的端口唯一性。

  2. 设置完成后,单击“确认”。
  3. 单击“下一步:调度与差异化”,进行集群调度与差异化配置。设置完成后,单击“创建工作负载”完成创建。
  4. 获取访问地址。

    1. 单击左侧导航栏“服务与路由”,选择“服务”页签。
    2. 单击所添加的Service名称进入“服务详情”界面,获取部署集群的访问地址。如果集群下节点有绑定弹性IP,则可以通过集群下关联实例所在节点弹性IP地址 + 节点端口的形式访问后端负载。

创建工作负载后设置

  1. 登录UCS控制台,在左侧导航栏中选择“容器舰队”
  2. “容器舰队”页签下找到已开通集群联邦的舰队,单击名称进入详情页。
  3. 在左侧导航栏中选择“服务与路由”,选择“服务”页签。
  4. 选择服务所在命名空间,并单击右上角“创建服务”。如需新建命名空间,请参见创建命名空间
  5. 设置访问参数。

    图1 创建服务

    • Service名称:自定义服务名称,可与工作负载名称保持一致。
    • 访问类型:选择“节点访问 NodePort”。
    • 服务亲和
      • 集群级别:集群下所有节点的IP+访问端口均可以访问到此服务关联的负载,服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。
      • 节点级别:只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载,服务访问没有因路由跳转导致的性能损失,且可以获取到客户端源IP。
    • 端口配置
      • 协议:TCP或UDP,请根据业务的协议类型选择。
      • 服务端口:容器端口映射到集群虚拟IP上的端口,用虚拟IP访问应用时使用,端口范围为1-65535,可任意指定。
      • 容器端口:容器镜像中应用程序实际监听的端口,需用户确定。例如:nginx程序实际监听的端口为80。
      • 节点端口:容器端口映射到节点私有IP上的端口,用私有IP访问应用时使用,端口范围为30000-32767,建议选择“自动生成”
        • 自动生成:系统会自动分配端口号。
        • 指定端口:指定固定的节点端口,默认取值范围为30000-32767。若指定端口时,请确保同个集群内的端口唯一性。
    • 命名空间:服务所在命名空间。
    • 选择器:服务通过选择器与负载(标签)关联。单击“引用负载标签”,可选择已有的工作负载。
      • 负载类型:选择需要关联的负载类型。
      • 工作负载:选择一个已有的工作负载。如工作负载列表未显示,请单击刷新。
      • 标签:选择工作负载后自动获取对应的标签,不可修改。
      图2 引用负载标签

  6. 单击“确认”。创建成功后可在“服务”页签的列表中查看。
  7. 获取访问地址。

    1. 单击左侧导航栏“服务与路由”,选择“服务”页签。
    2. 单击所添加的Service名称进入“服务详情”界面,获取部署集群的访问地址。如果集群下节点有绑定弹性IP,则可以通过集群下关联实例所在节点弹性IP地址 + 节点端口的形式访问后端负载。

相关操作

通过UCS控制台,您还可以执行表1中的操作。
表1 相关操作

操作

说明

YAML创建

单击右上角“YAML创建”,可使用已有的YAML创建服务。

查看详情

  1. 选择服务所在的命名空间。
  2. (可选)根据服务名称进行搜索。
  3. 单击服务名称即可查看服务详情,包括基本信息以及各集群的部署信息。
  4. 在服务详情页的部署集群栏中单击“查看YAML”,可查看各个集群中部署的服务实例YAML,并支持下载。

编辑YAML

单击服务名称后的“编辑YAML”,可查看并编辑当前服务的YAML文件。

更新

  1. 单击服务名称后的“更新”
  2. 根据访问参数更改信息。
  3. 单击“确认”提交已修改的信息。

删除

单击服务名称后的“删除”,并单击“是”进行确认。

批量删除

  1. 勾选需要删除的服务。
  2. 单击左上角的“批量删除”
  3. 单击“是”进行确认。