Rancher 上操作的k8s容器网络配置总结
要在 Rancher 中配置Spring Boot 应用 服务,正确的配置方式如下:
1. 应用程序监听端口
在 文件中,配置的应用监听端口是 ,并且应用的上下文路径是 。也就是说,Spring Boot 应用在容器内部的 端口上运行,并将所有 API 请求映射到 。
2. Dockerfile 的 声明
在 中,尽管 声明了 端口,这只是告知 Docker 哪个端口准备接受连接,但并不影响实际应用监听的端口。因为应用实际监听的端口是 ,在 Kubernetes 配置中,我们需要使用 端口作为容器内部的端口,而不需要更改 。可以多申明几个。
3. Kubernetes Deployment 配置
在 中,需要明确指定容器运行的端口 ,即应用程序实际监听的端口。你可以通过 Rancher UI 或者 YAML 配置来定义 :
在 Rancher 的 UI 中,可以直接通过 “容器端口” 设置 端口。容器之间可以通信。
4. Kubernetes Service 配置
为了让其他服务或外部访问到该服务,需要使用 Kubernetes 对象。你可以选择 (只在集群内部访问),或者 (通过集群节点暴露外部访问),甚至 (通过云提供商的负载均衡器对外暴露)。
- ClusterIP:如果不需要外部访问,仅供集群内部其他服务访问。
- NodePort:用于将服务通过集群节点对外暴露。
- LoadBalancer:如果你有云提供商的负载均衡器,可以对外暴露服务。
在 Rancher UI 中,具体操作步骤:
- 选择 ClusterIP 或 NodePort。
- 设置 私有容器端口 为 ,这个是实际应用监听的端口。
- 如果是 ,可以手动设置 NodePort 为 ,这样外部访问时,可以通过 访问服务。
5. 访问服务
根据需求,以下两种方式可以访问服务:
- 集群内部访问:
如果使用 类型,集群内的其他服务可以通过服务名称和端口 访问: - 外部访问(使用 NodePort 或 LoadBalancer):
如果你使用 或 ,可以通过外部的节点 IP 和 端口访问:
总结:
- Spring Boot 应用监听端口:10001(在 中配置)。
- 容器声明的 EXPOSE 端口:31002(无需修改 ,仅为声明)。
- Kubernetes 部署:在 中,确保 设置为 ,即应用程序实际监听的端口。
- Kubernetes 服务类型:
- ClusterIP:内部服务访问。
- NodePort:外部通过 访问,映射到应用的 端口。
- LoadBalancer:通过负载均衡器暴露外部访问。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-yjs/50636.html