我有docker-compose.yml
version: '3.5'
services:
container-name:
image: container-image
ports:
- 80:80
- 443:443并创建具有到主机的端口转发的容器。docker检查容器名称
[...]
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
[...]简而言之,我需要将容器(Pod)端口转发到主机(节点)。
我发现最好还是去揭发。但它对我不起作用。
发布于 2018-12-04 21:59:30
kubernetes的方式“更倾向于通过service暴露你的pod,并用deployment控制它。
如果您出于某种原因想要使用端口转发,您可以这样做:
kubectl port-forward pod/pod-name 8080:80 8443:443 -n default这将绑定到您的主机端口8080和8443上,将流量分别转发到端口80和443,用于名为pod-name的pod。我没有省略名称空间(default),默认情况下kubectl将使用您的current-context
发布于 2018-12-04 21:42:35
如果您知道您的应用程序正在使用的端口,您可能可以使用:
kubectl端口转发LOCAL_PORT:REMOTE_PORT
类似于: kubectl port-forward 8080:80
这假设您的pod在默认名称空间中。如果您在另一个名称空间中部署,则可以在kubectl命令中传递使用-n参数。
https://stackoverflow.com/questions/53613366
复制相似问题