Skip to content

Commit

Permalink
Update k8s docs for APIM 4.4.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
PasanT9 committed Oct 30, 2024
1 parent 71afd87 commit ba8f1f0
Showing 1 changed file with 26 additions and 51 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,10 @@
Follow the instructions below to use Kubernetes (K8s) and Helm resources for container-based deployments of WSO2 API Manager (API-M).

!!! note
- In the context of this document, **<`KUBERNETES_HOME> `** refers to a local copy of the [`wso2/kubernetes-apim `](https://github.com/wso2/kubernetes-apim/) Git repository that **includes Helm Resources for WSO2 API Manager.**
- **&lt;`HELM_HOME>`** will refer to **&lt;`<KUBERNETES_HOME>/simple`**.
- In the context of this document, **&lt;`HELM_HOME> `** refers to a local copy of the [`wso2/helm-apim `](https://github.com/wso2/helm-apim/).

!!! Prerequisites

- In order to use WSO2 Helm resources, you need an active [WSO2 Subscription](https://wso2.com/subscription).
If you do not possess an active WSO2 Subscription already, you can sign up for a WSO2 Free Trial Subscription from [here](https://wso2.com/free-trial-subscription).
Otherwise you can proceed with Docker images, which are created using GA releases.<br><br>

- Install [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git), [Helm](https://helm.sh/docs/intro/install/), [Dep](https://golang.github.io/dep/docs/installation.html)
and [Kubernetes client](https://kubernetes.io/docs/tasks/tools/install-kubectl/) in order to run the steps
provided in the following quick start guide.<br><br>
Expand All @@ -20,52 +15,35 @@ Follow the instructions below to use Kubernetes (K8s) and Helm resources for con

- Install [NGINX Ingress Controller](https://kubernetes.github.io/ingress-nginx/deploy/). Please note that Helm resources for WSO2 product
deployment patterns are compatible with NGINX Ingress Controller Git release [`nginx-0.22.0`](https://github.com/kubernetes/ingress-nginx/releases/tag/nginx-0.22.0).

- Add the WSO2 Helm chart repository.

```
helm repo add wso2 https://helm.wso2.com && helm repo update
```

1. Checkout the Helm Resources for WSO2 API Manager Git repository using `git clone` :

```
git clone https://github.com/wso2/kubernetes-apim.git
git checkout tags/v4.0.0.1
git clone https://github.com/wso2/helm-apim.git
cd helm-apim
git checkout tags/all-in-one-4.4.0
```
2. Provide the necessary configurations.
!!! note
The default product configurations for deployment of WSO2 API Manager are available [here](https://github.com/wso2/kubernetes-apim/tree/v4.0.0.1/simple/am-single/templates) folder. Change the configurations, as necessary.
The default product configurations for deployment of WSO2 API Manager are available [here](https://github.com/wso2/helm-apim/tree/all-in-one-4.4.0/all-in-one) folder. Change the configurations, as necessary.
Open the `<HELM_HOME>/am-single/values.yaml` and provide the following values for WSO2 Subscription Configurations.
Open the `<HELM_HOME>/all-in-one/values.yaml` and provide the following values for WSO2 Subscription Configurations.
| Parameter | Description | Default Value |
|-----------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|-----------------------------|
| `wso2.subscription.username` | Your WSO2 Subscription username | "" |
| `wso2.subscription.password` | Your WSO2 Subscription password | "" |
!!! note
If you do not have an active WSO2 subscription, do not change the parameters `wso2.subscription.username` and `wso2.subscription.password`.
3. Deploy WSO2 API Manager with WSO2 API Manager Analytics.
Refer the [Getting Started Guide]({{base_path}}/api-analytics/getting-started-guide) to setup the cloud Analytics solution and obtain an on-prem key.
| `wso2.deployment.image.registry` | Registry of the APIM Docker image | "" |
| `wso2.deployment.image.repository` | Repostiory of the APIM Docker image | "" |
| `wso2.deployment.image.digest` | Digest of the APIM Docker image | "" |
| "" |
```
helm install --dependency-update --name <RELEASE_NAME> <HELM_HOME>/am-single --namespace <NAMESPACE> --set wso2.choreoAnalytics.enabled=true --set wso2.choreoAnalytics.endpoint=<CHOREO_ANALYTICS_ENDPOINT> --set wso2.choreoAnalytics.onpremKey=<ONPREM_KEY>
```
You can also provide the above configurations in the `<HELM_HOME>/am-single/values.yaml` file.
3. Deploy WSO2 API Manager
| Parameter | Description | Default Value |
|-----------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|-----------------------------|
| `wso2.choreoAnalytics.enabled` | Analytics enabled or not | false |
| `wso2.choreoAnalytics.endpoint` | Analytics data publishing endpoint | https://analytics-event-auth.choreo.dev/auth/v1 |
| `wso2.choreoAnalytics.onpremKey` | On-prem key for Analytics | "" |
```
helm install --dependency-update <RELEASE_NAME> <HELM_HOME>/all-in-one/ --namespace <NAMESPACE>
```
4. Access Management Console.
Expand All @@ -75,28 +53,25 @@ Follow the instructions below to use Kubernetes (K8s) and Helm resources for con
kubectl get ing -n <NAMESPACE>
```
Example:
```
NAME HOSTS ADDRESS PORTS AGE
wso2am-single-node-am-gateway-ingress <RELEASE_NAME>-gateway <EXTERNAL-IP> 80, 443 7m
wso2am-single-node-am-ingress <RELEASE_NAME>-am <EXTERNAL-IP> 80, 443 7m
wso2am-single-node-am-websub-ingress <RELEASE_NAME>-websub <EXTERNAL-IP> 80, 443 7m
NAME CLASS HOSTS ADDRESS PORTS AGE
<RELEASE_NAME>-am-all-in-one-am-gateway-ingress nginx gw.wso2.com 80, 443 8s
<RELEASE_NAME>-am-all-in-one-am-ingress nginx am.wso2.com 80, 443 8s
<RELEASE_NAME>-am-all-in-one-am-websocket-ingress nginx websocket.wso2.com 80, 443 8s
<RELEASE_NAME>-am-all-in-one-am-websub-ingress nginx websub.wso2.com 80, 443 8s
```
2. 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>-websub
<EXTERNAL-IP> am.wso2.com
<EXTERNAL-IP> gw.wso2.com
<EXTERNAL-IP> websocket.wso2.com
<EXTERNAL-IP> websub.wso2.com
```
3. Try navigating to `https://<RELEASE_NAME>-am/carbon`, `https://<RELEASE_NAME>-am/publisher` and `https://<RELEASE_NAME>-am/devportal` from your favorite browser.
3. Try navigating to `https://am.wso2.com/carbon`, `https://am.wso2.com/publisher` and `https://am.wso2.com/devportal` from your favorite browser.
!!! note
You can read the [README guide](https://github.com/wso2/kubernetes-apim/blob/v4.0.0.1/simple/am-single/README.md) of WSO2 API Manager Git repository for further details on other dependencies and configurations.
For more information, see the deployment configurations with regard to the [Advanced Deployment Patterns]({{base_path}}/install-and-setup/setup/deployment-overview/).
You can read the [README guide](https://github.com/wso2/helm-apim/tree/all-in-one-4.4.0/all-in-one/README.md) of WSO2 API Manager Git repository for further details on other dependencies and configurations.
- [Standard HA Deployment](https://github.com/wso2/kubernetes-apim/blob/v4.0.0.1/advanced/am-pattern-1/README.md)
- [Standard HA Deployment with Multitenancy](https://github.com/wso2/kubernetes-apim/blob/v4.0.0.1/advanced/am-pattern-2/README.md)
- [Simple Scalable Deployment](https://github.com/wso2/kubernetes-apim/blob/v4.0.0.1/advanced/am-pattern-3/README.md)
For different deployment patterns, see the deployment configurations with regard to the [Advanced Deployment Patterns]({{base_path}}/install-and-setup/setup/deployment-overview/).

0 comments on commit ba8f1f0

Please sign in to comment.