
Por favor, ajude-me a converter o comando docker abaixo para o arquivo YAML do Kubernetes junto com o mapeamento/encaminhamento de porta para o contêiner do 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
Tentei a configuração abaixo:
insira a descrição da imagem aqui
Mas não obtendo nenhum resultado.
Preciso de especialistas aqui para me dizer se o arquivo de implantação acima está incorreto e, em caso afirmativo, quais poderiam ser as possíveis alterações que posso fazer aqui para obter os resultados. Já tentei várias outras combinações e não obtive nenhum resultado.
Nota: o contêiner é implantado, mas o mapeamento/encaminhamento de porta não está funcionando. É aí que estou preso e procurando ajuda.
Responder1
Se especificarmos um serviço NodePort, o Kubernetes alocará uma porta em cada nó. O NodePort escolhido ficará visível nas especificações do serviço após a criação. Alternativamente, pode-se especificar uma porta específica para ser usada como NodePort na especificação ao criar o serviço. Se um NodePort específico não for especificado, uma porta de um intervalo configurado no cluster Kubernetes (padrão: 30000-32767) será escolhida aleatoriamente.
No Kubernetes você pode definir suas portas usando # port label. Esse rótulo está na configuração da porta em sua implantação. De acordo com as configurações você pode simplesmente definir qualquer número de portas que desejar. O exemplo a seguir mostra como definir duas portas.
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
Para fazer um encaminhamento de porta para o host local, execute o seguinte comando.
kubectl port-forward <pod-name> <locahost-port>:<pod-port>
Para mais informações consulte os links paraEncaminhamento de porta de contêiner Dockereportas de nó.