上云无忧 > 文档中心 > 天翼云云容器引擎公网访问-四层负载均衡
云容器引擎
天翼云云容器引擎公网访问-四层负载均衡

文档简介:
公网访问-四层负载均衡可以通过弹性负载均衡从公网访问到应用,与弹性IP方式相比提供了高可靠的保障,一般用于系统中需要暴露到公网的服务。
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

公网访问-四层负载均衡


公网访问-四层负载均衡可以通过弹性负载均衡从公网访问到应用,与弹性IP方式相比提供了高可靠的保障,一般用于系统中需要暴露到公网的服务。

四层负载均衡访问方式由公网弹性负载均衡ELB服务地址以及设置的访问端口组成,例如“10.117.117.117:80”。

 

添加方式

您可以在创建应用时设置访问方式,也可以应用创建完成后添加访问方式。

  • 方式一:创建应用时配置。

  • 方式二:应用创建完成后设置。

通过界面创建

本节以nginx为例进行说明。

步骤1:创建无状态应用或创建有状态应用,在“应用访问设置”步骤,单击“添加服务”。

  • 服务名称:自定义服务名称,可与应用名称保持一致。

  • 访问方式:公网访问。

  • 访问类型:负载均衡,支持使用已有负载均衡实例和自动创建两种方式。

  • 协议:请根据业务的协议类型选择。

  • 容器端口:容器镜像中应用实际监听端口,需用户确定。nginx程序实际监听的端口为80。

  • 访问端口:容器端口最终映射到负载均衡服务地址的端口,用负载均衡服务地址访问应用时使用,端口范围为1-65535,可任意指定。

步骤2:单击“下一步”进入“高级设置”页面,直接单击“创建”。

步骤3:单击“查看应用详情”,在“访问方式”页签下,获取方式地址,例如10.4.10.230:2。

步骤4:单击访问地址,即可跳转到访问页面。


应用创建完成后设置

步骤1:登录CCE控制台,选择左侧导航栏的“资源管理 > 网络管理”,在Service页签下,单击“添加Service”。选择类型为“公网访问”。

步骤2:设置集群内访问参数。

  • 服务名称:自定义服务名称,可与应用名称保持一致。

  • 集群名称:服务所在集群。

  • 命名空间:服务所在命名空间。

  • 关联应用:选择需要添加Service的应用。

  • 访问类型:负载均衡,支持使用已有负载均衡实例和自动创建两种方式。

  • 端口配置:

−协议:请根据业务的协议类型选择。

−容器端口:容器镜像中应用程序实际监听的端口,需用户确定。nginx程序实际监听的端口为80。

−访问端口:容器端口最终映射到负载均衡服务地址的端口,用负载均衡服务地址访问应用时使用,端口范围为1-65535,可任意指定。

步骤3:单击“创建”,为应用添加“公网访问-负载均衡”的服务。


kubectl命令行创建

本节以nginx为例,说明kubectl命令实现集群内访问的方法。

前提条件

配置kubectl命令,使弹性云主机连接集群。

操作步骤

步骤1:登录已配置好kubectl命令的弹性云主机。

步骤2:创建并编辑nginx-deployment.yaml以及nginx-elb-svc.yaml文件。

其中,nginx-deployment.yaml和nginx-elb-svc.yaml为自定义名称,您可以随意命名。

vi nginx-deployment.yaml

apiVersion: extensions/v1beta1 

kind: Deployment 

metadata: 

  name: nginx 

spec: 

  replicas: 1 

  selector: 

    matchLabels: 

      app: nginx 

  strategy: 

    type: RollingUpdate 

  template: 

    metadata: 

      labels: 

        app: nginx 

    spec: 

      containers: 

      - image: nginx  

        imagePullPolicy: Always 

        name: nginx 

      imagePullSecrets: 

      - name: default-secret

vi nginx-elb-svc.yaml

  • 负载均衡实例已创建,请使用如下示例:

apiVersion: v1 

kind: Service 

metadata: 

  annotations:   

    service.protal.kubernetes.io/type: LoadBalancer 

    kubernetes.io/elb.class: union                  

    kubernetes.io/elb.id: a172d66c-e42f-4276-aa23-9258113478f6   

    labels: 

    app: nginx 

  name: nginx 

spec: 

  loadBalancerIP: 10.78.42.242   # 配置为ELB的IP地址。 

  ports: 

  - name: service0 

    nodePort: 31540      # 对应界面上的访问端口,不填写表示自动生成 

    port: 80             # 集群虚拟IP的访问端口,也是注册到负载均衡上的端口 

    protocol: TCP 

    targetPort: 80       # 对应界面上的容器端口 

  selector: 

    app: nginx 

  type: LoadBalancer     

  • 负载均衡实例未创建,在创建service时自动创建,请使用如下示例:

apiVersion: v1  

kind: Service  

metadata:  

  name: nginx  

  labels:  

    app: nginx  

  annotations:  

    service.protal.kubernetes.io/type: LoadBalancer  

    kubernetes.io/elb.class: union  

    kubernetes.io/elb.subnet-id: eff413e6-e6df-43e6-b586-ee36351d676d  

    kubernetes.io/elb.autocreate: '{"type":"public","bandwidth_name":"cce-bandwidth-1548668872423","bandwidth_chargemode":"traffic","bandwidth_size":10,"bandwidth_sharetype":"PER","eip_type":"5_bgp"}' 

spec:  

  selector:  

    app: nginx  

  ports:  

  - name: cce-service-0  

    targetPort: 80  

    nodePort: 0  

    port: 80  

    protocol: TCP  

  type: LoadBalancer  

  loadBalancerIP: ''

步骤3:创建应用。

kubectl create -f nginx-deployment.yaml

回显如下,表示应用已开始创建。

deployment "nginx" created

kubectl get po

回显如下,应用状态为Running状态,表示应用已运行中。

NAME                     READY     STATUS             RESTARTS   AGE 

etcd-0                   0/1       ImagePullBackOff   0          1h 

icagent-m9dkt            0/0       Running            0          3d 

nginx-2601814895-c1xhw   1/1       Running            0          6s

步骤4:创建服务。

kubectl create -f nginx-elb-svc.yaml

回显如下,表示服务已创建。

service "nginx" created

kubectl get svc

回显如下,表示应用访问方式已设置成功,应用可访问。

NAME         TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE 

etcd-svc     ClusterIP      None             <none>        3120/TCP       1h 

kubernetes   ClusterIP      10.247.0.1       <none>        443/TCP        3d 

nginx        LoadBalancer   10.247.130.196   10.4.10.230   80:31540/TCP   51s

步骤5:在浏览器中输入访问地址,即可成功访问nginx。

例如,输入访问地址为10.4.10.230:31540,其中10.4.10.230为负载均衡实例IP地址,31540为对应界面上的访问端口。

相似文档
  • 七层负载均衡是采用了增强型弹性负载均衡,在四层负载均衡访问方式的基础上支持了URI配置,通过对应的URI将访问流量分发到对应的服务。同时,服务根据不同URI实现不同的功能。
  • 您可以根据业务需求自行定义伸缩策略,降低人为反复调整资源以应对业务变化和高峰压力的工作量,帮助您节约资源和人力成本。当前支持三种弹性伸缩策略:
  • 登录云容器引擎控制台,在左侧导航栏中选择【应用管理】,单击待设置伸缩策略的应用,进入应用详情页面,选择【伸缩】页签; 在【手动伸缩】策略下,单击 修改实例数量,单击【保存】。
  • 为应用删除提供一个时间窗,预留给生命周期中PreStop阶段执行命令。若超过此时间窗,进程仍未停止,该应用将被强制删除。若未设置,则默认设置为30秒。
  • 登录云容器引擎控制台,在左侧导航栏中选择【应用管理】,单击待设置伸缩策略的应用,进入应用详情页面,选择【更新升级】页签; 请根据业务需求进行应用的升级,升级的参数说明请参见下表:
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部