Площадки
Площадка — одна установка Arkvory: основная, зеркало в другом месте, установка, которая импортирует версии из другой. На странице Площадки одна установка, управляющая площадка, показывает каждую площадку, которой управляет: отвечает ли она, её версию, копии HA и шлюзы чтения, зеркала и насколько они отстают, очередь скачиваний. Страницу видят только глобальные администраторы.
Состояние кластера
Страница начинается с карточки Состояние кластера: что требует внимания на площадках и какая площадка питает какую. Управляющая площадка строит её по последним опросам площадок, не чаще раза в 5 секунд, и показывает в ней себя как «эту площадку».
Оповещения
Каждое оповещение называет площадку и проблему. Сначала идут самые серьёзные: Критично, затем Внимание, затем Сведения. Если ничего не требует внимания, список так и говорит.
| Оповещение | Серьёзность | Когда | Что делать |
|---|---|---|---|
| Недоступна | Критично | Нет ответа 2 минуты. Один неудачный опрос — ещё не оповещение | Проверьте площадку и сеть |
| Сертификат, отзыв, отказ, непонятный ответ | Критично | Сразу, вместе с одноимённым состоянием | Подключите заново или обновите обе установки |
| Устаревшие сведения | Внимание | Площадка отвечала, но её не опрашивали дольше трёх периодов опроса (90 секунд) плюс время одного круга опросов: фоновые опросы управляющей площадки зависли | Проверьте процесс API управляющей площадки |
| Запись невозможна | Критично | Процесс записи отказывает в записи, хотя не завершает работу | Проверьте его базу данных и диск |
| Копии | Критично | Площадке HA не хватает копий данных; запись приостановлена, пока они не вернутся | Верните недостающий узел, см. Кластер высокой доступности |
| Одна копия | Внимание | Копий не хватает, но оператор разрешил одну копию до срока | Верните недостающий узел до этого срока |
| Сбой зеркала | Внимание | Последняя синхронизация зеркала не удалась. Повторное чтение восстановленного источника не в счёт | Посмотрите код ошибки зеркала |
| Зеркало отстаёт | Внимание | Зеркало отстаёт от источника на ARKVORY_FLEET_LAG_ALERT изменений (по умолчанию 1000) или больше | Проверьте источник, сеть и зеркало |
| Сбой обновлений | Внимание | Агент обновлений площадки сообщает о сбое | Откройте Обновления в настройках площадки |
| Другая версия | Сведения | На площадке другая версия, чем на управляющей площадке | Обновите площадки до одного выпуска |
Оповещения строятся только по свежим опросам: площадка, которая не отвечает, даёт своё оповещение, а не оповещения о том, что сообщила в последний раз. Один круг опросов занимает до 15 секунд на каждые восемь площадок: управляющая площадка опрашивает не больше восьми сразу и ждёт каждую до 15 секунд. Оповещение об устаревших сведениях добавляет это время, поэтому много недоступных площадок не выдают исправные за зависшие. Prometheus оповещает при том же ARKVORY_FLEET_LAG_ALERT, см. Мониторинг.
Связи
Связи показывает, какая площадка питает какую. Каждое зеркало и импорт — стрелка от площадки-источника к площадке, на которой лежит зеркало.
- Источник, по адресу которого не отвечает ни одна управляемая площадка, нарисован своим адресом в пунктирной рамке. Если этот источник — сама управляющая площадка, задайте
ARKVORY_SITE_URL, см. Настройки. - Связь со сбоем — красный пунктир.
- Число на связи — на сколько изменений зеркало отстаёт от источника.
- Пока площадка не отвечает, её связи и отставание остаются такими, какими она сообщила их в последний раз, с пометкой «по последним сведениям»: на карте — пунктиром, в таблице — с подсказкой По последним сведениям: площадка не отвечает.
Под картой — таблица с теми же сведениями: Источник, Площадка, Репозиторий, Репозиторий источника и Отставание.
Глобальные администраторы управляющей площадки получают те же оповещения и связи через GET /api/v1/fleet/overview или в SDK через client.fleet.overview(). Для Prometheus управляющая площадка отдаёт состояние своих площадок и число оповещений: см. Мониторинг.
Как это устроено
- Управляющая площадка хранит список площадок. Она опрашивает каждую раз в 30 секунд по HTTPS и сохраняет последний ответ, поэтому площадка, которая перестала отвечать, всё равно показывает последнее известное состояние.
- При сопряжении площадка выдаёт управляющей собственный ключ — ключ управления. Он открывает только то, что нужно управляющей: состояние площадки, описания в её каталоге и перечисленные изменения — очередь скачиваний, запросы обновления и изменения зеркал и HA для агента площадки. Скачать байты файлов, записать в репозитории, прочитать или изменить учётные записи и ключи он не может.
- Управляющая площадка хранит ключи управления запечатанными ключом из своего каталога данных (
fleet.key). По одной базе данных и её резервным копиям их не узнать. После восстановления сопрягите площадки заново. - Каждая площадка показывает, какие управляющие площадки ею управляют, и может отозвать их в любой момент.
Подключить площадку
- На площадке: откройте Площадки и в разделе Эта площадка выберите Создать код сопряжения. Площадка покажет код, действующий десять минут, и при встроенном HTTPS — отпечаток своего сертификата.
- На управляющей площадке: откройте Площадки, в разделе Подключить площадку введите адрес площадки и выберите Проверить. Управляющая площадка соединится и покажет отпечаток полученного сертификата.
- Сравните два отпечатка. Они должны совпадать. Если они разные, адрес неверен или между установками кто-то стоит: не подключайте.
- Введите код и выберите Подключить. Площадка появится в списке со своим состоянием.
Код срабатывает один раз. Использованный или просроченный код отклоняется: создайте новый.
Адрес — HTTPS-адрес API площадки, например https://branch.example:8443. Обычный HTTP принимается только на том же компьютере (127.0.0.1). Если TLS завершается на прокси перед площадкой, площадка не может показать сертификат прокси: сравните с отпечатком SHA-256, который браузер показывает для адреса площадки.
Дальше управляющая площадка доверяет ровно этому сертификату. Когда у площадки новый сертификат, она показывает Сертификат изменился: удалите площадку и подключите заново.
Состояния
| Состояние | Что значит | Что делать |
|---|---|---|
| Работает | Площадка ответила на последний опрос | Ничего |
| Ещё не опрошена | Площадку ещё не опрашивали | Дождитесь следующего опроса или выберите Опросить |
| Недоступна | Нет ответа: площадка остановлена или нет сети | Проверьте площадку и сеть. Последнее известное состояние остаётся видным |
| Сертификат изменился | Площадка показывает не тот сертификат, что был подтверждён | Если сертификат перевыпустили, удалите площадку и подключите заново |
| Доступ отозван | Администратор площадки отозвал эту управляющую площадку | Подключите заново с новым кодом |
| Непонятный ответ | Площадка ответила так, как этот выпуск не понимает | Обновите обе установки до одного выпуска |
| Отказ | Площадка отказала в запросе | Подключите заново с новым кодом |
Что показывает список
- Версия: выпуск площадки и её роль — запись или шлюз чтения.
- HA и шлюзы: в HA-кластере — полные копии и сколько копий нужно для записи; шлюзы чтения, которые держат свой слот.
- Зеркала: зеркала и импорты площадки; на сколько изменений отстаёт самое отстающее или сколько остановлено.
- Очередь скачиваний: скачивания, которые идут, и скачивания, которые ждут в очереди.
- Последний ответ: когда площадка отвечала последний раз.
Опросить все опрашивает все площадки сразу, не дожидаясь следующего круга. Удалить забывает площадку здесь; отзовите управляющую площадку и на самой площадке, потому что до тех пор её ключ там действует.
Содержимое площадки
Содержимое в строке площадки открывает под списком её репозитории, артефакты и файлы. Выберите репозиторий; Найти ищет артефакты по имени или метке и показывает файлы, путь которых начинается с введённого. Показать ещё читает следующую страницу.
Управляющая площадка читает это на площадке своим ключом управления и показывает ответ таким, каким его дала площадка. Передаются только описания: имена, размеры, метки, стадии, пути и ревизии. Чтобы скачать файл, используйте саму площадку.
Настройки площадки
Настройки в строке площадки открывает её настройки под списком; Настройки этой площадки открывает такую же карточку для этой площадки. В карточке три части:
- Очередь скачиваний: сколько скачиваний идёт одновременно, места в запасе для людей, стратегия, веса классов и другие значения очереди из управления трафиком. Пустое поле оставляет значение из окружения площадки, оно показано серым. Сохранить настройки очереди применяет значения сразу, без перезапуска: новые решения следуют им, активные скачивания сохраняют места. Вернуть значения по умолчанию возвращает к окружению.
- Обновления: установленная и последняя версия, автоматическая установка и час обслуживания, Проверить сейчас и Установить обновление. Агент обновлений площадки берёт запрос в течение минуты; до этого карточка показывает его принятым.
- Зеркала и кластер: зеркала и импорты площадки с кнопками Заменить ключ и Отключить, Подключить зеркало или импорт с ключом источника, а в кластере HA — Переключить на узел с полной копией (имя узла вводится дважды) и решение об одной копии. Агент площадки применяет каждый запрос в течение минуты с проверками и откатом
arkvory configureиcluster-*; Запросы к агенту показывает, чем закончился каждый. Ключ источника уходит агенту один раз, отдельным файлом, и больше нигде не показывается. Агент — это агент обновлений площадки: подключите его командойupdates-connect.
Каждое изменение несёт ревизию, от которой оно сделано. Если кто-то изменил настройки за это время, площадка отклонит изменение, а карточка покажет текущие значения: проверьте их и сохраните снова. Площадка записывает, кто изменил её очередь: ключ управляющей площадки и имя её администратора.
С управляющей площадки зеркало или импорт подключается только как новый репозиторий, а сертификат центра источника задаётся на самой площадке (arkvory configure --mirror-ca-file): то, чему доверяет площадка, удалённо не меняется. Список запросов показывает, чем закончилось каждое изменение, кодом; собственные сообщения агента остаются в его журнале на площадке. Если изменение прервалось на полпути, агент не возьмёт другое, пока администратор площадки не проверит её и не выполнит там arkvory changes-reset --root <корень>.
Кто управляет этой площадкой
В разделе Эта площадка каждая площадка перечисляет управляющие площадки: имя, кто подключил, когда и последний запрос. Отозвать сразу перестаёт принимать ключ управляющей площадки.
Настройки
| Переменная | По умолчанию | Значение |
|---|---|---|
ARKVORY_SITE_NAME | имя хоста | Как эта установка называется на других площадках |
ARKVORY_FLEET_KEY_FILE | fleet.key в каталоге данных | Ключ, которым запечатаны ключи управляемых площадок; создаётся при первом запуске процесса записи |
ARKVORY_SITE_URL | не задана | Адрес https://host[:port], по которому другие площадки обращаются к этой установке. С ним зеркала, источник которых — эта установка, ведут к ней на карте Связи. Неверное значение останавливает запуск |
ARKVORY_FLEET_LAG_ALERT | 1000 | Отставание от источника в изменениях, при котором зеркало управляемой площадки даёт оповещение; целое число, 1 или больше |
Ограничения
- Проверка ограждения и добавление или вывод узлов кластера остаются локальными командами на узлах. Шлюзы чтения сохраняют очередь скачиваний из своего окружения.
- Управляющая площадка управляет до 256 площадок и опрашивает не больше восьми одновременно.
- У управляющей площадки есть ключ к каждой площадке, которой она управляет: берегите её глобальных администраторов и каталог данных так же тщательно, как сами площадки.