Это второй день моего участия в августовском испытании обновлений, подробности о мероприятии:Испытание августовского обновления
предисловие
HUAWEI CLOUD AI фокусируется на решениях для цифровой трансформации умных кампусов и умных логистических отраслей. В разработке ИИ много сложностей, прежде чем обращаться в ModelArts, в первую очередь, в плане предобработки данных, разметки займет много времени, при обучении необходимо закупить много оборудования GPU, что очень ценно, когда развертывание Это очень сложно и громоздко. В последние годы, с непрерывной зрелостью облачных технологий, все больше и больше предприятий выбирают облачные технологии в качестве основной поддержки цифровой трансформации «В облаке», вступая в новый этап интеллектуального обновления.1. История бизнеса ICBC
В последние годы развитие Интернета оказало огромное влияние на финансовую модель и модель обслуживания в финансовой сфере, вынуждая отрасль к огромным инновациям. Это общая тенденция для банковской бизнес-системы «уходить в облако». В этом отношении ICBC уже находится в авангарде отрасли. До сих пор она сформировала инфраструктурное облако (Iaas), облако платформы приложений. (Paas), финансовое экологическое облако (SaaS) и характеристики ICBC Архитектура облачной платформы «четыре в одном» облачной платформы (BCloud).
1.1 Состав архитектуры облачных вычислений ICBC
Конкретная архитектура облачной платформы ICBC показана на следующем рисунке:
Распределение вышеуказанных четырех модулей отвечает за следующее:
- Облако инфраструктуры (IaaS): Для персонала по эксплуатации и обслуживанию инфраструктуры, обеспечивающего вычисления, хранение, сеть и т. д.Быстрая поставка основных ресурсовСпособность.
- Облачная платформа приложений (PaaS): Предоставить программные ресурсы (среда, промежуточное ПО и приложения) для персонала, занимающегося эксплуатацией и обслуживанием приложений.Быстрое предоставление и быстрое развертываниеСпособность.
- Финансовое экологическое облако (SaaS): Для корпоративных клиентов, совместных партнеровОтраслевые решения, тесно интегрированные с финансовыми услугами ICBC, а также предоставлять партнерам услуги хостинга программного обеспечения SaaS и управления операциями.
- Филиальное облако (BCloud): Для «публичного облака» ICBC он предоставляет хостинг программного обеспечения для филиалов, DevOps, возможности управления эксплуатацией и обслуживанием, а также выводит некоторые новые достижения головного офиса в области построения облачных вычислений.
1.2, стек технологий облачной платформы ICBC
Облачная платформа ICBC основана на ведущих в отрасли облачных продуктах и основных технологиях с открытым исходным кодом в сочетании с характеристиками ICBC для достижения независимой настройки на финансовом уровне.Стек технологий показан на следующем рисунке:
- На основе продуктов HUAWEI CLOUD Stark 8.0 и индивидуальных требований к эксплуатации и обслуживанию создайте облачную инфраструктуру нового поколения.
- Благодаря внедрению технологии контейнеров с открытым исходным кодом Docker, технологии планирования контейнерных кластеров Kubernetes и т. д. компания самостоятельно разрабатывает и создает облачную платформу приложений.
- На основе HaProxy, Dubbo, Elastic Serch и т. д. создается окружающая поддерживающая облачная экосистема, такая как балансировка нагрузки, микросервисы, голографический мониторинг, центр журналов и т. д.
1.3 Эффективность ICBC Financial Cloud
1.3.1 Крупнейший в отрасли масштаб входа в облако
Масштаб облачного контейнера платформы приложений превышает 20 Вт, а масштаб бизнес-контейнера превышает 55 000. Основные приложения практически полностью интегрированы в облако контейнеров. Ситуация с входом в облако показана на следующем рисунке:
1.3.2 Широко используются такие виды бизнеса, как облачные сценарии
Применение в облаке затрагивает широкий спектр предприятий и поддерживает многие ключевые области, такие как личные финансы и онлайн-каналы.Основной бизнесПриложение, представленное инфраструктурой распределенных служб и базой данных MySQL.Техническая поддержкаПриложения, представленные Интернетом вещей, блокчейном, машинным обучением и большими данными.новое технологическое полеПрименение, комплексная ситуация показана на следующем рисунке:
1.4 Аварийное восстановление и гарантия высокой доступности
- Облачная платформа поддерживает многоуровневый механизм защиты от сбоев, чтобы гарантировать, что разные экземпляры одной и той же службы будут распределены по разным доменам ресурсов в двух местах и в трех центрах сбалансированным образом, а домены сбоя разделены с низкой степенью детализации, чтобы гарантировать, что отказ одного хранилища, одного кластера или даже одного центра обработки данных не повлияет на общую доступность бизнеса, и ситуация планирования показана на следующем рисунке:
- В случае сбоя, исходя из преимуществ k8s, облачная платформа может перезапустить контейнер и автоматически дрейфовать для достиженияАвтоматическое восстановление сбоев,Как показано ниже:
1.5 Статус-кво многокластерного уровня PaaS
Общее количество кластеров k8s составляет почти 100, и они постоянно расширяются, после рассмотрения основных причин мы разделим их на следующие четыре пункта.
1.5.1 Существует множество типов кластеров
Из-за широкого спектра бизнес-сценариев, устройств, поддерживающих GPU, промежуточное ПО, базы данных и базовые контейнерные сети, разные требования приводят к разным решениям, поэтому разные кластеры необходимо настраивать для разных бизнес-сценариев, как показано на следующем рисунке.
1.5.2 Ограничение на количество узлов кластера k8s
Ограниченный производительностью самого k8s, каждый кластер имеет свой верхний предел.
1.5.3 Быстрое расширение бизнеса
До сих пор различные предприятия, включая традиционные приложения, постоянно внедрялись в облако контейнеров.
1.5.4 Много доменов сбоя
Взяв приведенный выше пример 1.4 в качестве примера, схема трех центров в двух местах включает три контроллера домена, и каждый контроллер домена изолирован различными брандмауэрами сетевой зоны для реализации распределения доменов сбоя, как показано на следующем рисунке:
1.6 Решения для текущей ситуации мультикластера
- Платформа управления облаком контейнеровсупер администраторПолучайте, управляйте и обслуживайте несколько кластеров.
- Бизнес-приложения верхнего уровня самостоятельно выбирают кластеры, в том числе сетевые области и так далее.
- Домен сбоя того же шаблона в кластере автоматически расформировывается.
1.7, решить имеющиеся проблемы по программе
- Нет автоматического масштабирования по кластерам. После перехода в облако контейнеров не хватает возможностей автоматического масштабирования внутри кластера во время бизнес-пиков.
- Нет возможности межкластерного планирования.
- Кластер непрозрачен для пользователей верхнего уровня.
- Отсутствует возможность автоматической миграции при межкластерных сбоях, в целом она опирается на избыточность архитектуры «два места и три центра», отсутствует высокая доступность при автоматическом восстановлении.
2. Выбор архитектуры
2.1 Достижение целей
Основываясь на вышеуказанных проблемах, мы поставили соответствующие цели и сделали технический выбор решений, используемых в настоящее время в отрасли.Цели пяти модулей мультиоблачного кластера показаны в следующей таблице:
2.2 Почему вы хотите, чтобы некоторые модули были проектами с открытым исходным кодом и поддержкой сообщества?
- Есть надежда, что общий план является автономным и контролируемым внутри предприятия.
- Я не хочу тратить больше сил на повторение «строительных колес».
- Есть надежда, что многокластерный модуль для общего управления будет изолирован от платформы управления облаком и погружается в многокластерный модуль управления ниже.
Основываясь на вышеуказанных целях, сообщество провело множество исследований, включая, помимо прочего, множество проектов в сообществе.
2.3 Преимущества и недостатки Кубефеда
Преимущество: он может решать некоторые проблемы сам по себе, имеет управление жизненным циклом кластера, некоторые возможности переопределения и некоторые базовые возможности планирования, и его возможности показаны на следующем рисунке:
недостаточный: уровень планирования слишком базовый, и команда сообщества, отвечающая за Kubefed, не готова уделять больше внимания планированию для поддержки пользовательского планирования, включая планирование на основе маржи ресурсов; наиболее критикуемый момент — сами объекты Native k8s не поддерживаются, и некоторые недавно определенные CRD должны использоваться в кластере управления.Для приложений верхнего уровня, которые долгое время использовали собственные объекты ресурсов k8s, необходимо переработать некоторые API, подключенные к платформе управления облаком, в то время как стоимость этой части очень огромен; в целом отсутствует возможность автоматического перехода на другой ресурс. Основываясь на вышеуказанных недостатках и комплексных соображениях, мы пока не будем рассматривать Kubefed.
2.4 Преимущества и недостатки RHACM
RHACM — это проект Red Hat и IBM, функциональная архитектура которого показана на следующем рисунке:
- Функция относительно надежная, но поддерживает только Openshift.Для текущей ситуации с большим количеством кластеров k8s стоимость преобразования огромна.
- Это еще не открытый исходный код, и поддержки сообщества недостаточно.
2.5, Кармада появился в реальном теле
Общий функциональный вид Karmada показан на следующем рисунке:
Karmada полностью соответствует нашим целям внедрения, описанным выше в разделе 2.1.В нем реализовано общее управление жизненным циклом кластера, регистрация кластера, включая мультикластерное масштабирование, планирование, поддержка унифицированного API и низкоуровневого стандартного API, а также CNI и CSI. В целом С функциональной точки зрения существует общее планирование и рассмотрение CI/CD, поэтому ICBC, наконец, решил инвестировать в этот проект, построить его с рядом партнеров, включая Huawei, и вернуть его сообществу.
3. Почему стоит выбрать Кармаду?
3.1 Техническая архитектура.
Кармада в настоящее время находится в открытом доступе в сообществе, и соответствующую информацию и техническую архитектуру можно просмотреть в сообществе.Основная архитектура показана на следующем рисунке:
3.2 Технические преимущества
- Karmada развертывается в форме, подобной k8s, в качестве кластера плоскости управления, а стоимость преобразования невелика.
- Karmada-Controller-Manager управляет различными ресурсами CRD, включая кластер, политику, привязку, работы и т. д., в качестве объектов ресурсов на стороне управления и не вторгается в собственные объекты ресурсов k8s.
- Karmada управляет только планированием ресурсов между кластерами, а распределение подкластеров является высокоавтономным, что необходимо для распределенных систем.
3.3 Как распределяются ресурсы Karmada Resources?
Схематическая диаграмма процесса распределения ресурсов Karmada Resources представлена на следующем рисунке:
Процесс распределения ресурсов Karmada Resources выглядит следующим образом:
- Кластер зарегистрирован в Кармаде.
- Определить шаблоны ресурсов.
- Разработайте политику распространения. Политика распространения.
- Разработайте стратегию переопределения.
- Посмотрите, как работает Кармада.
3.4 Механизм распространения
Механизм распространения распределяется следующим образом:
Информация о политике распространения показана на следующем рисунке:
- Кластерная близость.
- Кластерная толерантность.
- Распределяется по метке кластера, домену сбоя.
Конфигурация сведений о привязке ресурсов/кластерных ресурсов показана на следующем рисунке:
- Область кластер\пространство имен поддерживается.
3.5 Рабочий механизм
Конкретный механизм распределения работы показан на следующем рисунке:
Конфигурация рабочей информации показана на следующем рисунке:
- Works — это всего лишь оболочка для k8s Resource.
- Статус Works используется в качестве обратной связи для ресурса подкластера.
3.6, Преимущество Кармады
После проверки разделим преимущества Кармады на следующие четыре части.
3.6.1. Планирование ресурсов
- Пользовательский диапазон устанавливает запланированную стратегию.
- Примените прозрачность к верхнему слою.
- Поддерживаются два типа планирования привязки ресурсов.
3.6.2 Аварийное восстановление
- Регулировка динамической привязки.
- Автоматически распределяйте объекты ресурсов по метке кластера или домену сбоя.
3.6.3 Управление кластером
- Поддерживается кластерная регистрация.
- Управление полным жизненным циклом.
- Единый стандартный API.
3.6.4 Управление ресурсами
- Поддержка собственных объектов k8s.
- Works поддерживает получение состояния развертывания ресурсов подкластера.
- Распределение объектов ресурсов поддерживает как методы извлечения, так и методы выталкивания.
В-четвертых, перспектива посадки
4.1. Интеграция с облачной платформой
До сих пор в тестовой среде ICBC Karmada управляла существующим кластером, и проблема заключалась в том, как интегрироваться с общей облачной платформой.
4.2. Межкластерное планирование
- Домен сбоя разбит.
- Применить предпочтения, веса.
- Планирование запаса ресурсов кластера.
Наш окончательный желаемый эффект показан на следующем рисунке:
4.3 Масштабирование по кластерам
- Связь между межкластерным масштабированием и субкластерным масштабированием.
- Связь между межкластерным масштабированием и межкластерным планированием.
4.4 Межкластерное восстановление после сбоев и высокая доступность
- Политика оценки состояния работоспособности подкластеров. Он может быть просто отключен от кластера управления, а сервисные контейнеры самого подкластера не повреждены.
- Индивидуальные стратегии аварийного переключения. Например, RestartPolicy, Always, Never, OnFailure.
- Взаимосвязь между изменением расписания и масштабированием по кластерам.
Суммировать
В этой статье представлено текущее состояние облачной платформы ICBC, включая аварийное восстановление и кластеры с несколькими кластерами k8s, исследуются отраслевые решения для управления несколькими кластерами и выбор модели, а также определяется выбор Karmada, представлены ее преимущества, техническая архитектура и конкретные механизмы, а также наконец, представляет Кармаду. Ситуация приземления в ICBC и сценарии, которые, как ожидается, будут созданы и применены в будущем. Поскольку Karmada недавно объявила о своем открытом исходном коде, мы надеемся, что все больше и больше разработчиков присоединятся к сообществу для создания экосистемы сообщества управления несколькими облаками.Я Байлу, программист, который работает не покладая рук. Я надеюсь, что эта статья может быть полезной для вас, и приветствую всех в один клик по трем ссылкам! Если у вас есть другие вопросы, предложения или дополнения, вы можете оставить сообщение под статьей, спасибо за вашу поддержку!