kubernetes - 如何使用内部网络设置 k8s IP?
问题描述
最近我决定在几个虚拟机上建立一个 k8s 集群。
我过去使用过 K8s,但已经很久了。
我想在集群中运行的一件事是带有 Nginx 的 Web 服务器。
我有 3 个 VM 的 1 个主人,2 个工人。他们每个人都有一个外部和内部IP。
我想知道我应该如何设置k8s。
所以我想使用外部 IP 作为我的集群 IP,但节点应该与内部网络通信。
我需要如何配置它?
我想我需要命令的这些选项之一,kubeadm init
但我不确定?
--control-plane-endpoint
--apiserver-advertise-addres
如果有人可以用一个例子来解释,那就太好了!
解决方案
我希望我理解正确,如果没有请更新我。
所以我想使用外部 IP 作为我的集群 IP,但节点应该与内部网络通信。
首先你的外部IP需要是
apiVersion: v1
kind: Service
....
type: LoadBalancer
但节点应该与内部网络通信
为此,您应该使用StaefulSet
而不是部署。
从您的角度来看(为了回答您的问题)的主要区别是StatefulSet
将唯一的 FQDN 附加到您的 pod,并且当您重新安排它时,该地址保证“附加”到 pod。
所以你应该有这样的东西:
- nginx - 通过 LoadBalancer 暴露(外部 IP)
- 应用程序 - 具有唯一 IP 的 StatefulSet 应用程序,Nginx 可以使用此 IP 与它们通信。
推荐阅读
- r - 最初不在下拉列表中显示值
- flutter - 传递参数而不显示在颤动的 Web 应用程序 url 中
- javascript - .getBoundingClientRect()、each() 和 $(this) 之间的关系 - 获取循环中多个元素的 getBoundingClientRect
- javascript - 选择器解决为隐藏 - 剧作家和带显示:无。谁能知道如何使它工作?
- javascript - expressjs req.url 路径如何成为另一个url?
- mysql - 如何在 MySQL 数据库的存储过程中传递参数?
- hana - 如何从 HANA Studio 结果视图中删除行编号
- reactjs - 组件在本机反应中未正确重新渲染
- angular - 为 Angular i18n 编写单元测试
- javascript - 用于 Edge 的 Excel ActiveXObject 重新工具