提问者:小点点

如何将我的应用程序与运行Docker容器的Kubernetes集群集成?


这更多是一个研究问题。如果它不符合SO的标准,请告诉我,我会在其他地方询问。

我是Kubernetes新手,有几个基本问题。我在网上读了很多文档,希望有人能回答一些基本问题。

我正在尝试创建与库伯内特斯(准确地说,在Docker容器内运行的用户应用程序)和我的应用程序的集成,该应用程序将充当容器中某些数据的备份。

>

  • 我的应用程序目前在AWS中运行。Kube集群也需要在AWS中运行吗?还是只要API可用,它就可以在任何云服务甚至本地运行?

    我的应用程序需要知道主节点 API 服务器的 IP 才能执行 POST/GET 请求,仅此而已?

    对于身份验证,我可以使用AD吗(我的应用程序今天使用AD做一些事情)。这也将为每个用户提供基于角色的策略。还是我必须始终使用Kube Token Revewer API进行身份验证?

    Kubernetes中运行的应用程序会使用我提供的API与我的应用程序通信吗?

    我的应用程序会使用POST/GET与Kube Master API服务器通信吗?我需要为此和以上#4使用kubectl吗?

    谢谢你的帮助。


  • 共1个答案

    匿名用户

      < li >您的应用程序不必与k8s存在于同一服务器上。根据您的使用情况,有几种方法可以连接到k8s集群。您可以使用< code>kubectl proxy公开内置的k8s API,直接连接到主服务器上的k8s API,也可以通过负载平衡器或节点端口公开服务。 < li >如果您通过内置的k8s API直接连接到群集,您只需要知道主节点的IP,但是在大多数情况下,您应该只使用此API在内部管理您的群集。访问k8s pods的首选方式是通过负载平衡器公开它们,这允许您从单个IP访问任何节点上的服务。k8s还允许您通过预先分配的端口从任何k8s节点(主节点除外)访问带有< code>nodePort的服务。 < li>TokenReview只是k8s认证策略之一。我对Active Directory auth一无所知,但一眼看上去OpenID connect令牌似乎支持它。您应该考虑是否需要允许用户直接访问k8s API。请考虑通过负载平衡器公开服务。 < li >我不知道您这样说是什么意思,但是如果您将API部署为k8s部署,您可以通过服务公开它们的endpoint,以便按照您喜欢的方式与外部应用程序进行通信。 < li >同样,从外部应用程序与k8s pods通信的首选方式是通过作为负载平衡器公开的服务,而不是通过k8s master上的内置API。在服务的情况下,由底层API决定它想要接受哪种请求。