首页 > 解决方案 > 如何访问 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
}

...建议我需要某种授权解决方案。建议?

标签: kubernetesminikube

解决方案


这对我有用:

# 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

推荐阅读