如果您有其他问题,可以联系北京志远天辰天翼云代理商,为您提供一对一专业全面的技术服务,同时新/老天翼云会员,均可享受我公司代理商价格,欢迎咨询! 
 
	 
本节以nginx为例,说明kubectl命令实现负载均衡 ( LoadBalancer )访问的方法。
前提条件
请参见3.17 通过Kubectl连接集群配置kubectl命令,使弹性云服务器连接集群。
步骤1:登录已配置好kubectl命令的弹性云服务器。登录方法请参见登录Linux弹性云服务器。
步骤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
 
若需要开启会话保持,需要满足如下条件:
 应用管理协议为TCP。
 应用管理的各实例已设置反亲和部署,即所有的实例都部署在不同节点上。详细请参见指定应用管理部署在不同节点。
apiVersion: v1 
kind: Service 
metadata: 
  annotations:   
    kubernetes.io/elb.class: union                 #对接增强型负载均衡需要加此参数,若对接经典型负载均衡(已停售),值为elasticity
    kubernetes.io/elb.id: 3c7caa5a-a641-4bff-801a-feace27424b6        #可选,为负载均衡增强型实例的ID
    kubernetes.io/elb.subnet-id: 5083f225-9bf8-48fa-9c8b-67bd9693c4c0   #可选,当自动创建时必填,1.11.7-r0以上的版本可不填
    kubernetes.io/elb.autocreate: >-      
     {"type":"public","bandwidth_name":"cce-bandwidth-1558492655112","bandwidth_chargemode":"bandwidth","bandwidth_size":5,"bandwidth_sharetype":"PER","eip_type":"5_sbgp"}                                                                #必填
  labels: 
    app: nginx 
  name: nginx 
spec: 
  loadBalancerIP: 10.78.42.242                          #配置为ELB的IP地址 
  ports: 
  - name: service0 
    port: 80             #集群虚拟IP的访问端口,也是注册到负载均衡上的端口 
    protocol: TCP 
    targetPort: 80       #对应界面上的容器端口 
  selector: 
    app: nginx 
  type: LoadBalancer
步骤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.78.42.242   80:31540/TCP   51s
步骤5:在浏览器中输入访问地址,例如输入10.78.42.242:31540。10.78.42.242为负载均衡实例IP地址,31540为对应界面上的访问端口。