Azure Api 管理和 kubernetes
Azure Api managament and kubernetes
我在作为 NodePort 公开的 kubernetes 中休息 api 但是当我尝试在 api 管理 trought OpenApiSpecification 中添加 api 和下一个 url http://10.35.748.671:31285/swagger/v1/swagger.json 它告诉我一个错误:
无法下载指定的文件。请确保 URL 有效且文件可公开访问。
这是我的服务描述
kubectl 描述 svc kservice
Name: kservice
Namespace: default
Labels: app=apis
Annotations: <none>
Selector: app=apikb
Type: NodePort
IP: 10.0.0.123
Port: <unset> 80/TCP
TargetPort: 80/TCP
**NodePort: <unset> 31285/TCP**
Endpoints: 10.35.748.671:80,10.35.748.697:80
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
¿如何将 api 管理与 kubertes 中的服务连接起来?
该地址似乎是内部地址。如果托管开放 API 规范文件的 URL 不是公开可用的,则通过 Azure 门户导入 API 可能无法工作。如果是这样 - 下载 swagger.json 到您的机器并通过上传该文件导入此 API。
API管理是facade/Gateway。首先检查一下,您是否能够直接访问 API 端点?如果否,您需要先解决这个问题。
您的 API 文档需要 Swagger 文件,我假设您一定已经创建了。如果否,从端点创建并访问该文件?
还有一个建议,你需要使用静态 IP,否则每当你的虚拟机重启时,你的 IP 就会改变,你的 API 会抛出 502 错误。
我们无法从 API 管理访问 Kubernetes 服务,因为:
- 两者都需要在同一个子网上。
- 我们必须将 kubernetes 版本升级到 1.10.3 才能看到使用 NodePort 部署的服务。
我在作为 NodePort 公开的 kubernetes 中休息 api 但是当我尝试在 api 管理 trought OpenApiSpecification 中添加 api 和下一个 url http://10.35.748.671:31285/swagger/v1/swagger.json 它告诉我一个错误:
无法下载指定的文件。请确保 URL 有效且文件可公开访问。
这是我的服务描述
kubectl 描述 svc kservice
Name: kservice
Namespace: default
Labels: app=apis
Annotations: <none>
Selector: app=apikb
Type: NodePort
IP: 10.0.0.123
Port: <unset> 80/TCP
TargetPort: 80/TCP
**NodePort: <unset> 31285/TCP**
Endpoints: 10.35.748.671:80,10.35.748.697:80
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
¿如何将 api 管理与 kubertes 中的服务连接起来?
该地址似乎是内部地址。如果托管开放 API 规范文件的 URL 不是公开可用的,则通过 Azure 门户导入 API 可能无法工作。如果是这样 - 下载 swagger.json 到您的机器并通过上传该文件导入此 API。
API管理是facade/Gateway。首先检查一下,您是否能够直接访问 API 端点?如果否,您需要先解决这个问题。
您的 API 文档需要 Swagger 文件,我假设您一定已经创建了。如果否,从端点创建并访问该文件?
还有一个建议,你需要使用静态 IP,否则每当你的虚拟机重启时,你的 IP 就会改变,你的 API 会抛出 502 错误。
我们无法从 API 管理访问 Kubernetes 服务,因为:
- 两者都需要在同一个子网上。
- 我们必须将 kubernetes 版本升级到 1.10.3 才能看到使用 NodePort 部署的服务。