#python #kubernetes
#питон #kubernetes
Вопрос:
Поддержка Kubernetes load-balancing
.
Давайте возьмем простой сенарио:
- Процесс выполняется на одном узле
- Этот процесс создает несколько процессов
- Будут ли все новые процессы выполняться на одном и том же узле Kubernetes? или на нескольких узлах (при поддержке балансировки нагрузки ?)
простой пример:
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(f, [1, 2, 3])
В приведенном выше примере мы создаем 3 процесса.
- Все ли 3 процесса выполняются на одном и том же узле k8s? или может быть, что 2 процесса выполняются на одном узле, а третий процесс будет выполняться на третьем узле?
Комментарии:
1. Все процессы будут выполняться на одном и том же узле kubernetes.
Ответ №1:
Я думаю, вы еще не совсем понимаете docker. Поскольку контейнер содержит это приложение, вся память / выполнение будут выполняться только в этом контейнере, с K8s или без него.
K8s служит только в качестве оркестратора docker для нескольких контейнеров, которые, как правило, вообще не должны иметь никакой связи между контейнерами.
Таким образом, ответ заключается в том, что все процессы, которые он создал в одном и том же узле, будут выполняться только на этом конкретном узле.