ISD Installation Guide
Installing ISD on a kubernetes cluster
This document provides the step-by-step instructions for installing ISD on a kubernetes cluster. Some basic knowledge of command-line interface is required.
Before you start, it might be helpful to go through these documents:
Routing Web URLs to ISD services - Refer here
ISD On-Prem POV Infrastructure requirements - Refer here
ISD - Commonly used Commands - Refer here
ISD Service Catalogue - Refer here
Pre-requisites
A laptop/machine being used to install that has the required software mentioned here
A kubeconfig file to access the kubernetes cluster
A working “kubectl” command. Execute the command below:
kubectl get no
# to see the nodeskubectl get ns
# to see the namespaces
These commands should show some output. If required, rename the kubeconfig file as "config" and copy to .kube folder in your machine
A github repo, and a “personal access token”. Instructions for creating these can be found here.
NGINX Ingress Controller and cert-manager(if using https) in the cluster. If not already installed, install by using the instructions here
Access to a DNS server. If you do not have access to a DNS server, you can add the host-names to “hosts” file on your machine by following the instructions here
Pre-installation steps
Decide on the host names that will be used to access ISD
Clone the standard-git-ops repository and copy the contents to your github repository
Select a “values.yaml” file from the SAMPLES/values-yamls folder in your github repository, and edit the contents
Prepare helm for installation
Install ISD using the helm command
Login to the ISD instance created
Installation steps
Setup URLs
Host names that will be used to access ISD: Three host-names are required as mentioned below:
oes.<subdomain>.company.com
spin. <subdomain>.company.com
oes-gate.<subdomain>.company.com
For Example: oes.isd-from-opsmx.opsmx.com
Run the following command to get the IP address of the ingress controller
3. If you have access to a DNS server, add the three host names from step 1 to the DNS server pointing them to the IP Address in step 2 above. If you do not have access to a DNS server, follow the instructions here to add them locally to your laptop
Prepare gitops repo
Prepare your gitops repository as follows:
Create a working directory in your local system
Clone standard-gitops-repo repository from appropriate branch
Clone your gitops repo using the following command:
Copy files from standard-gitops-repo to your gitops repo
Push the changes back to the githup repo
Prepare values file
cd
./<gitops-repo>/SAMPLES/values-yamls
and select a template values file. Start with “easy-values.yaml
” for a very simply insecure installationEdit the value.yaml file selected as follows:
For spinDeck, spinGate, oesUI and oesGate: change the hostnames decided in step 1, which will be used for accessing the OES/Spinnaker
For Example:
host: spin.oes.opsmx.net host:
oes.oes.opsmx.net host:
oes-gate-ldap.oes.opsmx.net
Go to gitopsHalyard section and update gitops repo information:
Install ISD
Add helm repo and create namespace
Navigate to the directory where values.yaml is saved/modified and begin the installation. This may take up to 30 min depending on the network speed.
helm upgrade –install isd opsmx/oes -f easy-values.yaml -n opsmx-isd --timeout 30m
Keep monitoring the pods being created using
kubectl get po -n opsmx-isd -w
Once all the pods show 1/1 or 2/2 or “0/1 completed” status, open your browser and navigate to “oes..company.com”, the host name selected in step 1
Login by using the credentials listed below:
User Name: admin
Password: Execute the following command to retrieve the password
Click on “set-up” on the bottom right corner, and proceed to “cloud accounts”
Create a kubernetes account, and name it as “default”
Common Issues during helm installation
Most common issues during installation are related to incorrect values in *-values.yaml. Should you realize that there is a mistake, it is easy to correct it.
Update the easy-values.yaml (or which ever file name you are using)
Wait for the helm install to error out, it is best to not break the process
Simply re-execute the “helm upgrade –install …” command given:
helm upgrade –install isd opsmx/oes -f easy-values.yaml -n opsmx-isd --timeout 30m
Should this not work, please follow the instructions for “Cleaning up” below and start-over.
Cleaning up
Use the following commands to delete the entire installation from kubernetes
Option 1
Issue this command, replace -n option with the namespace
Option 2
Issue these commands, replace -n option with the namespace
Last updated