kubernetes - 如何访问 minikube 的 openapi 接口?
问题描述
根据Kubernetes 文档,您可以 ping K8s 集群的 http 端点来操作它,而不是使用 eg kubectl
。它还说有一个可用的 openApi 接口/openapi/v2
。我在 MacOS 上运行 minikube 并想检查一下。有谁知道这是否可能?
我试过了:
minikube list service # Shows 'kubernetes' as a name
minikube list kubernetes
...打开浏览器到127.0.0.1:51377
. 但是,当我尝试去时,https://127.0.0.1:51377/openapi/v2
我收到消息:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "forbidden: User \"system:anonymous\" cannot get path \"/openapi/v2\"",
"reason": "Forbidden",
"details": {},
"code": 403
}
...建议我需要某种授权解决方案。建议?
解决方案
这对我有用:
# Proxy minikube to localhost on arbitrary port:
kubectl proxy --port=12345
# Now swagger.json is available at localhost:12345/openapi/v2
# Save to /tmp/temp/json and serve with e.g. docker swagger-ui container
curl localhost:12345/openapi/v2 > /tmp/temp.json
docker run -it -p 9999:8080 -e SWAGGER_JSON=/var/specs/temp.json -v /tmp/temp.json:/var/specs/temp.json swaggerapi/swagger-ui
# Open browser to localhost:9999
推荐阅读
- javascript - 如何在reactjs中修复“预期分配或函数调用,而不是看到一个表达式”?
- javascript - 在 iOS 上向上滚动后,页面导航菜单隐藏在页面顶部
- c++ - 混合调试和发布库:Windows vs Linux,静态 vs 共享
- kubernetes - 无法将本地 docker 映像与 docker desktop kubernetes 一起使用
- tensorflow - 将具有 1 个输出的层乘以具有多个输出的层
- azure - ftp 到 azure 存储 blob(触发处理)
- python - Pyspark 数据框不删除所有重复项
- python - exec_command 和在 Paramiko 上使用 invoke_shell() 发送有什么区别?
- angular - Angular Router - 拦截子路由更改
- scala - 如何访问scala中子类实例中的超类字段?