This repository contains labs for the Hands-On Kubernetes Session. We will be using Google Kubernetes Engine (GKE) for this hands-on but this will work on other PaaS platforms as well.
For the purposes of the Hands-On, we will automate and make the steps seamless for the participants
Head over to https://cloud.google.com/free/ and sign up for a free GCP account with your existing Google account.
You can also signup for a new Google Account if you don't have one
Upon signup, you will have free credits tied to your GCP account. (12 months + 400AUD)
You can login to your GCP console here.
You will also need to Enable your API Billing with Kubernetes Engine API.
You should be prompted to the billing page while setting up your GKE instance.
If not, you can follow the steps here
Click on the Terminal Icon on the top right
A Cloud based Terminal lookalike will appear at the bottom of the page
We will start setting up our GKE Cluster
Create your GKE cluster named k8sworkshop running Ubuntu in GKE with the following command. We will also be creating a compute VM for a Dynatrace Activegate. We will use the Dynatrace Activegate for Kubernetes integration.
gcloud container clusters create k8sworkshop --image-type=ubuntu --zone australia-southeast1-a gcloud compute instances create dynatrace-activegate --image-family ubuntu-1604-lts --image-project ubuntu-os-cloud --zone australia-southeast1-a
Once completed, you will have a running GKE Cluster!
Running kubectl get nodes will reveal number of nodes
As per the official instructions here for the Kubernetes integration, you will need to setup an Environment Activegate first.
Once completed, you should see Activegate under Deployment Status.
Go to Settings -> Process and Containers -> Process group detection -> Enable Cloud Application and workload detection
Automating the steps from our offical documentation page, we provided the API URL and bearer token automatically via API. Back in your main Cloud Shell terminal, enter the below
wget -O- https://raw.githubusercontent.com/Dynatrace-APAC/Workshop-Kubernetes/master/setup-k8s-ui.sh | bash
With the above results, enter the values to Settings -> Cloud and Virtualization -> Kubernetes
Once successfully connected, click on Kubernetes on the left menu and explore the Kubernetes UI.
Copy the values into your GCP console
Once completed, you can click on Hosts on the left panel to see your connected K8S nodes (3 nodes)
For our Hands-On, you will need to run Hipster Shop which is a Google sample application.
wget -O- https://raw.githubusercontent.com/Dynatrace-APAC/Workshop-Kubernetes/master/deploy.sh | bash
Once deployed, you can locate the front-end endpoint from GCP (Kubernetes Engine -> Services & Ingress)
Once running, you can go to the exposed frontend-external IP to go to Hipster Shop.
In Dynatrace, go to Transactions and Services to see the automatic 5 discovered services.
You will realized that some services are discovered but some might not match Hipster Shop's Service architecture. Hipster Shop uses cutting edge technologies (such as GPRC) which Dynatrace supports with the constant evolution in the cloud.
Because of the rapid rate of change coming to OneAgent, features that are in Early Access aren't automatically enabled by default. This is to prevent unforseen circumstances which might impact your production environments. For the purposes of workshop, we can enable these features. Go to Settings -> Service-side service monitoring -> Deep Monitoring -> New Oneagent Features
Under Global Settings, enable the following feature flags. They are on different pages so you would need to toggle through the pages.
You can use the search filter bar to search for "GRPC"
Make sure all the below features all enabled, including the 2 additional NodeJS feature flags.
Enabling OneAgents features requires a restart of the pods. Run the following command to restart the pods.
kubectl delete pods --all -n hipster-shop
Back in Dynatrace, go to and Transactions and Services to see the updated list of services.
Clicking on Go Service ":8080" followed by Service Flow, you can see that the service are automatically detected and matches the architecture diagram above.
Explore the various functionalities within the Kubernetes View such as Cluster Utilization, Cluster Workloads, K8S Events
We hope you enjoyed this lab and found it useful. We would love your feedback!