是否有任何用于原生 kubectl cmd 的 REST API,如 apply/delete 等

Is there any REST APIs for native kubectl cmds like apply/delete etc

我正在尝试编写一个自动化脚本,用于将一些应用程序部署到 azure kubernetes 服务。因此,我需要一些可以使用的 REST API 或客户端库,而不是使用 kubectl 本机 cmds。我可以使用 C# 或 Powershell 作为自动化脚本。

我找到了一个用于使用 dotnet 管理 kubernetes 集群的客户端库,但它似乎不支持 apply/delete cmds。 Link

kubectl 在后台对 Kubernetes API 服务器进行 API 调用,所以我想您可以使用任何官方或社区维护的客户端库来实现您所描述的。您可以找到库列表 here.

apply 命令可以生成一堆不同的 API 调用,具体取决于应用它的对象,如果它是一个新对象或者它是否已经存在,等等。我认为这就是你的原因在客户端库中找不到它

尝试 运行 kubectl 以及您想要进入自动化脚本的任何命令。例如

kubectl get pods -v=10

您将看到生成的基础 API 调用

    GET https://172.17.0.45:8443/api/v1/namespaces/default/pods?limit=500 200 OK in 9 milliseconds
    Response Headers:
        Content-Type: application/json
        Content-Length: 3631
        Date: Fri, 20 Sep 2019 20:21:48GMT 
    ...

也许更简单的选择是通过调用 kubectl 本机客户端的 Powershell 脚本简单地实现自动化

Azure Kubernetes 服务支持使用 Helm 图表部署 Kubernetes 应用程序。使用 Helm 进行自动部署是更好的选择。