kubernetes svc設(shè)置externalTrafficPolicy無法訪問題

kubernetes svc有一個(gè)參數(shù)externalTrafficPolicy當(dāng)設(shè)置成Local的時(shí)候可以追蹤,訪問的來源的ip,但是就只能通過pod所在節(jié)點(diǎn)的nodeport才能訪問,不是所有的節(jié)點(diǎn)都可以訪問了。
當(dāng)我們應(yīng)用過程中發(fā)現(xiàn)設(shè)置了externalTrafficPolicy:Local以后svc死活都不能訪問,后來經(jīng)過一系列排查iptables和kube-proxy終于發(fā)現(xiàn)了解決辦法。

在kube-proxy啟動(dòng)參數(shù)里面需要設(shè)置--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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容