каковы мои мысли
Я недавно изучаю технологию Docker. Думаю, все знают о технологии Docker. Docker похож на виртуальную машину (но принципиально отличается от виртуальной машины) и обеспечивает изоляцию на уровне процесса. Мы можем использовать Docker, чтобы легко делать многие вещи, такие как построение VPN через стену, создание поискового робота, создание частного блога, развертывание среды, которую трудно установить на «голое железо», и т. д. Можно сказать, что существует почти нет цели, которая не может быть достигнута, это просто благосостояние старых утюгов отаку!
Но опять же, роль, которую может играть один Docker, все-таки ограничена, и он не удобен для пакетного управления, а также не может соответствовать характеристикам высокой доступности и гибкого масштабирования, требуемым различными крупномасштабными бизнес-сценариями, поэтому Docker для формирования кластеров И дать множество идеальный механизм планирования, чтобы играть сильное техническое преимущество. Поскольку необходимо сформировать кластер, он включает в себя ряд вопросов, таких как планирование ресурсов и управление Docker. Развитие кластерной технологии Docker идет очень бурно.В настоящее время три основные технологии, задействованные в кластере Docker, представляют собой не что иное, как три основных решения: Docker Swarm, Kubernetes и Mesos.
Docker Swarm — это нативная кластерная технология, предоставляемая Docker, и я провел лишь предварительную практику (Предварительное исследование кластера Docker Swarm), я обнаружил, что начать работу относительно легко, и вы также можете подробно изучить его самостоятельно, поэтому я не буду говорить больше.
Kubernetes (далее K8S) создан Google.Это проект с открытым исходным кодом, который обеспечивает автоматическое развертывание, расширение и управление контейнерными приложениями.Сообщество очень активно, и это также более широко используемая кластерная технология Docker. Недавно я также потратил некоторое время на изучение этого, но из-за отсутствия практического опыта я всегда чувствую себя немного безболезненно, поэтому у меня нет другого выбора, кроме как создать некоторую практику самому, поэтому я хочу использовать это, чтобы сделать что-то из это .
Итак, предыстория окончена. Итак, что именно я хочу делать с Docker и Kubernetes, которым я только что научился? послушай меня медленно...
Примечание:Эта статья была впервые опубликована на моем официальном аккаунтеCodeSheep,МожетНажмитеилисканированиеследующеебудь остороженЗаходи подписывайся ↓ ↓ ↓
В настоящее время можно сказать, что облачный хостинг очень популярен.Интересно, пользовались ли вы услугами облачного хостинга, предоставляемыми XX Cloud в рамках ряда производителей, таких как BAT. Нам нужно только купить облачный хост, а затем мы можем делать на нем разные вещи столько, сколько захотим, например, создавать веб-сайт, настраивать блог, развертывать службы или даже покупать облачный хост Windows непосредственно для использования в офисе.
Возьмем в качестве примера облачный сервис, давайте посмотрим на картинку:
Затем мы можем войти и заплатить за создание облачного хоста для собственного использования, например:
Этот вид услуг сейчас настолько популярен, что я думаю, что за этим должна стоять поддержка технологии контейнеров и кластерных технологий, Думая об этом, я думаю, что каждый должен понять тему моей статьи. Да, в этой статье и в следующей серии статей будет подробно описано, как использовать стек технологий k8s для создания собственного частного облачного сервиса (названногоSheepCloud, как то не очень модно...). В этом случае я могу подать заявку на создание множества облачных хост-узлов у себя дома, а потом делать все, что захочу.Не все облачные вычисления и распределенные эксперименты можно делать бесплатно!
Что ж, идеал хорош, впереди еще много дел...
Какую форму личного частного облака я собираюсь построить?
Фактически, как я уже сказал выше, я собираюсь имитировать функции облачных хостов этих поставщиков облачных услуг.Сначала подайте заявку на создание облачных хостов на веб-странице и назначьте их после успешного создания.IP-адрес/номер подсети + имя пользователя + парольПользователю, чтобы пользователь мог использовать ssh для подключения к назначенному облачному хосту с независимым IP-адресом для работы, что ничем не отличается от услуг облачного хоста, предоставляемых этими поставщиками услуг.
Итак, прежде всего, должна быть страница внешнего интерфейса.Я написал демо с Vue.js (еще не отлаженным совместно с внутренним), чтобы каждый мог иметь перцептивное понимание:
Как я собираюсь начать этот маленький проект
Первоначально моим первоначальным намерением было глубоко попрактиковаться в том, как работают Docker и Kubernetes (далее K8S), но есть еще много вещей.После обобщения задействованных технологий, может быть больше, чем это:
- Docker: Само собой разумеется, ведь он отвечает за посадку контейнера, а облачный хост по сути является контейнером win или linux.
- Kubernetes: управление кластерной технологией Docker, существует множество компонентов куба.
- фланель: отвечает за связь между контейнерами в узле и планирование IP-адресов каждого экземпляра частного облака.
- etcd: распределенная база данных, требуется как для kubernetes, так и для flannel.
- SpringBt: поддержка серверных сервисов
- Vue.js: написание интерфейсных веб-страниц для частного облака …
Для начала я спланировал основной маршрут:
- Ознакомьтесь с Докером
- Знакомы с основными понятиями Kubernetes и строите кластер K8S.
- Понимание кластера K8S и практический эксперимент
- Базовое создание образов и эксперименты, которые могут завершить ручное управление одним контейнером операционной системы.
- Написан код управления ресурсами K8S, который может реализовать автоматический контроль ресурсов контейнера кластером.
- Написание клиентской веб-страницы частного облака
- Совместная отладка интерфейса и сервера
- Подведите итоги
Что я собираюсь выводить
Приготовьтесь к выпуску серии сериализованных статей, эта статья является первой из сериализованной серии
- Используйте стек технологий K8S для создания личного частного облака (сериализация: первая глава)
- Используйте стек технологий K8S для создания личного частного облака (сериал: построение кластера K8S)
- Используйте стек технологий K8S для создания личного частного облака (сериал: понимание и практика среды K8S)
- Используйте стек технологий K8S для создания личного частного облака (сериал: базовое создание изображений и эксперимент)
- Используйте стек технологий K8S для создания личного частного облака (серия: Research on Resource Control)
- Используйте стек технологий K8S для создания личного частного облака (сериализация: создание клиента частного облака)
Суммировать
В последнее время я был глубоко тронут термином «обучение использованию»: действительно трудно освоить технику, если она не дополнена практикой. Учиться на поверхности, без боли и зуда, очень неудобно, если нет практики, придется заниматься самостоятельно! Давайте все поделимся
постскриптум
Дополнительные статьи автора о SpringBt находятся здесь:
- Мониторинг приложений Spring Boot на практике
- Приложения SpringBoot развертываются во внешнем контейнере Tomcat.
- Практика поисковой системы ElasticSearch в SpringBt
- Предварительное изучение совместного программирования Kotlin+SpringBoot
- Практика ведения журнала Spring Boot
- Элегантное кодирование SpringBoot: благословение Ломбока
Если вам интересно, вы также можете уделить время прочтению некоторых статей автора о контейнеризации и микросервисах:
- Используйте стек технологий K8S для создания личного частного облака Серийная статья
- Подробная конфигурация сервера Nginx из списка конфигураций
- Строительство центра мониторинга визуализации контейнеров Docker
- Использование ELK для создания контейнерного центра журналов приложений Docker
- Практика фреймворка RPC: Apache Thrift
- Практика фреймворка RPC: Google gRPC
- Построение микросервисного центра отслеживания цепочки вызовов
- Контейнеры Docker обмениваются данными между хостами
- Предварительное исследование кластера Docker Swarm
- Несколько рекомендаций по эффективному написанию Dockerfile