Skip to content
This repository has been archived by the owner on Aug 26, 2021. It is now read-only.
/ admiral Public archive

Container management solution with an accent on modeling containerized applications and provide placement based on dynamic policy allocation

License

Notifications You must be signed in to change notification settings

vmware-archive/admiral

Repository files navigation

Admiral

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.

2. Download the published build archive, you can find it in 'Downloads' section here.

java -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

3. Clone the repo and build locally. Detailed instructions about building locally can be found in the Admiral developer guide:

  • 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:

Admiral wiki