[docs] update readme
This commit is contained in:
parent
35249aac88
commit
818aba66b2
83
README.rst
83
README.rst
@ -3,84 +3,33 @@ Armada
|
|||||||
|
|
||||||
|Docker Repository on Quay| |Build Status| |Doc Status|
|
|Docker Repository on Quay| |Build Status| |Doc Status|
|
||||||
|
|
||||||
A python orchestrator for a installing, upgrading, and managing a
|
Armada is a tool for managing multiple helm charts with dependencies by centralizing
|
||||||
collection of helm charts, dependencies, and values overrides.
|
all configurations in a single Armada yaml and providing lifecycle
|
||||||
|
hooks for all hem releases.
|
||||||
|
|
||||||
Note that this project is pre-alpha and under active development. It may
|
Roadmap
|
||||||
undergo drastic changes to support the long-term vision but
|
-------
|
||||||
contributions are welcome.
|
|
||||||
|
|
||||||
Overview
|
Detailed roadmap can be viewed `here <https://github.com/att-comdev/armada/milestones>`_
|
||||||
--------
|
|
||||||
|
|
||||||
The armada python library and command line tool provides a way to
|
Issues can be reported `here <https://github.com/att-comdev/armada/issues>`_
|
||||||
synchronize a helm (tiller) target with an operators intended state,
|
|
||||||
consisting of several charts, dependencies, and overrides using a single
|
|
||||||
file or directory with a collection of files. This allows operators to
|
|
||||||
define many charts, potentially with different namespaces for those
|
|
||||||
releases, and their overrides in a central place. With a single command,
|
|
||||||
deploy and/or upgrade them where applicable.
|
|
||||||
|
|
||||||
Armada also supports fetching helm chart source and then building charts
|
|
||||||
from source from various local and remote locations, such as git/github
|
|
||||||
endpoints. In the future, it may supprot other mechanisms as well.
|
|
||||||
|
|
||||||
It will also give the operator some indication of what is about to
|
|
||||||
change by assisting with diffs for both values, values overrides, and
|
|
||||||
actual template changes.
|
|
||||||
|
|
||||||
Its functionality may extend beyond helm, assisting in interacting with
|
|
||||||
kubernetes directly to perform basic pre and post steps, such as
|
|
||||||
removing completed or failed jobs, running backup jobs, blocking on
|
|
||||||
chart readiness, or deleting resources that do not support upgrades.
|
|
||||||
However, primarily, it will be an interface to support orchestrating
|
|
||||||
Helm.
|
|
||||||
|
|
||||||
Running Armada
|
|
||||||
--------------
|
|
||||||
|
|
||||||
To use this container, use these simple instructions:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
docker run -d --name armada -v ~/.kube/config:/root/.kube/config -v $(pwd)/examples/:/examples quay.io/attcomdev/armada:latest
|
|
||||||
|
|
||||||
Manual Install
|
|
||||||
~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
If you want to build the docker image, follow these steps:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
docker build . -t <namespace>/armada
|
|
||||||
docker run -d --name armada -v ~/.kube/config:/root/.kube/config -v $(pwd)/examples/:/examples <namespace>/armada
|
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
The installation is fairly straight forward:
|
.. code-block:: bash
|
||||||
|
|
||||||
Recomended Enviroment: Ubuntu 16.04
|
docker run -d --net host -p 8000:8000 --name armada -v ~/.kube/config:/root/.kube/config -v $(pwd)/examples/:/examples quay.io/attcomdev/armada:latest
|
||||||
|
|
||||||
Installing Dependecies
|
Using armada `docs <docs/source/operations/guide-use-armada.rst>`_
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
you can run:
|
Getting Started
|
||||||
|
---------------
|
||||||
|
|
||||||
- ``tox testenv:ubuntu`` or ``sudo sh tools/libgit2.sh``
|
Get started guide can be found in our `docs <docs/source/development/getting-started.rst>`_
|
||||||
- ``sudo pip install -r requirements.txt``
|
|
||||||
|
|
||||||
NOTE: If you want to use virtualenv please refer to `pygit2`_
|
Usage
|
||||||
|
-----
|
||||||
Installing armada
|
|
||||||
~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
``sudo pip install -e .``
|
|
||||||
|
|
||||||
``armada [-h | --help]``
|
|
||||||
|
|
||||||
Using Armada
|
|
||||||
------------
|
|
||||||
|
|
||||||
Before using armada we need to check a few things:
|
Before using armada we need to check a few things:
|
||||||
|
|
||||||
@ -98,7 +47,7 @@ number of charts:
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
$ armada apply examples/openstack-helm.yaml [--debug ]
|
$ armada apply examples/openstack-helm.yaml [--debug-loggging ]
|
||||||
|
|
||||||
Your output will look something like this:
|
Your output will look something like this:
|
||||||
|
|
||||||
|
@ -22,9 +22,8 @@ To use the docker containter to develop:
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
The first build will take a little while. Afterwards the it will much faster
|
The first build will take a little while. Afterwords, it will build much
|
||||||
|
faster.
|
||||||
3. EZPZ :)
|
|
||||||
|
|
||||||
Virtualenv
|
Virtualenv
|
||||||
##########
|
##########
|
||||||
@ -47,10 +46,12 @@ From the directory of the forked repository:
|
|||||||
|
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
pip install -r test-requirements.txt
|
pip install -r test-requirements.txt
|
||||||
|
pip install -e .
|
||||||
|
|
||||||
Your env is now ready to go! :)
|
.. note::
|
||||||
|
|
||||||
.. note:: this will install latest libgit2 library so you have to make sure you install the same version library with pip ( current version: 0.25.0 )
|
this will install the latest libgit2 library so you have to make sure you
|
||||||
|
install the same version library with pip ( current version: 0.25.0 )
|
||||||
|
|
||||||
Kubernetes
|
Kubernetes
|
||||||
##########
|
##########
|
||||||
@ -61,6 +62,4 @@ We recommend:
|
|||||||
|
|
||||||
`Kubeadm <https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/>`_
|
`Kubeadm <https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/>`_
|
||||||
|
|
||||||
`Kubeadm-aio <https://github.com/openstack/openstack-helm/tree/master/tools/kubeadm-aio>`_
|
`Kubeadm-AIO <https://github.com/openstack/openstack-helm/tree/master/tools/kubeadm-aio>`_
|
||||||
|
|
||||||
.. note:: When using Halcyon it will not generate a config file. Run the following commands to create one: `get_k8s_creds.sh <https://github.com/att-comdev/halcyon-vagrant-kubernetes#accessing-the-cluster>`_
|
|
||||||
|
72
docs/source/operations/guide-use-armada.rst
Normal file
72
docs/source/operations/guide-use-armada.rst
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
Armada - Using Armada
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Kubernetes Cluster
|
||||||
|
|
||||||
|
Tiller Service `here <http://github.com/kubernetes/helm>`_
|
||||||
|
|
||||||
|
Armada.yaml `here <guide-build-armada-yaml.rst>`_
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Need to have provided a storage system prior(ceph, nfs)
|
||||||
|
|
||||||
|
Usage
|
||||||
|
-----
|
||||||
|
|
||||||
|
1. Pull or Build the Armada Docker Images:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
Pull:
|
||||||
|
|
||||||
|
docker pull quay.io/attcomdev/armada:latest
|
||||||
|
|
||||||
|
Build:
|
||||||
|
|
||||||
|
git clone https://github.com/att-comdev/armada
|
||||||
|
cd armada/
|
||||||
|
docker build . -t quay.io/attcomdev/armada:latest
|
||||||
|
|
||||||
|
2. Run Armada docker container
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Make sure to mount your kubeconfig into ``/root/.kube/config`` in
|
||||||
|
the container
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
To run you custom Armada.yamls you need to mount them into the container as
|
||||||
|
shown below.
|
||||||
|
This example is using ``examples/`` directory in armada `repo <https://github.com/att-comdev/armada/tree/master/examples>`_
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
docker run -d --net host -p 8000:8000 --name armada -v ~/.kube/config:/root/.kube/config -v $(pwd)/examples/:/examples quay.io/attcomdev/armada:latest
|
||||||
|
|
||||||
|
|
||||||
|
3. Check that tiller is Available
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
docker exec -it armada armada tiller --status
|
||||||
|
|
||||||
|
|
||||||
|
4. If tiller is up then we can start deploying our armada yamls
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
docker exec -it armada armada apply /examples/openstack-helm.yaml [ --debug-logging ]
|
||||||
|
|
||||||
|
5. To upgrade charts just modify the armada yaml or chart code and re-run ``armada
|
||||||
|
apply`` above
|
||||||
|
|
||||||
|
6. To check deployed releases:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
docker exec -it armada armada tiller --releases
|
@ -12,3 +12,4 @@ Operations Guide
|
|||||||
|
|
||||||
guide-troubleshooting.rst
|
guide-troubleshooting.rst
|
||||||
guide-build-armada-yaml.rst
|
guide-build-armada-yaml.rst
|
||||||
|
guide-use-armada.rst
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
armada:
|
armada:
|
||||||
release_prefix: armada
|
release_prefix: armada
|
||||||
charts:
|
charts:
|
||||||
- description: Generate Bootstrap keys
|
- description: Deploys Helm Toolkit and Mariadb
|
||||||
sequenced: True
|
sequenced: True
|
||||||
chart_group:
|
chart_group:
|
||||||
- chart: &helm-toolkit
|
- chart: &helm-toolkit
|
||||||
@ -15,22 +15,11 @@ armada:
|
|||||||
subpath: helm-toolkit
|
subpath: helm-toolkit
|
||||||
reference: master
|
reference: master
|
||||||
dependencies: []
|
dependencies: []
|
||||||
- chart: &bootstrap-openstack
|
|
||||||
name: bootstrap-openstack
|
|
||||||
release_name: openstack
|
|
||||||
namespace: openstack
|
|
||||||
values: {}
|
|
||||||
source:
|
|
||||||
type: local
|
|
||||||
location: /home/ubuntu/openstack-helm
|
|
||||||
subpath: bootstrap
|
|
||||||
reference: master
|
|
||||||
dependencies: []
|
|
||||||
- chart: &mariadb
|
- chart: &mariadb
|
||||||
name: mariadb
|
name: mariadb
|
||||||
release_name: mariadb
|
release_name: mariadb
|
||||||
namespace: openstack
|
namespace: openstack
|
||||||
timeout: 50
|
timeout: 3360
|
||||||
install:
|
install:
|
||||||
no_hooks: false
|
no_hooks: false
|
||||||
upgrade:
|
upgrade:
|
||||||
@ -98,7 +87,6 @@ armada:
|
|||||||
reference: master
|
reference: master
|
||||||
dependencies:
|
dependencies:
|
||||||
- *helm-toolkit
|
- *helm-toolkit
|
||||||
|
|
||||||
- description: Openstack Services
|
- description: Openstack Services
|
||||||
sequenced: false
|
sequenced: false
|
||||||
chart_group:
|
chart_group:
|
||||||
|
Loading…
Reference in New Issue
Block a user