- Start the API Manager and log in to the API Publisher (
adminas the username and password.
Create an API with the following details:
Field Sample value Name hello_world - v1 Context
Version 1.0.0 Access Control All Visibility on Store Public Production URL Tier Availability Gold, UnlimitedYou can create an application that supports JWT tokens, subscribe to the API and get a JWT token to invoke the API.
deployment.tomlfile enabling Kubernetes deployment, service and config map resources.
The config map is used to copy the
Let’s create a project called
k8s_projectand provide the
deployment.tomlfile as an input.
Navigate to the
wso2am-micro-gw-toolkit-2.5.0/bindirectory and run the following command,
This commands creates the following folders under the
│ ├── conf
│ │ └── deployment-config.toml
│ ├── src
│ │ ├── extension_filter.bal
│ │ ├── hello_world_v1.bal
│ │ ├── listeners.bal
│ │ └── policies
│ │ ├── application_10PerMin.bal
│ │ ├── application_20PerMin.bal
│ │ ├── application_50PerMin.bal
│ │ ├── subscription_Bronze.bal
│ │ ├── subscription_Gold.bal
│ │ ├── subscription_Silver.bal
│ │ ├── subscription_Unauthenticated.bal
│ │ └── throttle_policy_initializer.bal
│ ├── target
│ └── temp
│ └── hashes.json
Build the project using the following command,
This generates the following Kubernetes resources.
│ └── docker
│ └── Dockerfile
The docker image to be deployed in Kubernetes is created in your local registry. You can find the image
k8s_project:latestwhen you execute the docker images command.
Deploy the docker image in a Kubernetes environment.You can push the docker image to the docker hub or to a private docker registry. If you change the docker image name, you need to change the image name in the
- You can also SCP the image to the Kubernetes nodes as follows:
Save the docker image to a
tarfile. For example,
SCP the image to the Kubernetes nodes. For example,
Load the docker image in the Kubernetes nodes. This needs to be executed in the Kubernetes nodes. For example,
Deploy the API Microgateway in Kubernetes by deploying the Kubernetes resources using the following command,
Access the API in HTTPS using the following details:
NodePortservice type has been used in Kubernetes. For that service type, you can access the API using any of the Kubernetes node IP addresses and node ports.
You can use the
kubectl get servicescommand to list down the services that run on Kubernetes.
Node port - 32616
Authorization Bearer <JWT_TOKEN>
As JWT is a self-contained access token, the Microgateway does not need to connect to the Key Manager. However, if you are using an Oauth2 access token, point the Microgateway to the Key Manager using the Key Manager details in the
micro-gw.conf configuration file of the Microgateway. If you are running Key Manager in Kubernetes, you can provide the Key Manager
serverUrl as shown below. The
serverUrl has to be accessible from the Microgateway pods.