我正在使用REST API与Rancher 1.6服务器通信。我需要创建一个K8S集群,并以完全自动化的方式完成。服务器是不安全的。我不断收到像这样的“禁止”错误:{"id":"65256ad5-0dfb-478d-9931-48afc499a1e4","type":"error","links":{},"actions":{},"status":403,"code":"Forbidden","message":"Forbidden","detail":null,"baseType":"error"}
。我正在打电话很简单。我将其减少到此以消除与项目模板相关的错误。 IOW,添加可选参数无效:
curl -X POST -H 'Content-Type: application/json' -d '{ "name": "whatever" }' 'http://10.10.0.100:8080/v2-beta/projects/test/projects'
有没有办法用REST API创建项目而不进行身份验证?
您需要创建API密钥才能使用Rancher API。如果您不想这样做,则需要在整个Rancher服务器上禁用身份验证。这在没有公共访问权限的严格私密,安全的环境中可能没问题,但仍然非常气馁。
此外,如果您在浏览器中访问API URL,您将看到一个很酷的UI实用程序,可以让您从浏览器本身创建资源。此外,该工具还提供了一段代码,您可以从命令行使用这些代码。
编辑1:
您可能会发现这些有用:
访问控制已关闭或您将返回401.禁止是因为您向错误的端点发送请求(没有项目的ID为“test”,项目中没有“项目”资源),而不是因为你没有发送API密钥。
发送创建项目的正确位置是/v2-beta/projects
。
curl -X POST -H 'Content-Type: application/json' -d '{"name": "foo"}' http://10.10.0.100:8080/v2-beta/projects