You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Web浏览器发布Kubernetes容器?NodePort实现方法求教

通过NodePort Service在浏览器访问Kubernetes容器的步骤

1. 确认容器部署状态正常

先确保你已部署的Pod处于正常运行状态,执行以下命令检查:

kubectl get pods

输出结果中STATUS列需显示Running,说明容器服务正常启动。

2. 创建NodePort类型的Service

有两种常用方式创建,按需选择:

方式一:用kubectl命令快速创建

如果你已经有对应的Deployment(假设名称为my-app),直接执行暴露命令:

kubectl expose deployment my-app --type=NodePort --port=80 --target-port=80

参数说明:

  • --port=80:Service在集群内部的访问端口
  • --target-port=80:容器内应用实际监听的端口(需和你容器服务的端口一致)
  • --type=NodePort:指定Service类型为NodePort

方式二:用YAML配置文件创建

新建service-nodeport.yaml文件,内容如下:

apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  type: NodePort
  selector:
    app: my-app  # 需与你的Deployment/Pod的label完全匹配
  ports:
    - protocol: TCP
      port: 80        # Service内部端口
      targetPort: 80  # 容器内应用端口
      nodePort: 30007 # 可选:指定固定NodePort(必须在30000-32767范围内)

执行创建命令:

kubectl apply -f service-nodeport.yaml

3. 验证Service配置

执行命令查看Service详情:

kubectl get service my-app-service

输出结果中的NODEPORT列会显示分配的端口(比如30007),这就是集群节点对外开放的端口。

4. 通过浏览器访问服务

获取你的Kubernetes节点的公网/内网IP,在浏览器地址栏输入:

http://<节点IP>:<NodePort>

示例:http://192.168.1.100:30007

关键注意事项

  • 确保节点的防火墙/安全组已开放对应的NodePort(30000-32767区间)
  • 容器内的应用必须监听0.0.0.0而非127.0.0.1,否则外部无法访问
  • 云服务商K8s集群需确认节点公网IP具备可访问权限

内容的提问来源于stack exchange,提问作者nobody1879

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 10:54:51