Включение настраиваемого планировщика 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] Очередь используется слишком часто, игнорируйте ее.

    I1204 20:07:55.911399 1 allocate.go: 194] Выход из Allocate...

    I1204 20:07:55.911407 1 backfill.go:41] Войти Backfill...

    I1204 20:07:55.911413 1 backfill.go:71] Выход из Backfill...

    E1204 20:07:55.911521 1 runtime.go: 69] Наблюдали панику: "недопустимый адрес памяти или разыменование нулевого указателя" (ошибка времени выполнения: недопустимый адрес памяти или разыменование нулевого указателя)

    /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

    паника: ошибка времени выполнения: недопустимый адрес памяти или разыменование нулевого указателя [восстановлено] паника: ошибка выполнения: недопустимый адрес памяти или разыменование нулевого указателя [сигнал SIGSEGV: код нарушения сегментации =0x1 адрес =0x148 pc=0x10ab979]

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
Другие вопросы по тегам