通过命令行操作
通过命令行工具创建一个 Nginx 应用。[backcolor=transparent]root@master [backcolor=transparent]# kubectl run -it nginx --image=registry.aliyuncs.com/spacexnice/netdia:latest- [backcolor=transparent]root@master [backcolor=transparent]# kubectl get po
- [backcolor=transparent]NAME READY STATUS RESTARTS AGE
- [backcolor=transparent]nginx[backcolor=transparent]-[backcolor=transparent]2721357637[backcolor=transparent]-[backcolor=transparent]dvwq3 [backcolor=transparent]1[backcolor=transparent]/[backcolor=transparent]1[backcolor=transparent] [backcolor=transparent]Running[backcolor=transparent] [backcolor=transparent]1[backcolor=transparent] [backcolor=transparent]6s
为 Nginx 应用创建阿里云负载均衡服务,指定 type=LoadBalancer 来向外网用户暴露 Nginx 服务。
- [backcolor=transparent]root@master [backcolor=transparent]# kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancer
- [backcolor=transparent]root@master [backcolor=transparent]# kubectl get svc
- [backcolor=transparent]NAME CLUSTER[backcolor=transparent]-[backcolor=transparent]IP EXTERNAL[backcolor=transparent]-[backcolor=transparent]IP PORT[backcolor=transparent]([backcolor=transparent]S[backcolor=transparent])[backcolor=transparent] AGE
- [backcolor=transparent]nginx [backcolor=transparent]172.19[backcolor=transparent].[backcolor=transparent]10.209[backcolor=transparent] [backcolor=transparent]101.37[backcolor=transparent].[backcolor=transparent]192.20[backcolor=transparent] [backcolor=transparent]80[backcolor=transparent]:[backcolor=transparent]31891[backcolor=transparent]/[backcolor=transparent]TCP [backcolor=transparent]4s
在浏览器中访问
http://101.37.192.20,来访问您的 Nginx 服务。
通过 Kubernetes Web UI 操作
将下面的 yml code 保存到 nginx-svc.yml文件中。[backcolor=transparent]apiVersion[backcolor=transparent]:[backcolor=transparent] v1- [backcolor=transparent]kind[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]Service
- [backcolor=transparent]metadata[backcolor=transparent]:
- [backcolor=transparent] labels[backcolor=transparent]:
- [backcolor=transparent] run[backcolor=transparent]:[backcolor=transparent] nginx
- [backcolor=transparent] name[backcolor=transparent]:[backcolor=transparent] http[backcolor=transparent]-[backcolor=transparent]svc
- [backcolor=transparent] [backcolor=transparent]namespace[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]default
- [backcolor=transparent]spec[backcolor=transparent]:
- [backcolor=transparent] ports[backcolor=transparent]:
- [backcolor=transparent] [backcolor=transparent]-[backcolor=transparent] port[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]80
- [backcolor=transparent] protocol[backcolor=transparent]:[backcolor=transparent] TCP
- [backcolor=transparent] targetPort[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]80
- [backcolor=transparent] selector[backcolor=transparent]:
- [backcolor=transparent] run[backcolor=transparent]:[backcolor=transparent] nginx
- [backcolor=transparent] type[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]LoadBalancer
登录 Kubernetes Web UI。
有关如何访问 Kubernetes Web UI,参见
访问 Kubernetes Web UI。
单击 CREATE 创建应用。
单击 Upload a YAML or JSON file。选择刚才保存的 nginx-svc.yml 文件
单击 DEPLOY。
这样会创建一个阿里云负载均衡实例指向创建的 Nginx 应用,服务的名称为 http-svc。
在 Kubernetes Web UI 上定位到 default 命名空间,选择 Services。
可以看到刚刚创建的 http-svc 的 Nginx 服务和机器的负载均衡地址
http://101.37.179.56:80。
将该地址拷贝到浏览器中即可访问该服务。
更多信息
阿里云负载均衡还支持丰富的配置参数,包含健康检查、收费类型、负载均衡类型等参数。详细信息参见
文档。
注释
阿里云可以通过注释的形式支持丰富的负载均衡功能。
注意:注释的内容是区分大小写的。
[tr=rgb(255, 255, 255)]注释描述默认值[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-ProtocolPort多个值之间由逗号分隔,比如:https:443,http:80无[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-AddressType取值可以是 internet 或者 intranetinternet[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-SLBNetworkType负载均衡的网络类型,取值可以是 classic 或者 vpcclassic 或者 vpc[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-ChargeType取值可以是 paybytraffic 或者 payby bandwidthpaybybandwidth[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-Region负载均衡所在的地域无[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-Bandwidth负载均衡的带宽50[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-CertID阿里云上的认证 ID。您需要先上传证书“”[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-HealthCheckFlag取值是 on 或者 off“off” tcp no need for this mark because it default to “on”[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-HealthCheckType参见
HealthCheck[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-HealthCheckURI参见
HealthCheck[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-HealthCheckConnectPort参见
HealthCheck[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-HealthyThreshold参见
HealthCheck[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-UnhealthyThreshold参见
HealthCheck[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-HealthCheckInterval参见
HealthCheck[tr=rgb(239, 251, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-HealthCheckConnectTimeout参见
HealthCheck[tr=rgb(255, 255, 255)]service.beta.kubernetes.io/alicloud-loadbalancer-HealthCheckTimeout参见
HealthCheck