Releases: Azure/azure-docker4azureoms
Docker 4 Azure - CE Stable with OMS
title: Deploy Docker for Azure with OMS
description: Learn how to deploy Docker for Azure with one click along with Operational Management Suite Container monitoring, using an ARM (Azure Resource Manager) Template and deploy service stacks
keywords: docker, docker for azure , install, orchestration, management, azure, swarm, OMS, monitoring, scaling
azure-docker4azureoms
Docker for Azure with OMS and some more stacks
Table of Contents
Prerequisites
- Containerized helper-script to help create the Service Principal
docker run -ti docker4x/create-sp-azure --spname--
- Obtain App ID
- Obtain App Secret
- Obtain Workspace ID and Key for OMS Solutions
- Deploy the above mentioned solutions.
- Obtain OMS Workspace ID
- Obtain Workspace Key
Deploy and Visualize
Docker for Azure Release Notes. This template has two simple additions for pushing OMS dockerized agent in each of the nodes (managers and workers) on top of Template - Docker for Azure Stable Channel 17.03.0 CE Release date: 02/08/2017
MSFT OSCC
This project has adopted the Microsoft Open Source Code of Conduct.
For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Tips
-
Post Deployment, one can ssh to the manager using the id_rsa.pub as mentioned during swarm creation:
ssh docker@sshlbrip -p 50000
-
Transfer the keys to the swarm manager to use it as a jumpbox to workers:
scp -P 50000 ~/.ssh/id_rsa ~/.ssh/id_rsa.pub docker@sshlbrip:/home/docker/.ssh
-
For Deploying a stack in v3 docker-compose file:
docker stack deploy -c --path to docker-compose.yml file-- --stackname--
-
To update stack:
docker stack up deploy -c --path to docker-compose.yml file-- --stackname--
Some Samples
wget https://raw.githubusercontent.com/Azure/azure-docker4azureoms/master/docker-compose-ekv3.yml && docker stack deploy -c docker-compose-ekv3.yml elasticsearchkibana
- ElasticSearch Service: http://Docker4AzureRGExternalLoadBalance:9200/
- Kibana Service: http://Docker4AzureRGExternalLoadBalance:5601/ \
wget https://raw.githubusercontent.com/Azure/azure-docker4azureoms/master/docker-compose-votingappv3.yml && docker stack deploy -c docker-compose-votingappv3.yml votingapp
- Vote: http://Docker4AzureRGExternalLoadBalance:5002/
- Voting Results: http://Docker4AzureRGExternalLoadBalance:5003
- @ManoMarks Swarm Visualizer: http://Docker4AzureRGExternalLoadBalance:8083
Spring Cloud Netflix Samples
Forked from https://github.com/sqshq/PiggyMetrics, this example demonstrates the use of Netlix OSS API with Spring. The docker-compose file has been updated to make use of the latest features of Compose 3.0; it's still a work in progress. The service container logs are drained into OMS.
wget https://raw.githubusercontent.com/Azure/azure-docker4azureoms/master/docker-compose-piggymetricsv3.yml && docker stack deploy -c docker-compose-piggymetricsv3.yml piggymetrics
- Rabbit MQ Service: http://Docker4AzureRGExternalLoadBalancer:15672/ (guest/guest)
- Eureka Service: http://Docker4AzureRGExternalLoadBalance:8761/
- Echo Test Service: http://Docker4AzureRGExternalLoadBalance:8989/
- PiggyMetrics Sprint Boot Service: http://Docker4AzureRGExternalLoadBalance:8081/
- Hystrix: http://Docker4AzureRGExternalLoadBalance:9000/hystrix
- Turbine Stream for Hystrix Dashboard: http://Docker4AzureRGExternalLoadBalance:8989/turbine/turbine.stream
Monitor dashboard
In this project configuration, each microservice with Hystrix on board pushes metrics to Turbine via Spring Cloud Bus (with AMQP broker). The Monitoring project is just a small Spring boot application with Turbine and Hystrix Dashboard.
Let's see our system behavior under load: Account service calls Statistics service and it responses with a vary imitation delay. Response timeout threshold is set to 1 second.
Simplest Topology Specs
The Simplest topology spec of 1 Manager and 2 worker nodes is as follows for Docker for Azure Stable Channel 17.03.0 CE Release date: 02/08/2017 - Release Date
Multi Manager with scaled worker
3 Swarm Managers with Scaled 4th Worker as below :
Raft HA
The consensus algorithm must ensure that if any state machine applies set x to 3 as the nth command, no other state machine will ever apply a different nth command. Raftscope as below for 5 Swarm Managers.
Reporting bugs
Please report bugs by opening an issue in the GitHub Issue Tracker
Patches and pull requests
Patches can be submitted as GitHub pull requests. If using GitHub please make sure your branch applies to the current master as a 'fast forward' merge (i.e. without creating a merge commit). Use the git rebase
command to update your branch to the current master if necessary.
Usage of Operational Management Suite
OMS Setup is via the OMS Workspace Id and OMS Workspace Key as per the steps below.
Create a free account for MS Azure Operational Management Suite with workspaceName
- Provide a Name for the OMS Workspace.
- Link your Subscription to the OMS Portal.
- Depending upon the region, a Resource Group would be created in the Sunscription like "mms-weu" for "West Europe" and the named OMS Workspace with portal details etc. would be created in the Resource Group.
- Logon to the OMS Workspace and Go to -> Settings -> "Connected Sources" -> "Linux Servers" -> Obtain the Workspace ID like
ba1e3f33-648d-40a1-9c70-3d8920834669
and the "Primary and/or Secondary Key" likexkifyDr2s4L964a/Skq58ItA/M1aMnmumxmgdYliYcC2IPHBPphJgmPQrKsukSXGWtbrgkV2j1nHmU0j8I8vVQ==
- Add The solutions "Agent Health", "Activity Log Analytics" and "Container" Solutions from the "Solutions Gallery" of the OMS Portal of the workspace.
- While Deploying the Docker for Azure Template just the WorkspaceID and the Key are to be mentioned and all will be registered including all containers in any nodes of the Docker for Azure auto cluster.
- Then one can login to https:/...
Docker for Azure with OMS
azure-docker4azureoms
Docker for Azure with OMS and some more stacks
Table of Contents
Prerequisites
- Containerized helper-script to help create the Service Principal
- Obtain App ID
- Obtain App Secret
- Obtain Workspace ID and Key for OMS Solutions
- Deploy the above mentioned solutions.
- Obtain OMS Workspace ID
- Obtain Workspace Key
Deploy and Visualize
Docker for Azure Release Notes. This template has additions on top of Template - Docker for Azure v 1.13.0-1
Tips
- Post Deployment, one can ssh to the manager using the id_rsa.pub as mentioned during swarm creation:
ssh docker@sshlbrip -p 50000
- Transfer the keys to the swarm manager to use it as a jumpbox to workers:
scp -P 50000 ~/.ssh/id_rsa ~/.ssh/id_rsa.pub docker@sshlbrip:/home/docker/.ssh
- For Deploying a stack in v3 docker-compose file:
docker stack deploy -c --path to docker-compose.yml file-- --stackname--
- To update stack:
docker stack up deploy -c --path to docker-compose.yml file-- --stackname--
Samples
wget https://raw.githubusercontent.com/Azure/azure-docker4azureoms/master/docker-compose-ekv3.yml && docker stack deploy -c docker-compose-ekv3.yml elasticsearchkibana
- ElasticSearch Service: http://Docker4AzureRGExternalLoadBalance:9200/
- Kibana Service: http://Docker4AzureRGExternalLoadBalance:5601/
wget https://raw.githubusercontent.com/Azure/azure-docker4azureoms/master/docker-compose-piggymetricsv3.yml && docker stack deploy -c docker-compose-piggymetricsv3.yml piggymetrics
- Rabbit MQ Service: http://Docker4AzureRGExternalLoadBalancer:15672/ (guest/guest)
- Eureka Service: http://Docker4AzureRGExternalLoadBalance:8761/
- Echo Test Service: http://Docker4AzureRGExternalLoadBalance:8989/
- PiggyMetrics Sprint Boot Service: http://Docker4AzureRGExternalLoadBalance:8081/
- Hystrix: http://Docker4AzureRGExternalLoadBalance:9000/hystrix
wget https://raw.githubusercontent.com/Azure/azure-docker4azureoms/master/docker-compose-votingappv3.yml && docker stack deploy -c docker-compose-votingappv3.yml votingapp
- Vote: http://Docker4AzureRGExternalLoadBalance:5000/
- Voting Results: http://Docker4AzureRGExternalLoadBalance:5001
Simplest Topology Specs
The Simplest topology spec of 1 Manager and 2 worker nodes is as follows for Docker for Azure v 1.13.0-1
Raft HA
The consensus algorithm must ensure that if any state machine applies set x to 3 as the nth command, no other state machine will ever apply a different nth command. Raftscope as below for 5 Swarm Managers.
Reporting bugs
Please report bugs by opening an issue in the GitHub Issue Tracker
Patches and pull requests
Patches can be submitted as GitHub pull requests. If using GitHub please make sure your branch applies to the current master as a 'fast forward' merge (i.e. without creating a merge commit). Use the git rebase
command to update your branch to the current master if necessary.
Usage of Operational Management Suite
OMS Setup is via the OMS Workspace Id and OMS Workspace Key as per the steps below.
Create a free account for MS Azure Operational Management Suite with workspaceName
- Provide a Name for the OMS Workspace.
- Link your Subscription to the OMS Portal.
- Depending upon the region, a Resource Group would be created in the Sunscription like "mms-weu" for "West Europe" and the named OMS Workspace with portal details etc. would be created in the Resource Group.
- Logon to the OMS Workspace and Go to -> Settings -> "Connected Sources" -> "Linux Servers" -> Obtain the Workspace ID like
ba1e3f33-648d-40a1-9c70-3d8920834669
and the "Primary and/or Secondary Key" likexkifyDr2s4L964a/Skq58ItA/M1aMnmumxmgdYliYcC2IPHBPphJgmPQrKsukSXGWtbrgkV2j1nHmU0j8I8vVQ==
- Add The solutions "Agent Health", "Activity Log Analytics" and "Container" Solutions from the "Solutions Gallery" of the OMS Portal of the workspace.
- While Deploying the Docker for Azure Template just the WorkspaceID and the Key are to be mentioned and all will be registered including all containers in any nodes of the Docker for Azure auto cluster.
- Then one can login to https://OMSWorkspaceName.portal.mms.microsoft.com/#Workspace/overview/solutions/details/index?solutionId=Containers and check all containers running for Docker for Azure and use Log Analytics and if Required perform automated backups of the APK Based sys using the corresponding Solutions for OMS.
Docker for Azure with OMS
azure-docker4azureoms
Docker for Azure with OMS and some more stacks
Deploy and Visualize
Reporting bugs
Please report bugs by opening an issue in the GitHub Issue Tracker
Patches and pull requests
Patches can be submitted as GitHub pull requests. If using GitHub please make sure your branch applies to the current master as a 'fast forward' merge (i.e. without creating a merge commit). Use the git rebase
command to update your branch to the current master if necessary.
Usage of Operational Management Suite
OMS Setup is via the OMS Workspace Id and OMS Workspace Key as per the steps below.
Create a free account for MS Azure Operational Management Suite with workspaceName
- Provide a Name for the OMS Workspace.
- Link your Subscription to the OMS Portal.
- Depending upon the region, a Resource Group would be created in the Sunscription like "mms-weu" for "West Europe" and the named OMS Workspace with portal details etc. would be created in the Resource Group.
- Logon to the OMS Workspace and Go to -> Settings -> "Connected Sources" -> "Linux Servers" -> Obtain the Workspace ID like
ba1e3f33-648d-40a1-9c70-3d8920834669
and the "Primary and/or Secondary Key" likexkifyDr2s4L964a/Skq58ItA/M1aMnmumxmgdYliYcC2IPHBPphJgmPQrKsukSXGWtbrgkV2j1nHmU0j8I8vVQ==
- Add The solutions "Agent Health", "Activity Log Analytics" and "Container" Solutions from the "Solutions Gallery" of the OMS Portal of the workspace.
- While Deploying the Docker for Azure Template just the WorkspaceID and the Key are to be mentioned and all will be registered including all containers in any nodes of the Docker for Azure auto cluster.
- Then one can login to https://OMSWorkspaceName.portal.mms.microsoft.com and check all containers running for Docker for Azure and use Log Analytics and if Required perform automated backups of the APK Based sys using the corresponding Solutions for OMS.