Cómo implementar un contenedor acoplable y realizar mapeo/reenvío de puertos usando el manifiesto YAML de Kubernetes

Cómo implementar un contenedor acoplable y realizar mapeo/reenvío de puertos usando el manifiesto YAML de Kubernetes

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.

información relacionada