Как настроить кластер CoreOS в нескольких центрах обработки данных?

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

Вот мой файл конфигурации облака, который является очень основным.

#cloud-config

coreos:
  etcd:
    # generate a new token for each unique cluster from https://discovery.etcd.io/new
    discovery: https://discovery.etcd.io/<token>
    # use $public_ipv4 if your datacenter of choice does not support private networking
    addr: $public_ipv4:4001
    peer-addr: $public_ipv4:7001
  fleet:
    public-ip: $public_ipv4   # used for fleetctl ssh command
  units:
    - name: etcd.service
      command: start
    - name: fleet.service
      command: start

Что мне нужно, чтобы кластер охватывал несколько центров обработки данных? Например, я использую Digital Ocean и предоставляю машину в Сингапуре, другую в Нью-Йорке и другую в Амстердаме.

Мой дополнительный вопрос заключается в том, что, поскольку я не могу легко найти поддержку для этого варианта использования, мне интересно, не является ли это рекомендуемым способом использования CoreOS, и если нет, не могли бы вы сказать мне, каков предпочтительный способ распределения моих служб по нескольким центры обработки данных?

1 ответ

Вы можете сделать это, но это требует настройки вашего кластера etcd. Расстояния, о которых вы говорите, довольно большие, поэтому ожидайте использовать длительные тайм-ауты. Другие документы здесь: https://coreos.com/etcd/docs/2.0.8/tuning.html

Другие вопросы по тегам