天翼云代理,天翼云代理商,北京代理商
天翼云2.5折专线:18510009100/18510009200(全国市话)

如何通过kubectl命令行创建负载均衡?

 

 

如果您有其他问题,可以联系北京志远天辰天翼云代理商,为您提供一对一专业全面的技术服务,同时新/老天翼云会员,均可享受我公司代理商价格,迎咨询!

 

本节以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为对应界面上的访问端口。
12年经验 · 提供上云保障

服务热线:132-6161-6125(手机) 400-150-1900(全国市话)

站内导航: 天翼云服务器价格| 天翼云购买流程| 天翼云代理| 北京天翼云代理商| 杭州天翼云代理| 深圳天翼云代理商| 钉钉代理商| 阿里云代理| 公司官网

我公司收款账号| 天翼云备案系统

CopyRight © 2019 天翼云代理商. All Rights Reserved 京ICP备2024071855号-7 管理-北京优胜智连科技有限公司