title | description | keywords |
---|---|---|
Deploy Docker for Azure with OMS |
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 |
docker, docker for azure , install, orchestration, management, azure, swarm, OMS, monitoring |
Docker for Azure with OMS and some more stacks
- 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
Docker for Azure Release Notes. This template has additions on top of Template - Docker for Azure v 1.13.0-1
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
-
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
e* 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--
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
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
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.
The Simplest topology spec of 1 Manager and 2 worker nodes is as follows for Docker for Azure v 1.13.0-1
3 Swarm Managers with Autoscaled 4th Worker as below:
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.
Please report bugs by opening an issue in the GitHub Issue Tracker
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.
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.
- OMS Monitoring 3 Swarm Managers with 4 workers and all their containers.