Admiral
Contents
What is Admiral?
Admiral™ is a highly scalable and very lightweight Container Management platform for deploying and managing container based applications. It is designed to have a small footprint and boot extremely quickly. Admiral™ is intended to provide automated deployment and lifecycle management of containers.
This container management solution can help reduce complexity and achieve advantages including simplified and automated application delivery, optimized resource utilization along with business governance and applying business policies and overall data center integration.
Admiral is a service written in Java and based on VMware's Xenon framework. This service enables the users to:
- manage Docker hosts, where containers will be deployed
- manage Policies (together with Resource Pools, Deployment Policies, etc.), to establish the preferences about what host(s) a container deployment will actually use
- manage Templates (including one or more container images) and Docker Registries
- manage Containers and Applications
- manage other common and required entities like credentials, certificates, etc.
Getting started
Running Admiral
There are three ways you can start Admiral:
1. Run container image
docker run -d -p 8282:8282 --name admiral vmware/admiral
Open http://<docker-host-IP>:8282
in browser...Configure Docker Host
Note Due to the significant amount of logs generated it is advisable to include docker log parameters:
--log-driver=json-file --log-opt max-size=1g --log-opt max-file=10
This sample parameters added to docker run command will keep 10 files of 1GB each. Tune according your needs.
here.
2. Download the published build archive, you can find it in 'Downloads' sectionjava -jar admiral-host-*-uber-jar-with-agent.jar --bindAddress=0.0.0.0 --port=8282
Open http://127.0.0.1:8282
in browser...Configure Docker Host
Admiral developer guide:
3. Clone the repo and build locally. Detailed instructions about building locally can be found in the- Building the Admiral agent first (to achieve smaller image file size an LZMA2 compression is used, you need xz utils )
cd container-images/admiral-agent
make buildall
- Building the Java project
mvn clean install -DskipTests
- Run the project
java -jar host/target/admiral-host-*-jar-with-dependencies-and-agent.jar --bindAddress=0.0.0.0 --port=8282
Open http://127.0.0.1:8282
in browser...Configure Docker Host
Building the code
mvn clean install
More info on Admiral wiki
Contributing
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can. If you wish to contribute code and you have not signed our contributor license agreement (CLA), our bot will update the issue when you open a Pull Request. For any questions about the CLA process, please refer to our FAQ.
Before you start to code, we recommend discussing your plans through a GitHub issue or discuss it first with the official project maintainers via the gitter.im chat or project-admiral forum, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.
License
Admiral is available under the Apache 2 license.
This project uses open source components which have additional licensing terms. The source files / docker images and licensing terms for these open source components can be found at the following locations:
- Photon OS docker image, license