Skip to main content

Setup Platform Installer (Offline)

This topic explains how to install the iceDQ platform installer in an online environment.


Before you start

Please ensure that all prerequisites have been met before starting the installation. See the Existing Cluster Install Requirements.

Install Kubectl Add-On

  1. Download the platform installer Kubectl add-on for linux jumpbox
curl -O -L https://bitbucket.org/toranainc/pre-install-scripts/raw/master/kots_linux_amd64.tar.gz
  1. Untar the file on the jumpbox where you run Kubectl commands from
tar zxf kots_linux_amd64.tar.gz 
  1. Rename the kots binary to kubectl-kots
mv kots kubectl-kots 
  1. Move the kubectl-kots binary into your PATH so that it can be recognized by Kubectl (e.g. /usr/local/bin)
mv kubectl-kots /usr/local/bin  

Install Platform Installer

  1. Download the kotsadm.tar.gz and icedq-{version}.airgap offline packages and copy it to your jumpbox.

  2. Upload the platform installer container images to your private registry to prepare for installation into the existing Kubernetes cluster.

kubectl kots admin-console push-images ./kotsadm.tar.gz <registry-endpoint>/icedq.azurecr.io \
--registry-username <username> \
--registry-password <password>
note

If you are using AWS ECR or Azure ACR then repositories should be created before the install process.

  1. Install the platform installer
kubectl-kots install icedq \
--kotsadm-namespace icedq.azurecr.io \
--kotsadm-registry <registry-endpoint> \
--registry-username <username> \
--registry-password <password> \
--namespace icedq \
--shared-password <admin-password> \
--airgap-bundle <path-to-airgap-bundle> \
--license-file <path-to-license-yaml> \
--no-port-forward

if you would like to access platform installer from anywhere then you will have to expose the platform installer UI to be accessed via load balancer. So below are the steps for the same.

  1. Create a kotsadm-lb.yaml file and insert below spec after updating namespace parameter.
apiVersion: v1
kind: Service
metadata:
name: kotsadm-lb
namespace: icedq
spec:
ports:
- nodePort: 30000
port: 3000
protocol: TCP
targetPort: 3000
selector:
app: kotsadm
type: NodePort
  1. Apply the above spec to the cluster to expose the service
kubectl -n icedq apply -f kotsadm-lb.yaml

OR use below command to execute step 4 and 5 in a single step

kubectl -n icedq apply -f - <<EOF
apiVersion: v1
kind: Service
metadata:
name: kotsadm-lb
namespace: icedq
spec:
ports:
- port: 8800
protocol: TCP
targetPort: 3000
selector:
app: kotsadm
type: LoadBalancer
EOF

Loadbalancer for nextgen can be created by using below command.

kubectl apply -f - <<EOF
apiVersion: v1
kind: Service
metadata:
name: icedq-lb
namespace: icedq
spec:
ports:
- name: proxy
port: 80
protocol: TCP
targetPort: 8000
- name: proxy-ssl
port: 443
protocol: TCP
targetPort: 8443
selector:
app.kubernetes.io/component: app
app.kubernetes.io/instance: icedq
app.kubernetes.io/name: kong
type: LoadBalancer
EOF

Access Platform Installer

Now you are ready to access the iceDQ Platform Installer from a Chrome/ Edge Browser.

  1. In the browser window, enter the Admin Console (Platform Installer) URL copied in the step 3 above.

Platform Installer UI

  1. Next, see the Configure & Deploy iceDQ for deploying the application.