Setup
The following document will take you through the process of installing, verifying the installation, and uninstalling Gloo Portal for Gloo Edge Enterprise.
Prerequisites
For this guide, we’ll need the following:
helm
(versionv3.0.0
or higher)kubectl
- A compatible Kubernetes cluster setup (1.16 or higher), to which you can connect via
kubectl
- Gloo Edge Enterprise 1.5.0-beta9 or higher installed to your cluster
- A Gloo Edge Gateway resource that will expose your APIs
Early versions of Gloo Portal used to be installed as part of Gloo Edge Enterprise. Before proceeding, you should make sure your cluster does not contain the CRDs that were installed with these older versions of Gloo Portal.
Since these CRDs have the same name as some newer ones, Helm will not overwrite them, which might lead to errors similar to the following:
Error: no matches for kind "Portal" in version "portal.gloo.solo.io/v1beta1"
To remove these old CRDs you can run the following command:
kubectl get crd | grep "devportal.solo.io" | awk '{print $1}' | xargs kubectl delete crd
Note on Gateways
The Gloo Portal will create Gloo Edge Virtual Services in the same namespaces as the resources that generated them
(Environments
and Portals
). Make sure you have configured a
Gloo Edge resource
in such a way that the generated Virtual Services will be applied to it.
Going forward, we will assume that Gloo Edge has been installed with the default Gateways, which will match all virtual services in all namespaces that Gloo Edge watches (by default Gloo Edge watches all namespaces).
Installation
To install Gloo Portal you’ll use a Helm chart. You will also need a license key to submit as part of the chart deployment. If you do not have a license key, you can request one by clicking on “Get a Demo” on our website.
First we will add the repository with the Helm chart and update the repo contents.
# Add the Helm repository for Gloo Portal
helm repo add gloo-portal https://storage.googleapis.com/dev-portal-helm
helm repo update
Next, let’s create a Helm values override file:
cat << EOF > gloo-values.yaml
glooEdge:
enabled: true
licenseKey:
secretRef:
name: license
namespace: gloo-system
key: license-key
EOF
Here’s a brief explanation of the above values:
glooEdge.enabled
enables the integration with Gloo Edge Enterprise.- When running on top of Gloo Edge, Gloo Portal requires a valid Gloo Edge Enterprise license key. We are assuming that
you have already installed Gloo Edge Enterprise to your cluster, so we use
licenseKey.secretRef
to reference the existing license key secret. If you wish to create a new license secret, you can just pass in the license key string via thelicenseKey.value
value. See the Gloo Edge docs for more info on how to request a Gloo Edge Enterprise trial license.
Now we can create the target namespace for the deployment and install Gloo Portal referencing the above values file:
# Create the namespace and install the Helm chart
kubectl create namespace gloo-portal
helm install gloo-portal gloo-portal/gloo-portal -n gloo-portal --values gloo-values.yaml
Helm will create an installation named gloo-portal
.
NAME: gloo-portal
LAST DEPLOYED: XXXXXXXXXXX
NAMESPACE: gloo-portal
STATUS: deployed
REVISION: 1
TEST SUITE: None
Verify your Installation
To verify that your installation was successful, check that the Gloo Portal deployments and services have been created.
If you choose to install into a namespace other than gloo-portal
, you will need to query your chosen namespace instead.
kubectl get all -n gloo-portal
NAME READY STATUS RESTARTS AGE
pod/gloo-portal-admin-server-557b64597d-q7vxl 3/3 Running 0 45s
pod/gloo-portal-controller-7d56b8876d-ns7l6 1/1 Running 0 45s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/gloo-portal ClusterIP 10.20.2.10 8080/TCP 45s
service/gloo-portal-admin-server ClusterIP 10.20.10.185 8080/TCP 45s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/gloo-portal-admin-server 1/1 1 1 45s
deployment.apps/gloo-portal-controller 1/1 1 1 45s
NAME DESIRED CURRENT READY AGE
replicaset.apps/gloo-portal-admin-server-557b64597d 1 1 1 45s
replicaset.apps/gloo-portal-controller-7d56b8876d 1 1 1 45s
Please refer to the Architecture page for more details about what function each deployment serves.
Uninstall
To uninstall Gloo Portal simply run the following command:
helm uninstall gloo-portal -n gloo-portal
Next Steps
After installing the product, you may want to walk through the Concepts and Getting Started guides.