Есть ли способ, чтобы указать пользовательский NodePort порт в определении YAML kubernetes услуг? Мне нужно иметь возможность явно определить порт в моем файле конфигурации.
Пользовательский порт Kubernetes NodePort
Ответ 1
Вы можете установить тип NodePort
в своем развертывании Service
. Обратите внимание, что для вашего сервера API настроен Node Port Range
с параметром --service-node-port-range
(по умолчанию 30000-32767
). Вы также можете указать порт в этом диапазоне, специально установив атрибут NodePort
под объектом Port
, или система выберет для вас порт в этом диапазоне.
Итак, пример Service
с указанным NodePort
будет выглядеть так:
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
name: nginx
spec:
type: NodePort
ports:
- port: 80
nodePort: 30080
name: http
- port: 443
nodePort: 30443
name: https
selector:
name: nginx
Для получения дополнительной информации о NodePort см. этот документ. Для настройки сервера API Node Диапазон портов см. this.
Ответ 2
Вы можете определить статический NodePort, используя nodeport в файле service.yaml
spec:
type: NodePort
ports:
- port: 3000
nodePort: 31001
name: http