全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
容器服务

通过负载均衡(Server Load Balancer)访问服务

更新时间:2018-02-07 13:07:15

您可以使用阿里云负载均衡来访问服务。

通过命令行操作

  1. 通过命令行工具创建一个 Nginx 应用。

    1. root@master # kubectl run nginx --image=registry.aliyuncs.com/acs/netdia:latest
    2. root@master # kubectl get po
    3. NAME READY STATUS RESTARTS AGE
    4. nginx-2721357637-dvwq3 1/1 Running 1 6s
  2. 为 Nginx 应用创建阿里云负载均衡服务,指定 type=LoadBalancer 来向外网用户暴露 Nginx 服务。

    1. root@master # kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancer
    2. root@master # kubectl get svc
    3. NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    4. nginx 172.19.10.209 101.37.192.20 80:31891/TCP 4s
  3. 在浏览器中访问 http://101.37.192.20,来访问您的 Nginx 服务。

通过 Kubernetes Dashboard 操作

  1. 将下面的 yml code 保存到 nginx-svc.yml文件中。

    1. apiVersion: v1
    2. kind: Service
    3. metadata:
    4. labels:
    5. run: nginx
    6. name: http-svc
    7. namespace: default
    8. spec:
    9. ports:
    10. - port: 80
    11. protocol: TCP
    12. targetPort: 80
    13. selector:
    14. run: nginx
    15. type: LoadBalancer
  2. 登录 容器服务管理控制台,单击目标集群右侧的 控制台,进入 Kubernetes Dashboard 页面。

  3. 单击 创建,开始创建应用。

    1

  4. 单击 上传 YAML 或 JSON 文件。选择刚才保存的 nginx-svc.yml 文件

  5. 单击 上传

    这样会创建一个阿里云负载均衡实例指向创建的 Nginx 应用,服务的名称为 http-svc

  6. 在 Kubernetes Dashboard 上定位到 default 命名空间,选择 服务

    可以看到刚刚创建的 http-svc 的 Nginx 服务和机器的负载均衡地址 http://114.55.79.24:80

    2

  7. 将该地址拷贝到浏览器中即可访问该服务。

更多信息

阿里云负载均衡还支持丰富的配置参数,包含健康检查、收费类型、负载均衡类型等参数。详细信息参见 文档

注释

阿里云可以通过注释的形式支持丰富的负载均衡功能。

注意:注释的内容是区分大小写的。

注释 描述 默认值
service.beta.kubernetes.io/alicloud-loadbalancer-protocol-port 多个值之间由逗号分隔,比如:https:443,http:80
service.beta.kubernetes.io/alicloud-loadbalancer-address-type 取值可以是 internet 或者 intranet internet
service.beta.kubernetes.io/alicloud-loadbalancer-slb-network-type 负载均衡的网络类型,取值可以是 classic 或者 vpc classic
service.beta.kubernetes.io/alicloud-loadbalancer-charge-type 取值可以是 paybytraffic 或者 paybybandwidth paybybandwidth
service.beta.kubernetes.io/alicloud-loadbalancer-id 负载均衡实例的 ID。
通过 loadbalancer-id 指定您已有的 SLB,已有 listener 会被覆盖, 删除 service 时该 SLB 不会被删除。
service.beta.kubernetes.io/alicloud-loadbalancer-backend-label 通过 label 指定 SLB 后端挂哪些节点。
service.beta.kubernetes.io/alicloud-loadbalancer-region 负载均衡所在的地域
service.beta.kubernetes.io/alicloud-loadbalancer-bandwidth 负载均衡的带宽 50
service.beta.kubernetes.io/alicloud-loadbalancer-cert-id 阿里云上的认证 ID。您需要先上传证书 “”
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-flag 取值是 on 或者 off 默认为 off。
TCP 不需要改参数。因为 TCP 默认打开健康检查,用户不可设置。
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-type 参见 HealthCheck
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-uri 参见 HealthCheck
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-connect-port 参见 HealthCheck
service.beta.kubernetes.io/alicloud-loadbalancer-healthy-threshold 参见 HealthCheck
service.beta.kubernetes.io/alicloud-loadbalancer-unhealthy-threshold 参见 HealthCheck
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-interval 参见 HealthCheck
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-connect-timeout 参见 HealthCheck
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-timeout 参见 HealthCheck
本文导读目录