Am o configurație baremetal K8 cluster folosind Kubespray (Calico ca CNI) și am dual stack activat. Pot vedea că toate podurile care sunt implementate primesc atât adrese IPv4, cât și IPv6, dar când încerc să instalez controlerul de intrare nginx folosind graficul nginx helm, serviciile au doar IPv4 activat și atribuit. Pot vedea următoarele specificații când fac kubectl să intru în serviciu:
kubectl obține svc ingress-nginx-controller -n ingress-nginx -o yaml
specificație:
clusterIP: 10.233.34.249
clusterIP-uri:
- 10.233.34.249
externalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
Am încercat să adaug manual următoarele specificații în fișierul values.yaml pentru diagrama de control al controlorului de intrare:
serviciu:
activat: adevărat
adnotări: {}
etichete: {}
# clusterIP: ""
## Lista adreselor IP la care sunt disponibile serviciile controlerului
## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
##
ipFamilyPolicy: PreferDualStack
ipFamilies:
- IPv6
- IPv4
și aplicându-l folosind următoarele, dar fără niciun rezultat: helm install ingress-nginx ingress-nginx/ingress-nginx -f values.yaml -n ingress-nginx
Nu este doar o problemă cu intrarea, practic orice aplicație pe care încerc să o implementez folosind graficele Helm au Single Stack și IPv4 ca specificații pentru servicii, ceea ce mă face să cred că îmi lipsesc unele configurații manuale necesare în fișierele de valori pentru aceste diagrame.
De asemenea, când am încercat să creez un serviciu de bază și l-am implementat folosind un fișier de serviciu direct cu ipFamilyPolicy: PreferDualStack și ipFamilies: IPv6, IPv4, atunci serviciul a fost implementat cu succes și a primit ambele adrese v6 și v4 alocate. Așa că știu, din perspectiva clusterului, configurația mea este în regulă și lipsește un parametru cu diagramele în curs de implementare.