Add ability to configure the number of max concurrent reconciles (#154)
* Add MAX_CONCURRENT_RUN_RECONCILES to yaml
This commit is contained in:
Родитель
dd3aa96f99
Коммит
984e6ed5de
|
@ -20,3 +20,5 @@ spec:
|
|||
secretKeyRef:
|
||||
name: dbrickssettings
|
||||
key: DatabricksToken
|
||||
- name: MAX_CONCURRENT_RUN_RECONCILES
|
||||
value: "1"
|
||||
|
|
|
@ -19,6 +19,8 @@ package controllers
|
|||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
|
@ -31,8 +33,11 @@ import (
|
|||
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||
|
||||
databricksv1alpha1 "github.com/microsoft/azure-databricks-operator/api/v1alpha1"
|
||||
ctrl_controller "sigs.k8s.io/controller-runtime/pkg/controller"
|
||||
)
|
||||
|
||||
const maxConcurrentReconcilesEnvName = "MAX_CONCURRENT_RUN_RECONCILES"
|
||||
|
||||
// RunReconciler reconciles a Run object
|
||||
type RunReconciler struct {
|
||||
client.Client
|
||||
|
@ -110,5 +115,18 @@ func (r *RunReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
|
|||
func (r *RunReconciler) SetupWithManager(mgr ctrl.Manager) error {
|
||||
return ctrl.NewControllerManagedBy(mgr).
|
||||
For(&databricksv1alpha1.Run{}).
|
||||
WithOptions(ctrl_controller.Options{
|
||||
MaxConcurrentReconciles: getMaxConcurrentReconciles(),
|
||||
}).
|
||||
Complete(r)
|
||||
}
|
||||
|
||||
func getMaxConcurrentReconciles() int {
|
||||
concurrentReconciles, err := strconv.Atoi(os.Getenv(maxConcurrentReconcilesEnvName))
|
||||
|
||||
if err != nil || concurrentReconciles < 1 {
|
||||
return 1
|
||||
}
|
||||
|
||||
return concurrentReconciles
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@ wget https://github.com/microsoft/azure-databricks-operator/releases/latest/down
|
|||
unzip release.zip
|
||||
```
|
||||
|
||||
> (optional) [Configure maximum number of run reconcilers](##configure-maximum-number-of-run-reconcilers)
|
||||
|
||||
2. Create the `azure-databricks-operator-system` namespace:
|
||||
|
||||
```sh
|
||||
|
@ -40,6 +42,16 @@ kubectl --namespace azure-databricks-operator-system \
|
|||
kubectl apply -f release/config
|
||||
```
|
||||
|
||||
## Configure maximum number of run reconcilers
|
||||
|
||||
1. Change the `MAX_CONCURRENT_RUN_RECONCILES` value in `config/default/manager_image_patch.yaml` under the `env` section with the desired number of reconcilers
|
||||
```yaml
|
||||
- name: MAX_CONCURRENT_RUN_RECONCILES
|
||||
value: "1"
|
||||
```
|
||||
|
||||
> By default `MAX_CONCURRENT_RUN_RECONCILES` is set to 1
|
||||
|
||||
## Use kustomize to customise your deployment
|
||||
|
||||
1. Clone the source code:
|
||||
|
|
Загрузка…
Ссылка в новой задаче