How to install Redmine on IBM Cloud kubernetes cluster » History » Revision 3
Revision 2 (Oliver Pinter, 2020-10-26 14:47) → Revision 3/9 (Oliver Pinter, 2020-10-26 14:57)
h1. Get Redmine on IBM Cloud
You should have an IBM Cloud account, otherwise you can [register here].
At the end of the tutorial you will have a cluster with Redmine up and runnning.
1. We will provision a new Kubernetes Cluster for you if, you already have one skip to step **2**
2. We will deploy the IBM Cloud Block Storage plug-in, if already have it skip to step **3**
3. Redmine deployment
h2. Step 1 provision Kubernetes Cluster
* Click the **Catalog** button on the top
* Select **Service** from the catalog
* Search for **Kubernetes Service** and click on it

* You are now at the Kubernetes deployment page, you need to specify some details about the cluster
* Choose a plan **standard** or **free**, the free plan only has one worker node and no subnet, to provision a standard cluster, you will need to upgrade you account to Pay-As-You-Go
* To upgrade to a Pay-As-You-Go account, complete the following steps:
* In the console, go to Manage > Account.
* Select Account settings, and click Add credit card.
* Enter your payment information, click Next, and submit your information
* Choose **classic** or **VPC**, read the [docs] and choose the most suitable type for yourself

* Now choose your location settings, for more information please visit [Locations]
* Choose **Geography** (continent)

* Choose **Single** or **Multizone**, in single zone your data is only kept in on datacenter, on the other hand with Multizone it is distributed to multiple zones, thus safer in an unforseen zone failure

* Choose a **Worker Zone** if using Single zones or **Metro** if Multizone

* If you wish to use Multizone please set up your account with [VRF] or [enable Vlan spanning]
* If at your current location selection, there is no available Virtual LAN, a new Vlan will be created for you
* Choose a **Worker node setup** or use the preselected one, set **Worker node amount per zone**

* Choose **Master Service Endpoint**, In VRF-enabled accounts, you can choose private-only to make your master accessible on the private network or via VPN tunnel. Choose public-only to make your master publicly accessible. When you have a VRF-enabled account, your cluster is set up by default to use both private and public endpoints. For more information visit [endpoints].

* Give cluster a **name**

* Give desired **tags** to your cluster, for more information visit [tags]

* Click **create**

* Wait for you cluster to be provisioned

* Your cluster is ready for usage

h2. ## Step 2 deploy IBM Cloud Block Storage plug-in
The Block Storage plug-in is a persistent, high-performance iSCSI storage that you can add to your apps by using Kubernetes Persistent Volumes (PVs).
* Click the **Catalog** button on the top
* Select **Software** from the catalog
* Search for **IBM Cloud Block Storage plug-in** and click on it

* On the application page Click in the _dot_ next to the cluster, you wish to use
* Click on **Enter or Select Namespace** and choose the default Namespace or use a custom one (if you get error please wait 30 minutes for the cluster to finalize)

* Give a **name** to this workspace
* Click **install** and wait for the deployment

h2. ## Step 3 deploy Redmine
We will deploy Redmine on our cluster
* Click the **Catalog** button on the top
* Select **Software** from the catalog
* Search for ** Redmine** and click on it

* Please select IBM Kubernetes Service

* On the application page Click in the _dot_ next to the cluster, you wish to use

* Click on **Enter or Select Namespace** and choose the default Namespace or use a custom one

* Give a unique **name** to workspace, which you can easily recognize

* Select which resource group you want to use, it's for access controll and billing purposes. For more information please visit [resource groups]

* Give **tags** to your Redmine, for more information visit [tags]

* Click on **Parameters with default values**, You can set deployment values or use the default ones

* Please set the Redmine password in the parameters

* After finishing everything, **tick** the box next to the agreements and click **install**
!aggreement-create.png! 
* The Redmine workspace will start installing, wait a couple of minutes

* Your Redmine workspace has been successfully deployed

h2. ## Verify Redmine installation
* Go to [Resources] in your browser
* Click on **Clusters**
* Click on your Cluster

* Now you are at you clusters overview, here Click on **Actions** and **Web terminal** from the dropdown menu

* Click **install** - wait couple of minutes

* Click on **Actions**
* Click **Web terminal** --> a terminal will open up
* **Type** in the terminal, please change NAMESPACE to the namespace you choose at the deployment setup:
```sh
$ kubectl get ns
```

```sh
$ kubectl get pod -n NAMESPACE -o wide
```

```sh
$ kubectl get service -n NAMESPACE
```

* Running Redmine service will be visible
* Copy the **External ip**, you can access the website on this IP
* Paste it into your browser
* Redmine welcome message will be visible

* Enter you password/username which you entered in the deployment step (default username is user)

* You arrived at the main Redmine page

You have succesfully deployed Redmine IBM Cloud!
[IBM Cloud]: <http://cloud.ibm.com>
[Resources]: <http://cloud.ibm.com/resources>
[Register Here]: <http://cloud.ibm.com/registration>
[docs]: <https://cloud.ibm.com/docs/containers?topic=containers-infrastructure_providers>
[Locations]: <https://cloud.ibm.com/docs/containers?topic=containers-regions-and-zones#zones>
[VRF]: <https://cloud.ibm.com/docs/dl?topic=dl-overview-of-virtual-routing-and-forwarding-vrf-on-ibm-cloud>
[enable Vlan spanning]: <https://cloud.ibm.com/docs/vlans?topic=vlans-vlan-spanning#vlan-spanning>
[endpoints]: <https://cloud.ibm.com/docs/account?topic=account-service-endpoints-overview>
[tags]: <https://cloud.ibm.com/docs/account?topic=account-tag>