KSYS Docker Cloud Infrastructure by Docker Swarm
- Proxy : traefik
- Management : portainer, swarmpit, registry
- LDAP : openldap, phpldapadmin, ldapaccountmanager
- Logging : graylog
- Monitoring : prometheus, grafana
- ELK : Elasticsearch, logstash, Kibana
Single Node : master and slave in one Docker Node (for testing) Multiple Node : Nultiple master and slave nodes (for production)
https://docs.docker.com/get-started/part4/#create-a-cluster
First, quickly create a virtual switch for your virtual machines (VMs) to share, so they can connect to each other.
- Launch Hyper-V Manager
- Click Virtual Switch Manager in the right-hand menu
- Click Create Virtual Switch of type External
- Give it the name "My Virtual Switch", and check the box to share your host machine’s active network adapter
Now, create a couple of VMs using our node management tool, docker-machine:
docker-machine create -d hyperv --hyperv-virtual-switch "My Virtual Switch" mymanager1
docker-machine --debug --native-ssh create -d hyperv --hyperv-virtual-switch "My Virtual Switch" myworker1
docker swarm init
-
Traefik Dashboard :
-
Swarmpit (admin/admin) :
-
Portainer (admin/portainer) :
-
Prometheus () :
-
Grafana (admin/grafana) :
-
Alertmanager () :
-
Kibana () :
-
Phpldapadmin (cn=admin,dc=ldap,dc=example,dc=org/admin) :
-
LdapAccountManager (admin/admin | master password : lam) :
- https://github.com/stefanprodan/swarmprom
- https://github.com/deviantony/docker-elk
- https://github.com/uschtwill/docker_monitoring_logging_alerting
- https://github.com/imixs/imixs-cloud
- https://github.com/vegasbrianc/prometheus
- https://github.com/wrouesnel/postgres_exporter
- https://github.com/osixia/docker-openldap
- https://github.com/osixia/docker-phpLDAPadmin
- https://dzone.com/articles/swarmprom-prometheus-monitoring-for-docker-swarm
- https://www.akamenskiy.com/docker-swarm-ha-setup-production/
- Server Overview https://grafana.com/dashboards/9721
- Container Overview https://grafana.com/dashboards/9722
- Node Exporter Full https://grafana.com/dashboards/1860
- postgres-exporter https://grafana.com/dashboards/455
Using below ldapsearch script within openldap container to test LDAP user, replace [CONTAIENR ID] with real ID.
Or you may connect to openldap container console in Portainer, then ldapsearch in console directly.
docker exec [CONTAINER ID] ldapsearch -x -H ldap://localhost -b dc=ldap,dc=example,dc=org -D "cn=admin,dc=ldap,dc=example,dc=org" -w admin
Change [LAM Configuration] -> [Edit Server Profiles]