DISCLAIMER: This project is being developed for educational purposes only and is not complete, nor supported. It's publishment is only intended for helping others automate environments for delivering workshops with Kubernetes and/or Dynatrace. Even though the exposed endpoints of this cluster may have valid SSL certificates generated with Cert-Manager and Let's Encrypt, does not mean the Cluster is secure.
The Kubernetes Playground
is a single node Kubernetes Cluster based on microk8s which is a simple production-grade upstream certified Kubernetes made for developers and DevOps.
The mantra behind all this is that you
Spend more time innovating 😄⚗️ and less time configuring 😣🛠
K8s-Playground is a 🚀 rocket launcher for enabling tutorials or workshops in an easy, fast and resource efficient way. All tutorials can be automatized and versioned so that the student can at anytime spin the cluster and start exactly with the task at hand so he'll focus on the subject to learn without losing any time configuring trivial stuff.
Most Likely the machine has been already provisioned for you. Here are some cool tips and tricks to get you started so you can get the most out of it. The machine has some cool alias installed already. Enter into the webshell in the iFrame or open it in a new tab for a better UX. Before starting to type, click on the right mouse to set the colors and settings of the webshell to your pleasing. Once the settings are as you want, log in and type the following commands:
- k9s (really cool tool for navigating in kubernetes like butter)
- kubectl (comes with autocomplete)
- docker (for building your own images and installing them in the private regitry of your cluster)
- istioctl
- helm (for installing any other app in seconds)
- alias
for deploying apps, just go to cd ~/k8s-play/apps
and enter the folder of the app you want to deploy. Inside the folder you'll find a script for deploying and undeploying. It should be self-explanatory. The shell is normally for helping generate the Ingress rule with a subdomain so the app can be exposed with the help of one IP and a magic domain (nip.io)
The following apps can be found under the apps folder. Inside each app there is one bash script for deploying the app and one for removing it. When provisioning the machine this repo will be cloned as k8s-play
in the home directory like: ~/k8s-play
BookInfo | EasyTravel | Etherpad | Frontail |
Gitea | Hipstershop | Simplcommerce | Simplenode |
TicTacToe | Webshell |
By default your instance will be monitored with the Dynatrace credentials you provisioned (tenant
, api_token
, data_ingest_token
) which are required when you monitor a Kubernetes Cluster with Dynatrace.
The default deployment mode is Classic full-stack injection but you can easily swap 🔄 to the CloudNative full-stack injection, (yeah, how cool is that!?). Go here to learn more.
K8s-Playground is programmed natively for Linux sytems, specially Ubuntu. The Kubernetes Playground can run in any Ubuntu machine, whether is on the cloud, locally or a VM. Thanks to the modularity and versioning of the code, you can be sure that the environment that you create will always work the same so you can match it to a step-by-step tutorial or workshop at any given time.
Go to the Cluster-Setup to learn more how to spin an instance manually or via automations.
If you have any ideas for improvements or want to contribute that's great. Create a pull request or file an issue.