美文网首页
kubernetes svc设置externalTrafficP

kubernetes svc设置externalTrafficP

作者: YiQinGuo | 来源:发表于2018-02-08 14:29 被阅读1131次

    kubernetes svc有一个参数externalTrafficPolicy当设置成Local的时候可以追踪,访问的来源的ip,但是就只能通过pod所在节点的nodeport才能访问,不是所有的节点都可以访问了。
    当我们应用过程中发现设置了externalTrafficPolicy:Local以后svc死活都不能访问,后来经过一系列排查iptables和kube-proxy终于发现了解决办法。

    在kube-proxy启动参数里面需要设置--hostname-override:

            - --hostname-override=$(NODE_NAME)
            env:
            - name: NODE_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
    

    然后就可以正常使用了,过程参考文章:
    https://stackoverflow.com/questions/47345327/why-unable-to-access-a-service-if-setting-externaltrafficpolicy-to-local-in-a-ku
    https://ieevee.com/tech/2017/09/18/k8s-svc-src.html#%E5%AE%9E%E7%8E%B0iptables

    相关文章

      网友评论

          本文标题:kubernetes svc设置externalTrafficP

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