Процесс внедрения Zidian Cloud Native KubeSphere

Автор: Чи Сяодун, технический директор компании Spider Point Commercial Network Services Co., Ltd., занимается разработкой и проектированием программного обеспечения более 10 лет, любит изучать различные новые технологии и делиться ими. Источник: Эта статья была составлена ​​Чи Сяодун, лектором на встрече на станции Гуанчжоу 25 ноября, и составлена ​​на основе одноименного контента, которым поделился Учитель Чи на мероприятии.

Знакомство с платформой компании

Компания Spider Point была основана в апреле 2016 года и стремится развивать общественный бизнес в области электронной коммерции (решая проблему доставки на последние 3 километра). Первоначально мы добились развития бизнеса электронной коммерции в сообществе и локализованного распространения через самостоятельно построенные каналы прямых продаж, самостоятельно построенные склады, самостоятельно построенные крупные общественные склады и использование франчайзинговых складов. В лучшем случае у него есть филиалы и дочерние компании в каждой провинции по всей стране, провинциальные склады в каждой провинции и большие склады в крупных городах на севере и юге.

Позже, с упадком индустрии электронной коммерции, компания трансформировалась в комплексное цифровое корпоративное решение (в направлении промышленного Интернета). В целом развитие выглядит следующим образом:

Общие сведения о платформе

Компания создала внутреннее облако, купив серверы и разместив его в компьютерном зале IDC, а для управления виртуальными машинами использовала технологию виртуализации VMware. По мере роста бизнеса проекты переходят от единой архитектуры к распределенной архитектуре, а также увеличивается количество виртуальных машин, что создает множество проблем для управления разработкой, эксплуатацией и обслуживанием. проблемы с базовой архитектурой компании.

  • Бизнес быстро развивается, новых виртуальных хостов нет, а среда сложна в настройке, что можно решить с помощью шаблонов виртуальных машин на раннем этапе;
  • Все деловые звонки между различными проектными командами проводятся через HTTP-интерфейсы, что неэффективно;
  • Развертывание основано на ручной компиляции, упаковке, загрузке, тестировании/онлайн, отсутствии CI/CD и низкой эффективности разработки;
  • Нагрузка на эксплуатацию и обслуживание высока, ресурсы эксплуатации и обслуживания отсутствуют, а мониторинг различных сервисов и промежуточного программного обеспечения отсутствует.Хотя Zabbix доступен, он не может управляться и не имеет единой панели мониторинга;
  • Трудно динамически выделять и использовать ресурсы виртуальных машин, а эти ресурсы фиксированы;
  • Не хватает профессионального персонала по эксплуатации и техническому обслуживанию, установка и мониторинг среды не идеальны, а использование ресурсов трудно визуализировать (есть только один персонал по эксплуатации и техническому обслуживанию);
  • Команда внешнего интерфейса также хочет внедрить контейнерное развертывание вместо локальной упаковки и загружать статические файлы через FTP;
  • Если персонал по эксплуатации и техническому обслуживанию хочет сократить количество виртуальных машин, им не нужно создавать много виртуальных машин для новых онлайн-сервисов, а достаточно добавить небольшое количество узлов.

Выбор платформы

Болевые точки бизнеса

Начиная с предыдущего введения, в ходе эволюции от единой архитектуры к распределенной архитектуре, с быстрым обнаружением и быстрым реагированием бизнеса, появляется все больше и больше базовых модулей и бизнес-модулей, и команда занята процессом упаковки и развертывания. .

  • Исправьте ошибки и упакуйте для развертывания.
  • Онлайн-упаковка и развертывание.
  • Каждый раз, когда вся команда выходит в интернет, они остаются занятыми до поздней ночи.
  • Неэффективность и отложенные версии.

Представляем полуавтоматическое развертывание Jenkins

Чтобы решить проблему эффективности команды, сначала был представлен Jenkins, и большинство проблем с развертыванием были решены с помощью Jenkins.

Представляем Kubernetes (K8s)

Внедрение Jenkins значительно повысило эффективность, но все еще остаются некоторые проблемы:

  • Служб слишком много, и каждое развертывание приходится ставить в очередь.
  • Слишком много виртуальных машин, а стоимость поддержки сценариев оболочки высока.
  • Загрузка ресурсов низкая и не используется в полной мере.

Создание самостоятельного кластера K8s может решить проблему громоздких сценариев Shell. В сочетании с плагином K8s от Jenkins его можно развернуть через Dockerfile + yaml.

Болевые точки при обслуживании самодельных K8:

  • Кластер сложно эксплуатировать и обслуживать, не хватает простых и удобных инструментов визуализации, большая часть команды — разработчики и имеют ограниченный опыт эксплуатации и обслуживания.
  • Все операции K8s выполняются в виде чистых сценариев, и их обслуживание затруднено.Из-за отсутствия визуальных инструментов развертывание приложений и модификация конфигурации полагаются на ручное выполнение командных сценариев.
  • Цель восстановления разрешений сервера по-прежнему не достигнута.Для устранения проблемы нам по-прежнему необходимо использовать K8s, в котором отсутствует мониторинг ресурсов и планирование.

Причины выбора KubeSphere

В ходе исследования инструментов визуального управления K8 было обнаружено, что KubeSphere больше подходит для компаний.По сравнению с зарубежными Kubernetes Dashboard и Rancher с открытым исходным кодом, KubeSphere все же больше подходит для внутреннего использования.

  • Инструмент управления Visual K8s, включая все функции K8s.
  • Интегрированный DevOps снижает сложность развертывания и жизненный цикл приложений.
  • Мультиарендное управление отвечает потребностям изоляции бизнеса различных дочерних компаний.
  • Интегрируйте функции управления разрешениями ролей, чтобы удовлетворить потребности в назначении разных разрешений разным сотрудникам.
  • Функция онлайн-просмотра журнала упрощает управление пользователями сервера.
  • Визуальное управление кластером и визуализация мониторинга.
  • Все функции платформы являются подключаемыми и слабосвязанными, а необходимые функциональные компоненты могут быть установлены опционально в соответствии с бизнес-сценариями.

Практика внедрения и результаты

Развертывание микросервисной архитектуры платформы

Планирование и установка производственной среды KubeSphere

План конфигурации производственного кольца: 3 главных узла: диск 8C 16G 100G, 10+ рабочих узлов (начальный), 20+ рабочих узлов (возможно увеличение).

Разверните набор микросервисов SpringCloud, включая Eureka, Redis и микросервисы платформы электронной коммерции, такие как продукты, заказы, членство и т. д. Микросервисы ToB, более 10 проектов по цифровизации предприятий.

Правила использования KubeSphere

Команда и проектное подразделение

  • Создавайте разные корпоративные пространства на базе дочерних компаний и разных терминалов – корпоративные пространства.
  • В управлении проектами разные портфели проектов создаются в соответствии с разными направлениями деятельности.
  • Создавайте пользователей с обычными для платформы ролями.
  • Добавляйте участников в корпоративное пространство, управление проектами и конвейер.

Управление узлами и их развертывание

  • Метка узла: настройка метки для каждого узла, используется совместно с yml.
  • Режим хост-сети не используется.
  • Важные файлы данных монтируются в каталог хоста.
  • Внешние службы должны предоставить конфигурацию NodePort.

Кластер КубеСферы

Развертывание и конвейер приложений KubeSphere

Эффекты использования KubeSphere

  • Полноценный DevOps освобождает от работы по частой упаковке и развертыванию разработки и фокусируется на исследованиях и разработках.
  • Визуальный мониторинг ресурсов в сочетании с сигнализацией и другими мерами улучшает возможности эксплуатации и технического обслуживания.
  • Мультиарендность, мультипространство, изоляция проектов и разделение прав пользователей делают управление межбизнес-группой более точным.
  • Уменьшите исходный виртуальный хост (4C 8G), чтобы сформировать узел с большими ресурсами, улучшив использование ресурсов.
  • Он поддерживает динамическое онлайн-расширение и прост в эксплуатации. Если вы хотите добавить или уменьшить экземпляры, вы можете сделать это с помощью всего одной операции.
  • Интерфейсная часть также реализует контейнерное развертывание, освобождая от необходимости вручную упаковывать и загружать данные.

Проблемы и решения

Официально предоставленная версия Maven на тот момент не была версией 3.6.Как это решить?

Решение. Создайте базовый образ Maven 3.6 самостоятельно, затем найдите образ Maven в конфигурации кластера и измените его.

Я сам построил Nexus, как изменить maven settings.xml?

Решение: отфильтруйте kubesphere-devops-system в CRD, найдите ks-install и измените файл maven settings.xml внутри. После внесения изменений войдите в Jenkins и перезагрузите конфигурацию.

Как получить доступ к Дженкинсу?

Решение: IP мастера + 30180, пароль учетной записи и администратор KubeSphere. Вы можете обратиться к файлу: https://juejin.cn/post/7124589639536476190 .

Как получить доступ к общим файлам в контейнере?

Решение: Доступ путем установки системы NFS.

Файлы в контейнере исчезают при его уничтожении. Хотите сохранить файлы на более длительный срок?

Решение: смонтируйте файлы/или диски хоста.

Будет ли контейнер уничтожен в процессе последовательного развертывания?Будет ли по-прежнему доступен доступ к другим служебным вызовам через старый IP-адрес 404?

Решение: Вызов (SVC) через Сервис в Kubernetes.

Как DevOps работает с самостоятельно созданным Gitlab, запуская сборку?

Решение: введите Jenkins и используйте универсальные триггеры-перехватчики в конвейере.

будущий план

Благодаря внедрению платформы управления промежуточным программным обеспечением KubeSphere общая эффективность доставки значительно повышается, экономится время в процессе развертывания, а CI/CD лучше реализуется с помощью инструментов; предоставляется визуальный интерфейс ресурсов, обеспечивающий более четкое понимание каждого сервера. можно хорошо контролировать.

По мере развития использования платформы на нее будет переходить все больше и больше предприятий, включая интерфейсные, .net и другие дочерние предприятия. Дополнительные функции KubeSphere послужат хорошей основой для развития бизнеса.

Эта статья опубликована OpenWrite, блогом, в котором публикуется множество статей !

Тан Сяоу, основатель SenseTime, скончался в возрасте 55 лет. В 2023 году PHP находился в застое . Система Hongmeng вот-вот станет независимой, и многие университеты создали «классы Hongmeng». Версия Quark Browser для ПК начала внутреннее тестирование. ByteDance был «запрещен» OpenAI. Стартап-компания Чжихуэйцзюня была рефинансирована на сумму более 600 миллионов юаней, а предварительная оценка составила 3,5 миллиарда юаней. Помощники по написанию кода на основе искусственного интеллекта настолько популярны, что они даже не могут конкурировать в программировании. языковые рейтинги Mate 60 Pro модем 5G и радиочастотная технология далеко впереди No Star, No Fix MariaDB отделяется от SkySQL и становится независимой компанией
{{o.name}}
{{м.имя}}

рекомендация

отmy.oschina.net/u/4197945/blog/10322584
рекомендация