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

## Pre-requisites
Kevin Di Lallo's avatar
Kevin Di Lallo committed

- setup [AdvantEDGE Runtime Environment](setup_runtime.md)
Mike Roy's avatar
Mike Roy committed
- 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
Mike Roy's avatar
Mike Roy committed
> As per the Docker/Kubernetes workflow, Docker images must be stored in a Docker registry prior to being deployed.

## Dockerization
Mike Roy's avatar
Mike Roy committed
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
Mike Roy's avatar
Mike Roy committed
```
docker images | grep meep
```

## Deployment
Mike Roy's avatar
Mike Roy committed
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:
Mike Roy's avatar
Mike Roy committed
```
meepctl deploy all
```
Mike Roy's avatar
Mike Roy committed
Typically, when new AdvantEDGE version become available, only _core_ components need to be updated.
This is achieved by deleting and deploying the core group:
Mike Roy's avatar
Mike Roy committed
```
meepctl delete core
meepctl deploy core
```
Kevin Di Lallo's avatar
Kevin Di Lallo committed

Alternatively `meepctl deploy core --force` would achieve the same result
Mike Roy's avatar
Mike Roy committed

Our favorite command to verify if everything is running
Mike Roy's avatar
Mike Roy committed
```
kubectl get pods
```

When finished using AdvantEDGE:
Mike Roy's avatar
Mike Roy committed
```
meepctl delete all
```
Mike Roy's avatar
Mike Roy committed
###### Note
Mike Roy's avatar
Mike Roy committed
> 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