-
In order to use WSO2 Helm resources, you need an active WSO2 Subscription. If you do not possess an active WSO2 Subscription already, you can sign up for a WSO2 Free Trial Subscription from here. Otherwise you can proceed with Docker images, which are created using GA releases.
-
Install Git, Helm (and Tiller) and Kubernetes client in order to run the steps provided in the following quick start guide.
-
An already setup Kubernetes cluster.
-
Install NGINX Ingress Controller.
-
Add the WSO2 Helm chart repository.
helm repo add wso2 https://helm.wso2.com && helm repo update
In the context of this document,
KUBERNETES_HOME
will refer to a local copy of thewso2/kubernetes-apim
Git repository.HELM_HOME
will refer to<KUBERNETES_HOME>/advanced
.
git clone https://github.com/wso2/kubernetes-apim.git
a. The default product configurations are available at <HELM_HOME>/am-pattern-1/confs
folder. Change the configurations, as necessary.
b. Open the <HELM_HOME>/am-pattern-1/values.yaml
and provide the following values.
Parameter | Description | Default Value |
---|---|---|
wso2.subscription.username |
Your WSO2 Subscription username | "" |
wso2.subscription.password |
Your WSO2 Subscription password | "" |
If you do not have an active WSO2 subscription, do not change the parameters wso2.subscription.username
and wso2.subscription.password
.
Parameter | Description | Default Value |
---|---|---|
wso2.deployment.dependencies.mysql |
Enable the deployment and usage of WSO2 API Management MySQL based Helm Chart | true |
wso2.deployment.dependencies.nfsProvisioner |
Enable the deployment and usage of NFS Server Provisioner (https://github.com/helm/charts/tree/master/stable/nfs-server-provisioner) | true |
Persistent Runtime Artifact Configurations (applicable only when wso2.deployment.dependencies.nfsProvisioner
is disabled)
Parameter | Description | Default Value |
---|---|---|
wso2.deployment.persistentRuntimeArtifacts.nfsServerIP |
External NFS Server IP | - |
wso2.deployment.persistentRuntimeArtifacts.sharedAPIMSynapseConfigsPath |
Exported location on external NFS Server to be mounted at <APIM_HOME>/repository/deployment/server/synapse-configs |
- |
wso2.deployment.persistentRuntimeArtifacts.sharedAPIMExecutionPlansPath |
Exported location on external NFS Server to be mounted at <APIM_HOME>/repository/deployment/server/executionplans |
- |
Parameter | Description | Default Value |
---|---|---|
wso2.deployment.am.dockerRegistry |
Registry location of the Docker image to be used to create API Manager instances | - |
wso2.deployment.am.imageName |
Name of the Docker image to be used to create API Manager instances | wso2am |
wso2.deployment.am.imageTag |
Tag of the image used to create API Manager instances | 3.0.0 |
wso2.deployment.am.minReadySeconds |
Refer to doc | 240 |
wso2.deployment.am.livenessProbe.initialDelaySeconds |
Initial delay for the live-ness probe for API Manager node | 240 |
wso2.deployment.am.livenessProbe.periodSeconds |
Period of the live-ness probe for API Manager node | 10 |
wso2.deployment.am.readinessProbe.initialDelaySeconds |
Initial delay for the readiness probe for API Manager node | 240 |
wso2.deployment.am.readinessProbe.periodSeconds |
Period of the readiness probe for API Manager node | 10 |
wso2.deployment.am.resources.requests.memory |
The minimum amount of memory that should be allocated for a Pod | 2Gi |
wso2.deployment.am.resources.requests.cpu |
The minimum amount of CPU that should be allocated for a Pod | 2000m |
wso2.deployment.am.resources.limits.memory |
The maximum amount of memory that should be allocated for a Pod | 3Gi |
wso2.deployment.am.resources.limits.cpu |
The maximum amount of CPU that should be allocated for a Pod | 3000m |
wso2.deployment.am.imagePullPolicy |
Refer to doc | Always |
Note: The above mentioned default, minimum resource amounts for running WSO2 API Manager server profiles are based on its official documentation.
Parameter | Description | Default Value |
---|---|---|
wso2.deployment.analytics.dashboard.dockerRegistry |
Registry location of the Docker image to be used to create an API Manager Analytics instance | - |
wso2.deployment.analytics.dashboard.imageName |
Name of the Docker image to be used to create an API Manager Analytics instance | wso2am-analytics-dashboard |
wso2.deployment.analytics.dashboard.imageTag |
Tag of the image used to create an API Manager Analytics instance | 3.0.0 |
wso2.deployment.analytics.dashboard.replicas |
Number of replicas of API Manager Analytics to be started | 1 |
wso2.deployment.analytics.dashboard.minReadySeconds |
Refer to doc | 30 |
wso2.deployment.analytics.dashboard.strategy.rollingUpdate.maxSurge |
Refer to doc | 1 |
wso2.deployment.analytics.dashboard.strategy.rollingUpdate.maxUnavailable |
Refer to doc | 0 |
wso2.deployment.analytics.dashboard.livenessProbe.initialDelaySeconds |
Initial delay for the live-ness probe for API Manager Analytics node | 20 |
wso2.deployment.analytics.dashboard.livenessProbe.periodSeconds |
Period of the live-ness probe for API Manager Analytics node | 10 |
wso2.deployment.analytics.dashboard.readinessProbe.initialDelaySeconds |
Initial delay for the readiness probe for API Manager Analytics node | 20 |
wso2.deployment.analytics.dashboard.readinessProbe.periodSeconds |
Period of the readiness probe for API Manager Analytics node | 10 |
wso2.deployment.analytics.dashboard.resources.requests.memory |
The minimum amount of memory that should be allocated for a Pod | 4Gi |
wso2.deployment.analytics.dashboard.resources.requests.cpu |
The minimum amount of CPU that should be allocated for a Pod | 2000m |
wso2.deployment.analytics.dashboard.resources.limits.memory |
The maximum amount of memory that should be allocated for a Pod | 4Gi |
wso2.deployment.analytics.dashboard.resources.limits.cpu |
The maximum amount of CPU that should be allocated for a Pod | 2000m |
wso2.deployment.analytics.dashboard.imagePullPolicy |
Refer to doc | Always |
Parameter | Description | Default Value |
---|---|---|
wso2.deployment.analytics.worker.dockerRegistry |
Registry location of the Docker image to be used to create an API Manager Analytics instance | - |
wso2.deployment.analytics.worker.imageName |
Name of the Docker image to be used to create an API Manager Analytics instance | wso2am-analytics-worker |
wso2.deployment.analytics.worker.imageTag |
Tag of the image used to create an API Manager Analytics instance | 3.0.0 |
wso2.deployment.analytics.worker.replicas |
Number of replicas of API Manager Analytics to be started | 1 |
wso2.deployment.analytics.worker.minReadySeconds |
Refer to doc | 30 |
wso2.deployment.analytics.worker.strategy.rollingUpdate.maxSurge |
Refer to doc | 1 |
wso2.deployment.analytics.worker.strategy.rollingUpdate.maxUnavailable |
Refer to doc | 0 |
wso2.deployment.analytics.worker.livenessProbe.initialDelaySeconds |
Initial delay for the live-ness probe for API Manager Analytics node | 20 |
wso2.deployment.analytics.worker.livenessProbe.periodSeconds |
Period of the live-ness probe for API Manager Analytics node | 10 |
wso2.deployment.analytics.worker.readinessProbe.initialDelaySeconds |
Initial delay for the readiness probe for API Manager Analytics node | 20 |
wso2.deployment.analytics.worker.readinessProbe.periodSeconds |
Period of the readiness probe for API Manager Analytics node | 10 |
wso2.deployment.analytics.worker.resources.requests.memory |
The minimum amount of memory that should be allocated for a Pod | 4Gi |
wso2.deployment.analytics.worker.resources.requests.cpu |
The minimum amount of CPU that should be allocated for a Pod | 2000m |
wso2.deployment.analytics.worker.resources.limits.memory |
The maximum amount of memory that should be allocated for a Pod | 4Gi |
wso2.deployment.analytics.worker.resources.limits.cpu |
The maximum amount of CPU that should be allocated for a Pod | 2000m |
wso2.deployment.analytics.worker.imagePullPolicy |
Refer to doc | Always |
Parameter | Description | Default Value |
---|---|---|
kubernetes.serviceAccount |
Name of the Kubernetes Service Account to which the Pods are to be bound | wso2am-pattern-2-svc-account |
helm install --dep-up --name <RELEASE_NAME> <HELM_HOME>/am-pattern-1 --namespace <NAMESPACE>
a. Obtain the external IP (EXTERNAL-IP
) of the Ingress resources by listing down the Kubernetes Ingresses.
kubectl get ing -n <NAMESPACE>
e.g.
NAME HOSTS ADDRESS PORTS AGE
wso2am-pattern-1-am-gateway-ingress <RELEASE_NAME>-gateway <EXTERNAL-IP> 80, 443 7m
wso2am-pattern-1-am-ingress <RELEASE_NAME>-am <EXTERNAL-IP> 80, 443 7m
wso2am-pattern-1-am-analytics-dashboard-ingress <RELEASE_NAME>-analytics-dashboard <EXTERNAL-IP> 80, 443 7m
b. Add the above hosts as entries in /etc/hosts
file as follows:
<EXTERNAL-IP> <RELEASE_NAME>-am
<EXTERNAL-IP> <RELEASE_NAME>-gateway
<EXTERNAL-IP> <RELEASE_NAME>-analytics-dashboard
c. Try navigating to https://<RELEASE_NAME>-am/carbon
, https://<RELEASE_NAME>-am/publisher
and https://<RELEASE_NAME>-am/devportal
from your favorite browser.