k8s與aws--如何在cloud-provider=aws的k8s中設置externalTrafficPolicy爲local

如何在啓用cloud-provider=aws的k8s集羣中設置service 的externalTrafficPolicy爲local

關於externalTrafficPolicy的local和cluster兩個值,在之前的文章中,我們已經講過。大家可以參考從service的externalTrafficPolicy到podAntiAffinity這篇文章。

而在aws中,假如你自己部署k8s集羣,並且啓用了cloud-provider=aws,那麼需要做一些其他的工作,否則service 的externalTrafficPolicy爲local後,無法訪問。

  • 首先保證kube-proxy啓動參數里加入hostname-override設置
        - --hostname-override=$(NODE_NAME)
        env:
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
  • 然後需要設置VPC的DHCP domainname 爲 .compute.internal。

參考資料:

當您創建 VPC 時,我們會自動創建 DHCP 選項集,並將它們與 VPC 相關聯。此設置包括兩個選項:domain-name-servers=AmazonProvidedDNS 和 domain-name=domain-name-for-your-region。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章