Helm nginx-ingress 차트를 사용하여 설치할 때 수신 컨트롤러 서비스에 대해 ipv6을 활성화하는 방법은 무엇입니까?

Helm nginx-ingress 차트를 사용하여 설치할 때 수신 컨트롤러 서비스에 대해 ipv6을 활성화하는 방법은 무엇입니까?

Kubespray(Calico as CNI)를 사용하는 베어메탈 K8 클러스터 설정이 있고 듀얼 스택이 활성화되어 있습니다. 배포된 모든 포드가 IPv4 및 IPv6 주소를 모두 가져오는 것을 볼 수 있지만 nginx helm 차트를 사용하여 nginx-ingress 컨트롤러를 설치하려고 하면 서비스에 IPv4만 활성화되고 할당되어 있습니다. kubectl get on the service를 수행하면 다음 사양을 볼 수 있습니다.

kubectl은 svc ingress-nginx-controller -n ingress-nginx -o yaml을 얻습니다.

spec:
  clusterIP: 10.233.34.249
  clusterIPs:
  - 10.233.34.249
  externalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack

수신 컨트롤러 투구 차트의 value.yaml 파일에 다음 사양을 수동으로 추가해 보았습니다.

  service:
    enabled: true

    annotations: {}
    labels: {}
    # clusterIP: ""

    ## List of IP addresses at which the controller services are available
    ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    ##

    ipFamilyPolicy: PreferDualStack
    ipFamilies:
     - IPv6
     - IPv4

다음을 사용하여 적용했지만 아무 소용이 없습니다.helm install ingress-nginx ingress-nginx/ingress-nginx -f value.yaml -n ingress-nginx

수신 문제일 뿐만 아니라 기본적으로 Helm 차트를 사용하여 배포하려는 모든 애플리케이션에는 서비스 사양으로 단일 스택 및 IPv4가 있으므로 이러한 차트의 값 파일에 필요한 일부 수동 구성이 누락되었다고 생각하게 됩니다.

또한 기본 서비스를 생성하고 ipFamilyPolicy: PreferDualStack 및 ipFamilies: IPv6, IPv4를 사용하여 직접 서비스 파일을 사용하여 배포하려고 시도했을 때 서비스가 성공적으로 배포되었고 v6 및 v4 주소가 모두 할당되었습니다. 따라서 클러스터 관점에서 내 구성이 양호하고 배포되는 차트에 일부 누락된 매개변수가 있다는 것을 알고 있습니다.

관련 정보