Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在像docker compose这样的kubernetes中进行端口转发_Docker_Kubernetes - Fatal编程技术网

如何在像docker compose这样的kubernetes中进行端口转发

如何在像docker compose这样的kubernetes中进行端口转发,docker,kubernetes,Docker,Kubernetes,我有docker-compose.yml version: '3.5' services: container-name: image: container-image ports: - 80:80 - 443:443 并创建具有端口转发到主机的容器。 码头工人检查集装箱名称 [...] NetworkSettings: { [...] Ports: { 443/tcp: [{ HostIp: 0.0.0.0, HostPort: 4

我有docker-compose.yml

version: '3.5'
services:
  container-name:
    image: container-image
    ports:
      - 80:80
      - 443:443
并创建具有端口转发到主机的容器。 码头工人检查集装箱名称

[...]
NetworkSettings: {
  [...]
  Ports: {
    443/tcp: [{ HostIp: 0.0.0.0, HostPort: 443 }]
    80/tcp: [{ HostIp: 0.0.0.0, HostPort: 80 }]
  }
  [...]
}
[...]
但是在kubernetes next pod.yml中,创建没有端口的容器

kind: Pod
matadata:
  name: pod-name
spec:
  containers:
  - image: container-image
    name: container-name
    ports:
    - containerPort: 80
      protocol: TCP
    - containerPort: 443
      protocol: TCP
    [...]
简而言之,我需要将containerpod端口转发到主机machinenode


我发现最好还是暴露出来。但是它对我不起作用。

如果您知道应用程序正在使用的端口,也许您可以使用:

kubectl端口转发本地\u端口:远程\u端口

比如: kubectl端口转发8080:80


这假设您的pod位于默认名称空间中。如果您部署在另一个命名空间中,则可以在kubectl命令中使用-n参数。

如果您知道应用程序正在使用的端口,则可以使用:

kubectl端口转发本地\u端口:远程\u端口

比如: kubectl端口转发8080:80


这假设您的pod位于默认名称空间中。如果您部署在另一个名称空间中,您可以通过使用kubectl命令中的-n参数来传递消息。

kubernetes更喜欢的方式是通过一个公开pod并用一个控件来控制它

如果出于某种原因需要使用端口转发,请执行以下操作:

kubectl port-forward pod/pod-name 8080:80 8443:443 -n default

这将绑定到主机端口8080和8443,将流量分别转发到名称为pod name的pod的端口80和443。我没有忽略默认名称空间,默认情况下kubectl将使用您的

,kubernetes更喜欢的方式是通过一个公开您的pod并用一个控件控制它

如果出于某种原因需要使用端口转发,请执行以下操作:

kubectl port-forward pod/pod-name 8080:80 8443:443 -n default

这将绑定到主机端口8080和8443,将流量分别转发到名称为pod name的pod的端口80和443。我没有忽略默认名称空间,默认情况下,kubectl将使用您的

吊舱/容器在Kubernetes中移动东西,它们可能会被重新安排到另一台机器上。将端口发布到主机不是这里的解决方案。您正在寻找一个名为Kubernetes的抽象。检查可用的服务类型。您可能需要ClusterIP或NodePort.Pods/containers正在Kubernetes中移动对象,它们可能会被重新安排到另一台机器上。将端口发布到主机不是这里的解决方案。您正在寻找一个名为Kubernetes的抽象。检查可用的服务类型。您可能需要ClusterIP或NodePort。但应该注意的是,kubectl端口向前。。。用于调试目的,并在达到超时后停止工作。我不认为有超时,关于文档所说的持续时间:转发会话在所选pod终止时结束,需要重新运行命令才能恢复转发。但应注意的是,kubectl港向前。。。用于调试目的,并在达到超时后停止工作。我不认为有超时,关于文档所说的持续时间:转发会话在所选pod终止时结束,需要重新运行命令才能恢复转发。