Мысли после года использования kubernetes

Kubernetes

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

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

фон kubernetes и цель рождения

Предыстория рождения kubernetes связана с Docker и Paas.Docker нельзя использовать напрямую для слегка сложного бизнеса, потому что возможности, предоставляемые Docker, действительно ограничены, а сложное бизнес-облако обычно требует некоторых возможностей уровня платформы, то есть Paas. . Именно на этом фоне родился kubernetes, победивший таких конкурентов, как Mesos, и ставший стандартом де-факто в области оркестрации контейнеров.

Следовательно, согласно предыстории рождения технологии, цель kubernetes — быть Paas, поэтому, чтобы хорошо играть в kubernetes, вы должны иметь общую картину Paas.На следующем рисунке представлена ​​схема структуры Paas мыши для левого уха, который я считаю довольно всеобъемлющим:

Paas

Причины создания Paas на основе kubernetes:

  1. Сам Kubernetes предоставляет некоторые основные возможности, такие как обнаружение служб, набор состояний, балансировка нагрузки, проверка состояния служб и автоматический перезапуск и т. д.;
  2. kubernetes предоставляет некоторые подключаемые механизмы (CRD, динамическое управление доступом и т. д.), чтобы сделать DIY или расширить возможности kubernetes;
  3. Сообщество kubernetes очень активное, и родилось много качественных проектов, таких как Prometheus, Rook и т. д.;

По этим нескольким причинам создание Paas на kubernetes проще.

Сложно начать

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

Однако при использовании управляемых служб не думайте, что затраты на обучение использованию управляемых служб будут снижены.Персоналу по эксплуатации и обслуживанию kubernetes по-прежнему необходимо понимать различные компоненты kubernetes и использование различных продуктов облачных провайдеров. Только так вы сможете узнать, как спланировать сеть, емкость, хранилище и т. д. кластера и как трансформировать бизнес, прежде чем вы сможете перейти на kubernetes.

Как получить бизнес на kubernetes

Вот три пункта.

  1. Сервис должен иметь разумные тесты живучести и готовности, чтобы kubernetes знал, когда убить под и запустить новый, а когда передать трафик поду.
  2. Установите разумный запрос ресурсов и ограничение.Как правило, запрос устанавливается на среднее значение использования ресурсов приложения, а предел устанавливается на несколько более высокое значение.
  3. Совместное размещение онлайновых и автономных сервисов требует особого внимания, чтобы автономные сервисы не занимали слишком много ресурсов узла, что приводило к нехватке ресурсов узла и отключению онлайн-сервисов. Если вы не можете этого сделать, не выполняйте совместное размещение и используйте nodeselector и toleraions для развертывания модулей онлайн- и офлайн-сервисов на соответствующих узлах соответственно.

доход

Преимущества использования kubernetes за последние шесть месяцев:

  • Ресурсы очень эластичны. Когда придет офлайн-бизнес, подайте заявку на спотовый экземпляр, и после завершения расчета спотовый экземпляр будет автоматически восстановлен, поэтому цена вычислительных ресурсов, потребляемых офлайн-вычислениями, очень низкая;
  • более подвижный. Нет необходимости обращаться за физическими машинами для эксплуатации и обслуживания, просто разворачивайте pod’ы напрямую, если ресурсов кластера не хватит, мощность будет автоматически расширена, так что можно не беспокоиться о проблеме нехватки вычислительных ресурсов ;
  • Повторное использование возможностей, особенно возможностей мониторинга, импорт всех метрик в Prometheus, с Prometheus+Grafana, вся система мониторинга очень проста;
  • Улучшить использование ресурсов, особенно совместное размещение бизнеса;