Подключите ResourceManager для Flink FLIP-6, начните новое «сеансовое задание» - PullRequest
1 голос
/ 25 апреля 2019

Я хочу создать новое развертывание k8s с заданием сеанса;и один taskmanager развернут с такой конфигурацией в flink-conf.yaml:

jobmanager.rpc.address: analytics-job
jobmanager.rpc.port: 6123

Однако может показаться, что мой TaskManager отказывается использовать порт 6123 и всегда выбирает порты высокого уровня?Сервис k8s аналитического задания выглядит следующим образом:

apiVersion: v1
kind: Service
metadata:
  name: analytics-job
spec:
  type: ClusterIP
  ports:
  - name: rpc
    port: 6123
  - name: blob
    port: 6124
  - name: query
    port: 6125
    # nodePort: 30025
  - name: ui
    port: 8081
    # nodePort: 30081
  selector:
    app: analytics
    stack: flink
    component: job-cluster

, и, как вы можете видеть, я пробовал использовать оба типа сервиса: ClusterIP и NodePort.Я предпочел бы иметь тип ClusterIP, поскольку он создает внутренний балансировщик нагрузки перед моим процессом k8s Job / standalone-job.sh Flink.

Ответы [ 2 ]

2 голосов
/ 29 апреля 2019

В flink-conf.yaml установите

high-availability.jobmanager.port: 6123

Это вернет соединение менеджера ресурсов обратно к статическому порту, который вы хотите использовать.

1 голос
/ 26 апреля 2019

Причина, по которой вы не получаете nodePorts, как 6123, 6124 и 6125, выделенные мастером Kubernetes, заключается в том, что существует диапазон портов для nodePorts, определенный параметром --service-node-port-range на kube-apiserver. Значением по умолчанию для этого диапазона является 30000-32767.

Вы можете просто добавить этот флаг --service-node-port-range в конфигурацию вашего сервера kubeapi, как правило, в /etc/kubernetes/manifests/kube-apiserver.yaml с некоторым значением, например:

--service-node-port-range=6000-32767

Имейте в виду, что может быть перекрытие портов с некоторыми другими службами, которые вы используете на узле.

В качестве побочного узла FLIP-6 находится в стадии разработки в K8s (на момент написания этой статьи), и вы можете видеть, что в Kubernetes это довольно скромно, поскольку менеджер по работе не является действительно динамически создавая ваш менеджер задач и распределяя ресурсы.

...