This tutorial explains how to manage a remote API, which is located (hosted) outside your Kubernetes cluster.
In this tutorial, you'll learn how to create an external Service to manage an API which is hosted remote, outside your Kubernetes cluster.
An external Service could be a legacy API which is running outside the Kubernetes cluster, for example in a VM (Virtual Machine) which you want to manage with Traefik Hub.
Before you begin¶
Before getting started, make sure that you're familiar with:
Objects are sort of like blueprints.
They provide detailed instructions to Kubernetes on how the applications must be set up and managed.
YAML file has all CRD Objects and Service definitions needed to deploy a Service to connect Traefik Hub to an external API.
1. Download the example file¶
YAML file and save it as api-guru.yaml.
--- apiVersion: hub.traefik.io/v1alpha1 kind: APIAccess metadata: name: api-apis-guru namespace: traefik spec: groups: - support apiSelector: matchLabels: app: api-apis-guru --- apiVersion: hub.traefik.io/v1alpha1 kind: APIGateway metadata: name: api-apis-guru namespace: traefik spec: apiAccesses: - api-apis-guru --- apiVersion: hub.traefik.io/v1alpha1 kind: APIPortal metadata: name: api-apis-guru namespace: traefik spec: title: "External Service example using api.apis.guru" description: "This shows an example about how to manage an external API" apiGateway: api-apis-guru --- apiVersion: v1 kind: Service metadata: name: api-apis-guru namespace: traefik spec: type: ExternalName externalName: api.apis.guru ports: - port: 443 --- apiVersion: hub.traefik.io/v1alpha1 kind: API metadata: name: api-apis-guru namespace: traefik labels: app: api-apis-guru spec: pathPrefix: /demo service: name: api-apis-guru port: number: 443 openApiSpec: url: https://raw.githubusercontent.com/APIs-guru/openapi-directory/main/APIs/apis.guru/2.2.0/openapi.yaml port: number: 443
In this step, you will use
kubectl to apply the api-guru.yaml to your Kubernetes cluster.
kubectl apply -f api-guru.yaml
This will create and configure a new Service (api-apis-guru) on your cluster, including a Portal, API access, etc.
3. Settings overview¶
The API will be reachable under
/demo and will be connected to the new Portal api-apis-guru.
Consumers which are part of the group support have access to the API.
4. Access the API Portal¶
Connect to the Portal for the API.
Run a test request against the API.
In this tutorial, you learned how to connect and manage an external API with Traefik Hub via CRDs.
- Learn how to deploy APIs with CRDs