Init Russian localization (#16404)
* initial * aisonaku owner * initial. copy minimal en content to ru * i18n strings update * main page, one section * draft main page, setup, minicube * main page * pick up solution * Init russian translate * Translated hello-minikube.md file * tutorials started * russ localization * update config.toml and add README-ru.md * update README.md for the reference to the Russian languge * Update README-ru.md Co-Authored-By: Tim Bannister <tim@scalefactory.com> * Update README-ru.md * Update README-ru.md * concepts overview started * Update owners aliases * Remove duplicate section * Cleanup Remove untraslated files * Add examples * Fix typo * Apply suggestions from code review Co-Authored-By: Alexey Pyltsyn <lex61rus@gmail.com> Co-Authored-By: Tim Bannister <tim@scalefactory.com> * partly fixed for comments * Remove partially translated files * Translate remaining strings * Translate base concepts
This commit is contained in:
committed by
Kubernetes Prow Robot
parent
b2c8c9c1c5
commit
9d0cc29bf4
@@ -0,0 +1,75 @@
|
||||
---
|
||||
title: Концепции
|
||||
main_menu: true
|
||||
content_template: templates/concept
|
||||
weight: 40
|
||||
---
|
||||
|
||||
{{% capture overview %}}
|
||||
|
||||
Раздел "Концепции" поможет вам узнать о частях системы Kubernetes и об абстракциях, которые Kubernetes использует для представления ваших {{< glossary_tooltip text="кластеров" term_id="cluster" length="all" >}}, и помогает вам глубже понять, как работает Kubernetes.
|
||||
|
||||
{{% /capture %}}
|
||||
|
||||
{{% capture body %}}
|
||||
|
||||
## Обзор
|
||||
|
||||
Чтобы работать с Kubernetes, вы используете *объекты Kubernetes API* для описания *желаемого состояния вашего кластера*: какие приложения или другие рабочие нагрузки вы хотите запустить, какие образы контейнеров они используют, количество реплик, какие сетевые и дисковые ресурсы вы хотите использовать и сделать доступными и многое другое. Вы устанавливаете желаемое состояние, создавая объекты с помощью API Kubernetes, обычно через интерфейс командной строки `kubectl`. Вы также можете напрямую использовать API Kubernetes для взаимодействия с кластером и установки или изменения желаемого состояния.
|
||||
|
||||
После того, как вы установили желаемое состояние, *Панель управления Kubernetes* заставляет текущее состояние кластера соответствовать желаемому состоянию с помощью генератора событий жизненного цикла Pod (PLEG). Для этого Kubernetes автоматически выполняет множество задач, таких как запуск или перезапуск контейнеров, масштабирование количества реплик данного приложения и многое другое. Плоскость управления Kubernetes состоит из набора процессов, запущенных в вашем кластере:
|
||||
|
||||
* **Мастер Kubernetes** это коллекция из трех процессов, которые выполняются на одном узле в вашем кластере, который обозначен как главный узел. Это процессы: [kube-apiserver](/docs/admin/kube-apiserver/), [kube-controller-manager](/docs/admin/kube-controller-manager/) и [kube-scheduler](/docs/admin/kube-scheduler/).
|
||||
* Каждый отдельный неосновной узел в вашем кластере выполняет два процесса:
|
||||
* **[kubelet](/docs/admin/kubelet/)**, который общается с мастером Kubernetes.
|
||||
* **[kube-proxy](/docs/admin/kube-proxy/)**, сетевой прокси, который отображает сетевые сервисы Kubernetes на каждом узле.
|
||||
|
||||
## Объекты Kubernetes
|
||||
|
||||
Kubernetes содержит ряд абстракций, которые представляют состояние вашей системы: развернутые контейнеризованные приложения и рабочие нагрузки, связанные с ними сетевые и дисковые ресурсы и другую информацию о том, что делает ваш кластер. Эти абстракции представлены объектами в API Kubernetes. См. [Понимание объектов Kubernetes](/docs/concepts/overview/working-with-objects/kubernetes-objects) для получения более подробной информации.
|
||||
|
||||
Основные объекты Kubernetes включают в себя:
|
||||
|
||||
* [Под](/docs/concepts/workloads/pods/pod-overview/)
|
||||
* [Сервис](/docs/concepts/services-networking/service/)
|
||||
* [Том](/docs/concepts/storage/volumes/)
|
||||
* [Пространства имен](/docs/concepts/overview/working-with-objects/namespaces/)
|
||||
|
||||
Kubernetes также содержит абстракции более высокого уровня, которые опираются на [Контроллеры](/docs/concepts/architecture/controller/) для создания базовых объектов и предоставляют дополнительные функциональные и удобные функции. Они включают:
|
||||
|
||||
* [Развертывание](/docs/concepts/workloads/controllers/deployment/)
|
||||
* [DaemonSet](/docs/concepts/workloads/controllers/daemonset/)
|
||||
* [StatefulSet](/docs/concepts/workloads/controllers/statefulset/)
|
||||
* [ReplicaSet](/docs/concepts/workloads/controllers/replicaset/)
|
||||
* [Задачи](/docs/concepts/workloads/controllers/jobs-run-to-completion/)
|
||||
|
||||
## Панель управления Kubernetes
|
||||
|
||||
Различные части панели управления Kubernetes, такие как мастер Kubernetes и процессы kubelet, определяют, как Kubernetes взаимодействует с вашим кластером. Панель управления поддерживает запись всех объектов Kubernetes в системе и запускает непрерывные циклы управления для управления состоянием этих объектов. В любой момент времени сервисы панели управления будут реагировать на изменения в кластере и работать, чтобы фактическое состояние всех объектов в системе соответствовало желаемому состоянию, которое вы предоставили.
|
||||
|
||||
Например, когда вы используете API Kubernetes для создания развертывания, вы предоставляете новое желаемое состояние для системы. Панель управления Kubernetes записывает создание этого объекта и выполняет ваши инструкции, запуская необходимые приложения и планируя их на узлы кластера - таким образом, чтобы фактическое состояние кластера соответствовало желаемому состоянию.
|
||||
|
||||
### Мастер Kubernetes
|
||||
|
||||
Мастер Kubernetes отвечает за поддержание желаемого состояния для вашего кластера. Когда вы взаимодействуете с Kubernetes, например, используя интерфейс командной строки `kubectl`, вы общаетесь с мастером Kubernetes вашего кластера.
|
||||
|
||||
> "Мастер" относится к совокупности процессов, управляющих состоянием кластера. Обычно все эти процессы выполняются на одном узле в кластере, и этот узел также называется главным. Мастер также может быть реплицирован для доступности и резервирования.
|
||||
|
||||
### Ноды Kubernetes
|
||||
|
||||
Ноды в кластере - это машины (виртуальные машины, физические серверы и т. Д.), На которых работают ваши приложения и облачные рабочие процессы. Мастер Kubernetes контролирует каждую ноду; вы редко будете взаимодействовать с нодами напрямую.
|
||||
|
||||
#### Метаданные объекта
|
||||
|
||||
|
||||
* [Аннотации](/docs/concepts/overview/working-with-objects/annotations/)
|
||||
|
||||
{{% /capture %}}
|
||||
|
||||
{{% capture whatsnext %}}
|
||||
|
||||
Если вы хотите описать концепт, см.
|
||||
[Использование шаблонов страниц](/docs/home/contribute/page-templates/)
|
||||
для получения информации о типе страницы и шаблоне концепции.
|
||||
|
||||
{{% /capture %}}
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Обзор"
|
||||
weight: 20
|
||||
---
|
||||
@@ -0,0 +1,91 @@
|
||||
---
|
||||
reviewers:
|
||||
- bgrant0607
|
||||
- mikedanese
|
||||
title: Что такое Kubernetes
|
||||
content_template: templates/concept
|
||||
weight: 10
|
||||
card:
|
||||
name: concepts
|
||||
weight: 10
|
||||
---
|
||||
|
||||
{{% capture overview %}}
|
||||
Эта страница посвящена обзору Kubernetes.
|
||||
{{% /capture %}}
|
||||
|
||||
{{% capture body %}}
|
||||
Kubernetes - это портативная расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и службами, которая облегчает декларативную настройку и автоматизацию. У платформы есть большая, быстро растущая экосистема. Kubernetes службы, поддержка и инструменты широко доступны.
|
||||
|
||||
Название Kubernetes происходит от греческого, что означает рулевой или штурман. Google открыл проект Kubernetes в 2014 году. Kubernetes базируется на [десятилетнем опыте Google, при работе с масштабными рабочими нагрузками](https://ai.google/research/pubs/pub43438), в сочетании с лучшими в своем классе идеями и практиками сообщества.
|
||||
|
||||
## История
|
||||
Давайте вернемся назад и посмотрим, почему Kubernetes так полезен.
|
||||
|
||||

|
||||
|
||||
**Традиционная эра развертывания:**
|
||||
Ранее организации запускали приложения на физических серверах. Не было никакого способа определить границы ресурсов для приложений на физическом сервере, и это вызвало проблемы с распределением ресурсов. Например, если несколько приложений выполняются на физическом сервере, могут быть случаи, когда одно приложение будет занимать большую часть ресурсов, и в результате другие приложения будут работать хуже. Решением для этого было бы запустить каждое приложение на другом физическом сервере. Но это не масштабировалось, поскольку ресурсы использовались непрактично, и организациям было дорого поддерживать множество физических серверов.
|
||||
|
||||
**Эра виртуального развертывания:** В качестве решения была введена виртуализация. Это позволило запускать несколько виртуальных машин (ВМ) на одном физическом сервере ЦП. Виртуализация позволяет изолировать приложения между виртуальными машинами и обеспечивает уровень безопасности, поскольку информация одного приложения не может быть свободно доступна другому приложению.
|
||||
|
||||
Виртуализация позволяет лучше использовать ресурсы на физическом сервере и обеспечивает лучшую масштабируемость, поскольку приложение можно легко добавить или обновить, также снижаются затраты на оборудование и многое другое. С помощью виртуализации вы можете представить набор физических ресурсов в виде кластера одноразовых виртуальных машин.
|
||||
|
||||
Каждая виртуальная машина представляет собой полноценную машину, на которой выполняются все компоненты, включая собственную операционную систему, поверх виртуализированного оборудования.
|
||||
|
||||
**Эра контейнеров:** Контейнеры похожи на виртуальные машины, но у них есть свойства изоляции для совместного использования операционной системы (ОС) между приложениями. Поэтому контейнеры считаются легкими. Подобно виртуальной машине, контейнер имеет свою собственную файловую систему, процессор, память, пространство процесса и многое другое. Поскольку они не связаны с базовой инфраструктурой, они переносимы между облаками и дистрибутивами ОС.
|
||||
|
||||
Контейнеры стали популярными, потому что они предоставляют дополнительные преимущества, например:
|
||||
|
||||
* Гибкое создание и развертывание приложений: простота и эффективность создания образа контейнера по сравнению с использованием образа виртуальной машины.
|
||||
* Непрерывная разработка, интеграция и развертывание: обеспечивает надежную и частую сборку и развертывание образа контейнера с быстрым и простым откатом (благодаря неизменности образа).
|
||||
* Разделение задач между Dev и Ops: создавайте образы контейнеров приложений во время сборки / релиза, а не во время развертывания, тем самым отделяя приложения от инфраструктуры.
|
||||
* Наблюдаемость охватывает не только информацию и метрики на уровне ОС, но также информацию о работоспособности приложений и другие сигналы.
|
||||
* Идентичная окружающая среда при разработке, тестировании и релизе: на ноутбуке работает так же, как и в облаке.
|
||||
* Переносимость облачных и операционных систем: работает на Ubuntu, RHEL, CoreOS, on-prem, Google Kubernetes Engine и в любом другом месте.
|
||||
* Управление, ориентированное на приложения: повышает уровень абстракции от запуска ОС на виртуальном оборудовании до запуска приложения в ОС с использованием логических ресурсов.
|
||||
* Слабосвязанные, распределенные, гибкие, выделенные микроуслуги: приложения разбиты на более мелкие независимые части, которые можно динамически развертывать и управлять ими, а не монолитным стеком, работающим на одной большой специализированной машине.
|
||||
* Изоляция ресурсов: предсказуемая производительность приложения.
|
||||
* Грамотное использование ресурсов: высокая эффективность и компактность.
|
||||
|
||||
## Зачем вам Kubernetes и что он может сделать?
|
||||
|
||||
Контейнеры - хороший способ связать и запустить ваши приложения. В производственной среде вам необходимо управлять контейнерами, которые запускают приложения, и обеспечивать отсутствие простоев. Например, если контейнер выходит из строя, необходимо запустить другой контейнер. Не было бы проще, если бы такое поведение обрабатывалось системой?
|
||||
|
||||
Вот тут Kubernetes приходит на помощь! Kubernetes предоставляет вам платформу для гибкой работы распределенных систем. Он заботится о масштабировании и обработке ошибок для вашего приложения, предоставляет шаблоны развертывания и многое другое. Например, Kubernetes может легко управлять canary-развертыванием для вашей системы.
|
||||
|
||||
Kubernetes предоставляет вам:
|
||||
|
||||
* **Мониторинг сервисов и распределение нагрузки**
|
||||
Kubernetes может обноружить контейнер, используя DNS-имя или собственный IP-адрес. Если трафик в контейнере высокий, Kubernetes может сбалансировать нагрузку и распределить сетевой трафик, чтобы развертывание было стабильным.
|
||||
* **Орекстрация хранилища**
|
||||
Kubernetes позволяет вам автоматически смонтировать систему хранения по вашему выбору, такую как локальное хранилище, провайдеры общедоступного облака и многое другое.
|
||||
* **Автоматическое развертывание и откаты**
|
||||
Вы можете описать желаемое состояние для ваших развернутых контейнеров, используя Kubernetes, и это может изменить фактическое состояние на желаемое состояние с высокой скоростью. Например, вы можете автоматизировать Kubernetes для создания новых контейнеров для вашего развертывания, удаления существующих контейнеров и распределения всех их ресурсов в новый контейнер.
|
||||
* **Автоматическое распределение нагрузки**
|
||||
Вы предоставляете Kubernetes кластерных нод, который он может использовать для запуска контейнерных задач. Вы сообщаете Kubernetes, сколько ЦП и памяти (ОЗУ) требуется каждому контейнеру. Kubernetes может разместить контейнеры на ваших нодах, чтобы наилучшим образом использовать ваши ресурсы.
|
||||
* **Самоконтроль**
|
||||
Kubernetes перезапускает контейнеры, которые дают сбой, заменяет контейнеры, убивает контейнеры, которые не отвечают на ваши проверки работоспособности, определенные пользователем, и не показывает их клиентам, пока они не будут готовы к обслуживанию.
|
||||
* **Управление конфиденциальной информацией и конфигурацией**
|
||||
Kubernetes позволяет хранить и управлять конфиденциальной информацией, такой как пароли, токены OAuth и ключи ssh. Вы можете развертывать и обновлять конфиденциальную информацию и конфигурацию приложения, не перестраивая образы контейнеров и не раскрывая конфиденциальную информацию в конфигурации стека.
|
||||
|
||||
## Чем Kubernetes не является
|
||||
|
||||
Kubernetes - это не традиционная комплексная система PaaS (платформа как услуга). Поскольку Kubernetes работает на уровне контейнеров, а не на уровне оборудования, он предоставляет некоторые общеприменимые функции, общие для PaaS, такие как развертывание, масштабирование, балансировка нагрузки, ведение журналов и мониторинг. Тем не менее, Kubernetes не является монолитным, и эти решения по умолчанию являются дополнительными и подключаемыми. Kubernetes предоставляет строительные блоки для построения платформы, но сохраняет выбор за пользователем и гибкость там, где это важно.
|
||||
|
||||
Kubernetes:
|
||||
|
||||
* Не ограничивает типы поддерживаемых приложений. Kubernetes стремится поддерживать чрезвычайно разнообразные рабочие нагрузки, включая рабочие нагрузки без сохранения состояния и обработки данных. Если приложение может работать в контейнере, оно должно отлично работать в Kubernetes.
|
||||
* Не развертывает исходный код и не создает ваше приложение. Рабочие процессы непрерывной интеграции, доставки и развертывания (CI / CD) определяются культурой и предпочтениями организации, а также техническими требованиями.
|
||||
* Не предоставляет сервисы уровня приложения, такие как промежуточное программное обеспечение (например, очереди сообщений), платформы обработки данных (например, Spark), базы данных (например, mysql), кэши или кластерные системы хранения (например, Ceph), как встроенные сервисы. Такие компоненты могут работать в Kubernetes и / или могут быть доступны для приложений, работающих в Kubernetes, через переносные механизмы, такие как Open Service Broker.
|
||||
* Не требует ведения журнала, мониторинга или оповещения. Он обеспечивает некоторые интеграции в качестве доказательства концепции и механизмы для сбора и экспорта метрик.
|
||||
* Не предоставляет и не требует настройки языка / системы (например, jsonnet). Он предоставляет декларативный API, который может быть нацелен на произвольные формы декларативных спецификаций.
|
||||
* Не предоставляет и не принимает никаких комплексных систем конфигурации, технического обслуживания, управления или самовосстановления.
|
||||
* Кроме того, Kubernetes - это не просто система оркестровки. Фактически это устраняет необходимость в оркестровке. Техническое определение оркестровки - это выполнение определенного рабочего процесса: сначала делайте A, затем B, затем C. В отличие от этого, Kubernetes содержит набор независимых, компонуемых процессов управления, которые непрерывно приводят текущее состояние к предоставленному желаемому состоянию. Неважно, как добраться от А до С. Централизованный контроль также не требуется. В результате получается система, которая более проста в использовании и является более мощной, надежной, устойчивой и расширяемой.
|
||||
|
||||
{{% /capture %}}
|
||||
|
||||
{{% capture whatsnext %}}
|
||||
* Посмотрите на [Компоненты Kubernetes](/docs/concepts/overview/components/)
|
||||
* Готовы [начать](/docs/setup/)?
|
||||
{{% /capture %}}
|
||||
Reference in New Issue
Block a user