通过服务帐户更新k8s入口

时间:2020-09-07 16:31:23

标签: kubernetes kubernetes-ingress nginx-ingress

我有一个应用,我经常需要添加新域。 现在,每次添加或删除域时,我都需要添加或删除入口。

我想使它自动化。

我有一个ui,其中用户具有已注册域的列表,并且可以将域添加到应用程序。 因此,当用户进行设置时,我想自动更新该入口。

我要解决的方法是通过管理这些入口的服务帐户。 是否有最佳做法,或者已经有api的入口控制器?

1 个答案:

答案 0 :(得分:1)

入口控制器无需为此暴露任何API,也不需要这样做。您将需要调用kubernetes REST API来更新入口资源。您可以使用多种语言提供的kubernetes客户端库来通过服务帐户或kubeconfig文件执行此操作。

您将需要使用“角色”和“角色绑定”来定义RBAC,以授权服务帐户或用于调用REST API的用户。

使用PUT或PATCH更改以下API中的主机

/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses

以这种方式更新入口资源时,将通知更改通知入口控制器,因为入口控制器会监视入口资源中的任何更改。