Skip to content

sergiohinojosa/kubernetes-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kubernetes Playground

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.

🥼⚗ Spend more time innovating and less time configuring

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.

k8s-playground

Get Started

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)

Deploy your app with just 1-click 🚀!

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-playin the home directory like: ~/k8s-play

BookInfo EasyTravel Etherpad Frontail
Gitea Hipstershop Simplcommerce Simplenode
TicTacToe Webshell

Monitoring with Dynatrace

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.

Provisioning your own Kubernetes Playground

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.

Contributing

If you have any ideas for improvements or want to contribute that's great. Create a pull request or file an issue.

Author

[email protected]