azure - 是否有适用于本机 kubectl cmd 的 REST API,例如应用/删除等
问题描述
我正在尝试编写一个自动化脚本,用于将一些应用程序部署到 azure kubernetes 服务。因此,我需要一些可以使用的 REST API 或客户端库,而不是使用 kubectl 本机 cmd。我可以使用 C# 或 Powershell 来编写自动化脚本。
我找到了一个使用 dotnet 管理 kubernetes 集群的客户端库,但它似乎不支持应用/删除 cmds。关联
解决方案
kubectl 在后台对 Kubernetes API 服务器进行 API 调用,所以我想您可以使用任何官方或社区维护的客户端库来实现您所描述的。您可以在此处找到库列表。
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 脚本简单地自动化