Памятка Kubernetes: архитектура, компоненты, лист команд

Опубликовано: 2020-12-15

Kubernetes стал неотъемлемой частью отраслей и меняет мир технологий. Джанет Куо, сопредседатель KubeCon, рассказала об особенностях Kubernetes и его важности в ближайшее время. Она рассказывает о расширениях и решениях Kubernetes, которые изменят мир .

Эта шпаргалка даст ссылку на работающих специалистов по внедрению Kubernetes. Он содержит все необходимые детали, чтобы помочь новичкам, плохо знакомым с Kubernetes. Шпаргалка Kubernetes — это быстрое и удобное средство для ссылки на все основные концепции и команды Kubernetes.

Оглавление

О Кубернетес

Платформа с открытым исходным кодом для автоматического развертывания и масштабирования контейнеров в кластерах хостов для обеспечения инфраструктуры, ориентированной на контейнеры, известна как Kubernetes (также известная как «Kube» или k8s). Это позволяет легко и эффективно управлять различными хостами, на которых запущены контейнеры Linux, путем их кластеризации.

Kubernetes — это платформа, предназначенная для полного управления жизненным циклом контейнерных приложений и сервисов. Пользователь Kubernetes может определить, как приложение должно работать и взаимодействовать с различными приложениями.

С помощью Kubernetes пользователи могут переключать трафик между разными версиями приложений, выполнять обновления, масштабировать сервисы и т. д. Он предлагает пользователям высокую степень гибкости, надежности и мощности в управлении приложениями.

Вот некоторые из основных особенностей Kubernetes:

  • Максимизируйте ресурсы за счет более эффективного использования оборудования.
  • Контейнерный оркестратор на нескольких хостах.
  • Автоматизируйте процесс развертывания и обновления.
  • Возможность запуска контейнера Linux.
  • Автомасштабирование помогает запускать контейнеры на узлах кластера.
  • Масштабирование вверх и вниз по мере необходимости.
  • Самовосстановление путем замены, изменения расписания и перезапуска мертвых контейнеров.
  • Автоматические откаты и выкатывания.
  • Балансировка нагрузки и обнаружение сервисов.
  • Автоперезапуск, авторазмещение, авторепликация и т. д.

Читайте: Алгоритм глубокого обучения

Архитектура Кубернета

Архитектура Kubernetes состоит из слоев: Верхние и нижние слои. Сложность абстрагирования более высокого уровня можно найти на нижних уровнях. Отдельные физические или виртуальные машины объединяются в кластер. Общая сеть используется для связи между каждым сервером. Итак, как и другие распределенные платформы, Kubernetes имеет один главный (по крайней мере) и несколько вычислительных узлов.

  • Мастер Kubernetes планирует развертывание, предоставляет API и управляет всем кластером Kubernetes.
  • На узле работает среда выполнения контейнера, агент для связи с мастером и другие компоненты мониторинга, ведения журнала и т. д.

Компоненты архитектуры Kubernetes

Давайте посмотрим на назначение и компоненты мастера и узлов в архитектуре Kubernetes.

Владелец

Мастер поддерживает желаемое состояние кластера. Поскольку он управляет всем кластером, он называется ведущим. Это содержит:

  • API-сервер: API-сервер Kubernetes
  • Планировщик: используется для планирования подов в рабочих узлах .
  • Контроллер: управляет репликацией модуля .
  • Etcd: служба метаданных

Узлы

Он содержит необходимые службы, которые важны для запуска модулей. Мастер управляет узлами. Его еще называют Миньон. Это содержит:

  • Pod: группа контейнеров
  • Docker: Контейнерная технология, пользовательское пространство ОС.
  • Kubelet: агенты-контейнеры, отвечающие за обслуживание набора модулей.
  • Kube-proxy: направляет трафик, поступающий на узел от сервиса.

Теперь давайте разберемся с важными командами Kubernetes.

Команды Кубектла

Kubectl — это инструмент командной строки для Kubernetes. Основные команды Kubectl можно разделить на:

  • Pod и Container Introspection
  • Кластерный самоанализ
  • Отладка
  • Быстрые команды
  • Объекты

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

Функциональность Команда
Для описания имен pod Kubectl описывает pod<name>
Для перечисления всех текущих модулей Kubectl получить стручки
Для перечисления всех контроллеров репликации Kubectl получить rc
Для отображения имени контроллера репликации Kubectl описывает rc <имя>
Для перечисления контроллеров репликации в пространстве имен Kubectl получить rc --namespace="namespace"
Для отображения имени службы Kubectl описывает svc<имя>
Для листинговых услуг Kubectl получить cvc
Для непрерывного наблюдения за узлами. Kubectl получить узлы -w
Для удаления пода Kubectl удалить модуль <имя>

Кластерный самоанализ

Функциональность Команда
Для получения информации о версии Кубектл версия
Для получения сведений о конфигурации Просмотр конфигурации Kubectl
Для получения информации о кластере Информация о кластере Kubectl
Для получения информации об узле Kubectl описывает node<node>

Команды отладки

Функциональность Команда
Для отображения метрик для модуля Kubectl верхний стручок
Для отображения метрик для узла Kubectl верхний узел
Для просмотра логов Kubelet Смотреть -n 2 cat/var/log/kublet.log
Для получения логов от сервиса для контейнера Журналы Kubectl -f<имя>>[-c<$container>]
Для выполнения команды на сервисе выбором контейнера Kubectl exec<служба><команды>[-c<$container>]

Быстрые команды

Приведенные ниже быстрые команды часто используются и, следовательно, очень полезны.

Функциональность Команда
Для запуска пода с именем и изображением. Kubectl run<имя> — image=<имя-изображения>
Для создания службы, описанной в <manifest.yaml> Kubectl создать -f <manifest.yaml>
Для масштабирования счетчика репликации для подсчета количества экземпляров. Масштаб Kubectl –replicas=<count>rc<name>
Для сопоставления внешнего порта с внутренним портом репликации. Предоставить rc<name> –port=<external>–target-port=<internal>
Для остановки всех модулей в <n> Kubectl Drain<n>-delete-local-data-force-ignore-daemonset
Для создания пространства имен. Kubectl создает пространство имен <пространство имен>
Для разрешения мастер-узлу запускать модули. Kubectltaintnodes –all-node-role.kuernetes.io/master-

Объекты

Вот некоторые из знакомых объектов, используемых в Kubernetes:

Список общих объектов
Все Версии контроллера
cm= conf gmaps Привязки ролей кластера
Cronjobs cs=состояния компонентов
Развертывание = развертывания лимиты=предельные диапазоны
ev= события hpa= автоматическое масштабирование горизонтального модуля
рабочие места ds= наборы демонов
Нет = узлы ns= пространства имен
po = стручки Предустановка модуля
Psp= политики безопасности модуля Pv= постоянные тома
quota= ресурсные квоты rs = наборы реплик
роли rc= контроллеры репликации
sc= классы хранения pdb= бюджеты распределения модулей
кластерные роли секреты
crd=определение пользовательского ресурса Шаблоны модулей
csr=запросы на подпись сертификата sa= сервисные аккаунты
Netpol- сетевые политики Привязки ролей
вход = вход pvc = постоянные заявки на объем
ep=конечные точки sts = наборы с состоянием

Читайте также: Регуляризация в глубоком обучении

Памятка по командам Kubernetes

Вся основная информация о Kubernetes, его архитектуре и командах представлена ​​в нижеследующей шпаргалке Kubernetes:

Если вам интересно узнать больше о методах глубокого обучения и машинном обучении, ознакомьтесь с дипломом PG IIIT-B и upGrad в области машинного обучения и искусственного интеллекта, который предназначен для работающих профессионалов и предлагает более 450 часов тщательного обучения, более 30 тематических исследований и задания, статус выпускника IIIT-B, более 5 практических практических проектов и помощь в трудоустройстве в ведущих фирмах.

Что такое Кубернетес?

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

Каковы основные компоненты архитектуры Kubernetes?

В архитектуре Kubernetes есть два основных компонента: главный узел и рабочий узел. Узел — это основная рабочая машина, которая важна для запуска группы кластеров, называемых модулями. Весь кластер управляется главным узлом, тогда как рабочий узел выполняет задачи, назначенные главным узлом. Эти узлы имеют множество встроенных компонентов. Главный узел содержит сервер API Kubernetes, планировщик Kubernetes, контроллер Kubernetes и т. д. Рабочий узел имеет pod, docker, kubelet и kube-proxy.

Что делают kubelet и kube-proxy?

Kubelet, присутствующий на каждом узле, обеспечивает правильную работу контейнеров в поде. Он делает это, беря набор PodSpec, предоставленный в основном через apiserver, и проверяя контейнеры, присутствующие в этих PodSpec. PodSpec — это объект YAML или JSON, описывающий модуль. Kubernetes Network Proxy, также известный как kube-proxy, поддерживает сетевые правила на узлах. С помощью этих сетевых правил возможен обмен данными между сетевыми сеансами внутри или вне кластера и модулями. Kube-proxy перенаправляет трафик, если уровень фильтрации пакетов ОС недоступен.