diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 25b0ff4753..795b340ba3 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -16,7 +16,7 @@ If you're working on a different localization (not English), or you are documenting a feature that will be part of a future release, see - https://kubernetes.io/docs/contribute/start#choose-which-git-branch-to-use + https://kubernetes.io/docs/contribute/new-content/overview/#choose-which-git-branch-to-use for advice. --> diff --git a/Makefile b/Makefile index 56359bd32b..75d37f767d 100644 --- a/Makefile +++ b/Makefile @@ -36,7 +36,10 @@ serve: ## Boot the development server. hugo server --buildFuture docker-image: - $(DOCKER) build . --tag $(DOCKER_IMAGE) --build-arg HUGO_VERSION=$(HUGO_VERSION) + $(DOCKER) build . \ + --network=host \ + --tag $(DOCKER_IMAGE) \ + --build-arg HUGO_VERSION=$(HUGO_VERSION) docker-build: $(DOCKER_RUN) $(DOCKER_IMAGE) hugo diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES index 0a56370edd..bf78ef6a64 100644 --- a/OWNERS_ALIASES +++ b/OWNERS_ALIASES @@ -41,7 +41,6 @@ aliases: sig-docs-en-owners: # Admins for English content - bradtopol - daminisatya - - jaredbhatti - jimangel - kbarnard10 - kbhawkey @@ -59,7 +58,6 @@ aliases: sig-docs-en-reviews: # PR reviews for English content - bradtopol - daminisatya - - jaredbhatti - jimangel - kbarnard10 - kbhawkey @@ -125,6 +123,7 @@ aliases: sig-docs-id-reviews: # PR reviews for Indonesian content - girikuncoro - irvifa + - wahyuoi sig-docs-it-owners: # Admins for Italian content - fabriziopandini - mattiaperi @@ -171,7 +170,6 @@ aliases: - haibinxie - hanjiayao - lichuqiang - - markthink - SataQiu - tengqm - xiangpengzhao @@ -181,7 +179,6 @@ aliases: sig-docs-zh-reviews: # PR reviews for Chinese content - chenrui333 - idealhack - - markthink - SataQiu - tanjunchen - tengqm diff --git a/README-hi.md b/README-hi.md index 12bfeee63c..e572cfc738 100644 --- a/README-hi.md +++ b/README-hi.md @@ -36,7 +36,7 @@ > यदि आप डॉकर के बिना स्थानीय रूप से वेबसाइट चलाना पसंद करते हैं, तो नीचे Hugo का उपयोग करके स्थानीय रूप से साइट चलाना देखें। -यदि आप डॉकर के बिना स्थानीय रूप से वेबसाइट चलाना पसंद करते हैं, तो नीचे दिए गए Hugo का उपयोग करके स्थानीय रूप से [साइट को चलाने](#running-the-site-locally-using-hugo) का तरीका देखें। +यदि आप डॉकर के बिना स्थानीय रूप से वेबसाइट चलाना पसंद करते हैं, तो नीचे दिए गए Hugo का उपयोग करके स्थानीय रूप से [साइट को चलाने](#hugo-का-उपयोग-करते-हुए-स्थानीय-रूप-से-साइट-चलाना) का तरीका देखें। यदि आप [डॉकर](https://www.docker.com/get-started) चला रहे हैं, तो स्थानीय रूप से `कुबेरनेट्स-ह्यूगो` Docker image बनाएँ: diff --git a/README-ru.md b/README-ru.md index 357578acf8..bb290654a8 100644 --- a/README-ru.md +++ b/README-ru.md @@ -1,58 +1,9 @@ # Документация по Kubernetes -[](https://travis-ci.org/kubernetes/website) -[](https://github.com/kubernetes/website/releases/latest) +[](https://app.netlify.com/sites/kubernetes-io-master-staging/deploys) [](https://github.com/kubernetes/website/releases/latest) Добро пожаловать! Данный репозиторий содержит все необходимые файлы для сборки [сайта Kubernetes и документации](https://kubernetes.io/). Мы благодарим вас за старания! -## Вклад в документацию - -Нажмите на кнопку **Fork** в правом верхнем углу, чтобы создать копию этого репозитория в ваш GitHub-аккаунт. Эта копия называется *форк-репозиторием*. Делайте любые изменения в вашем форк-репозитории, и когда вы будете готовы опубликовать изменения, откройте форк-репозиторий и создайте новый пулреквест, чтобы уведомить нас. - -После того, как вы отправите пулреквест, ревьювер Kubernetes даст по нему обратную связь. Вы, как автор пулреквеста, **должны обновить свой пулреквест после его рассмотрения ревьювером Kubernetes.** Вполне возможно, что более одного ревьювера Kubernetes оставят свои комментарии или даже может быть так, что новый комментарий ревьювера Kubernetes будет отличаться от первоначального назначенного ревьювера. Кроме того, в некоторых случаях один из ревьюверов может запросить технический обзор у [технического ревьювера Kubernetes](https://github.com/kubernetes/website/wiki/Tech-reviewers), если это будет необходимо. Ревьюверы сделают все возможное, чтобы как можно оперативно оставить свои предложения и пожелания, но время ответа может варьироваться в зависимости от обстоятельств. - -Узнать подробнее о том, как поучаствовать в документации Kubernetes, вы можете по ссылкам ниже: - -* [Начните вносить свой вклад](https://kubernetes.io/docs/contribute/start/) -* [Просмотр локальных изменений](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally) -* [Использование шаблонов страниц](http://kubernetes.io/docs/contribute/style/page-templates/) -* [Руководство по оформлению документации](http://kubernetes.io/docs/contribute/style/style-guide/) -* [Руководство по локализации Kubernetes](https://kubernetes.io/docs/contribute/localization/) - -## Файл `README.md` на других языках -| | | -|-------------------------------|-------------------------------| -| [Английский](README.md) | [Французский](README-fr.md) | -| [Корейский](README-ko.md) | [Немецкий](README-de.md) | -| [Португальский](README-pt.md) | [Хинди](README-hi.md) | -| [Испанский](README-es.md) | [Индонезийский](README-id.md) | -| [Китайский](README-zh.md) | [Японский](README-ja.md) | -| [Вьетнамский](README-vi.md) | [Итальянский](README-it.md) | -| [Польский]( README-pl.md) | [Украинский](README-uk.md) | -| | | - -## Запуск сайта локально с помощью Docker - -Рекомендованный способ запуска сайта Kubernetes на локальной машине - использовать специальный образ [Docker](https://docker.com), который включает статический генератор сайтов [Hugo](https://gohugo.io). - -> Если вы используете Windows, вам необходимо установить дополнительные инструменты через [Chocolatey](https://chocolatey.org). `choco install make` - -> Если вы хотите запустить сайт локально без Docker, обратитесь к разделу [Запуск сайта с помощью Hugo](#запуск-сайта-с-помощью-hugo) ниже на этой странице. - -Когда Docker [установлен и запущен](https://www.docker.com/get-started), соберите локально Docker-образ `kubernetes-hugo`, выполнив команду в консоли: - -```bash -make docker-image -``` - -После того, как вы собрали образ, можно запустить сайт локально: - -```bash -make docker-serve -``` - -Откройте браузер и перейдите по ссылке http://localhost:1313, чтобы открыть сайт. Если вы редактируете исходные файлы сайта, Hugo автоматически применит изменения и обновит страницу в браузере. - ## Запуск сайта с помощью Hugo Обратитесь к [официальной документации Hugo](https://gohugo.io/getting-started/installing/), чтобы установить Hugo. Убедитесь, что вы установили правильную версию Hugo, которая устанавливается в переменной окружения `HUGO_VERSION` в файле [`netlify.toml`](netlify.toml#L10). @@ -60,7 +11,9 @@ make docker-serve После установки Hugo, чтобы запустить сайт, выполните в консоли: ```bash -make serve +git clone https://github.com/kubernetes/website.git +cd website +hugo server --buildFuture ``` Эта команда запустит сервер Hugo на порту 1313. Откройте браузер и перейдите по ссылке http://localhost:1313, чтобы открыть сайт. Если вы отредактируете исходные файлы сайта, Hugo автоматически применит изменения и обновит страницу в браузере. @@ -74,9 +27,35 @@ make serve - [Канал в Slack](https://kubernetes.slack.com/messages/sig-docs) - [Рассылка](https://groups.google.com/forum/#!forum/kubernetes-sig-docs) +## Вклад в документацию + +Нажмите на кнопку **Fork** в правом верхнем углу, чтобы создать копию этого репозитория в ваш GitHub-аккаунт. Эта копия называется *форк-репозиторием*. Делайте любые изменения в вашем форк-репозитории, и когда вы будете готовы опубликовать изменения, откройте форк-репозиторий и создайте новый пулреквест, чтобы уведомить нас. + +После того, как вы отправите пулреквест, ревьювер Kubernetes даст по нему обратную связь. Вы, как автор пулреквеста, **должны обновить свой пулреквест после его рассмотрения ревьювером Kubernetes.** + +Вполне возможно, что более одного ревьювера Kubernetes оставят свои комментарии или даже может быть так, что новый комментарий ревьювера Kubernetes будет отличаться от первоначального назначенного ревьювера. Кроме того, в некоторых случаях один из ревьюверов может запросить технический обзор у [технического ревьювера Kubernetes](https://github.com/kubernetes/website/wiki/Tech-reviewers), если это будет необходимо. Ревьюверы сделают все возможное, чтобы как можно оперативно оставить свои предложения и пожелания, но время ответа может варьироваться в зависимости от обстоятельств. + +Узнать подробнее о том, как поучаствовать в документации Kubernetes, вы можете по ссылкам ниже: + +* [Начните вносить свой вклад](https://kubernetes.io/docs/contribute/) +* [Использование шаблонов страниц](http://kubernetes.io/docs/contribute/style/page-templates/) +* [Руководство по оформлению документации](http://kubernetes.io/docs/contribute/style/style-guide/) +* [Руководство по локализации Kubernetes](https://kubernetes.io/docs/contribute/localization/) + +## Файл `README.md` на других языках +| другие языки | другие языки | +|-------------------------------|-------------------------------| +| [Английский](README.md) | [Французский](README-fr.md) | +| [Корейский](README-ko.md) | [Немецкий](README-de.md) | +| [Португальский](README-pt.md) | [Хинди](README-hi.md) | +| [Испанский](README-es.md) | [Индонезийский](README-id.md) | +| [Китайский](README-zh.md) | [Японский](README-ja.md) | +| [Вьетнамский](README-vi.md) | [Итальянский](README-it.md) | +| [Польский]( README-pl.md) | [Украинский](README-uk.md) | + ### Кодекс поведения -Участие в сообществе Kubernetes регулируется [кодексом поведения Kubernetes](code-of-conduct.md). +Участие в сообществе Kubernetes регулируется [кодексом поведения CNCF](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). ## Спасибо! diff --git a/README-uk.md b/README-uk.md index 53d8b2bb46..3aad33660a 100644 --- a/README-uk.md +++ b/README-uk.md @@ -1,27 +1,68 @@ + # Документація Kubernetes -[](https://travis-ci.org/kubernetes/website) -[](https://github.com/kubernetes/website/releases/latest) +[](https://app.netlify.com/sites/kubernetes-io-master-staging/deploys) [](https://github.com/kubernetes/website/releases/latest) + Вітаємо! В цьому репозиторії міститься все необхідне для роботи над [сайтом і документацією Kubernetes](https://kubernetes.io/). Ми щасливі, що ви хочете зробити свій внесок! + +## Запуск сайту локально зa допомогою Hugo + + +Для інструкцій з встановлення Hugo дивіться [офіційну документацію](https://gohugo.io/getting-started/installing/). Обов’язково встановіть розширену версію Hugo, яка позначена змінною оточення `HUGO_VERSION` у файлі [`netlify.toml`](netlify.toml#L10). + + +Після встановлення Hugo, запустіть сайт локально командою: + +```bash +git clone https://github.com/kubernetes/website.git +cd website +hugo server --buildFuture +``` + + +Команда запустить локальний Hugo-сервер на порту 1313. Відкрийте у своєму браузері http://localhost:1313, щоб побачити сайт. По мірі того, як ви змінюєте вихідний код, Hugo актуалізує сайт відповідно до внесених змін і оновлює сторінку у браузері. + + +## Спільнота, обговорення, внесок і підтримка + + +Дізнайтеся, як долучитися до спільноти Kubernetes на [сторінці спільноти](http://kubernetes.io/community/). + + +Для зв’язку із супроводжуючими проекту скористайтеся: + +- [Slack](https://kubernetes.slack.com/messages/sig-docs) +- [Поштова розсилка](https://groups.google.com/forum/#!forum/kubernetes-sig-docs) + + ## Внесок у документацію + Ви можете створити копію цього репозиторія у своєму акаунті на GitHub, натиснувши на кнопку **Fork**, що розташована справа зверху. Ця копія називатиметься *fork* (відгалуження). Зробіть будь-які необхідні зміни у своєму відгалуженні. Коли ви будете готові надіслати їх нам, перейдіть до свого відгалуження і створіть новий pull request, щоб сповістити нас. -Після того, як ви створили pull request, рецензент Kubernetes зобов’язується надати вам по ньому чіткий і конструктивний коментар. **Ваш обов’язок як творця pull request - відкоригувати його відповідно до зауважень рецензента Kubernetes.** Також, зауважте: може статися так, що ви отримаєте коментарі від декількох рецензентів Kubernetes або від іншого рецензента, ніж той, якого вам було призначено від початку. Крім того, за потреби один із ваших рецензентів може запросити технічну перевірку від одного з [технічних рецензентів Kubernetes](https://github.com/kubernetes/website/wiki/Tech-reviewers). Рецензенти намагатимуться відреагувати вчасно, проте час відповіді може відрізнятися в залежності від обставин. + +Після того, як ви створили pull request, рецензент Kubernetes зобов’язується надати вам по ньому чіткий і конструктивний коментар. **Ваш обов’язок як творця pull request - відкоригувати його відповідно до зауважень рецензента Kubernetes.** + +Також, зауважте: може статися так, що ви отримаєте коментарі від декількох рецензентів Kubernetes або від іншого рецензента, ніж той, якого вам було призначено від початку. + + +Крім того, за потреби один із ваших рецензентів може запросити технічну перевірку від одного з технічних рецензентів Kubernetes, коли це необхідно. Рецензенти намагатимуться відреагувати вчасно, проте час відповіді може відрізнятися в залежності від обставин. + + Більше інформації про внесок у документацію Kubernetes ви знайдете у наступних джерелах: -* [Внесок: з чого почати](https://kubernetes.io/docs/contribute/start/) -* [Візуалізація запропонованих змін до документації](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally) +* [Внесок: з чого почати](https://kubernetes.io/docs/contribute/) * [Використання шаблонів сторінок](http://kubernetes.io/docs/contribute/style/page-templates/) * [Керівництво зі стилю оформлення документації](http://kubernetes.io/docs/contribute/style/style-guide/) * [Переклад документації Kubernetes іншими мовами](https://kubernetes.io/docs/contribute/localization/) + ## Файл `README.md` іншими мовами -| | | +| інші мови | інші мови | |-------------------------------|-------------------------------| | [Англійська](README.md) | [Французька](README-fr.md) | | [Корейська](README-ko.md) | [Німецька](README-de.md) | @@ -30,55 +71,15 @@ | [Китайська](README-zh.md) | [Японська](README-ja.md) | | [В'єтнамська](README-vi.md) | [Російська](README-ru.md) | | [Італійська](README-it.md) | [Польська](README-pl.md) | -| | | -## Запуск сайту локально за допомогою Docker + +## Кодекс поведінки -Для локального запуску сайту Kubernetes рекомендовано запустити спеціальний [Docker](https://docker.com)-образ, що містить генератор статичних сайтів [Hugo](https://gohugo.io). - -> Якщо ви працюєте під Windows, вам знадобиться ще декілька інструментів, які можна встановити за допомогою [Chocolatey](https://chocolatey.org). `choco install make` - -> Якщо ви вважаєте кращим запустити сайт локально без використання Docker, дивіться пункт нижче [Запуск сайту локально за допомогою Hugo](#запуск-сайту-локально-зa-допомогою-hugo). - -Якщо у вас вже [запущений](https://www.docker.com/get-started) Docker, зберіть локальний Docker-образ `kubernetes-hugo`: - -```bash -make docker-image -``` - -Після того, як образ зібрано, ви можете запустити сайт локально: - -```bash -make docker-serve -``` - -Відкрийте у своєму браузері http://localhost:1313, щоб побачити сайт. По мірі того, як ви змінюєте вихідний код, Hugo актуалізує сайт відповідно до внесених змін і оновлює сторінку у браузері. - -## Запуск сайту локально зa допомогою Hugo - -Для інструкцій по установці Hugo дивіться [офіційну документацію](https://gohugo.io/getting-started/installing/). Обов’язково встановіть розширену версію Hugo, яка позначена змінною оточення `HUGO_VERSION` у файлі [`netlify.toml`](netlify.toml#L9). - -Після установки Hugo, запустіть сайт локально командою: - -```bash -make serve -``` - -Команда запустить локальний Hugo-сервер на порту 1313. Відкрийте у своєму браузері http://localhost:1313, щоб побачити сайт. По мірі того, як ви змінюєте вихідний код, Hugo актуалізує сайт відповідно до внесених змін і оновлює сторінку у браузері. - -## Спільнота, обговорення, внесок і підтримка - -Дізнайтеся, як долучитися до спільноти Kubernetes на [сторінці спільноти](http://kubernetes.io/community/). - -Для зв’язку із супроводжуючими проекту скористайтеся: - -- [Slack](https://kubernetes.slack.com/messages/sig-docs) -- [Поштова розсилка](https://groups.google.com/forum/#!forum/kubernetes-sig-docs) - -### Кодекс поведінки - -Участь у спільноті Kubernetes визначається правилами [Кодексу поведінки спільноти Kubernetes](code-of-conduct.md). + +Участь у спільноті Kubernetes визначається правилами [Кодексу поведінки СNCF](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). + ## Дякуємо! -Долучення до спільноти - запорука успішного розвитку Kubernetes. Ми цінуємо ваш внесок у наш сайт і документацію! + +Долучення до спільноти - запорука успішного розвитку Kubernetes. Ми цінуємо ваш внесок у наш сайт і документацію! \ No newline at end of file diff --git a/README.md b/README.md index 3329b1a8c3..d3ee35693b 100644 --- a/README.md +++ b/README.md @@ -48,13 +48,13 @@ For more information about contributing to the Kubernetes documentation, see: | Language | Language | |---|---| -|[French](README-fr.md)|[Korean](README-ko.md)| +|[Chinese](README-zh.md)|[Korean](README-ko.md)| +|[French](README-fr.md)|[Polish](README-pl.md)| |[German](README-de.md)|[Portuguese](README-pt.md)| -|[Hindi](README-hi.md)|[Spanish](README-es.md)| -|[Indonesian](README-id.md)|[Chinese](README-zh.md)| +|[Hindi](README-hi.md)|[Russian](README-ru.md)| +|[Indonesian](README-id.md)|[Spanish](README-es.md)| +|[Italian](README-it.md)|[Ukrainian](README-uk.md)| |[Japanese](README-ja.md)|[Vietnamese](README-vi.md)| -|[Russian](README-ru.md)|[Italian](README-it.md)| -|[Polish](README-pl.md)|[Ukrainian](README-uk.md)| ## Code of conduct diff --git a/assets/sass/_base.sass b/assets/sass/_base.sass index c59d20c346..c8dedc0a72 100644 --- a/assets/sass/_base.sass +++ b/assets/sass/_base.sass @@ -439,6 +439,7 @@ footer width: 100% background-image: url(/images/texture.png) background-color: $dark-grey + overflow-x: hidden .main-section padding: 20px 0 @@ -1214,7 +1215,7 @@ $feature-box-div-margin-bottom: 40px margin-bottom: 20px #desktopKCButton - position: relative + position: absolute font-size: 18px background-color: $dark-grey border-radius: 8px @@ -1802,6 +1803,7 @@ $feature-box-div-margin-bottom: 40px img padding-bottom: 1rem + max-width: 100% div position: relative diff --git a/config.toml b/config.toml index 034b2e7c84..05430dc87b 100644 --- a/config.toml +++ b/config.toml @@ -14,24 +14,27 @@ contentDir = "content/en" timeout = 3000 -# Highlighting config. -pygmentsCodeFences = true -pygmentsUseClasses = false -# See https://help.farbox.com/pygments.html -pygmentsStyle = "emacs" - # Enable Git variables like commit, lastmod enableGitInfo = true # Norwegian ("no") is sometimes but not currently used for testing. # Hindi is disabled because it's currently in development. -# Italian is disabled until it meets minimum standards for quality. -disableLanguages = ["hi", "it", "no"] +disableLanguages = ["hi", "no"] -[blackfriday] -hrefTargetBlank = true -fractions = false -smartDashes = false +[markup] + [markup.goldmark] + [markup.goldmark.renderer] + unsafe = true + [markup.highlight] + codeFences = true + guessSyntax = false + hl_Lines = "" + lineNoStart = 1 + lineNos = false + lineNumbersInTable = true + noClasses = true + style = "emacs" + tabWidth = 4 [frontmatter] date = ["date", ":filename", "publishDate", "lastmod"] @@ -188,8 +191,8 @@ language_alternatives = ["en"] [languages.it] title = "Kubernetes" -description = "Production-Grade Container Orchestration" -languageName ="Italian" +description = "Orchestrazione di Container in produzione" +languageName = "Italiano" weight = 6 contentDir = "content/it" diff --git a/content/de/_index.html b/content/de/_index.html index adb2dce298..48df4cfd1f 100644 --- a/content/de/_index.html +++ b/content/de/_index.html @@ -14,23 +14,23 @@ Es gruppiert Container, aus denen sich eine Anwendung zusammensetzt, in logische {{% /blocks/feature %}} {{% blocks/feature image="scalable" %}} -#### Planet Scale +#### Ausgereift Kubernetes basiert auf denselben Prinzipien, die es Google ermöglichen, Milliarden von Containern pro Woche zu betreiben. {{% /blocks/feature %}} {{% blocks/feature image="blocks" %}} -#### Never Outgrow +#### Mitwachsend -Unabhängig davon, ob Sie lokal testen oder ein globales Unternehmen betreiben, die Flexibilität von Kubernetes wächst mit Ihnen, um Ihre Anwendungen konsistent und einfach bereitzustellen, unabhängig von der Komplexität Ihrer Anforderungen. +Unabhängig davon, ob Du lokal testest oder ein globales Unternehmen betreibst: Die Flexibilität von Kubernetes wächst mit Dir, um Deine Anwendungen konsistent und einfach bereitzustellen - Unabhängig von der Komplexität Deiner Anforderungen. {{% /blocks/feature %}} {{% blocks/feature image="suitcase" %}} -#### Run Anywhere +#### Überall Lauffähig -Kubernetes ist Open Source und bietet Ihnen die Freiheit, die Infrastruktur vor Ort, Hybrid oder Public Cloud zu nutzen. So können Sie Workloads mühelos dorthin verschieben, wo es Ihnen wichtig ist. +Kubernetes ist Open Source und bietet Dir die Freiheit, die Infrastruktur vor Ort, Hybrid oder Public Cloud zu nutzen. So kannst Du Workloads mühelos dorthin verschieben, wo es Dir wichtig ist. {{% /blocks/feature %}} @@ -39,17 +39,17 @@ Kubernetes ist Open Source und bietet Ihnen die Freiheit, die Infrastruktur vor {{< blocks/section id="video" background-image="kub_video_banner_homepage" >}}
Von Sarah Wells, technischer Direktor für Betrieb und Zuverlässigkeit, Financial Times
+Von Sarah Wells, technische Direktorin für Betrieb und Zuverlässigkeit, Financial Times
Read the latest news for Kubernetes and the containers space in general, and get technical how-tos hot off the presses.
--- +{{< comment >}} + +For information about contributing to the blog, see +https://kubernetes.io/docs/contribute/new-content/blogs-case-studies/#write-a-blog-post + +{{< /comment >}} diff --git a/content/en/blog/_posts/2018-04-13-local-persistent-volumes-beta.md b/content/en/blog/_posts/2018-04-13-local-persistent-volumes-beta.md index 42f9b60e66..71a0fa26d9 100644 --- a/content/en/blog/_posts/2018-04-13-local-persistent-volumes-beta.md +++ b/content/en/blog/_posts/2018-04-13-local-persistent-volumes-beta.md @@ -144,7 +144,7 @@ The local persistent volume beta feature is not complete by far. Some notable en [Pod disruption budget](/docs/concepts/workloads/pods/disruptions/) is also very important for those workloads that must maintain quorum. Setting a disruption budget for your workload ensures that it does not drop below quorum due to voluntary disruption events, such as node drains during upgrade. -[Pod affinity and anti-affinity](/docs/concepts/configuration/assign-pod-node/#inter-pod-affinity-and-anti-affinity-beta-feature) ensures that your workloads stay either co-located or spread out across failure domains. If you have multiple local persistent volumes available on a single node, it may be preferable to specify an pod anti-affinity policy to spread your workload across nodes. Note that if you want multiple pods to share the same local persistent volume, you do not need to specify a pod affinity policy. The scheduler understands the locality constraints of the local persistent volume and schedules your pod to the correct node. +[Pod affinity and anti-affinity](/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity-beta-feature) ensures that your workloads stay either co-located or spread out across failure domains. If you have multiple local persistent volumes available on a single node, it may be preferable to specify an pod anti-affinity policy to spread your workload across nodes. Note that if you want multiple pods to share the same local persistent volume, you do not need to specify a pod affinity policy. The scheduler understands the locality constraints of the local persistent volume and schedules your pod to the correct node. ## Getting involved diff --git a/content/en/blog/_posts/2018-10-10-runtimeclass.md b/content/en/blog/_posts/2018-10-10-runtimeclass.md index 6a889ada70..5c2ba7208b 100644 --- a/content/en/blog/_posts/2018-10-10-runtimeclass.md +++ b/content/en/blog/_posts/2018-10-10-runtimeclass.md @@ -27,7 +27,7 @@ Why is RuntimeClass a pod level concept? The Kubernetes resource model expects c ## What's next? -The RuntimeClass resource is an important foundation for surfacing runtime properties to the control plane. For example, to implement scheduler support for clusters with heterogeneous nodes supporting different runtimes, we might add [NodeAffinity](/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) terms to the RuntimeClass definition. Another area to address is managing the variable resource requirements to run pods of different runtimes. The [Pod Overhead proposal](https://docs.google.com/document/d/1EJKT4gyl58-kzt2bnwkv08MIUZ6lkDpXcxkHqCvvAp4/preview) was an early take on this that aligns nicely with the RuntimeClass design, and may be pursued further. +The RuntimeClass resource is an important foundation for surfacing runtime properties to the control plane. For example, to implement scheduler support for clusters with heterogeneous nodes supporting different runtimes, we might add [NodeAffinity](/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) terms to the RuntimeClass definition. Another area to address is managing the variable resource requirements to run pods of different runtimes. The [Pod Overhead proposal](https://docs.google.com/document/d/1EJKT4gyl58-kzt2bnwkv08MIUZ6lkDpXcxkHqCvvAp4/preview) was an early take on this that aligns nicely with the RuntimeClass design, and may be pursued further. Many other RuntimeClass extensions have also been proposed, and will be revisited as the feature continues to develop and mature. A few more extensions that are being considered include: diff --git a/content/en/blog/_posts/2020-03-18-Kong-Ingress-Controller-and-Service-Mesh.md b/content/en/blog/_posts/2020-03-18-Kong-Ingress-Controller-and-Service-Mesh.md index 2023f2e1da..02ff17838a 100644 --- a/content/en/blog/_posts/2020-03-18-Kong-Ingress-Controller-and-Service-Mesh.md +++ b/content/en/blog/_posts/2020-03-18-Kong-Ingress-Controller-and-Service-Mesh.md @@ -97,7 +97,16 @@ reviews-v2-ccffdd984-9jnsj 2/2 Running 0 101s reviews-v3-98dc67b68-nzw97 2/2 Running 0 101s ``` -This command outputs useful data, so let’s take a second to understand it. If you examine the READY column, each pod has two containers running: the service and an Envoy sidecar injected alongside it. Another thing to highlight is that there are three review pods but only 1 review service. The Envoy sidecar will load balance the traffic to three different review pods that contain different versions, giving us the ability to A/B test our changes. With that said, you should now be able to access your product page! +This command outputs useful data, so let’s take a second to understand it. If you examine the READY column, each pod has two containers running: the service and an Envoy sidecar injected alongside it. Another thing to highlight is that there are three review pods but only 1 review service. The Envoy sidecar will load balance the traffic to three different review pods that contain different versions, giving us the ability to A/B test our changes. We have one step before we can access the deployed application. We need to add an additional annotation to the `productpage` service. To do so, run: + +``` +$ kubectl annotate service productpage ingress.kubernetes.io/service-upstream=true +service/productpage annotated +``` + +Both the API gateway (Kong) and the service mesh (Istio) can handle the load-balancing. Without the additional `ingress.kubernetes.io/service-upstream: "true"` annotation, Kong will try to load-balance by selecting its own endpoint/target from the productpage service. This causes Envoy to receive that pod’s IP as the upstream local address, instead of the service’s cluster IP. But we want the service's cluster IP so that Envoy can properly load balance. + +With that added, you should now be able to access your product page! ``` $ kubectl exec -it $(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}') -c ratings -- curl productpage:9080/productpage | grep -o "