Project

General

Profile

How to install Redmine on IBM Cloud kubernetes cluster » History » Revision 4

Revision 3 (Oliver Pinter, 2020-10-26 14:57) → Revision 4/9 (Oliver Pinter, 2020-10-26 15:02)

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 
 !kubernetes-select.png! ![Kubernetes](/kubernetes-select.png) 
 * 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  
  !infra-select.png! ![VPC](/infra-select.png) 
 * Now choose your location settings, for more information please visit [Locations] 
   * Choose **Geography** (continent) 
 !location-geo.png! ![continent](/location-geo.png) 
   * 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  
 !location-avail.png! ![avail](/location-avail.png) 
   * Choose a **Worker Zone** if using Single zones or **Metro** if Multizone 
  !location-worker.png! 
     ![worker](/location-worker.png)  
     * 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** 
 !worker-pool.png! ![worker-pool](/worker-pool.png) 
 * 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]. 
 !endpoints.png ![endpoints](/endpoints.png) 
 * Give cluster a **name** 

 !name-new.png! ![name-new](/name-new.png) 
 * Give desired **tags** to your cluster, for more information visit [tags] 

 !tasg-new.png ![tags-new](/tasg-new.png) 
 * Click **create** 
 !create-new.png! ![create-new](/create-new.png) 

 * Wait for you cluster to be provisioned  
 !cluster-prepare.png! ![cluster-prepare](/cluster-prepare.png) 
 * Your cluster is ready for usage  

 !cluster-done.png! ![cluster-ready](/cluster-done.png) 

 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 
 !block-search! ![Block](/block-search.png) 

 * 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) 
 !block-cluster.png! ![block-c](/block-cluster.png) 
 * Give a **name** to this workspace  
 * Click **install** and wait for the deployment 
 !block-storage-create.png! ![block-create](/block-storage-create.png) 
 

 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 
 !!search.png! ![postg](/search.png) 

 * Please select IBM Kubernetes Service 
 !target-select.png! ![target](/target-select.png) 

 * On the application page Click in the _dot_ next to the cluster, you wish to use 
 !cluster-select.png! ![Cluster](/cluster-select.png) 
 * Click on    **Enter or Select Namespace** and choose the default Namespace or use a custom one  
 !details-namespace.png! ![Namespace](/details-namespace.png) 
 * Give a unique **name** to workspace, which you can easily recognize 
 !details-name.png! ![Name](/details-name.png) 
 * Select which resource group you want to use, it's for access controll and billing purposes. For more information please visit [resource groups] 

 !details-resource.png! ![dr-resource](/details-resource.png) 

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

 !details-tags.png! ![redmine-tags](/details-tags.png) 

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

 !parameters.png! ![def-val](/parameters.png) 

 * Please set the    Redmine password in the parameters 
 !password.png! ![pass](/password.png) 

 * 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  

 !in-progress.png! ![ Redmine-install](/in-progress.png) 

 * Your     Redmine workspace has been successfully deployed 

 !done.png! ![Redmine-finsihed](/done.png) 

 h2. Verify    Redmine installation 

 * Go to [Resources] in your browser  
 * Click on **Clusters** 
 * Click on your Cluster 
 !resource-select.png! ![Resourcelect](/resource-select.png) 

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


 !cluster-main.png! ![Actions](/cluster-main.png) 

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

 !terminal-install.jpg! ![terminal-install](/terminal-install.jpg) 

 * 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 
 ``` 
 !get-ns.png! ![get-ns](/get-ns.png) 


  ```sh 
 $ kubectl get pod -n NAMESPACE -o wide  
 ``` 
 !get-pod.png! ![get-pod](/get-pod.png) 


  ```sh 
 $ kubectl get service -n NAMESPACE 
 ``` 
 !get-service.png! ![get-service](/get-service.png) 

 * 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 

 !welcome.png! ![works](/welcome.png) 

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

 !login.png! ![login](/login.png) 

 * You arrived at the main Redmine page 

 !logged-in.png! ![in](/logged-in.png) 

 
 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>