
Ayúdenme a convertir el siguiente comando Docker a un archivo YAML de Kubernetes junto con la asignación/reenvío de puertos al contenedor 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
Probé la siguiente configuración:
ingrese la descripción de la imagen aquí
Pero sin obtener ningún resultado.
Necesito expertos aquí que me digan si el archivo de implementación anterior es incorrecto y, en caso afirmativo, cuáles podrían ser los posibles cambios que puedo hacer aquí para obtener los resultados. He probado varias otras combinaciones y no obtengo ningún resultado.
Nota: el contenedor se implementa pero la asignación/reenvío de puertos no funciona. Ahí es donde estoy estancado y busco ayuda.
Respuesta1
Si especificamos un servicio NodePort, Kubernetes asignará un puerto en cada nodo. El NodePort elegido será visible en la especificación del servicio después de la creación. Alternativamente, se puede especificar un puerto particular para usar como NodePort en la especificación al crear el servicio. Si no se especifica un NodePort específico, se seleccionará aleatoriamente un puerto de un rango configurado en el clúster de Kubernetes (predeterminado: 30000-32767).
En Kubernetes puede definir sus puertos usando la etiqueta de puerto #. Esta etiqueta se incluye en la configuración de puertos de su implementación. Según las configuraciones, puede simplemente definir cualquier número de puertos que desee. El siguiente ejemplo muestra cómo definir dos puertos.
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 reenviar un puerto al host local, ejecute el siguiente comando.
kubectl port-forward <pod-name> <locahost-port>:<pod-port>
Para obtener más información, consulte los enlaces deReenvío de puertos de contenedores Dockerypuertos de nodo.