繁体   English   中英

Azure Api管理和kubernetes

[英]Azure Api managament and kubernetes

我在kubernetes中有一个休息的api,暴露为NodePort,但是当我试图在api管理中添加api时,使用下一个URL http://10.35.748.671:31285/swagger/v1/swagger.json进行了OpenApiSpecification尝试,这向我显示了一个错误:

无法下载指定的文件。 请确保该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 Portal导入API。 如果是这样-将swagger.json下载到您的计算机上,并通过上传该文件导入此API。

API管理是外观/网关。 首先检查一下,您可以直接访问API端点吗? 如果否,则需要先解决此问题。

API文档所需的Swagger文件,我假设您必须已创建。 如果否,是否从端点创建并访问该文件?

另一种建议是,您需要使用静态IP,否则,每当您的VM重新启动时,IP都会更改,API会抛出502错误。

我们无法通过API管理访问Kubernetes服务,因为:

  1. 两者都必须位于同一子网中。
  2. 我们必须将kubernetes版本升级到1.10.3才能看到使用NodePort部署的服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM