我正在尝试在 kubernetes 上托管一个简单的 html 静态站点,并且能够将所有内容设置为按预期工作,但是当我在服务中使用负载均衡器时,它会向公众公开。
我尝试使用nodeport选项,但我们的节点没有公共 IP 来访问它。
仅使用 custer IP Iam 也无法访问它。
我们如何仅在内部托管网站以及哪种方法是正确的。
我开始研究入口控制器,但后来无法安装它来使用它。
任何帮助表示赞赏。
我正在尝试在 kubernetes 上托管一个简单的 html 静态站点,并且能够将所有内容设置为按预期工作,但是当我在服务中使用负载均衡器时,它会向公众公开。
我尝试使用nodeport选项,但我们的节点没有公共 IP 来访问它。
仅使用 custer IP Iam 也无法访问它。
我们如何仅在内部托管网站以及哪种方法是正确的。
我开始研究入口控制器,但后来无法安装它来使用它。
任何帮助表示赞赏。
将此答案发布为社区 wiki,以提供更多基线方法并指出可能的解决方案。
随意编辑/扩展。
回答标题中的问题:
如何在我们的网络中的 kubernetes 上托管一个简单的 html 代码?
这个问题主要与Services
它们以及它们如何工作有关。假设您已经有了Deployment
它,最好的做法是访问您的云提供商的文档,了解各种支持Services
以及如何连接到它们。通常,您可以通过以下方式连接到此Deployment
(使用一些html
代码):
Service
每个类型的NodePort
- 端口 ( 30000
- 32767
)Node
将被打开以访问Deployment
Service
类型LoadBalancer
- 将请求Service
您可以访问的 IP 地址Deployment
(可以是内部或外部)由于本主题与云管理解决方案相关,并且它的要求是Service
从云提供商托管的网络连接到,我认为其中一个解决方案是查找以下对象:
这些对象将以您只能从内部网络访问它们的方式创建(我假设您已连接到您的VPN
)。
跨一些云提供商的此类实施示例:
GKE
: Cloud.google.com: Kubernetes Engine: 文档: How to: 内部负载平衡EKS
: Docs.aws.amazon.com:最新:用户指南:网络负载平衡AKS
: Docs.microsoft.com: Azure: AKS: 内部磅旁注!
您可以使用
Service
类型Loadbalancer
(内部类型)作为Ingress
控制器的入口点,例如ingress-nginx
:
其他资源: