
Пожалуйста, помогите мне преобразовать приведенную ниже команду docker в файл Kubernetes YAML вместе с сопоставлением/переадресацией портов в контейнер docker.
# docker run -p 5775:5775/udp -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778 -p 16686:16686 -p 14268:14268 jaegertracing/all-in-one:latest
Я попробовал следующую конфигурацию:
введите описание изображения здесь
Но результата нет.
Мне нужны эксперты здесь, чтобы сказать мне, является ли указанный выше файл развертывания неправильным, и если да, то какие возможные изменения я могу сделать здесь, чтобы получить результаты. Я пробовал несколько других комбинаций, но не получаю никаких результатов.
Примечание: контейнер развертывается, но порт-мэппинг/переадресация не работает. Вот где я застрял и ищу помощь.
решение1
Если мы укажем службу NodePort, Kubernetes выделит порт на каждом узле. Выбранный NodePort будет виден в спецификации службы после создания. В качестве альтернативы можно указать конкретный порт, который будет использоваться как NodePort в спецификации при создании службы. Если конкретный NodePort не указан, порт из диапазона, настроенного в кластере Kubernetes (по умолчанию: 30000-32767), будет выбран случайным образом.
В Kubernetes вы можете определить свои порты с помощью # port label. Эта метка находится в конфигурации порта в вашем развертывании. В соответствии с конфигурациями вы можете просто определить любое количество портов, которое хотите. Следующий пример показывает, как определить два порта.
apiVersion: v1
kind: Service
Metadata:
name: my-service
Spec:
selector:
app: MyApp
Ports:
- name: http
protocol: TCP
port: 80
targetPort: 9376
- name: https
protocol: TCP
port: 443
targetPort: 9377
Чтобы выполнить переадресацию порта на локальный хост, выполните следующую команду.
kubectl port-forward <pod-name> <locahost-port>:<pod-port>
Для получения более подробной информации перейдите по ссылкамПереадресация контейнеров Docker в портипорты узла.