|
Set up the Web Monitoring PSA in a Windows environment using Minikube as follows:
Perform the following steps:
Click Create > Virtual Machine, and then under Instance details, specify the following details:
Field | Description |
---|---|
Virtual machine name | Specify a name for the virtual machine. |
Image | Windows Server 2019 Datacenter - Gen2 |
Size | Standard_D8s_v3 - 8 vcpus, 32 GiB memory (US$ 483.26/month) |
In the above scenario, a basic machine with 8 vCPUs and 32Gb memory is selected. For a higher load, you may have to select a bigger machine. |
Click Review + create.
The virtual machine deployment may take a few minutes to complete. When the deployment is complete, you can view the new virtual machine Under Virtual Machines. |
Open the RDP file that you downloaded in the previous step.
You will be prompted to specify a username and password. Use the username and password you created in step 4.
Any Remote Desktop application must be installed on your machine to open the file. |
Perform the following steps:
Install Minikube:
choco install minikube |
Install the Docker Desktop application:
choco install docker-desktop |
Launch the Docker Desktop application, then go to Settings > Resources.
By default, only limited CPUs and Memory are allotted to Docker. Increase the resources allocation becasue the agent setup will run inside docker. |
Example resource allocation:
Resources | Value |
---|---|
CPUs | 8 |
Memory | 25 GB |
Swap | 1 GB |
Disk image size | 64 GB |
Start the Minikube cluster:
minikube start --driver=docker |
This command also sets up |
When you install Minikube on your machine, it comes with its Docker environment. If you build the Docker images on your machine and use those images for the Kubernetes deployment, it pulls the images from the Docker registry or hub and produces an error while starting the pod. This occurs because your machine's docker daemon and the Minikube docker daemon are different. Therefore, you must ensure that you use the Minikube docker daemon to build the docker images.
To use Minikube docker daemon, run this command:
minikube -p minikube docker-env | Invoke-Expression |
Download the zip file for Simple Synth PSA installation from the Cisco AppDynamics Download Center or from the beta upload tool, and then copy the file to your virtual machine.
To start the Kubernetes cluster:
minikube start --kubernetes-version=v1.x.x |
Pull the pre-built docker images for sum-chrome-agent, sum-api-monitoring-agent, and sum-heimdall from DockerHub. The pre-built images include the dependent libraries, so you can use these images even when you do not have access to the Internet.
Run the following commands to pull the agent images:
docker pull appdynamics/heimdall-psa docker pull appdynamics/chrome-agent-psa docker pull appdynamics/api-monitoring-agent-psa |
This is an optional step. In addition to the available standard set of libraries, you can add custom Python libraries to the agent to use in scripted measurements. You build a new image based on the image you loaded as the base image.
Create a Dockerfile and create RUN
directives to run python pip. For example, to install the library algorithms
you can create a Dockerfile:
# Use the sum-chrome-agent image you just loaded as the base image FROM appdynamics/chrome-agent-psa:<agent-tag> USER root RUN apk add py3-pip USER appdynamics # Install algorithm for python3 on top of that RUN python3 -m pip install algorithms==0.1.4 --break-system-packages |
You can create any number of |
To build the new image, enter:
docker build -t sum-chrome-agent:<agent-tag> - < Dockerfile |
The newly built agent image contains the required libraries.
You must tag and push the images to a registry for the cluster to access them. Execute the following command to save the images to Minikube docker:
minikube image load appdynamics/heimdall-psa:<heimdall-tag> |
minikube image load appdynamics/chrome-agent-psa:<chrome-tag> |
minikube image load appdynamics/api-monitoring-agent-psa:<api-monitoring-tag> |
The application is deployed to the cluster after the images are in the Registry. You use the Helm chart to deploy and create all Kubernetes resources in the required order.
Install Helm using the Chocolatey package manager:
choco install kubernetes-helm |
Create a new measurement
namespace to run the Apache Ignite pods.
|
To create a new measurement
namespace, enter:
kubectl create namespace measurement |
Before you deploy Apache Ignite, you must set some configuration options. To view the configuration options, navigate to the previously downloaded ignite-psa.tgz
file and enter:
helm show values ignite-psa.tgz > values-ignite.yaml |
If you want to enable persistence, set |
To deploy the Helm chart using the above-mentioned configuration, navigate to the previously downloaded ignite-psa.tgz
file and enter:
helm install synth ignite-psa.tgz --values values-ignite.yaml --namespace measurement |
All the Kubernetes resources are created in the cluster, and you can use Apache Ignite. After a few seconds, Apache Ignite initializes and is visible in the Controller.
To verify if the pods are running, enter:
kubectl get pods --namespace measurement |
Proceed to the next steps only after the Apache Ignite pods run successfully.
Using a single command, you can deploy the Helm chart, which contains the deployment details. To deploy the agent, use the Helm chart sum-psa-heimdall.tgz
in the zip file that you downloaded previously. Before you deploy the Private Synthetic Agent, you must set some configuration options. To view the configuration options, navigate to the previously downloaded sum-psa-heimdall.tgz
file and enter:
helm show values sum-psa-heimdall.tgz > values.yaml |
These are the configuration key-value pairs that you need to edit in the values.yaml
file:
Configuration Key | Value |
---|---|
heimdall > repository | sum-heimdall |
heimdall > tag | <heimdall-tag> |
heimdall > pullPolicy | Never |
agent > repository | sum-chrome-agent |
agent > tag | <agent-tag> |
shepherd > url | Shepherd URL |
shepherd > credentials | credentials |
shepherd > location | agent location |
You can leave the rest of the values set to their defaults or configure them based on your requirements.
To deploy the Helm chart using the above-mentioned configuration, navigate to the previously downloaded sum-psa-heimdall.tgz
file and enter:
helm install heimdall-onprem sum-psa-heimdall.tgz --values values.yaml --namespace measurement |
All the Kubernetes resources are created in the cluster and you can use Heimdall. After a few seconds, Heimdall initializes and is visible in the Controller.
To verify if the pods are running, enter:
kubectl get pods --namespace measurement |
To make any changes to the values.yaml
after the initial deployment, navigate to the previously downloaded sum-psa-heimdall.tgz
file and enter:
helm upgrade heimdall-onprem sum-psa-heimdall.tgz --values values.yaml --namespace measurement |
To remove the deployment:
This is not recommended unless it is required. |