美文网首页
demo11 - load balance

demo11 - load balance

作者: 程序员札记 | 来源:发表于2023-01-16 09:19 被阅读0次

    destinationrule-demoapp.yaml

    apiVersion: networking.istio.io/v1beta1
    kind: DestinationRule
    metadata:
      name: demoapp
    spec:
      host: demoapp
      trafficPolicy:
        loadBalancer:
          simple: LEAST_CONN
      subsets:
      - name: v10
        labels:
          version: v1.0
        trafficPolicy:
          loadBalancer:
            consistentHash:
              httpHeaderName: X-User
      - name: v11
        labels:
          version: v1.1
    

    virutalservice-demoapp.yaml

    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
      name: demoapp
    spec:
      hosts:
      - demoapp
      http:
      - name: canary
        match:
        - uri:
            prefix: /canary
        rewrite:
          uri: /
        route:
        - destination:
            host: demoapp
            subset: v11
      - name: default
        route:
        - destination:
            host: demoapp
            subset: v10
    

    更新demoapp dr

    # kubectl apply -f destinationrule-demoapp.yaml  -f virutalservice-demoapp.yaml
    destinationrule.networking.istio.io/demoapp configured
    virtualservice.networking.istio.io/demoapp configured
    

    访问demoapp

    访问v10子集

    root@client # curl demoapp:8080
    iKubernetes demoapp v1.0 !! ClientIP: 127.0.0.6, ServerName: demoappv10-78b6586d58-hq957, ServerIP: 172.20.44.206!
    root@client # curl demoapp:8080
    iKubernetes demoapp v1.0 !! ClientIP: 127.0.0.6, ServerName: demoappv10-78b6586d58-kdv4m, ServerIP: 172.20.154.195!
    
    root@client # curl -H "x-user: user2" demoapp:8080
    iKubernetes demoapp v1.0 !! ClientIP: 127.0.0.6, ServerName: demoappv10-78b6586d58-kdv4m, ServerIP: 172.20.154.195!
    
    root@client # curl -H "x-user: user3" demoapp:8080
    iKubernetes demoapp v1.0 !! ClientIP: 127.0.0.6, ServerName: demoappv10-78b6586d58-hq957, ServerIP: 172.20.44.206!
    

    访问v11子集

    root@client # curl demoapp:8080/canary
    iKubernetes demoapp v1.1 !! ClientIP: 127.0.0.6, ServerName: demoappv11-78bf898c74-sn9qp, ServerIP: 172.20.154.253!
    root@client # curl demoapp:8080/canary
    iKubernetes demoapp v1.1 !! ClientIP: 127.0.0.6, ServerName: demoappv11-78bf898c74-sn9qp, ServerIP: 172.20.154.253!
    root@client # curl demoapp:8080/canary
    iKubernetes demoapp v1.1 !! ClientIP: 127.0.0.6, ServerName: demoappv11-78bf898c74-sn9qp, ServerIP: 172.20.154.253!
    root@client # curl demoapp:8080/canary
    iKubernetes demoapp v1.1 !! ClientIP: 127.0.0.6, ServerName: demoappv11-78bf898c74-hckjf, ServerIP: 172.20.89.189!
    

    参考文档

    https://istio.io/latest/zh/docs/reference/config/networking/destination-rule/#LoadBalancerSettings

    相关文章

      网友评论

          本文标题:demo11 - load balance

          本文链接:https://www.haomeiwen.com/subject/otdzcdtx.html