配置应用访问方式

关于访问方式的详细介绍请查看管理功能中的访问方式。

容器应用-应用访问方式

服务

添加服务

  1. 单击[全部服务]图标,选择[企业应用/应用管理]菜单项。

  2. 在左侧导航树中单击[应用管理/应用列表]菜单项,进入应用管理页面。或单击[应用管理/应用组]菜单项,进入应用组管理页面,单击应用组名称进入应用组详情页面,选择“应用列表”页签。

  3. 单击应用名称链接,进入应用详情页面。

  4. 选择“访问方式”页签,单击<添加服务>按钮,弹出添加服务窗口。

  5. 配置参数,单击<确定>按钮完成操作。参数说明如下表所示:

参数

说明

服务名称

为避免服务名称重复,系统会在应用名称后补充后缀自动生成一个服务名称,您也可以自定义修改。

访问方式/端口映射

配置容器集群的集群内访问、集群外访问和负载均衡的端口映射。其中负载均衡仅SDN网络支持。

说明:部署于Istio类型应用组的应用,配置访问方式时,端口映射的名称必须以“http-”开头(系统默认),除下述情况之外不可修改:

如果应用开启https类型的访问端口,端口映射名称必须改成“https-”开头,否则监控和认证会受影响(如出现无监控数据等问题)。

服务标签

服务标签(Service Labels)是用于在定义和管理服务时附加到服务资源对象上的标识性元数据。这些标签可以用来描述服务的各种属性,例如其用途、所属部门、环境等信息。服务标签能够帮助组织和管理Kubernetes集群中的服务,并且在实现自动化运维、负载均衡和服务发现等方面发挥重要作用。对于服务发现和路由以及其他操作,这些标签也可以被用来筛选和分类服务。通过单击<添加>按钮添加标签,然后填写标签的键值。

会话保持

启用会话保持后可以保证在设置的会话超时时间内,来自同一IP的请求始终由同一pod响应。负载均衡不支持此参数。

网络

选择负载均衡的网络。

方式

分为“已有LB”和“自动创建LB”两种。

  • 已有LB:当服务已经外部负载均衡器(比如云服务提供商的负载均衡器)并且需要使用已有的LB时,可以通过在服务对象上定义负载均衡器的标识符和端口进行指定。Kubernetes将假定该LB已经存在,不会去创建和管理外部LB的资源,而是直接使用已有的负载均衡器来将流量引导到服务的后端Pod。

  • 自动创建LB:如果集群在云服务提供商上,Kubernetes可以通过云服务商的API来创建负载均衡器,然后将流量引导到服务的后端Pod。这种方式称为NodePort或LoadBalancer服务类型。使用这种方式,Kubernetes会自动创建并维护外部LB资源,用户只需定义服务,并标记其类型为LoadBalancer即可,Kubernetes将负责为该服务创建对应的负载均衡器。

参数

通过键值配置负载均衡的参数。

有状态应用可以提供无头服务(Headless Service),即为每个Pod生成独立的域名,不采用负载均衡等功能提供服务。每个有状态应用只允许有一个无头服务。

删除服务

删除服务会同时删除服务关联的应用域名。

  1. 单击[全部服务]图标,选择[企业应用/应用管理]菜单项。

  2. 在左侧导航树中单击[应用管理/应用列表]菜单项,进入应用管理页面。或单击[应用管理/应用组]菜单项,进入应用组管理页面,单击应用组名称进入应用组详情页面,选择“应用列表”页签。

  3. 单击应用名称链接,进入应用详情页面。

  4. 选择“访问方式”页签,单击待删除的服务操作栏的<删除>按钮,弹出删除确认窗口。

  5. 确认提示信息,单击<确定>按钮完成操作。

应用域名

添加应用域名

一个应用仅支持添加一个应用域名,且添加完成的应用域名不可删除,仅支持修改。

  1. 单击[全部服务]图标,选择[企业应用/应用管理]菜单项。

  2. 在左侧导航树中单击[应用管理/应用列表]菜单项,进入应用管理页面。或单击[应用管理/应用组]菜单项,进入应用组管理页面,单击应用组名称进入应用组详情页面,选择“应用列表”页签。

  3. 单击应用名称链接,进入应用详情页面。

  4. 选择“访问方式”页签,单击[应用域名]菜单项,展开应用域名配置区域。

  5. 单击<添加>按钮,进入域名编辑页面。

  6. 配置参数,单击<确定>按钮完成操作。参数说明如下表:

参数

说明

域名

外部应用可以通过此处配置的域名访问本应用,如example.com。

绑定实例

绑定在云容器引擎中创建的Ingress Controller实例。

说明:只有容器镜像部署的应用,且应用部署在独享集群,才能指定Ingress Controller实例来管理Ingress资源。关于Ingress Controller请参见【云服务指南-云容器引擎-管理插件-管理Nginx Ingress Controller实例】。

说明:对于Kubernetes 1.23及以上版本的容器集群,绑定实例非必选项且可以手动输入。

选择服务

指定该域名具体可以访问的服务,即添加服务步骤中创建的服务。

绑定集群内端口

配置本应用的端口号,外部应用对本应用的访问会占用此处配置的端口。

负载均衡

选择负载均衡算法,支持轮转调度、最小连接、散列求余算法三种。

  • 轮转调度:每个endpoint根据其权重依次被使用(roundrobin)。

  • 最小连接:具有最少连接数的endpoint接受请求(leastconn)。

  • 散列求余:根据原ip进行散列,然后根据所有server的总权重进行求余,得到哪个endpoint响应请求(source)。

启用安全路由

是否启用https访问模式。

启用sticky session

sticky session(粘性session),开启后,可保证来自于同一client的请求始终是同一pod进行响应。

修改应用域名

  1. 单击[全部服务]图标,选择[企业应用/应用管理]菜单项。

  2. 在左侧导航树中单击[应用管理/应用列表]菜单项,进入应用管理页面。或单击[应用管理/应用组]菜单项,进入应用组管理页面,单击应用组名称进入应用组详情页面,选择“应用列表”页签。

  3. 单击应用名称链接,进入应用详情页面。

  4. 选择“访问方式”页签,单击[应用域名]菜单项,展开应用域名配置区域。

  5. 单击<修改>按钮,进入域名编辑页面。

  6. 配置参数,单击<确定>按钮完成操作。

应用访问路径

  1. 单击[全部服务]图标,选择[企业应用/应用管理]菜单项。

  2. 在左侧导航树中单击[应用管理/应用列表]菜单项,进入应用管理页面。或单击[应用管理/应用组]菜单项,进入应用组管理页面,单击应用组名称进入应用组详情页面,选择“应用列表”页签。

  3. 单击应用名称链接,进入应用详情页面。

  4. 选择“访问方式”页签,单击[应用访问路径]菜单项,展开应用访问路径配置区域。

  5. 配置路径,单击<确定>按钮,完成操作。

    • 应用访问路径:配置后,可通过“IP(域名):端口号/path”访问应用。

网络策略

配置容器网络策略,可以指定远端应用对于容器端口的访问。同时,可以指定网段白名单,在白名单内的地址可以直接访问。还可以指定例外网段,即:在指定了大的网段可以访问容器端口时,例外网段内的地址不可访问。

添加网络策略

  1. 单击[全部服务]图标,选择[企业应用/应用管理]菜单项。

  2. 在左侧导航树中单击[应用管理/应用列表]菜单项,进入应用管理页面。或单击[应用管理/应用组]菜单项,进入应用组管理页面,单击应用组名称进入应用组详情页面,选择“应用列表”页签。

  3. 单击应用名称链接,进入应用详情页面。

  4. 选择“访问方式”页签,单击[网络策略]菜单项,展开网络策略配置区域。

  5. “容器网络策略”默认为关闭状态,即任何应用都可以访问本端应用。打开“容器网络策略”开关,开启后,仅符合规则的访问可以访问本端应用。

  6. 单击<添加规则>按钮。

  7. 配置参数,单击<确定>按钮完成操作。参数说明如下表:

参数

说明

方向

仅支持“入方向”,即其他应用访问本端应用的方向。

协议

支持对TCP、UDP协议的访问做策略限制。

容器端口

其他应用可通过此处配置的端口访问本端容器。

  • 如已经配置了“服务”的访问方式,此处可添加“服务”中配置的容器端口,即其他应用可以通过“服务”方式访问本端应用。

  • 如未配置“服务”的访问方式,此处可任意填写,其他应用可以通过Pod IP和容器端口访问本端应用。

配置远端

选择允许访问本端应用的应用组或应用。

自定义网段

指定网段白名单,在该网段内的地址可以访问容器端口。

例外网段

指定例外网段,则在例外网段中的地址则不允许访问容器端口。

删除网络策略

  1. 单击[全部服务]图标,选择[企业应用/应用管理]菜单项。

  2. 在左侧导航树中单击[应用管理/应用列表]菜单项,进入应用管理页面。或单击[应用管理/应用组]菜单项,进入应用组管理页面,单击应用组名称进入应用组详情页面,选择“应用列表”页签。

  3. 单击应用名称链接,进入应用详情页面。

  4. 选择“访问方式”页签,单击[网络策略]菜单项,展开网络策略配置区域。

  5. 单击待删除的网络策略操作栏的<删除>按钮,弹出删除确认窗口。

  6. 确认提示信息,单击<确定>按钮完成操作。

主机应用-应用访问方式

访问方式

  1. 单击[全部服务]图标,选择[企业应用/应用管理]菜单项。

  2. 在左侧导航树中单击[应用管理/应用列表]菜单项,进入应用管理页面。或单击[应用管理/应用组]菜单项,进入应用组管理页面,单击应用组名称进入应用组详情页面,选择“应用列表”页签。

  3. 单击应用名称链接,进入应用详情页面。

  4. 选择“访问方式”页签,单击[访问方式]菜单项,展开访问方式配置区域。

  5. 单击<修改>按钮,进入访问方式编辑页面。

  6. 配置参数,单击<确定>按钮完成操作。参数说明如下表:

参数

说明

暂不配置

即关闭访问方式功能。

应用域名

  • 域名:外部应用可以通过此处配置的域名访问本应用,如btv.com。

  • 负载均衡:支持轮转调度、最小连接、散列求余算法三种。

    • 轮转调度:每个endpoint根据其权重依次被使用(roundrobin)。

    • 最小连接:具有最少连接数的endpoint接受请求(leastconn)。

    • 散列求余:根据原ip进行散列,然后根据所有server的总权重进行求余,得到哪个endpoint响应请求(source)。

  • 启用安全路由:是否启用https访问模式。

  • 启用https访问模式:sticky session(粘性session),开启后,可保证来自于同一client的请求始终是同一pod进行响应。

IaaS负载均衡

需配合IaaS服务均衡服务使用。

  • 负载均衡器/监听器:通过下拉框选择已创建的服务均衡。

  • 均衡算法

    • 加权轮询算法:将访问请求依次根据实服务的权值轮询分发给后端实服务主机。权值越高收到的访问请求将越多。

    • 源地址算法:将请求的源IP地址进行Hash运算,得到一个具体的数值,同时对后端实服务进行编号,按照运算结果将请求分发到对应编号的实服务上。这可以使得对不同源IP的访问进行负载分发,同时使得同一个客户端IP的请求始终被派发至某特定的实服务。

    • 加权最小连接:将访问请求分发给后端连接数最小的实服务主机。最小连接算法是一种动态调度算法,调度器通过记录各个实服务已建立连接的数目,当一个请求被调度到某台实服务时,其连接数加一,当连接中止或超时,其连接数减一。最小连接算法通过服务器当前所活跃的连接数来估计服务器的负载情况。

  • 会话保持:启用会话保持后监听器将判定发起会话的用户是否为同一个用户。判定为同一个用户后监听器会将来自该用户的请求始终调度给同一个实服务进行处理。

    • APP_COOKIE:依赖于APP定义的COOKIE,通过在APP会话中创建不同的COOKIE来区分不同的客户端,后续具有相同COOKIE客户端的请求由同一个实服务主机进行处理。

    • HTTP_COOKIE:客户端第一次连接时,在HTTP的应答报文中打上标记,后续具有相同标记的请求由同一个实服务主机进行处理。

    • SOURCE_IP:与源地址均衡算法的效果相同。

Cookie名称

在选择APP_COOKIE时,需要在此输入Cookie名称,不能包含全角字符(中文除外)以及括号中的英文字符(\ /:*?"<>|),并且不能以点"."开始和结束,长度1-32个字符。

应用访问路径

  1. 单击[全部服务]图标,选择[企业应用/应用管理]菜单项。

  2. 在左侧导航树中单击[应用管理/应用列表]菜单项,进入应用管理页面。或单击[应用管理/应用组]菜单项,进入应用组管理页面,单击应用组名称进入应用组详情页面,选择“应用列表”页签。

  3. 单击应用名称链接,进入应用详情页面。

  4. 选择“访问方式”页签,单击[应用访问路径]菜单项,展开应用访问路径配置区域。

  5. 配置路径,单击<确定>按钮,完成操作。

    • 应用访问路径:配置后,可通过“IP(域名):端口号/path”访问应用。