如何使用 kubernetes YAML 清单部署 docker 容器并进行端口映射/转发

如何使用 kubernetes YAML 清单部署 docker 容器并进行端口映射/转发

请帮助我将以下 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 标签定义端口。此标签位于部署中的端口配置下。根据配置,您可以轻松定义任意数量的端口。以下示例显示如何定义两个端口。

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 容器端口转发节点端口

相关内容