diff --git a/site/docs/education/egeria-dojo/running-egeria/coco-labs-environment.md b/site/docs/education/egeria-dojo/running-egeria/coco-labs-environment.md index edaba13965..b29dd266bc 100644 --- a/site/docs/education/egeria-dojo/running-egeria/coco-labs-environment.md +++ b/site/docs/education/egeria-dojo/running-egeria/coco-labs-environment.md @@ -1,21 +1,128 @@ +# Introduction to the hands on labs The final session in day one of the Egeria Dojo is to use our Kubernetes helm charts to set up the infrastructure for Egeria's hands on labs. These labs attempt to show a rich metadata environment in action, allowing you to experiment with different concepts and APIs. +The scenario is based on a hypothetical pharmaceutical company known as 'Coco Pharmaceuticals'. When you +start working through the labs you'll be able to read a lot more about their business & Egeria environment. + +These labs make use of a similar container-based environment to that you have used so far, +but coco has a more complex environment with more Egeria platforms. + +For the learning experience we have made use of Jupyter notebooks which can combine text and code. This is also included within the container environment + +# Installing the labs + First, delete the Helm chart you used in the last part of the tutorial. ```console $ helm delete base ``` -Now go to the [Open Metadata Labs](/egeria-docs/education/open-metadata-labs/overview) and follow the instructions for setting up the lab environment using Kubernetes. -Once it is running, go to the instructions to start the first lab notebook. +Now, install the Coco Pharma environment +```console +$ helm install lab egeria/odpi-egeria-lab --devel [15:16:18] +NAME: lab +LAST DEPLOYED: Fri Jan 14 15:16:33 2022 +NAMESPACE: base +STATUS: deployed +REVISION: 1 +TEST SUITE: None +NOTES: +ODPi Egeria lab tutorial +--- + +The Egeria tutorials have now been deployed to Kubernetes. +It may take a minute or so for everything to start up. + +Open your web browser and go to addressofmycluster:30888 to +get started + +You may need to contact your cluster admin, or read your cloud provider helptext to understand +the correct 'addressofmycluster' to use. + +If you experience problems, check memory consumption on your nodes. A minimum of +a 3 node cluster, 2GB per node; or a desktop environment with 6GB dedicated is recommended. + +Please provide any feeback via a github issue at https://github.com/odpi/egeria or +join us on slack via https://http://slack.lfai.foundation + +- The ODPi Egeria team +``` +As before, repeat the following command until all the pods are in Running state - which may take several minutes: +```console +$ kubectl get pods [15:18:39] +NAME READY STATUS RESTARTS AGE +lab-odpi-egeria-lab-core-0 1/1 Running 0 2m7s +lab-odpi-egeria-lab-datalake-0 1/1 Running 0 2m7s +lab-odpi-egeria-lab-dev-0 1/1 Running 0 2m7s +lab-odpi-egeria-lab-factory-0 1/1 Running 0 2m7s +lab-odpi-egeria-lab-jupyter-566b454754-s972k 1/1 Running 0 2m7s +lab-odpi-egeria-lab-nginx-c59d4d646-lszj4 1/1 Running 0 2m7s +lab-odpi-egeria-lab-presentation-6d5856c88c-qwgm8 1/1 Running 0 2m7s +lab-odpi-egeria-lab-ui-5dc645655c-f2g7m 1/1 Running 0 2m7s +lab-odpi-egeria-lab-uistatic-866fdd59f8-hwzg7 1/1 Running 0 2m7s +lab-strimzi-zookeeper-0 1/1 Running 0 114s +strimzi-cluster-operator-7d96cbff57-ltbrz 1/1 Running 0 2m7s +``` + +We can also see the services that have been created: +```console +$ kubectl get services +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +lab-core ClusterIP 172.21.11.152 9443/TCP 8m15s +lab-datalake ClusterIP 172.21.62.188 9443/TCP 8m15s +lab-dev ClusterIP 172.21.175.163 9443/TCP 8m15s +lab-jupyter ClusterIP 172.21.115.243 8888/TCP 8m15s +lab-nginx ClusterIP 172.21.191.19 443/TCP 8m15s +lab-odpi-egeria-lab-factory ClusterIP 172.21.61.87 9443/TCP 8m15s +lab-presentation ClusterIP 172.21.46.53 8091/TCP 8m15s +lab-strimzi-kafka-bootstrap ClusterIP 172.21.13.3 9091/TCP,9092/TCP 6m4s +lab-strimzi-kafka-brokers ClusterIP None 9090/TCP,9091/TCP,9092/TCP 6m4s +lab-strimzi-zookeeper-client ClusterIP 172.21.230.190 2181/TCP 8m1s +lab-strimzi-zookeeper-nodes ClusterIP None 2181/TCP,2888/TCP,3888/TCP 8m1s +lab-ui ClusterIP 172.21.114.202 8443/TCP 8m15s +lab-uistatic ClusterIP 172.21.174.139 8080/TCP 8m15s +``` +We now have everything we need running to get into the labs. + +## Explanation of what has been installed + +From the above list of pods we can see + +* Four Egeria platforms (core, datalake, dev, factory) - the use of these will become clear when you start the tutorials +* The Jupyter server for hosting our notebooks +* The react UI (as you used earlier in this dojo) +* Kafka/Zookeeper for messaging, as provided by Strimzi +* An additional UI - one lab will be using this + +## Port forwarding + +As before we need to enable access to some of these containers from your local environment using the 'kubectl port-forward' command. + +Most of the interaction with the notebooks is via the jupyter server, so we run: + +```console +$ kubectl port-forward service/lab-jupyter 8888:8888 +Forwarding from 127.0.0.1:8888 -> 8888 +Forwarding from [::1]:8888 -> 8888 +``` + +As you progress through the labs, if if you are interested in experimenting with postman, then you may need to setup port forwarding for other services too. If so, run each in the background, or in separate windows as they must continue running whilst you are working through the labs. + +# Start working on the labs + +Open up a web browser and go to http://localhost:8888 + +You should see a window similar to this: ![First Lab Notebook](/egeria-docs/education/tutorials/jupyter-tutorial/jupyter-notebook-browser-window.png) +In the navigator on the left of this Windows, navigate to the *read-me-first* and start following the instructions. We've tried to add lots of explanation at each stage to guide you through how Egeria can be used in a real environment. + There is more material to run in the Open metadata Labs than can be done in 30 minutes. The purpose of this session is to ensure that you can set up the environment so you can run it at you leisure when every you want to. -In addition, these labs (like everything else in Egeria) is evolving rapidly so it is worth checking back from time to time to see what is new. +In addition, these labs (like everything else in Egeria) is evolving rapidly so it is worth checking back from time to time to see what is new. This also means some of the labs are incomplete. Visit the slack channel to check if you get problems. diff --git a/site/docs/education/egeria-dojo/running-egeria/day-summary.md b/site/docs/education/egeria-dojo/running-egeria/day-summary.md deleted file mode 100644 index abb71fb7c5..0000000000 --- a/site/docs/education/egeria-dojo/running-egeria/day-summary.md +++ /dev/null @@ -1,6 +0,0 @@ - - - -Thanks, and goodnight ;-) - ---8<-- "snippets/abbr.md" \ No newline at end of file diff --git a/site/docs/education/egeria-dojo/running-egeria/introduction.md b/site/docs/education/egeria-dojo/running-egeria/egeria-introduction.md similarity index 97% rename from site/docs/education/egeria-dojo/running-egeria/introduction.md rename to site/docs/education/egeria-dojo/running-egeria/egeria-introduction.md index f6a160f87a..22dbcd5176 100644 --- a/site/docs/education/egeria-dojo/running-egeria/introduction.md +++ b/site/docs/education/egeria-dojo/running-egeria/egeria-introduction.md @@ -3,7 +3,7 @@ # Egeria Introduction -In this session, you will learn about the function and value of Egeria +In this section, you will learn about the function and value of Egeria along with the key concepts and use cases it supports. ## About Egeria diff --git a/site/docs/education/egeria-dojo/running-egeria/running-egeria-intro.md b/site/docs/education/egeria-dojo/running-egeria/running-egeria-intro.md new file mode 100644 index 0000000000..0b9e64085b --- /dev/null +++ b/site/docs/education/egeria-dojo/running-egeria/running-egeria-intro.md @@ -0,0 +1,40 @@ + + + +# Running Egeria + +Welcome to the first Dojo session, 'Running Egeria'. + +In this session, you will get an introduction to Egeria, and be shown how to +get it running in your environment, so that you can explore more in your own time. + +*Audience*: Anyone who is interest in Egeria, and wants to get some hands-on time with Egeria. + +*Skills*: Familarity with *nix shell environment & editing files + +*Hardware Requirements*: A networked MacOS, Windows, or Linux environment with at least 4Gb RAM & 12GB storage or remote access to an existing Kubernetes environment. + +*Duration: We expect this will take most of a day, around 6 hours - but you can continue in your own time if this is too much for one session. + +## About this site + +We are using the Egeria docs website at https://odpi.github.io/egeria-docs/ to host these Dojo sessions. You are currently in the 'Education' section and it's suggested you work through the sections of this first day in order. + +Use the Previous/Next sections at the bottom of each page to move to the next topic within the Dojo. + +You can also refer to the heading summary towards the top right to navigate through the sections of each individual page. + +If you're looking for further background, open up other topics in a new tab, and use the Search box towards the top of this page as needed. + +## Topics + +These are the topics we will work through in this Dojo: + + - Introduction to Egeria (0.5 hour) + - Installing prereq tools - Kubernetes & Postman (1 hour) + - Installing a pre-configured Egeria environment (0.5 hour) + - Configuring Egeria servers ( 2 hours) + - Running Egeria Jupyter based labs (1.5 hours) + - Summary & questions" (0.5 hours)" + +--8<-- "snippets/abbr.md" diff --git a/site/docs/education/egeria-dojo/running-egeria/running-egeria-summary.md b/site/docs/education/egeria-dojo/running-egeria/running-egeria-summary.md new file mode 100644 index 0000000000..96ed886e80 --- /dev/null +++ b/site/docs/education/egeria-dojo/running-egeria/running-egeria-summary.md @@ -0,0 +1,22 @@ + + + +# Congratulations ! + +We have now nearly reached the end of the Dojo. + +During this session we hope you've gained + - an understanding of what Egeria is + - an opportunity to run the Egeria code live + - been able to experiment with some interactions via the API & User Interface + - a desire to want to know more and join our next Dojo session. + +# Feedback + +We hope this Dojo has been a useful experience for you & we'd love to hear your feedback about how it went. + +Please let us know via the #egeria-dojo slack channel, or via a [github issue](https://github.com/odpi/egeria-docs/issues) + +We're keen to take your feedback on board, and improve the sessions for the future. + +--8<-- "snippets/abbr.md" \ No newline at end of file diff --git a/site/mkdocs.yml b/site/mkdocs.yml index 9abdf80919..fd16f42707 100644 --- a/site/mkdocs.yml +++ b/site/mkdocs.yml @@ -143,14 +143,15 @@ nav: - Dojo (Jan 2022): - Dojo Overview: education/egeria-dojo/index.md - Running Egeria Day : - - Introduction to 'Running Egeria' day: education/egeria-dojo/running-egeria/introduction.md + - Introduction to 'Running Egeria' day: education/egeria-dojo/running-egeria/running-egeria-intro.md + - Egeria introduction : education/egeria-dojo/running-egeria/egeria-egeria-introduction.md - Setup of the environment: education/egeria-dojo/running-egeria/setup-environment.md - Simple Install of Egeria : education/egeria-dojo/running-egeria/simple-install.md - Configuring and Operating a Server : education/egeria-dojo/running-egeria/configuring-and-operating-a-server.md - - Introduction to the Egeria UIs : education/egeria-dojo/running-egeria/ui-introduction.md + - Introduction to the Egeria UIs : education/egeria-dojo/running-egeria/ui-egeria-introduction.md - Coco Pharmaceuticals : education/egeria-dojo/running-egeria/coco-labs-environment.md - Using additional connectors : education/egeria-dojo/running-egeria/using-additional-connectors.md - - Summary of 'Running Egeria' day : education/egeria-dojo/running-egeria/day-summary.md + - Summary of 'Running Egeria' day : education/egeria-dojo/running-egeria/running-egeria-summary.md - Developer Day : education/egeria-dojo/developer/overview.md - Metadata Governance Day : education/egeria-dojo/metadata-governance.md - Egeria Contributor Day : education/egeria-dojo/egeria-contributor.md @@ -175,8 +176,8 @@ nav: - Old Dojo (deprecated): - Dojo Introduction: getting-started/dojo/index.md - Day 1: - - Egeria Introduction: getting-started/dojo/egeria-dojo-day-1-1-introduction.md - - Egeria Project Introduction: getting-started/dojo/egeria-dojo-day-1-2-project-introduction.md + - Egeria Introduction: getting-started/dojo/egeria-dojo-day-1-1-egeria-introduction.md + - Egeria Project Introduction: getting-started/dojo/egeria-dojo-day-1-2-project-egeria-introduction.md - Running Egeria: - Overview: getting-started/dojo/egeria-dojo-day-1-3-running-egeria.md - Platform Setup and Configuration: