首页 > 解决方案 > 我想在本地运行 Kubernetes master(和 Dashbaord)吗?

问题描述

我对 Kubernetes 很陌生。我打算使用 CI/CD 管道来帮助我,这意味着我的主节点需要捕获 git webhooks(使用 Spinnaker,很像 Jenkins)。

我想象在远程服务器上运行 Kubernetes 主服务器,但是 9/10 文章关于安装诸如仪表板之类的东西在本地执行(在生产中不起作用,不考虑 SSL,并使用kubectl proxy你不应该在生产中做的事情,需要没有令牌的匿名身份验证,而是用户用户名和密码等,等等......)。

底线:从我的角度来看,我看到的几乎所有教程和文档都很难应用于生产。

我在这里错过了什么吗?

标签: kubernetes

解决方案


Kubernetes 通过提供安全可靠的访问,甚至向外部公开 Web 资源并使其可以从全球网络访问,提供了许多适应应用程序的能力。尽管 Kubernetes 作为大规模部署的平台很受欢迎,并提供了广泛的功能,但它由一些重要的资源和系统组件组成,按照架构设计。Kubernetes 的基础资源之一是Service,实际上它是集群中 Pod 之间网络通信的抽象层。一旦我们有一个 Kubernetes 集群启动并运行,我们就可以部署一个应用程序并创建一个服务作为网络连接到特定Pod内的这个应用程序容器的主要入口点。

我承认 usingkubectl proxy只是在特定Node上公开相关应用程序端口的一种方式。但是,当您考虑使应用程序可以在集群外部访问时NodePortLoadBalancer服务可以通过在主机上共享应用程序端口或通过外部负载均衡器提供的外部 IP 地址来实现。但是,它只是 Kubernetes 功能的一部分,因为您可以实现Ingress以通过 HTTP 和 HTTPS 流量并管理路由流量和 SSL/TLS 终止,作为连接到嵌套应用程序 (Pod) 服务的边缘设备。

有一些更全面的开源Ingress资源,如Nginx Ingress ControllerTraefik等,具有更高级的功能集,用于流量管理、路由和保护与目标微服务的连接。但是,一些云提供商提供自己的Ingress资源来执行负载平衡并将 HTTP[s] 流量路由到集群内的不同端点,例如AWS 中的AWS ALB 入口控制器


推荐阅读