我有 docker-compose.yml
version: '3.5'
services:
container-name:
image: container-image
ports:
- 80:80
- 443:443
Run Code Online (Sandbox Code Playgroud)
它创建了一个容器,端口转发到主机。码头工人检查容器名称
[...]
NetworkSettings: {
[...]
Ports: {
443/tcp: [{ HostIp: 0.0.0.0, HostPort: 443 }]
80/tcp: [{ HostIp: 0.0.0.0, HostPort: 80 }]
}
[...]
}
[...]
Run Code Online (Sandbox Code Playgroud)
但是在 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
[...]
Run Code Online (Sandbox Code Playgroud)
简而言之,我需要将容器(pod)端口转发到主机(节点)。
我发现最好暴露。但这对我不起作用。
kubernetes 更喜欢的方式是通过服务公开您的 pod 并通过部署来控制它。
如果您出于某种原因想要使用端口转发,您可以这样做:
kubectl port-forward pod/pod-name 8080:80 8443:443 -n default
Run Code Online (Sandbox Code Playgroud)
这将在您的主机端口绑定8080和8443,转发流量的端口80,并443分别带有名称吊舱pod-name。我没有省略命名空间 ( default),默认情况下kubectl将使用您的当前上下文
| 归档时间: |
|
| 查看次数: |
3625 次 |
| 最近记录: |