Skip to content
deploy.md 2.13 KiB
Newer Older
Mike Roy's avatar
Mike Roy committed
# Deployment Procedure
## Goal
- Guidance on deploying AdvantEDGE

## Pre-requisites
- setup [AdventEDGE Runtime Environment](setup_runtime.md)
- install and configure [meepctl CLI tool](meepctl/meepctl.md)

## Summary
Mike Roy's avatar
Mike Roy committed
- [`meepctl dockerize all`](#dockerization)
Mike Roy's avatar
Mike Roy committed
- [`meepctl deploy all`](#deployment)

###### Note
> As per the Docker/Kubernetes workflow, Docker images must be stored in a Docker registry prior to being deployed.

## Dockerization
Prior to deploying AdvantEDGE, an intermediate step is needed.
Container images of AdvantEDGE micro-services need to be generated and stored in the local Docker registry.

[_meepctl_](meepctl/meepctl.md) tool is used to dockerize these micro-services and store them in the local docker registry; this is achieved through the [_dockerize_](meepctl/meepctl_dockerize.md) command.

```
meepctl dockerize all
```

To verify that the operation was successful, you can list the local registry content and verify the creation time of the AdvantEDGE containers
```
docker images | grep meep
```

## Deployment
AdvantEDGE deployment is achieved through the [_meepctl CLI tool_](meepctl/meepctl.md)

AdvantEDGE micro-services are classified in two groups: _core_ & _dependencies_. [_meepctl_](meepctl/meepctl.md) tool is used to create & destroy these micro-services on the K8s cluster; this is achieved through the [_deploy_](meepctl/meepctl_deploy.md) & [_delete_](meepctl/meepctl_delete.md) commands.

Let's see how it's done with the following examples.

Initially, deploy both groups using:
```
meepctl deploy all
```
Typically, when new AdvantEDGE version become available, only _core_ components need to be updated.
This is achieved by deleting and deploying the core group:
```
meepctl delete core
meepctl deploy core
```
alternatively
`meepctl deploy core --force` would achieve the same result

Our favorite command to verify if everything is running
```
kubectl get pods
```

When finished using AdvantEDGE:
```
meepctl delete all
```
###### Note
> AdvantEDGE dependencies are a pre-requisite needed by the core group. Therefore behavior is undefined if the dependency group is absent/deleted when core containers are deployed