Включение настраиваемого планировщика Kubernetes для пространства имен

У меня есть работа на k8, которая поднимает несколько модулей. Это задание используется для нагрузочного тестирования, поэтому все модули должны запускаться одновременно. Работа не должна запускаться, пока узлы не станут доступными для всех запланированных модулей. Я наткнулся на kube-batch https://github.com/kubernetes-sigs/kube-batch для этого планирования. У меня пара вопросов:

1. Как включить kube-batch только для одного пространства имен в кластере?

2. Установил kube-batch, следуя инструкциям. Но стручки не работают при запуске с ошибкой ниже. Как устранить эту ошибку?

I1204 20:07:55.911393       1 allocate.go:96] Queue <default> is overused, ignore it.

I1204 20:07:55.911399       1 allocate.go:194] Leaving Allocate ...

I1204 20:07:55.911407       1 backfill.go:41] Enter Backfill ...

I1204 20:07:55.911413       1 backfill.go:71] Leaving Backfill ...

E1204 20:07:55.911521       1 runtime.go:69] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)

/home/root1/servicecomb/go/src/github.com/kubernetes-sigs/kube-batch/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:76

/home/root1/servicecomb/go/src/github.com/kubernetes-sigs/kube-batch/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:65

/home/root1/servicecomb/go/src/github.com/kubernetes-sigs/kube-batch/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:51

/usr/local/go/src/runtime/asm_amd64.s:522

/usr/local/go/src/runtime/panic.go:513

/usr/local/go/src/runtime/panic.go:82

/usr/local/go/src/runtime/signal_unix.go:390

/home/root1/servicecomb/go/src/github.com/kubernetes-sigs/kube-batch/pkg/scheduler/framework/session.go:368

/home/root1/servicecomb/go/src/github.com/kubernetes-sigs/kube-batch/pkg/scheduler/plugins/gang/gang.go:154

/home/root1/servicecomb/go/src/github.com/kubernetes-sigs/kube-batch/pkg/scheduler/framework/framework.go:58

/home/root1/servicecomb/go/src/github.com/kubernetes-sigs/kube-batch/pkg/scheduler/scheduler.go:102

/home/root1/servicecomb/go/src/github.com/kubernetes-sigs/kube-batch/pkg/scheduler/scheduler.go:85

/home/root1/servicecomb/go/src/github.com/kubernetes-sigs/kube-batch/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133

/home/root1/servicecomb/go/src/github.com/kubernetes-sigs/kube-batch/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:134

/home/root1/servicecomb/go/src/github.com/kubernetes-sigs/kube-batch/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88

/usr/local/go/src/runtime/asm_amd64.s:1333

panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x148 pc=0x10ab979]

person user2596613    schedule 04.12.2020    source источник
comment
В какой среде вы работаете? Кто ваш облачный провайдер?   -  person Malgorzata    schedule 07.12.2020
comment
Запуск этого локально на minikube   -  person user2596613    schedule 07.12.2020
comment
Вы убедились, что установили целое репо? Есть ли у вас папки crds в /src/github.com/kubernetes-sigs/kube-batch/deployment/kube-batch? Вы проверили, все ли поды / ноды работают?   -  person Malgorzata    schedule 18.12.2020
comment
Да CRD установлены. Он не работает в конце после добавления модулей в кеш.   -  person user2596613    schedule 20.12.2020
comment
Можете ли вы попробовать удалить папку ~ / .minikube, перезагрузиться и снова запустить minikube?   -  person Malgorzata    schedule 28.12.2020


Ответы (1)


Не уверен, что то, чего вы пытаетесь достичь, выполнимо. На мой взгляд, вы можете изменить файл докеров подов, включив в него Supervisord. Затем в supervisord укажите команды, которые вы хотите запускать, когда модули переходят в рабочее состояние, используя приоритет для supervisord. Пример

[program:api]
directory=/usr/local
command=go main.go
priority=100
autostart=true
autorestart=true
stderr_logfile=/var/log
stdout_logfile=/var/log
person Klevi Merkuri    schedule 04.12.2020
comment
Как дождаться, пока все модули перейдут в рабочее состояние, чтобы запустить задачу? - person user2596613; 05.12.2020