Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thilinamanamgoda/cicd-sample-chart-mi
https://github.com/thilinamanamgoda/cicd-sample-chart-mi
Last synced: 23 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/thilinamanamgoda/cicd-sample-chart-mi
- Owner: ThilinaManamgoda
- Created: 2020-04-23T08:43:19.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-12T00:09:26.000Z (over 4 years ago)
- Last Synced: 2024-11-11T10:51:09.992Z (3 months ago)
- Language: Smarty
- Size: 64.5 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Helm Chart for deployment of WSO2 Micro Integrator
## Contents
* [Prerequisites](#prerequisites)
* [Quick Start Guide](#quick-start-guide)## 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](https://wso2.com/free-trial-subscription)
. Otherwise you can proceed with docker images which are created using GA releases.* Install [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git), [Helm](https://github.com/kubernetes/helm/blob/master/docs/install.md)
(and Tiller) and [Kubernetes client](https://kubernetes.io/docs/tasks/tools/install-kubectl/) (compatible with v1.10) in order to run the
steps provided in the following quick start guide.* An already setup [Kubernetes cluster](https://kubernetes.io/docs/setup/pick-right-solution/).
* 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).
## Quick Start Guide
>In the context of this document,
>* `KUBERNETES_HOME` will refer to a local copy of the [`wso2/kubernetes-micro-integrator`](https://github.com/wso2
>/kubernetes-micro-integrator/)
Git repository.
>* `HELM_HOME` will refer to `/helm/micro-integrator`.##### 1. Clone the Kubernetes Resources for WSO2 Micro Integrator Git repository.
```
git clone https://github.com/wso2/kubernetes-micro-integrator.git
```##### 2. Provide configurations.
a. The default product configurations are available at `/confs` folder. Change the
configurations as necessary.b. Open the `/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 active WSO2 subscription do not change the parameters `wso2.deployment.username`, `wso2.deployment.password`.
###### Centralized Logging Configurations
| Parameter | Description | Default Value |
|-----------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|-----------------------------|
| `wso2.centralizedLogging.enabled` | Enable Centralized logging for WSO2 components | true | | |
| `wso2.centralizedLogging.logstash.imageTag` | Logstash Sidecar container image tag | 7.2.0 |
| `wso2.centralizedLogging.logstash.elasticsearch.host ` | Elasticsearch endpoint | elastic |
| `wso2.centralizedLogging.logstash.elasticsearch.username` | Elasticsearch username | elastic |
| `wso2.centralizedLogging.logstash.elasticsearch.password` | Elasticsearch password | changeme |###### Micro Integrator Deployment Configurations
| Parameter | Description | Default Value |
|-----------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|-----------------------------|
| `wso2.deployment.wso2microIntegrator.dockerRegistry` | Docker registry of the micro-integrator image | "" |
| `wso2.deployment.wso2microIntegrator.imageName` | Image name for micro-integrator node | "" |
| `wso2.deployment.wso2microIntegrator.imageTag` | Image tag for micro-integrator node | "" |
| `wso2.deployment.wso2microIntegrator.replicas` | Number of replicas for micro-integrator node | 1 |
| `wso2.deployment.wso2microIntegrator.minReadySeconds` | Refer to [doc](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#deploymentspec-v1-apps)| 1 75 |
| `wso2.deployment.wso2microIntegrator.strategy.rollingUpdate.maxSurge` | Refer to [doc](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#deploymentstrategy-v1-apps) | 1 |
| `wso2.deployment.wso2microIntegrator.strategy.rollingUpdate.maxUnavailable` | Refer to [doc](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#deploymentstrategy-v1-apps) | 0 |
| `wso2.deployment.wso2microIntegrator.livenessProbe.initialDelaySeconds` | Initial delay for the live-ness probe for micro-integrator node | 40 |
| `wso2.deployment.wso2microIntegrator.livenessProbe.periodSeconds` | Period of the live-ness probe for micro-integrator node | 10 |
| `wso2.deployment.wso2microIntegrator.readinessProbe.initialDelaySeconds` | Initial delay for the readiness probe for micro-integrator node | 40 |
| `wso2.deployment.wso2microIntegrator.readinessProbe.periodSeconds` | Period of the readiness probe for micro-integrator node | 10 |
| `wso2.deployment.wso2microIntegrator.imagePullPolicy` | Refer to [doc](https://kubernetes.io/docs/concepts/containers/images#updating-images) | Always |
| `wso2.deployment.wso2microIntegrator.resources.requests.memory` | The minimum amount of memory that should be allocated for a Pod | 1Gi |
| `wso2.deployment.wso2microIntegrator.resources.requests.cpu` | The minimum amount of CPU that should be allocated for a Pod | 2000m |
| `wso2.deployment.wso2microIntegrator.resources.limits.memory` | The maximum amount of memory that should be allocated for a Pod | 2Gi |
| `wso2.deployment.wso2microIntegrator.resources.limits.cpu` | The maximum amount of CPU that should be allocated for a Pod | 2000m |##### 3. Deploy WSO2 Micro Integrator.
```
helm install --dep-up --name --namespace
````NAMESPACE` should be the Kubernetes Namespace in which the resources are deployed
##### 4. Access Micro Integrator.
Default deployment will expose `` as the host.
To access the Micro Integrator in the environment,
a. Obtain the external IP (`EXTERNAL-IP`) of the Ingress resources by listing down the Kubernetes Ingresses.
```
kubectl get ing -n
``````
NAME HOSTS ADDRESS PORTS AGE
-wso2micro-integrator 80, 443 3m
```b. Add the above host as an entry in /etc/hosts file as follows:
```
```## Enabling Centralized Logging
Centralized logging with Logstash and Elasticsearch is disabled by default. However, if it is required to be enabled,
the following steps should be followed.1. Set `centralizedLogging.enabled` to `true` in the [values.yaml](values.yaml) file.
2. Add elasticsearch Helm repository to download sub-charts required for Centralized logging.
```
helm repo add elasticsearch https://helm.elastic.co
```
3. Create a requirements.yaml at and add the following dependencies in the file.
```
dependencies:
- name: kibana
version: "7.2.1-0"
repository: "https://helm.elastic.co"
condition: wso2.centralizedLogging.enabled
- name: elasticsearch
version: "7.2.1-0"
repository: "https://helm.elastic.co"
condition: wso2.centralizedLogging.enabled```
4. Add override configurations for Elasticsearch in the [values.yaml](values.yaml) file.
```
wso2:
( ... )
elasticsearch:
clusterName: wso2-elasticsearch
```