ThousandEyes Kubernetes Operator is a Kubernetes operator used to manage ThousandEyes Tests deployed via Kubernetes cluster.
It is built using the Operator SDK, which is part of the Operator Framework.
ThousandEyes Kubernetes Operator supports managing the following test types.
More types will be supported in the future.
>=1.18.0
) and local kubectl cli. Docker desktop kubernetes, Minikube or kind are some of popular options to setup local kubernetes cluster.Clone the project
git clone https://github.com/CiscoDevNet/thousandeyes-kubernetes-operator.git
cd thousandeyes-kubernetes-operator
Get OAuth Bearer Token from ThousandEyes dashboard
If this token has been generated, you can get it from your admin or revoke it to create a new one.
Update the OAuth bearer token
Encode the token in base64
echo -n "YOUR_OAUTH_BEARER_TOKEN" | base64
Modify OAuthBearerToken (base64 encoded) in config/deploy/thousandeyes_kubernetes_operator.yaml
Install the operator
kubectl apply -f config/deploy/thousandeyes_kubernetes_operator.yaml
Verify installation status
i. Check ThousandEyes Kubernetes Operator pod status
kubectl get pods | grep thousandeyes
NAME READY STATUS RESTARTS AGE
devnet-thousandeyes-kubernetes-operator-564b5d75d-jllzk 1/1 Running 0 108s
ii. Check ThousandEyes CRD status
kubectl get crd | grep thousandeyes
NAME CREATED AT
annotationmonitorings.thousandeyes.devnet.cisco.com 2021-07-07T15:44:40Z
httpservertests.thousandeyes.devnet.cisco.com 2021-07-07T15:44:41Z
pageloadtests.thousandeyes.devnet.cisco.com 2021-07-07T15:44:42Z
webtransactiontests.thousandeyes.devnet.cisco.com 2021-07-07T15:44:44Z
Let`s run a Nginx web app, then create a Page Load test to monitor this app
Create a Nginx web app
kubectl apply -f config/samples/nginx.yaml
Check the Nginx pod status
kubectl get pods -A | grep nginx
default nginx-6976ddb986-rxqv6 1/1 Running 0 12s
Expose Nginx service to Internet Using ngrok
kubectl apply -f config/samples/ngrok.yaml
Check the ngrok pod status
kubectl get pods -A | grep ngrok
default ngrok-5dfd559764-zx9r7 1/1 Running 0 7s
Get the public URL of this web app
./config/samples/public_url.sh
Your public URL for Nginx web app is similar to:
https://9c5f-64-104-125-230.eu.ngrok.io
Access this app
Open your favorite browser and navigate to the public URL.
You should see the Nginx welcome page which means you have run the app successfully.
Update your public URL in config/samples/pageload_cr.yaml
Apply the page load test CR
kubectl apply -f config/samples/pageload_cr.yaml
Go to ThousandEyes dashboard
For advanced usage, please refer to the following documentations:
Owner
Contributors
Categories
ObservabilityProducts
ThousandEyesProgramming Languages
GoLicense
Code Exchange Community
Get help, share code, and collaborate with other developers in the Code Exchange community.View Community