У меня есть настройка кластера K8 без операционной системы с использованием Kubespray (Calico как CNI) и включен двойной стек. Я вижу, что все модули, которые развертываются, получают адреса IPv4 и IPv6, но когда я пытаюсь установить контроллер nginx-ingress с помощью диаграммы nginx helm, службы имеют только включенный и назначенный IPv4. Я вижу следующую спецификацию, когда подключаюсь к сервису kubectl:
kubectl получить svc ingress-nginx-controller -n ingress-nginx -o yaml
спецификация:
IP кластера: 10.233.34.249
IP-адреса кластера:
- 10.233.34.249
externalTrafficPolicy: Кластер
ipFamilies:
- IPv4
ipFamilyPolicy: одиночный стек
Я попытался вручную добавить следующую спецификацию в файл values.yaml для диаграммы управления входным контроллером:
оказание услуг:
включено: правда
аннотации: {}
метки: {}
# кластер IP: ""
## Список IP-адресов, по которым доступны сервисы контроллера
## Ссылка: https://kubernetes.io/docs/user-guide/services/#external-ips
##
ipFamilyPolicy: Префердуалстек
ipFamilies:
- IPv6
- IPv4
и применяя его, используя следующее, но безрезультатно: helm установить ingress-nginx ingress-nginx/ingress-nginx -f values.yaml -n ingress-nginx
Это не только проблема с входом, практически любое приложение, которое я пытаюсь развернуть с помощью диаграмм helm, имеет Single Stack и IPv4 в качестве спецификаций для служб, что заставляет меня думать, что мне не хватает некоторой ручной конфигурации, необходимой в файлах значений для этих диаграмм.
Кроме того, когда я попытался создать базовую службу и развернул ее с помощью файла службы непосредственно с помощью ipFamilyPolicy: PreferDualStack и ipFamilies: IPv6, IPv4, служба была успешно развернута и получила адреса v6 и v4. Итак, я знаю, что с точки зрения кластера моя конфигурация в порядке, и в ней отсутствует какой-то параметр с развертываемыми диаграммами.