У меня есть эта служба NodePort, которая предоставляет два порта:
kind: Service
apiVersion: v1
metadata:
name: my-service
spec:
type: NodePort
selector:
app: my-service
ports:
- name: nginx-public
port: 443
targetPort: nginx-public
- name: metrics
port: 9200
targetPort: metrics
Порт nginx-public должен быть доступен на узле, потому что я использую его с aws-alb-ingress-controller.
Однако другой порт для metrics используется только внутри (внутри кластера) - его подбирает оператор-прометей. Мне нужно, чтобы это было задокументировано в спецификации службы, но я бы не хотел одновременно резервировать другой порт на узле.
Есть ли способ указать Kubernetes зарезервировать только один порт узла для этой службы?
Я попытался указать nodePort: null в спецификации порта следующим образом:
ports:
- name: nginx-public
port: 443
targetPort: nginx-public
- name: metrics
port: 9200
targetPort: metrics
nodePort: null
но, согласно describe service, похоже, что это имеет тот же эффект, что и полное исключение nodePort, а случайный порт по-прежнему зарезервирован для metrics.

вы можете определить две службы: одна выбирает nginx-public, а другая выбирает метрики. использовать два разные ярлыки на стручках соответственно.