Kubernetes REST API - 创建部署

Beg*_*ner 3 kubernetes

我正在查看此处列出的kubernetes API端点.我试图创建一个可以从终端使用运行的部署kubectl ru CLUSTER-NAME IMAGE-NAME PORT.但是我似乎无法在上面发布的链接中找到此命令的任何端点.我可以创建一个节点使用curl POST /api/v1/namespaces/{namespace}/pods然后删除使用curl -X DELETE http://localhost:8080/api/v1/namespaces/default/pods/node-namewhere节点名称HAS作为单个节点(如果有100个节点,每个节点应该单独完成).是否有用于创建和删除部署的api端点?

Kam*_*ran 8

为了更容易消除字段或重构资源表示,Kubernetes支持多个API版本,每个版本都在不同的API路径上,例如/api/v1或者/apis/extensions/v1beta1扩展Kubernetes API,实现了API组.

目前有几个API组正在使用中:

  • core(常常称为legacy,由于不具有明确的组名)基团,其是在REST路径/api/v1,并且不指定为apiVersion字段的一部分,例如apiVersion: v1.
  • named groups是在REST路径/apis/$GROUP_NAME/$VERSION,并使用apiVersion: $GROUP_NAME/$VERSION(例如apiVersion: batch/v1).在Kubernetes API参考中可以看到支持的API组的完整列表.

要管理的扩展资源,如Ingress,Deployments以及ReplicaSets参考Extensions API 参考.

如参考资料中所述,要创建部署:

POST /apis/extensions/v1beta1/namespaces/{namespace}/deployments


kgi*_*pin 5

kubectl我通过运行详细日志记录来调试它: kubectl --v=9 update -f dev_inventory.yaml

它展示了 API 调用的使用,如下所示:

curl -i http://localhost:8001/apis/extensions/v1beta1/namespaces/default/deployments

请注意,第一个路径元素apis不是普通的api。我不知道为什么会这样,但是上面的命令是有效的。


ffl*_*ing -2

您是否尝试过类似的网址?

http://localhost:8080/api/v1/namespaces/default/deployment/deployment-name
Run Code Online (Sandbox Code Playgroud)