Azure Api managament and kubernetes

azure api management on-premise
azure api management creation
azure api management application
azure api management lifecycle
azure api management sdk
azure cli api management
azure api management analytics
azure api management security

I have a rest api in kubernetes exposed as NodePort but when i trying to add the api in api managament trought OpenApiSpecification with the next url http://10.35.748.671:31285/swagger/v1/swagger.json It's show me an error:

Unable to download specified file. Please ensure the URL is valid and the file is publicly accessible.

This is my service description

kubectl describe 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>

¿How can I connect api managament with services in kubertes?

The address seem to be internal address. Importing API through Azure Portal may not work if URL where open API spec file is hosted is not publicly available. IF that is so - download swagger.json to your machine and import this API by uploading that file.

Deploy self-hosted gateway to Kubernetes, This article provides the steps for deploying self-hosted Azure API Management gateway into a Kubernetes Cluster. Note. Self-hosted gateway  Microservices are perfect for building APIs. With Azure Kubernetes Service (AKS), you can quickly deploy and operate a microservices-based architecture in the cloud. You can then leverage Azure API Management (API Management) to publish your microservices as APIs for internal and external consumption.

API management is a facade/Gateway. First check, are you able to access your API endpoints directly? If No you need to fix this first.

Swagger file required for your API documentation, I'm assuming you must have created. If No, create and access that file from endpoint?

One more suggestion, you need to take static IP, otherwise whenever your VM would get restart your IP will change and your API would throw 502 error.

Deploy a self-hosted Azure API Management gateway to Kubernetes, An ingress exposes HTTP(S) routes to services inside the cluster. For more information, see the section API Gateway below. Azure Load Balancer  API management can reach the Kubernetes-hosted API via Traefik Conclusion In this post, we looked at one way to expose Kubernetes-hosted APIs to the outside world via Azure API Management.

We weren't able to access the Kubernetes service from API management because:

  1. Both needed to be on the same subnet.
  2. We have to upgrade kubernetes version to 1.10.3 to see Services deployed with NodePort.

Microservices architecture on Azure Kubernetes Service (AKS , There is a problem with the setup we choose for our API gateway. Kubernetes has this system where docker containers get virtual IP addresses  Complete the following quickstart: Create an Azure API Management instance Create a Kubernetes cluster. Minikube is a good option for development and evaluation purposes. For production workloads, you can use Azure Kubernetes Service or a Kubernetes cluster in a foreign cloud.

How to connect Azure API management to your Kubernetes cluster, Expose the service on a cluster-internal IP, so if you choose this kind of service it will be only reachable within the Kubernetes cluster so Azure  For these reasons we have decided to use Azure Api Management. Api Management provides us a way to expose all APIs behind a single static IP and domain using a suscription key. Accessing services running on the cluster. To use a REST service that is deployed on Kubernetes, you need to define a service. There are several kinds of services: ClusterIP

How to connect Azure Api Management (APIM) to your Azure, Deploy the azure-api-management-gateway 0.1.0 in Kubernetes. A Helm chart to deploy an Azure API Management Gateway on Kubernetes. The address seem to be internal address. Importing API through Azure Portal may not work if URL where open API spec file is hosted is not publicly available. IF that is so - download swagger.json to your machine and import this API by uploading that file.

azure-api-management-gateway 0.1.0 for Kubernetes, You have decided to host your APIs in Kubernetes in combination with an API management solution? You are surely not the only one! To connect your Azure API management instance, first create a new subnet within the virtual network that your Kubernetes nodes are located in. You can set it up as with an address range like 10.0.0.0/29. It is a very small subnet. But that's the idea. You cannot connect Azure API management to a subnet that contains other devices.