Skip to content

Commit

Permalink
Add Deployment-based deployment strategy (#169)
Browse files Browse the repository at this point in the history
  • Loading branch information
bfjelds authored Dec 10, 2020
1 parent bf6e94a commit 29a4631
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion docs/proposals/broker-deployment-strategies.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ if you pass a second Configuration. This is a fairly specific implementation tha
The next section discusses some ways the Akri Controller and Agent could be extended to allow for other broker
deployment strategies.
## New Deployment Strategies
### DeploymentSpec-based
Unlike a DaemonSet, where each broker is deployed once to each node (bounded by Configuration.Capacity), a
DeploymentSpec-based approach could be provided. With this approach, the number of brokers deployed would be governed by the minimum of Deployment.Replicas and Configuration.Capacity. Brokers would be scheduled by the default Kubernetes scheduler.

One benefit to this would be high availability for non-shared Instances (currently, using the DaemonSet paradigm, only 1 broker is deployed per non-shared Instance), as the number of deployed brokers would be configured by Deployment.Replicas.

### Instance Pooling
With regular [Kubernetes device
plugins](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/), operators can
Expand Down Expand Up @@ -151,4 +157,4 @@ actual devices back to the kubelet instead of "virtual" device usage slots as do
Advertizing resources at the Configuration level would also allow users to utilize the Akri Agent in order to expose
their resources to the cluster and then manually apply deployments that utilize Configuration level resources across the
cluster -- in this scenario there would be no `brokerPodSpec` in the Configuration. In this sense, if resources are
exposed at the Configuration level, users could choose their own deployment strategy.
exposed at the Configuration level, users could choose their own deployment strategy.

0 comments on commit 29a4631

Please sign in to comment.