Skip to content

Latest commit

 

History

History
172 lines (129 loc) · 17.9 KB

File metadata and controls

172 lines (129 loc) · 17.9 KB

Helm Chart for deployment of WSO2 API Manager with WSO2 API Manager Analytics

WSO2 API Manager pattern 1 deployment

Contents

Prerequisites

  • 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
    

Quick Start Guide

In the context of this document,

  • KUBERNETES_HOME will refer to a local copy of the wso2/kubernetes-apim Git repository.
  • HELM_HOME will refer to <KUBERNETES_HOME>/advanced.
1. Clone the Helm Resources for WSO2 API Manager Git repository.
git clone https://github.com/wso2/kubernetes-apim.git
2. Provide configurations.

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.

WSO2 Subscription Configurations
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.

Chart Dependencies
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 -
API Manager Server Configurations
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.

Analytics Dashboard Runtime Configurations
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
Analytics Worker Runtime Configurations
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
Kubernetes Specific Configurations
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
4. Deploy WSO2 API Manager pattern-1.
helm install --dep-up --name <RELEASE_NAME> <HELM_HOME>/am-pattern-1 --namespace <NAMESPACE>
5. Access Management Console:

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.