Environment setup for OpsMx ISD
Environment setup
Pre-requisites
You need access to the internet, github.com, docker.io, and quay.io. The following tools should be installed on your system.
curl
git
kubectl-cli
kubectl-helm
choco package manager (only for windows)
In addition, you need to create a GitHub repository.
Setup Laptop/machine used for ISD installation
Please follow the instructions that are specific to your laptop/machine operating system.
Mac:
curl, git : Mac comes preinstalled with these commands
kubectl: Install using instructions here, using homebrew is generally easier
Helm: Install using instructions here, using homebrew is generally easier
Windows:
Execute the following command in Powershell (running in administrator mode)
Set-ExecutionPolicy Bypass -Scope Process -Force; `iex ((New-Object
System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
curl: Execute this command at the power shell prompt:
hoco install curl
git: Execute this command at the power shell prompt:
choco install git
kubectl: Execute this command at the power shell prompt:
choco install Kubernetes-cli
helm: Execute this command at the power shell prompt:
choco install kubernetes-helm
Ubuntu/Linux:
Curl: Install using instructions here
git: Install using instructions here
kubectl: Install using instructions here, go with “using native package manager” if you are not sure.
Helm: Install helm using the instructions here, using a package manager is generally easier
Verification:
Execute the following commands to verify that the commands are functional:
Creating a GitHub repo (“<gitops-repo>”)
Github.com offers a free personal account. If you don't already have an account, follow the instructions here to create a new account.
Login to GitHub (github.com) with your own credentials.
Generate a personal access token by following the instructions here. Save this token to be updated in values.yaml later.
Note: If the token contains (backslash) / or (frontslash) \ please generate another token as these special characters may create an issue during installation.
Installing nginx ingress controller
You can skip this section if you are using another ingress controller, such as one provided by the cloud provider.
kubectl create ns ingress-nginx
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx
Check whether it is installed correctly or not, use
$kubectl get svc -n ingress-nginx
Note down the IP Address (or hostname) of the ingress-nginx-controller service in the output of the command above. This is required for making DNS or host entries as mentioned in the section below.
Installing cert-manager
You can skip this section if you're creating your own TLS certificates or the cluster doesn't have inbound port 80 access.
kubectl create namespace cert-manager
helm repo add jetstack https://charts.jetstack.io
helm repo update
helm install cert-manager jetstack/cert-manager --set installCRDs=true -n cert-manager
Adding entries to “hosts” file
Using DNS to map URL-hostnames to IP addresses is the preferred method. However, in case you don’t have access to a DNS server, for trial purposes, we can access the ISD by manually adding the IP->host mapping in the “hosts” file as follows:
Mac/Ubuntu/Linux
This section provides instructions for modifying your hosts file
Follow the instructions here.
Create three entries as follows. The IP address is the “ingress-nginx-controller” service external IP address (as mentioned in the Nginx section above) and map them to the hostnames you defined for ISD.
Ip-address oes.com
Ip-address oes-gate.com
Ip-address spin...com [Example: oes.opsmx-isd.opsmx.com]
If you skipped the step in defining host-names, create these entries, replacing the “ip-address” as explained above:
Ip-address oes.isd-pov.example.com
Ip-address oes-gate.isd-pov.example.com
Ip-address spin.isd-pov.example.com
Windows
If you do NOT have DNS, follow the instructions here to add lines in hosts file as shown below:
Create and add these three lines replacing the “ip-address” with the IP-address is the “ingress-nginx-controller” service external IP address
Ip-address oes.isd-pov.example.com
Ip-address oes-gate.isd-pov.example.com
Ip-address spin.isd-pov.example.com [Example: 35.22.105.22 oes.isd-pov.example.com]
If using DNS, follow the instructions here to add the entries in host file as shown below:
Create three entries as follows. The IP address is the “ingress-nginx-controller” service external IP address (as mentioned in the Nginx section above) and maps them to the hostnames you defined for ISD.
Ip-address oes.com
Ip-address oes-gate.com
Ip-address spin.com [Example: 35.22.105.22 oes.opsmx-isd.opsmx.com]
Last updated