From ed2896629e7ddc1be56b3b51edd63735c77719c9 Mon Sep 17 00:00:00 2001 From: Oleg Butuzov Date: Tue, 11 Feb 2020 18:10:09 +0200 Subject: [PATCH 01/23] buildable version of the Ukrainian website --- content/uk/_common-resources/index.md | 3 +++ content/uk/_index.html | 7 +------ content/uk/case-studies/_index.html | 13 ++++++++++++ content/uk/docs/concepts/overview/_index.md | 4 ++++ .../concepts/overview/what-is-kubernetes.md | 0 content/uk/docs/home/_index.md | 6 +++--- content/uk/docs/reference/glossary/index.md | 0 content/uk/docs/reference/glossary/service.md | 20 ++++++++++++++++++ .../uk/docs/templates/feature-state-alpha.txt | 8 +++++++ .../uk/docs/templates/feature-state-beta.txt | 8 +++++++ .../templates/feature-state-deprecated.txt | 2 ++ .../docs/templates/feature-state-stable.txt | 5 +++++ content/uk/docs/templates/index.md | 13 ++++++++++++ content/uk/examples/controllers/job.yaml | 14 +++++++++++++ .../controllers/nginx-deployment.yaml | 21 +++++++++++++++++++ .../uk/examples/controllers/replication.yaml | 19 +++++++++++++++++ .../networking/dual-stack-default-svc.yaml | 11 ++++++++++ .../networking/dual-stack-ipv4-svc.yaml | 12 +++++++++++ .../networking/dual-stack-ipv6-lb-svc.yaml | 15 +++++++++++++ .../networking/dual-stack-ipv6-svc.yaml | 12 +++++++++++ 20 files changed, 184 insertions(+), 9 deletions(-) create mode 100644 content/uk/_common-resources/index.md create mode 100644 content/uk/case-studies/_index.html create mode 100644 content/uk/docs/concepts/overview/_index.md create mode 100644 content/uk/docs/concepts/overview/what-is-kubernetes.md create mode 100644 content/uk/docs/reference/glossary/index.md create mode 100755 content/uk/docs/reference/glossary/service.md create mode 100644 content/uk/docs/templates/feature-state-alpha.txt create mode 100644 content/uk/docs/templates/feature-state-beta.txt create mode 100644 content/uk/docs/templates/feature-state-deprecated.txt create mode 100644 content/uk/docs/templates/feature-state-stable.txt create mode 100644 content/uk/docs/templates/index.md create mode 100644 content/uk/examples/controllers/job.yaml create mode 100644 content/uk/examples/controllers/nginx-deployment.yaml create mode 100644 content/uk/examples/controllers/replication.yaml create mode 100644 content/uk/examples/service/networking/dual-stack-default-svc.yaml create mode 100644 content/uk/examples/service/networking/dual-stack-ipv4-svc.yaml create mode 100644 content/uk/examples/service/networking/dual-stack-ipv6-lb-svc.yaml create mode 100644 content/uk/examples/service/networking/dual-stack-ipv6-svc.yaml diff --git a/content/uk/_common-resources/index.md b/content/uk/_common-resources/index.md new file mode 100644 index 0000000000000..ca03031f1ee91 --- /dev/null +++ b/content/uk/_common-resources/index.md @@ -0,0 +1,3 @@ +--- +headless: true +--- diff --git a/content/uk/_index.html b/content/uk/_index.html index 41d1e0eb7ce4c..e9b2152a659ac 100644 --- a/content/uk/_index.html +++ b/content/uk/_index.html @@ -1,14 +1,9 @@ --- - title: "Довершена система оркестрації контейнерів" - abstract: "Автоматичне розгортання, масштабування і управління контейнерами" cid: home --- + {{< announcement >}} {{< deprecationwarning >}} diff --git a/content/uk/case-studies/_index.html b/content/uk/case-studies/_index.html new file mode 100644 index 0000000000000..6c9c75fc44c7d --- /dev/null +++ b/content/uk/case-studies/_index.html @@ -0,0 +1,13 @@ +--- +title: Case Studies +title: Приклади використання +linkTitle: Case Studies +linkTitle: Приклади використання +bigheader: Kubernetes User Case Studies +bigheader: Приклади використання Kubernetes від користувачів. +abstract: A collection of users running Kubernetes in production. +abstract: Підбірка користувачів, що використовують Kubernetes для робочих навантажень. +layout: basic +class: gridPage +cid: caseStudies +--- diff --git a/content/uk/docs/concepts/overview/_index.md b/content/uk/docs/concepts/overview/_index.md new file mode 100644 index 0000000000000..05c2a490038c5 --- /dev/null +++ b/content/uk/docs/concepts/overview/_index.md @@ -0,0 +1,4 @@ +--- +title: "overview" +weight: 20 +--- diff --git a/content/uk/docs/concepts/overview/what-is-kubernetes.md b/content/uk/docs/concepts/overview/what-is-kubernetes.md new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/content/uk/docs/home/_index.md b/content/uk/docs/home/_index.md index 22f33f5c16e2e..0c773a97a2989 100644 --- a/content/uk/docs/home/_index.md +++ b/content/uk/docs/home/_index.md @@ -17,11 +17,11 @@ menu: title: "Документація" weight: 20 #post: > -

Learn how to use Kubernetes with conceptual, tutorial, and reference documentation. You can even help contribute to the docs!

+ #

Learn how to use Kubernetes with conceptual, tutorial, and reference documentation. You can even help contribute to the docs!

post: >

Дізнайтеся про основи роботи з Kubernetes, використовуючи схеми, навчальну та довідкову документацію. Ви можете навіть зробити свій внесок у документацію!

#overview: > - Kubernetes is an open source container orchestration engine for automating deployment, scaling, and management of containerized applications. The open source project is hosted by the Cloud Native Computing Foundation (CNCF). +# Kubernetes is an open source container orchestration engine for automating deployment, scaling, and management of containerized applications. The open source project is hosted by the Cloud Native Computing Foundation (CNCF). overview: > Kubernetes - рушій оркестрації контейнерів з відкритим вихідним кодом для автоматичного розгортання, масштабування і управління контейнерізованими застосунками. Це відкритий проект під керівництвом Cloud Native Computing Foundation (CNCF). cards: @@ -91,4 +91,4 @@ cards: title: Про документацію #description: This website contains documentation for the current and previous 4 versions of Kubernetes. description: Цей вебсайт містить документацію по актуальній версії Kubernetes і чотирьох попередніх. ---- +--- \ No newline at end of file diff --git a/content/uk/docs/reference/glossary/index.md b/content/uk/docs/reference/glossary/index.md new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/content/uk/docs/reference/glossary/service.md b/content/uk/docs/reference/glossary/service.md new file mode 100755 index 0000000000000..4027bf4b6f3a7 --- /dev/null +++ b/content/uk/docs/reference/glossary/service.md @@ -0,0 +1,20 @@ +--- +title: Service +id: service +date: 2018-04-12 +full_link: /docs/concepts/services-networking/service/ +# A way to expose an application running on a set of Pods as a network service. +short_description: > + Спосіб опублікувати застосунок що працює як один або кілька Pod'ів у вигляді мережевої служби. + +aka: +tags: +- fundamental +- core-object +--- +An abstract way to expose an application running on a set of as a network service. +Це абстрактний спосіб опублікувати застосунок що працює як один (або кілька) {{< glossary_tooltip text="Pod'ів" term_id="pod" >}} у вигляді мережевої служби. + + + + The set of Pods targeted by a Service is (usually) determined by a {{< glossary_tooltip text="selector" term_id="selector" >}}. If more Pods are added or removed, the set of Pods matching the selector will change. The Service makes sure that network traffic can be directed to the current set of Pods for the workload. diff --git a/content/uk/docs/templates/feature-state-alpha.txt b/content/uk/docs/templates/feature-state-alpha.txt new file mode 100644 index 0000000000000..24b28a7e92373 --- /dev/null +++ b/content/uk/docs/templates/feature-state-alpha.txt @@ -0,0 +1,8 @@ +This feature is currently in a *alpha* state, meaning: + +* The version names contain alpha (e.g. v1alpha1). +* Might be buggy. Enabling the feature may expose bugs. Disabled by default. +* Support for feature may be dropped at any time without notice. +* The API may change in incompatible ways in a later software release without notice. +* Recommended for use only in short-lived testing clusters, due to increased risk of bugs and lack of long-term support. + diff --git a/content/uk/docs/templates/feature-state-beta.txt b/content/uk/docs/templates/feature-state-beta.txt new file mode 100644 index 0000000000000..25bd7ca72935e --- /dev/null +++ b/content/uk/docs/templates/feature-state-beta.txt @@ -0,0 +1,8 @@ +This feature is currently in a *beta* state, meaning: + +* The version names contain beta (e.g. v2beta3). +* Code is well tested. Enabling the feature is considered safe. Enabled by default. +* Support for the overall feature will not be dropped, though details may change. +* The schema and/or semantics of objects may change in incompatible ways in a subsequent beta or stable release. When this happens, we will provide instructions for migrating to the next version. This may require deleting, editing, and re-creating API objects. The editing process may require some thought. This may require downtime for applications that rely on the feature. +* Recommended for only non-business-critical uses because of potential for incompatible changes in subsequent releases. If you have multiple clusters that can be upgraded independently, you may be able to relax this restriction. +* **Please do try our beta features and give feedback on them! After they exit beta, it may not be practical for us to make more changes.** diff --git a/content/uk/docs/templates/feature-state-deprecated.txt b/content/uk/docs/templates/feature-state-deprecated.txt new file mode 100644 index 0000000000000..f2a38e44bb7c8 --- /dev/null +++ b/content/uk/docs/templates/feature-state-deprecated.txt @@ -0,0 +1,2 @@ + +This feature is *deprecated*. For more information on this state, see the [Kubernetes Deprecation Policy](/docs/reference/deprecation-policy/). diff --git a/content/uk/docs/templates/feature-state-stable.txt b/content/uk/docs/templates/feature-state-stable.txt new file mode 100644 index 0000000000000..6d6d580c5c213 --- /dev/null +++ b/content/uk/docs/templates/feature-state-stable.txt @@ -0,0 +1,5 @@ + +This feature is *stable*, meaning: + +* The version name is vX where X is an integer. +* Stable versions of features will appear in released software for many subsequent versions. diff --git a/content/uk/docs/templates/index.md b/content/uk/docs/templates/index.md new file mode 100644 index 0000000000000..9d7bccd143f5f --- /dev/null +++ b/content/uk/docs/templates/index.md @@ -0,0 +1,13 @@ +--- +headless: true + +resources: +- src: "*alpha*" + title: "alpha" +- src: "*beta*" + title: "beta" +- src: "*deprecated*" + title: "deprecated" +- src: "*stable*" + title: "stable" +--- diff --git a/content/uk/examples/controllers/job.yaml b/content/uk/examples/controllers/job.yaml new file mode 100644 index 0000000000000..b448f2eb81daf --- /dev/null +++ b/content/uk/examples/controllers/job.yaml @@ -0,0 +1,14 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: pi +spec: + template: + spec: + containers: + - name: pi + image: perl + command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"] + restartPolicy: Never + backoffLimit: 4 + diff --git a/content/uk/examples/controllers/nginx-deployment.yaml b/content/uk/examples/controllers/nginx-deployment.yaml new file mode 100644 index 0000000000000..f7f95deebbb23 --- /dev/null +++ b/content/uk/examples/controllers/nginx-deployment.yaml @@ -0,0 +1,21 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-deployment + labels: + app: nginx +spec: + replicas: 3 + selector: + matchLabels: + app: nginx + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:1.7.9 + ports: + - containerPort: 80 diff --git a/content/uk/examples/controllers/replication.yaml b/content/uk/examples/controllers/replication.yaml new file mode 100644 index 0000000000000..6eff0b9b57642 --- /dev/null +++ b/content/uk/examples/controllers/replication.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: ReplicationController +metadata: + name: nginx +spec: + replicas: 3 + selector: + app: nginx + template: + metadata: + name: nginx + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx + ports: + - containerPort: 80 diff --git a/content/uk/examples/service/networking/dual-stack-default-svc.yaml b/content/uk/examples/service/networking/dual-stack-default-svc.yaml new file mode 100644 index 0000000000000..00ed87ba196be --- /dev/null +++ b/content/uk/examples/service/networking/dual-stack-default-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: my-service +spec: + selector: + app: MyApp + ports: + - protocol: TCP + port: 80 + targetPort: 9376 \ No newline at end of file diff --git a/content/uk/examples/service/networking/dual-stack-ipv4-svc.yaml b/content/uk/examples/service/networking/dual-stack-ipv4-svc.yaml new file mode 100644 index 0000000000000..a875f44d6d060 --- /dev/null +++ b/content/uk/examples/service/networking/dual-stack-ipv4-svc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: my-service +spec: + ipFamily: IPv4 + selector: + app: MyApp + ports: + - protocol: TCP + port: 80 + targetPort: 9376 \ No newline at end of file diff --git a/content/uk/examples/service/networking/dual-stack-ipv6-lb-svc.yaml b/content/uk/examples/service/networking/dual-stack-ipv6-lb-svc.yaml new file mode 100644 index 0000000000000..2586ec9b39a44 --- /dev/null +++ b/content/uk/examples/service/networking/dual-stack-ipv6-lb-svc.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: my-service + labels: + app: MyApp +spec: + ipFamily: IPv6 + type: LoadBalancer + selector: + app: MyApp + ports: + - protocol: TCP + port: 80 + targetPort: 9376 \ No newline at end of file diff --git a/content/uk/examples/service/networking/dual-stack-ipv6-svc.yaml b/content/uk/examples/service/networking/dual-stack-ipv6-svc.yaml new file mode 100644 index 0000000000000..2aa0725059bbc --- /dev/null +++ b/content/uk/examples/service/networking/dual-stack-ipv6-svc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: my-service +spec: + ipFamily: IPv6 + selector: + app: MyApp + ports: + - protocol: TCP + port: 80 + targetPort: 9376 \ No newline at end of file From 153b776489d74192822e59cd790564af333cf856 Mon Sep 17 00:00:00 2001 From: Oleg Butuzov Date: Tue, 18 Feb 2020 08:07:17 +0200 Subject: [PATCH 02/23] Adding localized content of the what-is-kubernetes.md --- .../concepts/overview/what-is-kubernetes.md | 185 ++++++++++++++++++ 1 file changed, 185 insertions(+) diff --git a/content/uk/docs/concepts/overview/what-is-kubernetes.md b/content/uk/docs/concepts/overview/what-is-kubernetes.md index e69de29bb2d1d..4344e9287c4da 100644 --- a/content/uk/docs/concepts/overview/what-is-kubernetes.md +++ b/content/uk/docs/concepts/overview/what-is-kubernetes.md @@ -0,0 +1,185 @@ +--- +reviewers: +- bgrant0607 +- mikedanese +title: Що таке Kubernetes? +content_template: templates/concept +weight: 10 +card: + name: concepts + weight: 10 +--- + +{{% capture overview %}} + +Ця сторінка являє собою узагальнений огляд Kubernetes. +{{% /capture %}} + +{{% capture body %}} + +Kubernetes - це платформа з відкритим початковим кодом для управління контейнеризованими робочими навантаженнями та супутніми службами. Її основні характеристики - кросплатформенність, розширюваність, успішне використання декларативної конфігурації та автоматизації. Вона має гігантську, швидкопрогресуючу екосистему. + + +Назва Kubernetes походить з грецької та означає керманич, або пілот. Google відкрив доступ до початкових кодів проекту Kubernetes у 2014 році. Kubernetes побудовано [на базі п'ятнадцятилітнього досвіду, що Google отримав, оперуючи масштабними робочим навантаженнями](https://ai.google/research/pubs/pub43438) у купі з найкращими у своєму класі ідеями та практиками, які може запропонувати спільнота. + + +## Озираючись на першопричини. + + +Давайте повернемось назад у часі та дізнаємось, завдяки чому Kubernetes став таким корисним. + +![Deployment evolution](/images/docs/Container_Evolution.svg) + + +**Ера традиційного розгортання:** На початку, організації запускали застосунки на фізичних серверах. Оскільки в такий спосіб не було можливості задати обмеження використання ресурсів, це спричиняло проблеми виділення та розподілення ресурсів на фізичних серверах. Наприклад: якщо багато застосунків було запущено на фізичному сервері, могли траплятись випадки, коли один застосунок забирав собі найбільше ресурсів, внаслідок чого інші програми просто недопрацьовували. Рішенням може бути запуск кожного застосунку на окремому фізичному сервері. Але такий підхід погано масштабується, оскільки ресурси не повністю використовуються; на додачу, це дорого, оскільки організаціям потрібно було опікуватись фізичними серверами. + + +**Ера віртуалізованого розгортання:** Як рішення - була представлена віртуалізація. Вона дозволяє запускати численні віртуальні машини (Virtual Machines або VMs) на одному фізичному ЦПУ сервера. Віртуалізація дозволила застосункам бути ізольованими у межах віртуальних машин та забезпечувала безпеку, оскільки інформація застосунку на одній VM не була доступна застосунку на іншій VM. + + +Віртуалізація забезпечує краще використання ресурсів на фізичному сервері та кращу масштабованість, оскільки дозволяє легко додавати та оновлювати застосунки, зменшує витрати на фізичне обладнання тощо. З віртуалізацією ви можете представити ресурси у вигляді одноразових віртуальних машин. + + +Кожна VM є повноцінною машиною з усіма компонентами, включно з власною операційною системою, запущені поверх віртуалізованого апаратного забезпечення. + + +**Ера розгортання контейнерів:** Контейнери схожі на VM, але мають спрощений варіант ізольованості і використовують спільну операційну систему для усіх застосунків. Саму тому контейнери вважаються легковісними. Подібно до VM, контейнер має власну файлову систему, ЦПУ, пам'ять, простір процесів тощо. Оскільки контейнери вивільнені від підпорядкованої інфраструктури, їх можна легко переміщати між хмарними провайдерами чи дистрибутивами операційних систем. + +Контейнери стали популярними, тому що пропонували додаткові переваги, такі як: + + + +* Створення та розгортання застосунків за методологією Agile: спрощення та більш ефективне створення образів контейнерів у порівнянні до використання образів віртуальних машин. +* Безперервна розробка, інтеграція та розгортання: забезпечення надійних та безперервних побудов контейнерів, їх швидке розгортання та легкі відкатування (за рахунок незмінності образів). +* Розподіл відповідальності команд розробки та експлуатації: створення образів контейнерів застосунків під час побудови/релізу на противагу часу розгортання, і як наслідок, вивільнення застосунків із інфраструктури. +* Спостереження не лише за інформацією та метриками на рівні операційної системи, але й за станом застосунку та іншими сигналами. +* Однорідність середовища для розробки, тестування та робочого навантаження: запускається так само як на робочому комп'ютері, так і у хмарного провайдера. +* Хмарна та операційно-системна кросплатформність: запускається на Ubuntu, RHEL, CoreOS, у власному дата-центрі, у Google Kubernetes Engine, і взагалі будь-де. +* Орієнтоване на застосунки керування: підвищення рівня абстракції від запуску операційної системи у віртуальному апаратному забезпеченні до запуску застосунку в операційній системі, використовуючи логічні ресурси. +* Нещільно зв'язані, розподілені, еластичні, вивільнені мікросервіси: застосунки розбиваються на менші, незалежні частини для динамічного розгортання та управління, на відміну від монолітної архітектури, що працює на одній великій виділеній машині. +* Ізоляція ресурсів: передбачувана продуктивність застосунку. +* Використання ресурсів: висока ефективність та щільність. + + +## Чому вам потрібен Kebernetes і що він може робити + + +Контейнери - це прекрасний спосіб упакувати та запустити ваші застосунки. У продуктивному оточенні вам потрібно керувати контейнерами, в яких працюють застосунки, і стежити, щоб не було простою. Наприклад, якщо один контейнер припиняє роботу, інший має бути запущений йому на заміну. Чи не легше зробити так, щоб цією поведінкою керувала сама система? + + +Ось де Kubernetes приходить на допомогу! Kubernetes надає вам каркас для еластичного запуску розподілених систем. Він опікується масштабуванням та аварійним відновленням вашого застосунку, пропонує шаблони розгортань, тощо. Наприклад, Kubernetes дозволяє легко створювати розгортання за стратегією canary у вашій системі. + + +Kubernetes надає вам: + + + +* **Виявлення сервісів та балансування навантаження** +Kubernetes може надавати доступ до контейнера, використовуючи DNS-ім'я або його власну IP-адресу. Якщо контейнер зазнає завеликого мережевого навантаження, Kubernetes здатний збалансувати та розподілити його таким чином, щоб розгортання залишалось стабільним. +* **Оркестрація сховища інформації** +Kubernetes дозволяє вам автоматично монтувати системи збереження інформації на ваш вибір: локальні сховища, рішення від хмарних провайдерів, тощо. +* **Автоматичне розгортання та відкат** +Використовуючи Kubernetes ви можете описати бажаний стан контейнерів що розгортаються, і він прослідкує за досягненням цього стану в контрольованій манері. Наприклад, ви можете автоматизувати Kubernetes створювати нові контейнери для вашого розгортання, згортати старі та передавати їхні ресурси на новостворені контейнери. +* **Автоматичне розміщення задач** +Використовуючи Kubernetes, ви можете описати бажаний стан контейнерів, що розгортаються, і він регульовано змінюватиме поточний стан, доки він не дорівнюватиме бажаному. Наприклад, ви можете автоматизувати в Kubernetes процеси створення нових контейнерів для розгортання, видалення існуючих контейнерів і передачу їхніх ресурсів на новостворені контейнери. +* **Самозцілення** +Kubernetes перезапускає контейнери, що відмовили; заміняє контейнери; зупиняє роботу контейнерів, що не відповідають на задану користувачем перевірку стану, і не повідомляє про них клієнтам, допоки ці контейнери не будуть у стані робочої готовності. +* **Управління секретами та конфігурацією** +Kubernetes дозволяє вам зберігати та керувати чутливою інформацією, такою як паролі, OAuth токени та SSH ключі. Ви можете розгортати та оновлювати секрети та конфігурацію без перезбирання образів ваших контейнерів, не розкриваючи секрети в конфігурацію стека. + + + +## Чим не є Kubernetes + + +Kubernetes не є комплексною системою PaaS (Платформа як послуга) у традиційному розумінні. Оскільки Kubernetes оперує швидше на рівні контейнерів, аніж на рівні апаратного забезпечення, деяка загальнозастосована функціональність і справді є спільною з PaaS, як-от розгортання, масштабування, розподіл навантаження, логування і моніторинг. Водночас Kubernetes не є монолітним, а вищезазначені особливості підключаються і є опціональними. Kubernetes надає будівельні блоки для створення платформ для розробників, але залишає за користувачем право вибору у важливих питаннях. + + +Kubernetes: + + + +* Не обмежує типи застосунків що підтримуються. Kuberntes намагається підтримувати екстримально різноманітні типи навантажень, включаючи такі яким потрібне зберігання стану так і такі яким воно непотрібне, навантаження по обробці даних, тощо. Якщо застосунок може бути запущений в контейнері - він має відчувати себе добре у Kubernetes. +* Не розгортає застосунки з початкових кодів та не будує ваші застосунки. Процеси безперервної інтеграції, доставка та розгортання (так звані CI/CD інструменти) визначаються на рівні організації, та потребами технічних вимог. +* Не надає сервіси на рівні застосунків як вбудовані: програмне забезпечення проміжного рівня (наприклад, шина передачі повідомлень), фреймворки обробки даних (наприклад, Spark), бази даних (наприклад, MySQL), кеш, некластерні системи збереження інформації (наприклад, Ceph). Ці компоненти можуть бути запущені у Kubernetes та/або бути доступними для застосунків за допомогою спеціальних механізмів, наприклад [Open Service Broker](https://openservicebrokerapi.org/). +* Не нав'язує використання інструментів для логування, моніторингу та сповіщень, натомість надає певні інтеграційні рішення як прототипи, та механізми зі збирання та експорту метрик. +* Не надає та не змушує використовувати якусь конфігураційну мову/систему (як наприклад `Jsonnet`), натомість надає можливість використовувати API що може бути використаний довільними формами декларативних специфікацій. +* Не надає і не запроваджує жодних систем машинної конфігурації, підтримки, управління або самозцілення. +* На додачу, Kubernetes не просто система оркестрації. Насправді, вона прибирає потребу оркестрації як такої. Технічне визначення оркестрації - це запуск визначених процесів: спочатку A, за ним B, потім C. На противагу, - Kubernetes складається з певної множити незалежних, складних процесів контролерів, що безперервно опрацьовують стан у напрямку заданого бажаною конфігурацією. Не має бути важливим як ви дістанетесь з пункту A до пункту C. Централізоване управління також не є вимогою. Це все виливається в систему яку легко використовувати, яка є потужною, надійною, стійкою та здатною до легкого розширення. + +{{% /capture %}} + +{{% capture whatsnext %}} + +* Зверніть увагу на [компоненти Kubernetes](/docs/concepts/overview/components/) +* Готові [розпочати роботу](/docs/setup/)? +{{% /capture %}} From 9aec827baf25316d62ac88eb40db7e53602cbecf Mon Sep 17 00:00:00 2001 From: Oleg Butuzov Date: Tue, 18 Feb 2020 16:06:02 +0200 Subject: [PATCH 03/23] Update content/uk/docs/concepts/overview/what-is-kubernetes.md Co-Authored-By: Anastasiya Kulyk <56824659+anastyakulyk@users.noreply.github.com> --- content/uk/docs/concepts/overview/what-is-kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/uk/docs/concepts/overview/what-is-kubernetes.md b/content/uk/docs/concepts/overview/what-is-kubernetes.md index 4344e9287c4da..f07fd3643b145 100644 --- a/content/uk/docs/concepts/overview/what-is-kubernetes.md +++ b/content/uk/docs/concepts/overview/what-is-kubernetes.md @@ -26,7 +26,7 @@ Kubernetes - це платформа з відкритим початковим -Назва Kubernetes походить з грецької та означає керманич, або пілот. Google відкрив доступ до початкових кодів проекту Kubernetes у 2014 році. Kubernetes побудовано [на базі п'ятнадцятилітнього досвіду, що Google отримав, оперуючи масштабними робочим навантаженнями](https://ai.google/research/pubs/pub43438) у купі з найкращими у своєму класі ідеями та практиками, які може запропонувати спільнота. +Назва Kubernetes походить з грецької та означає керманич, або пілот. Google відкрив доступ до початкових кодів проекту Kubernetes у 2014 році. Kubernetes побудовано [на базі п'ятнадцятилітнього досвіду, що Google отримав, оперуючи масштабними робочими навантаженнями](https://ai.google/research/pubs/pub43438) у купі з найкращими у своєму класі ідеями та практиками, які може запропонувати спільнота. -* Не обмежує типи застосунків що підтримуються. Kuberntes намагається підтримувати екстримально різноманітні типи навантажень, включаючи такі яким потрібне зберігання стану так і такі яким воно непотрібне, навантаження по обробці даних, тощо. Якщо застосунок може бути запущений в контейнері - він має відчувати себе добре у Kubernetes. +* Не обмежує типи застосунків, що підтримуються. Kubernetes намагається підтримувати найрізноманітніші типи навантажень, включно із збереженням стану (stateful) та без збереження (stateless), навантаження по обробці даних, тощо. Якщо ваш застосунок можна контейнерізувати, він чудово запуститься під Kubernetes. * Не розгортає застосунки з початкових кодів та не будує ваші застосунки. Процеси безперервної інтеграції, доставка та розгортання (так звані CI/CD інструменти) визначаються на рівні організації, та потребами технічних вимог. * Не надає сервіси на рівні застосунків як вбудовані: програмне забезпечення проміжного рівня (наприклад, шина передачі повідомлень), фреймворки обробки даних (наприклад, Spark), бази даних (наприклад, MySQL), кеш, некластерні системи збереження інформації (наприклад, Ceph). Ці компоненти можуть бути запущені у Kubernetes та/або бути доступними для застосунків за допомогою спеціальних механізмів, наприклад [Open Service Broker](https://openservicebrokerapi.org/). * Не нав'язує використання інструментів для логування, моніторингу та сповіщень, натомість надає певні інтеграційні рішення як прототипи, та механізми зі збирання та експорту метрик. From 51e94dcd934ef557988a00218d5a9d0f4273ffca Mon Sep 17 00:00:00 2001 From: Oleg Butuzov Date: Wed, 19 Feb 2020 09:08:20 +0200 Subject: [PATCH 06/23] Update content/uk/docs/concepts/overview/what-is-kubernetes.md Co-Authored-By: Anastasiya Kulyk <56824659+anastyakulyk@users.noreply.github.com> --- content/uk/docs/concepts/overview/what-is-kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/uk/docs/concepts/overview/what-is-kubernetes.md b/content/uk/docs/concepts/overview/what-is-kubernetes.md index f085c807f89f8..0e185080676bc 100644 --- a/content/uk/docs/concepts/overview/what-is-kubernetes.md +++ b/content/uk/docs/concepts/overview/what-is-kubernetes.md @@ -171,7 +171,7 @@ Kubernetes: * Не нав'язує використання інструментів для логування, моніторингу та сповіщень, натомість надає певні інтеграційні рішення як прототипи, та механізми зі збирання та експорту метрик. * Не надає та не змушує використовувати якусь конфігураційну мову/систему (як наприклад `Jsonnet`), натомість надає можливість використовувати API що може бути використаний довільними формами декларативних специфікацій. * Не надає і не запроваджує жодних систем машинної конфігурації, підтримки, управління або самозцілення. -* На додачу, Kubernetes не просто система оркестрації. Насправді, вона прибирає потребу оркестрації як такої. Технічне визначення оркестрації - це запуск визначених процесів: спочатку A, за ним B, потім C. На противагу, - Kubernetes складається з певної множити незалежних, складних процесів контролерів, що безперервно опрацьовують стан у напрямку заданого бажаною конфігурацією. Не має бути важливим як ви дістанетесь з пункту A до пункту C. Централізоване управління також не є вимогою. Це все виливається в систему яку легко використовувати, яка є потужною, надійною, стійкою та здатною до легкого розширення. +* На додачу, Kubernetes - не просто система оркестрації. Насправді, вона усуває потребу оркестрації як такої. Технічне визначення оркестрації - це запуск визначених процесів: спочатку A, за ним B, потім C. На противагу, Kubernetes складається з певної множити незалежних, складних процесів контролерів, що безперервно опрацьовують стан у напрямку, що заданий бажаною конфігурацією. Неважливо, як ви дістанетесь з пункту A до пункту C. Централізоване управління також не є вимогою. Все це виливається в систему, яку легко використовувати, яка є потужною, надійною, стійкою та здатною до легкого розширення. {{% /capture %}} From 5a7bf5291a527d18cea64328786b8e20fa2dfbc8 Mon Sep 17 00:00:00 2001 From: Oleg Butuzov Date: Wed, 19 Feb 2020 09:08:30 +0200 Subject: [PATCH 07/23] Update content/uk/docs/concepts/overview/what-is-kubernetes.md Co-Authored-By: Anastasiya Kulyk <56824659+anastyakulyk@users.noreply.github.com> --- content/uk/docs/concepts/overview/what-is-kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/uk/docs/concepts/overview/what-is-kubernetes.md b/content/uk/docs/concepts/overview/what-is-kubernetes.md index 0e185080676bc..bbb5aa830cf6a 100644 --- a/content/uk/docs/concepts/overview/what-is-kubernetes.md +++ b/content/uk/docs/concepts/overview/what-is-kubernetes.md @@ -43,7 +43,7 @@ Let's take a look at why Kubernetes is so useful by going back in time. -**Ера традиційного розгортання:** На початку, організації запускали застосунки на фізичних серверах. Оскільки в такий спосіб не було можливості задати обмеження використання ресурсів, це спричиняло проблеми виділення та розподілення ресурсів на фізичних серверах. Наприклад: якщо багато застосунків було запущено на фізичному сервері, могли траплятись випадки, коли один застосунок забирав собі найбільше ресурсів, внаслідок чого інші програми просто недопрацьовували. Рішенням може бути запуск кожного застосунку на окремому фізичному сервері. Але такий підхід погано масштабується, оскільки ресурси не повністю використовуються; на додачу, це дорого, оскільки організаціям потрібно було опікуватись фізичними серверами. +**Ера традиційного розгортання:** На початку, організації запускали застосунки на фізичних серверах. Оскільки в такий спосіб не було можливості задати обмеження використання ресурсів, це спричиняло проблеми виділення та розподілення ресурсів на фізичних серверах. Наприклад: якщо багато застосунків було запущено на фізичному сервері, могли траплятись випадки, коли один застосунок забирав собі найбільше ресурсів, внаслідок чого інші програми просто недопрацьовували. Рішенням може бути запуск кожного застосунку на окремому фізичному сервері. Але такий підхід погано масштабується, оскільки ресурси не повністю використовуються; на додачу, це дорого, оскільки організаціям потрібно опікуватись фізичними серверами. * Не обмежує типи застосунків, що підтримуються. Kubernetes намагається підтримувати найрізноманітніші типи навантажень, включно із збереженням стану (stateful) та без збереження (stateless), навантаження по обробці даних, тощо. Якщо ваш застосунок можна контейнерізувати, він чудово запуститься під Kubernetes. -* Не розгортає застосунки з початкових кодів та не будує ваші застосунки. Процеси безперервної інтеграції, доставка та розгортання (так звані CI/CD інструменти) визначаються на рівні організації, та потребами технічних вимог. +* Не розгортає застосунки з початкових кодів та не будує ваші застосунки. Процеси безперервної інтеграції, доставки та розгортання (CI/CD) визначаються на рівні організації, та в залежності від технічних вимог. * Не надає сервіси на рівні застосунків як вбудовані: програмне забезпечення проміжного рівня (наприклад, шина передачі повідомлень), фреймворки обробки даних (наприклад, Spark), бази даних (наприклад, MySQL), кеш, некластерні системи збереження інформації (наприклад, Ceph). Ці компоненти можуть бути запущені у Kubernetes та/або бути доступними для застосунків за допомогою спеціальних механізмів, наприклад [Open Service Broker](https://openservicebrokerapi.org/). * Не нав'язує використання інструментів для логування, моніторингу та сповіщень, натомість надає певні інтеграційні рішення як прототипи, та механізми зі збирання та експорту метрик. * Не надає та не змушує використовувати якусь конфігураційну мову/систему (як наприклад `Jsonnet`), натомість надає можливість використовувати API що може бути використаний довільними формами декларативних специфікацій. From 01eea3df73367ad1dd82d8e679b7d6d4ba2d15ee Mon Sep 17 00:00:00 2001 From: Oleg Butuzov Date: Wed, 19 Feb 2020 18:38:09 +0200 Subject: [PATCH 09/23] Update content/uk/docs/concepts/overview/what-is-kubernetes.md Co-Authored-By: Anastasiya Kulyk <56824659+anastyakulyk@users.noreply.github.com> --- content/uk/docs/concepts/overview/what-is-kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/uk/docs/concepts/overview/what-is-kubernetes.md b/content/uk/docs/concepts/overview/what-is-kubernetes.md index 477be6dd8daa3..b6c43fbd63426 100644 --- a/content/uk/docs/concepts/overview/what-is-kubernetes.md +++ b/content/uk/docs/concepts/overview/what-is-kubernetes.md @@ -135,7 +135,7 @@ Kubernetes дозволяє вам автоматично монтувати с * **Автоматичне розгортання та відкат** За допомогою Kubernetes ви можете описати бажаний стан контейнерів, що розгортаються, і він регульовано простежить за досягненням цього стану. Наприклад, ви можете автоматизувати в Kubernetes процеси створення нових контейнерів для розгортання, видалення існуючих контейнерів і передачу їхніх ресурсів на новостворені контейнери. * **Автоматичне розміщення задач** -Використовуючи Kubernetes, ви можете описати бажаний стан контейнерів, що розгортаються, і він регульовано змінюватиме поточний стан, доки він не дорівнюватиме бажаному. Наприклад, ви можете автоматизувати в Kubernetes процеси створення нових контейнерів для розгортання, видалення існуючих контейнерів і передачу їхніх ресурсів на новостворені контейнери. +Ви надаєте Kubernetes кластер для запуску контейнерізованих задач і вказуєте, скільки ресурсів CPU та пам'яті (RAM) необхідно для роботи кожного контейнера. Kubernetes розподіляє контейнери по вузлах кластера для максимально ефективного використання ресурсів. * **Самозцілення** Kubernetes перезапускає контейнери, що відмовили; заміняє контейнери; зупиняє роботу контейнерів, що не відповідають на задану користувачем перевірку стану, і не повідомляє про них клієнтам, допоки ці контейнери не будуть у стані робочої готовності. * **Управління секретами та конфігурацією** From 0e675845ac83bf2aa2eeade1de7eaf1d4cd6d6e3 Mon Sep 17 00:00:00 2001 From: Oleg Butuzov Date: Wed, 19 Feb 2020 18:38:26 +0200 Subject: [PATCH 10/23] Update content/uk/docs/concepts/overview/what-is-kubernetes.md Co-Authored-By: Maksym Vlasov --- content/uk/docs/concepts/overview/what-is-kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/uk/docs/concepts/overview/what-is-kubernetes.md b/content/uk/docs/concepts/overview/what-is-kubernetes.md index b6c43fbd63426..4713f1239fce4 100644 --- a/content/uk/docs/concepts/overview/what-is-kubernetes.md +++ b/content/uk/docs/concepts/overview/what-is-kubernetes.md @@ -31,7 +31,7 @@ The name Kubernetes originates from Greek, meaning helmsman or pilot. Google ope -## Озираючись на першопричини. +## Озираючись на першопричини Це абстрактний спосіб опублікувати застосунок що працює як один (або кілька) {{< glossary_tooltip text="Pod'ів" term_id="pod" >}} у вигляді мережевої служби. From 9d7bf77e41be2138528a696eacad7a360fb34aa4 Mon Sep 17 00:00:00 2001 From: Oleg Butuzov Date: Wed, 19 Feb 2020 18:39:04 +0200 Subject: [PATCH 12/23] Update content/uk/docs/concepts/overview/what-is-kubernetes.md Co-Authored-By: Maksym Vlasov --- content/uk/docs/concepts/overview/what-is-kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/uk/docs/concepts/overview/what-is-kubernetes.md b/content/uk/docs/concepts/overview/what-is-kubernetes.md index 4713f1239fce4..4fa169996dca9 100644 --- a/content/uk/docs/concepts/overview/what-is-kubernetes.md +++ b/content/uk/docs/concepts/overview/what-is-kubernetes.md @@ -43,7 +43,7 @@ Let's take a look at why Kubernetes is so useful by going back in time. -**Ера традиційного розгортання:** На початку, організації запускали застосунки на фізичних серверах. Оскільки в такий спосіб не було можливості задати обмеження використання ресурсів, це спричиняло проблеми виділення та розподілення ресурсів на фізичних серверах. Наприклад: якщо багато застосунків було запущено на фізичному сервері, могли траплятись випадки, коли один застосунок забирав собі найбільше ресурсів, внаслідок чого інші програми просто недопрацьовували. Рішенням може бути запуск кожного застосунку на окремому фізичному сервері. Але такий підхід погано масштабується, оскільки ресурси не повністю використовуються; на додачу, це дорого, оскільки організаціям потрібно опікуватись фізичними серверами. +**Ера традиційного розгортання:** На початку, організації запускали застосунки на фізичних серверах. Оскільки в такий спосіб не було можливості задати обмеження використання ресурсів, це спричиняло проблеми виділення та розподілення ресурсів на фізичних серверах. Наприклад: якщо багато застосунків було запущено на фізичному сервері, могли траплятись випадки, коли один застосунок забирав собі найбільше ресурсів, внаслідок чого інші програми просто не справлялися з обов'язками. Рішенням може бути запуск кожного застосунку на окремому фізичному сервері. Але такий підхід погано масштабується, оскільки ресурси не повністю використовуються; на додачу, це дорого, оскільки організаціям потрібно опікуватись фізичними серверами. Давайте повернемось назад у часі та дізнаємось, завдяки чому Kubernetes став таким корисним. -![Deployment evolution](/images/docs/Container_Evolution.svg) +![Еволюція розгортання](/images/docs/Container_Evolution.svg) -Ось де Kubernetes приходить на допомогу! Kubernetes надає вам каркас для еластичного запуску розподілених систем. Він опікується масштабуванням та аварійним відновленням вашого застосунку, пропонує шаблони розгортань, тощо. Наприклад, Kubernetes дозволяє легко створювати розгортання за стратегією canary у вашій системі. +Ось де Kubernetes приходить на допомогу! Kubernetes надає вам каркас для еластичного запуску розподілених систем. Він опікується масштабуванням та аварійним відновленням вашого застосунку, пропонує шаблони розгортань тощо. Наприклад, Kubernetes дозволяє легко створювати розгортання за стратегією canary у вашій системі. -**Ера розгортання контейнерів:** Контейнери схожі на VM, але мають спрощений варіант ізольованості і використовують спільну операційну систему для усіх застосунків. Саму тому контейнери вважаються легковісними. Подібно до VM, контейнер має власну файлову систему, ЦПУ, пам'ять, простір процесів тощо. Оскільки контейнери вивільнені від підпорядкованої інфраструктури, їх можна легко переміщати між хмарними провайдерами чи дистрибутивами операційних систем. +**Ера розгортання контейнерів:** Контейнери схожі на VM, але мають спрощений варіант ізоляції і використовують спільну операційну систему для усіх застосунків. Саму тому контейнери вважаються легковісними. Подібно до VM, контейнер має власну файлову систему, ЦПУ, пам'ять, простір процесів тощо. Оскільки контейнери вивільнені від підпорядкованої інфраструктури, їх можна легко переміщати між хмарними провайдерами чи дистрибутивами операційних систем. From f69e193c3ef10d0c53b56bd445af77a8e7549ca6 Mon Sep 17 00:00:00 2001 From: Oleg Butuzov Date: Wed, 19 Feb 2020 18:43:29 +0200 Subject: [PATCH 16/23] Update content/uk/docs/concepts/overview/what-is-kubernetes.md Co-Authored-By: Maksym Vlasov --- content/uk/docs/concepts/overview/what-is-kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/uk/docs/concepts/overview/what-is-kubernetes.md b/content/uk/docs/concepts/overview/what-is-kubernetes.md index 8b3ef729128dd..88a6c94b60060 100644 --- a/content/uk/docs/concepts/overview/what-is-kubernetes.md +++ b/content/uk/docs/concepts/overview/what-is-kubernetes.md @@ -129,7 +129,7 @@ Kubernetes lets you store and manage sensitive information, such as passwords, O --> * **Виявлення сервісів та балансування навантаження** -Kubernetes може надавати доступ до контейнера, використовуючи DNS-ім'я або його власну IP-адресу. Якщо контейнер зазнає завеликого мережевого навантаження, Kubernetes здатний збалансувати та розподілити його таким чином, щоб розгортання залишалось стабільним. +Kubernetes може надавати доступ до контейнера, використовуючи DNS-ім'я або його власну IP-адресу. Якщо контейнер зазнає завеликого мережевого навантаження, Kubernetes здатний збалансувати та розподілити його таким чином, щоб якість обслуговування залишалась стабільною. * **Оркестрація сховища інформації** Kubernetes дозволяє вам автоматично монтувати системи збереження інформації на ваш вибір: локальні сховища, рішення від хмарних провайдерів, тощо. * **Автоматичне розгортання та відкат** From a535b6d00892a4644743972123a022c2d48686ad Mon Sep 17 00:00:00 2001 From: Oleg Butuzov Date: Wed, 19 Feb 2020 18:43:44 +0200 Subject: [PATCH 17/23] Update content/uk/docs/concepts/overview/what-is-kubernetes.md Co-Authored-By: Maksym Vlasov --- content/uk/docs/concepts/overview/what-is-kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/uk/docs/concepts/overview/what-is-kubernetes.md b/content/uk/docs/concepts/overview/what-is-kubernetes.md index 88a6c94b60060..c76672c3ecf22 100644 --- a/content/uk/docs/concepts/overview/what-is-kubernetes.md +++ b/content/uk/docs/concepts/overview/what-is-kubernetes.md @@ -139,7 +139,7 @@ Kubernetes дозволяє вам автоматично монтувати с * **Самозцілення** Kubernetes перезапускає контейнери, що відмовили; заміняє контейнери; зупиняє роботу контейнерів, що не відповідають на задану користувачем перевірку стану, і не повідомляє про них клієнтам, допоки ці контейнери не будуть у стані робочої готовності. * **Управління секретами та конфігурацією** -Kubernetes дозволяє вам зберігати та керувати чутливою інформацією, такою як паролі, OAuth токени та SSH ключі. Ви можете розгортати та оновлювати секрети та конфігурацію без перезбирання образів ваших контейнерів, не розкриваючи секрети в конфігурацію стека. +Kubernetes дозволяє вам зберігати та керувати чутливою інформацією, такою як паролі, OAuth токени та SSH ключі. Ви можете розгортати та оновлювати секрети та конфігурацію без перезбирання образів ваших контейнерів, не розкриваючи секрети в конфігурації стека. -Контейнери стали популярними, тому що пропонували додаткові переваги, такі як: +Контейнери стали популярними, бо пропонували додаткові переваги, такі як: -Контейнери - це прекрасний спосіб упакувати та запустити ваші застосунки. У продуктивному оточенні вам потрібно керувати контейнерами, в яких працюють застосунки, і стежити, щоб не було простою. Наприклад, якщо один контейнер припиняє роботу, інший має бути запущений йому на заміну. Чи не легше зробити так, щоб цією поведінкою керувала сама система? +Контейнери - це прекрасний спосіб упакувати та запустити ваші застосунки. У прод оточенні вам потрібно керувати контейнерами, в яких працюють застосунки, і стежити, щоб не було простою. Наприклад, якщо один контейнер припиняє роботу, інший має бути запущений йому на заміну. Чи не легше зробити так, щоб цією поведінкою керувала сама система?