# Supported Environments
Use the imageid
within your scenario's index.json.
Environment | Implementation Notes | ImageID | Example / Code |
---|---|---|---|
Ubuntu 18.04 | Docker installed and running | ubuntu:1804 | Example / Code |
Ubuntu 20.04 | Docker installed and running | ubuntu:2004 | Example / Code |
Centos 7 | Docker installed and running | TBC | |
Kubernetes Cluster 1.18 | 2 nodes with kubeadm installed, nothing running. Based on Ubuntu. Designed for teaching how to use Kubernetes from scratch | kubernetes-cluster:1.18 | Example / Code |
Kubernetes Cluster 1.18 (Pre-configured) | 2 node cluster with 1 master, 1 node. Based on Ubuntu. Run launch.sh when the scenario starts to ensure cluster is running. | kubernetes-cluster-running:1.18 | Example / Code |
Java / Scala | openjdk:15 | Example / Code | |
Kotlin | kotlin:1.3.61 | Example / Code | |
Python 3.6 | python:3.6 | Example / Code | |
Python 3.7 | python:3.7 | Example / Code | |
Python 3.8 | python:3.8 | Example / Code | |
Go | golang:1.14 | Example / Code | |
Rust | rust:1.44.1 | Example / Code | |
Ruby | ruby:2.5 | Example / Code | |
C# (dotnet core 3.1) | dotnet:3.1 | Example / Code | |
R | rlang:3.4 | Example / Code | |
Node.js | nodejs:12 | Example / Code | |
Bash | Lightweight Linux instance without Docker | bash | Example / Code |
Test the environments at https://katacoda.com/scenario-examples/courses/environment-usages. View the scenario templates at https://github.com/katacoda/scenario-examples/tree/master/environment-usages.
If you need to make Customizations please read customizing-environment.html
# Deprecated Environments
It is recommended not to use these versions as they will be removed in future. If you are currently building content against these environments we strongly recommend you update to the above environments.
Environment | Implementation Notes | ImageID |
---|---|---|
Docker | Docker installed and running | docker |
Ubuntu 16.04 | Docker installed and running | ubuntu / ubuntu:1604 |
Ubuntu 19.04 | Docker installed and running | ubuntu1904 |
Centos 7 | Docker installed and running | TBC |
Kubernetes Cluster 1.14 | 2 nodes with kubeadm installed, nothing running. Based on Ubuntu. Designed for teaching how to use Kubernetes from scratch | kubernetes-cluster / kubernetes-cluster:1.14 |
Kubernetes Cluster 1.14 (Pre-configured) | 2 node cluster with 1 master, 1 node. Based on Ubuntu. Run launch.sh when the scenario starts to ensure cluster is running. | kubernetes-cluster-running / kubernetes-cluster-running:1.14 |
# Implemention Notes
Certain environments have additional functionality or items to be aware of when working with them.
# Kubernetes / Minikube Port Fowarding
If you are planning to use the kubectl port-forward
functionality within your scenario then please be aware that by default this only accepts connections from 127.0.0.1 and as such the Katacoda Proxy won't be able to access the port. Instead, please ensure that the command binds to 0.0.0.0 using kubectl port-forward --address 0.0.0.0
.
# Kubernetes Cluster Running
With the running environment we aim that the user will always connect. However, when we have an unexpected load spike the cluster might still be starting when the user is connected.
To provide the user with feedback, we recommend that you automatically run a script called launch.sh
when the user connects. This can be done automatically via a Foreground Script.
Without running launch.sh, users will see the following error when they attempt to access Kubernetes before it has started.
The connection to the server localhost:8080 was refused - did you specify the right host or port?