Getting & Running EdgeX Docker Containers

Slides:



Advertisements
Similar presentations
1 Dynamic DNS. 2 Module - Dynamic DNS ♦ Overview The domain names and IP addresses of hosts and the devices may change for many reasons. This module focuses.
Advertisements

MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
Automated Production Report Generation with OPC DataHub Your Host Today: Colin Winchester, Director of Support Presenter: Win Worrall, Application Engineer.
Client – Server Application Can you create a client server application: The server will be running as a service: does not have a GUI The server will run.
GAAIN Virtual Appliances: Virtual Machine Technology for Scientific Data Analysis Arihant Patawari USC Stevens Neuroimaging and Informatics Institute July.
Microsoft Management Seminar Series SMS 2003 Change Management.
Developing Cross Platform Apps with the ArcGIS Runtime SDK for Qt
Explore GNOME The easy way, using a live CD By Carl Weisheit.
XNAT 1.7: Getting Started 6 June, Introduction In this presentation we’ll discuss:  Features and functions in XNAT 1.7  Requirements  Installing.
APACHE INSTALL AWS Linux (Amazon Web Services EC2)
Getting Started as an EdgeX Developer
Command Microservice Deep Dive
BY: SALMAN 1.
Meta Data Deep Dive Part 1
ArcGIS for Server Security: Advanced
Microsoft Build /9/2017 5:00 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Core Data Deep(er) Dive
Configuration & Registry Microservice Deep Dive
Logging Microservice Deep Dive
Unit 3 Virtualization.
Export Services Deep Dive
bitcurator-access-webtools Quick Start Guide
Integrating ArcSight with Enterprise Ticketing Systems
Building ARM IaaS Application Environment
Deployment Architectures For Containers
Fundamentals Sunny Sharma Microsoft
Device Service SDK Deep Dive
BY: SALMAN.
POC Open House Welcome to the POC Open House. My name is _____ and today we will learn about the iPad Courses for the Month of September. If you have any.
Introduction to the ARM mbed Platform– A Hands-on Course
Project Center Use Cases Revision 2
Docker Birthday #3.
Meta Data Deep Dive Part 2
Introduction to .NET Core
In-Depth Introduction to Docker
Getting Started as an EdgeX Developer
DCR ARB Presentation Team 5: Tour Conductor.
Meta Data Deep Dive Part 1
Enterprise Computing Collaboration System Example
Project Center Use Cases Revision 3
ASP.NET in Linux and Windows containers
Andrew Pruski SQL Server & Containers
Containers in HPC By Raja.
Project Center Use Cases Revision 3
Bomgar Remote support software
Windows Server & Hyper-V Containers Vaggelis Kappas
9/20/ :55 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Printer Admin Print Job Manager
Introduction to Docker
INSTALLING AND SETTING UP APACHE2 IN A LINUX ENVIRONMENT
slides borrowed and adapted from Alex Mariakis and CSE 390a
DHCP, DNS, Client Connection, Assignment 1 1.3
Azure Container Instances
Tech Inside Extended Document Management System (EDMS)
Data Collection in MTM Choosing the right method for survey data collection.
Intro to Ethical Hacking
12/5/ :36 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Implementing Listening Producers in IBM Sterling Filegateway
Configuration Of A Pull Network.
SharePoint 2019 Overview and Use SPFx Extensions
bitcurator-access-webtools Quick Start Guide
Windows 8.1 Deployment Jump Start
Introduction to Docker
Azure Container Service
SCCM in hybrid world Predrag Jelesijević Microsoft 7/6/ :17 AM
An Introduction Michael Hall.
Building a minimum viable Security Operations Centre
Research on edge computing system based on Linux EdgeX Foundry
Software Architecture Taxonomy
Thanks to our Sponsors Platinum Sponsor: Gold Sponsors:
Presentation transcript:

Getting & Running EdgeX Docker Containers Tech Talks – Session 2

Agenda Introduction Tools you need to install (Docker & Docker Compose) Where to get the EdgeX Foundry micro service Docker Containers Get the EdgeX Containers Running the EdgeX containers Order Matters!! How to know when the containers are running How to use EdgeX containers in development Hybrid native code and Docker development Eventual container build process Future Topic Request Q&A

Jim White Dell Distinguished Engineer & Senior Software Architect From Dell End User Computing (EUC) CTO Chief Architect and lead developer of Fuse I wrote code line #1  Fuse => EdgeX Foundry james_white2@dell.com

Next Thursday’s (July 13th) call is at 6pm EDT EdgeX Tech Talks Provide this new community with background on the current system In the future, they may address future architecture or special calls to action Currently scheduled for every week (Thursdays) Alternating weekly times: 9am and 6pm EDT Trying to be sensitive to global attendance Topics TBD – email me suggestions Next Thursday’s (July 13th) call is at 6pm EDT

Docker & Docker Compose Docker allows the application to be package up and deployed with all of the parts it needs (libraries, other dependencies, etc.) It provides a certain amount of OS independence Docker Compose is a tool for defining, running, and managing complex multi- container systems

EdgeX via Docker Tools To use EdgeX via Docker containers, you do not need any development tools You do need Docker (Community Edition is fine) for your particular OS See https://docs.docker.com/engine/installation/ You will find it very helpful to also have Docker Compose Already comes with Docker for Windows or Docker for Mac Other environments need to install separately See https://docs.docker.com/compose/install/ If you are doing EdgeX development, you can use EdgeX containers Allows you to minimize the amount of EdgeX code you need to download Allows you to focus on code for your service while using the latest containers to provide the other micro services We call this hybrid development (more later) Going to assume you can get and setup Docker, Docker Compose, etc. If you desperately need help, please contact me

EdgeX Foundry on Docker Hub Docker Hub offers a public host for Docker containers hub.docker.com EdgeX Foundry micro services are found in Docker Hub Search for “edgexfoundry” (all one word) from the main page Currently 15 container images available The EdgeX Foundry containers are manually created with new code submittal (meaning you get the latest running code) This process is going to be automated soon Let’s see it

Docker Compose Simplifies Getting/Running EdgeX You could use Docker to manually pull and start each EdgeX container Complicated and would require many commands to start and stop each container Example for one container docker pull edgexfoundry/docker-core-data:latest docker run –p 48080:48080 –name docker-core-data –net=edgex-network –volumes-from edgex-files –d edgexfoundry/docker-core-data:latest Would also require setting up a Docker network, volume, etc. Simplified by Docker Compose 1 command to pull all the EdgeX containers 1 simplified command to start a container In the future, 1 command to pull and start all of EdgeX Requires getting the EdgeX docker-compose.yml file Found in the developer-scripts repository in GitHub github.com/edgexfoundry/developer-scripts Where in GitHub

Start EdgeX using Docker Compose From the command line, goto the folder holding the docker-compose.yml file Pull all the EdgeX Foundry containers with one command: docker-compose pull Start each EdgeX Docker Container with a command: docker-compose up –d [compose name] See the next slide for the compose names and start order -d option is to start the container as a background daemon See wiki.edgexfoundry.org/display/FA/Get+EdgeX+Foundry+-+Users for details

EdgeX Container Bring Up Order (and wait times) Compose Name Wait time Container Name volume couple of seconds edgex-files consul 60 seconds edgex-core-consul config-seed edgex-core-config-seed mongo 10 seconds edgex-mongo mongo-seed edgex-mongo-seed logging 1 minute edgex-support-logging notifications 30 seconds edgex-support-notifications metadata edgex-core-metadata data edgex-core-data command edgex-core-command scheduler edgex-support-scheduler export-client edgex-export-client export-distro edgex-export-distro rulesengine edgex-support-rulesengine device-virtual edgex-device-virtual Wait times are approximate Use the logs to see when a service is up Not all services may be required for your needs See it In Action

Stop EdgeX using Docker Compose To stop all the EdgeX containers docker-compose stop To stop and remove all the EdgeX containers docker-compose down More command options available – see Docker Compose documentation

Check that EdgeX Containers are working Any container log can be viewed with: docker-compose logs -f --tail 50 [compose name] Check the logs “This is … the X Micro Service” Ping the service http://<container name>:<service port>/api/v1/ping ex: http://edgex-core-data:48080/api/v1/ping for core data on dell-demo See the event count collected http://edgex-core-data:48080/api/v1/event/count See the devices “connected” http://edgex-core-metadata:48081/api/v1/device See the event/reading data from a particular device http://edgex-core-data:48080/api/v1/event/device/<id>/<count limit> See it In Action

Hybrid Development Hybrid development allows coding in Eclipse calling services in Docker Example: use Dockerized EdgeX with your new device service in Eclipse Requires you point Eclipse based services to Docker Containers Using application-properties &/or rest-endpoint.properties Requires you first get the Docker IP address Docker OS Typical IP Address Command to find Docker for Windows or Mac 172.17.0.2 docker inspect Docker on Linux Ifconfig or docker inspect Docker using Toolbox (Mac or Windows) 192.168.99.100 docker-machine ip

Hybrid Demo Consul, Mongo, Core Data, Metadata, Command, Logging, Notifications running via Docker MQTT Device Service running in Eclipse Altered rest-endpoint.properties to point to core, metadata See it In Action

Container Build Process Dell used the continuous integration process to build the project, build the container in Docker Hub LF is working on a similar process Issues with artifacts in GitHub ETA – few weeks out Currently building and pushing the containers manually Email Jim if you push code and need a container update

EdgeX Resources Wiki (wiki.edgexfoundry.org) Rocket Chat (chat.edgexfoundry.org) Web Site (edgexfoundry.org) Github (github.com/edgexfoundry) Jim’s email address (james_white2@dell.com)

Next Thursday’s (July 13th) call is at 6pm EDT Upcoming Tech Talks Next Thursday’s (July 13th) call is at 6pm EDT Core Data in-depth Core Metadata in-depth Core Command in-depth Consul and Config/Registry micro service Using the SDK to generate a device service Email me other suggestions

Questions and Answer Time