diff --git a/Gemfile b/Gemfile index 3828560a73..a9569af090 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,55 @@ source "https://rubygems.org" -gem "github-pages", group: :jekyll_plugins +# gem "github-pages", group: :jekyll_plugins + +gem "jekyll", "3.6.0" + +group :github_pages_compatible do + gem "json", "~> 1.7", ">= 1.7.7" + gem "coffee-script", "~> 2.4" + gem "coffee-script-source", "~> 1.12" + gem "ethon", "~> 0.10" + gem "execjs", "~> 2.7" + gem "minima", "~> 2.0" + gem "terminal-table", "~> 1.4" + gem "unicode-display_width", "~> 1.1" +end + +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.6" + gem "jekyll-sitemap" + gem "jekyll-gist" + gem "jekyll-paginate", "1.1.0" + gem "jemoji", "0.8.0" + gem "jekyll-seo-tag" + gem "jekyll-avatar", "~> 0.4" + gem "jekyll-coffeescript", "~> 1.0" + gem "jekyll-default-layout", "~> 0.1" + gem "jekyll-github-metadata", "~> 2.2" + gem "jekyll-mentions", "~> 1.2" + gem "jekyll-optional-front-matter", "~> 0.1" + gem "jekyll-readme-index", "0.0.3" + gem "jekyll-redirect-from", "~> 0.11" + gem "jekyll-relative-links", "~> 0.2" + gem "jekyll-swiss", "~> 0.4" + gem "jekyll-theme-architect", "0.0.3" + gem "jekyll-theme-cayman", "0.0.3" + gem "jekyll-theme-dinky", "0.0.3" + gem "jekyll-theme-hacker", "0.0.3" + gem "jekyll-theme-leap-day", "0.0.3" + gem "jekyll-theme-merlot", "0.0.3" + gem "jekyll-theme-midnight", "0.0.3" + gem "jekyll-theme-minimal", "0.0.3" + gem "jekyll-theme-modernist", "0.0.3" + gem "jekyll-theme-primer", "~> 0.1" + gem "jekyll-theme-slate", "0.0.3" + gem "jekyll-theme-tactile", "0.0.3" + gem "jekyll-theme-time-machine", "0.0.3" + gem "jekyll-titles-from-headings", "~> 0.1" +end + gem "jekyll-include-cache", "~> 0.1" + +gem "kramdown", "~> 1.11" +gem "rouge", "~> 2.0" +gem "pry" diff --git a/Gemfile.lock b/Gemfile.lock index 09d52b8d72..a063beb3ad 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,89 +1,43 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.7) + activesupport (4.2.10) i18n (~> 0.7) - json (~> 1.7, >= 1.7.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.5.0) - public_suffix (~> 2.0, >= 2.0.2) + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) + coderay (1.1.2) coffee-script (2.4.1) coffee-script-source execjs coffee-script-source (1.12.2) colorator (1.1.0) + concurrent-ruby (1.0.5) ethon (0.10.1) ffi (>= 1.3.0) execjs (2.7.0) faraday (0.10.0) multipart-post (>= 1.2, < 3) - ffi (1.9.14) + ffi (1.9.18) forwardable-extended (2.6.0) - gemoji (2.1.0) - github-pages (112) - activesupport (= 4.2.7) - github-pages-health-check (= 1.3.0) - jekyll (= 3.3.1) - jekyll-avatar (= 0.4.2) - jekyll-coffeescript (= 1.0.1) - jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.8.0) - jekyll-gist (= 1.4.0) - jekyll-github-metadata (= 2.2.0) - jekyll-mentions (= 1.2.0) - jekyll-optional-front-matter (= 0.1.2) - jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.0.3) - jekyll-redirect-from (= 0.11.0) - jekyll-relative-links (= 0.2.1) - jekyll-sass-converter (= 1.3.0) - jekyll-seo-tag (= 2.1.0) - jekyll-sitemap (= 0.12.0) - jekyll-swiss (= 0.4.0) - jekyll-theme-architect (= 0.0.3) - jekyll-theme-cayman (= 0.0.3) - jekyll-theme-dinky (= 0.0.3) - jekyll-theme-hacker (= 0.0.3) - jekyll-theme-leap-day (= 0.0.3) - jekyll-theme-merlot (= 0.0.3) - jekyll-theme-midnight (= 0.0.3) - jekyll-theme-minimal (= 0.0.3) - jekyll-theme-modernist (= 0.0.3) - jekyll-theme-primer (= 0.1.5) - jekyll-theme-slate (= 0.0.3) - jekyll-theme-tactile (= 0.0.3) - jekyll-theme-time-machine (= 0.0.3) - jekyll-titles-from-headings (= 0.1.3) - jemoji (= 0.7.0) - kramdown (= 1.11.1) - liquid (= 3.0.6) - listen (= 3.0.6) - mercenary (~> 0.3) - minima (= 2.0.0) - rouge (= 1.11.1) - terminal-table (~> 1.4) - github-pages-health-check (1.3.0) - addressable (~> 2.3) - net-dns (~> 0.8) - octokit (~> 4.0) - public_suffix (~> 2.0) - typhoeus (~> 0.7) - html-pipeline (2.4.2) + gemoji (3.0.0) + html-pipeline (2.7.1) activesupport (>= 2) nokogiri (>= 1.4) - i18n (0.7.0) - jekyll (3.3.1) + i18n (0.9.0) + concurrent-ruby (~> 1.0) + jekyll (3.6.0) addressable (~> 2.4) colorator (~> 1.0) jekyll-sass-converter (~> 1.0) jekyll-watch (~> 1.1) - kramdown (~> 1.3) - liquid (~> 3.0) + kramdown (~> 1.14) + liquid (~> 4.0) mercenary (~> 0.3.3) pathutil (~> 0.9) - rouge (~> 1.7) + rouge (>= 1.7, < 3) safe_yaml (~> 1.0) jekyll-avatar (0.4.2) jekyll (~> 3.0) @@ -95,7 +49,7 @@ GEM jekyll (~> 3.3) jekyll-gist (1.4.0) octokit (~> 4.2) - jekyll-github-metadata (2.2.0) + jekyll-github-metadata (2.3.1) jekyll (~> 3.1) octokit (~> 4.0, != 4.4.0) jekyll-include-cache (0.1.0) @@ -109,12 +63,12 @@ GEM jekyll-paginate (1.1.0) jekyll-readme-index (0.0.3) jekyll (~> 3.0) - jekyll-redirect-from (0.11.0) - jekyll (>= 2.0) - jekyll-relative-links (0.2.1) + jekyll-redirect-from (0.12.1) jekyll (~> 3.3) - jekyll-sass-converter (1.3.0) - sass (~> 3.2) + jekyll-relative-links (0.4.0) + jekyll (~> 3.3) + jekyll-sass-converter (1.5.0) + sass (~> 3.4) jekyll-seo-tag (2.1.0) jekyll (~> 3.3) jekyll-sitemap (0.12.0) @@ -138,7 +92,7 @@ GEM jekyll (~> 3.3) jekyll-theme-modernist (0.0.3) jekyll (~> 3.3) - jekyll-theme-primer (0.1.5) + jekyll-theme-primer (0.1.8) jekyll (~> 3.3) jekyll-theme-slate (0.0.3) jekyll (~> 3.3) @@ -146,58 +100,105 @@ GEM jekyll (~> 3.3) jekyll-theme-time-machine (0.0.3) jekyll (~> 3.3) - jekyll-titles-from-headings (0.1.3) + jekyll-titles-from-headings (0.1.5) jekyll (~> 3.3) jekyll-watch (1.5.0) listen (~> 3.0, < 3.1) - jemoji (0.7.0) + jemoji (0.8.0) activesupport (~> 4.0) - gemoji (~> 2.0) + gemoji (~> 3.0) html-pipeline (~> 2.2) jekyll (>= 3.0) json (1.8.6) - kramdown (1.11.1) - liquid (3.0.6) - listen (3.0.6) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9.7) + kramdown (1.15.0) + liquid (4.0.0) + listen (3.0.8) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) mercenary (0.3.6) - mini_portile2 (2.1.0) - minima (2.0.0) - minitest (5.10.1) + method_source (0.9.0) + mini_portile2 (2.3.0) + minima (2.1.1) + jekyll (~> 3.3) + minitest (5.10.3) multipart-post (2.0.0) - net-dns (0.8.0) - nokogiri (1.6.8.1) - mini_portile2 (~> 2.1.0) + nokogiri (1.8.1) + mini_portile2 (~> 2.3.0) octokit (4.6.2) sawyer (~> 0.8.0, >= 0.5.3) - pathutil (0.14.0) + pathutil (0.16.0) forwardable-extended (~> 2.6) - public_suffix (2.0.4) - rb-fsevent (0.9.8) - rb-inotify (0.9.7) - ffi (>= 0.5.0) - rouge (1.11.1) + pry (0.11.1) + coderay (~> 1.1.0) + method_source (~> 0.9.0) + public_suffix (3.0.0) + rb-fsevent (0.10.2) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + rouge (2.2.1) safe_yaml (1.0.4) - sass (3.4.23) + sass (3.5.2) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) sawyer (0.8.1) addressable (>= 2.3.5, < 2.6) faraday (~> 0.8, < 1.0) terminal-table (1.7.3) unicode-display_width (~> 1.1.1) - thread_safe (0.3.5) - typhoeus (0.8.0) - ethon (>= 0.8.0) - tzinfo (1.2.2) + thread_safe (0.3.6) + tzinfo (1.2.3) thread_safe (~> 0.1) - unicode-display_width (1.1.2) + unicode-display_width (1.1.3) PLATFORMS ruby DEPENDENCIES - github-pages + coffee-script (~> 2.4) + coffee-script-source (~> 1.12) + ethon (~> 0.10) + execjs (~> 2.7) + jekyll (= 3.6.0) + jekyll-avatar (~> 0.4) + jekyll-coffeescript (~> 1.0) + jekyll-default-layout (~> 0.1) + jekyll-feed (~> 0.6) + jekyll-gist + jekyll-github-metadata (~> 2.2) jekyll-include-cache (~> 0.1) + jekyll-mentions (~> 1.2) + jekyll-optional-front-matter (~> 0.1) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.0.3) + jekyll-redirect-from (~> 0.11) + jekyll-relative-links (~> 0.2) + jekyll-seo-tag + jekyll-sitemap + jekyll-swiss (~> 0.4) + jekyll-theme-architect (= 0.0.3) + jekyll-theme-cayman (= 0.0.3) + jekyll-theme-dinky (= 0.0.3) + jekyll-theme-hacker (= 0.0.3) + jekyll-theme-leap-day (= 0.0.3) + jekyll-theme-merlot (= 0.0.3) + jekyll-theme-midnight (= 0.0.3) + jekyll-theme-minimal (= 0.0.3) + jekyll-theme-modernist (= 0.0.3) + jekyll-theme-primer (~> 0.1) + jekyll-theme-slate (= 0.0.3) + jekyll-theme-tactile (= 0.0.3) + jekyll-theme-time-machine (= 0.0.3) + jekyll-titles-from-headings (~> 0.1) + jemoji (= 0.8.0) + json (~> 1.7, >= 1.7.7) + kramdown (~> 1.11) + minima (~> 2.0) + pry + rouge (~> 2.0) + terminal-table (~> 1.4) + unicode-display_width (~> 1.1) BUNDLED WITH - 1.15.2 + 1.15.4 diff --git a/_data/glossary/_example.yml b/_data/glossary/_example.yml index 34268a07c3..78ef717df2 100644 --- a/_data/glossary/_example.yml +++ b/_data/glossary/_example.yml @@ -1,5 +1,6 @@ id: _example name: Example K8s Term +full-link: kubernetes.io/docs/link-to-long-dedicated-docs-page aka: - Slang K8s Term - Misnomer @@ -10,8 +11,17 @@ related: - id-of-commonly-used-with-term tags: - Some Tag -short-description: | - Required. One or two lines that provide a minimum definition. Do not repeat the term. Write about the plural of the term. Prefer fragments. Model after tooltips. End with a period. -long-description: | - Optional. Longer additional text to appear after (in conjunction with) short description. Provide where the short description is not sufficient as the intro paragraph to a topic. Write complete but concise sentences. +short-description: > + Required. + Markdown allowed (e.g. for cross-linking). + One or two lines that provide a minimum definition. + Do not repeat the term. + Prefer fragments. + End with a period. +long-description: > + Optional. + Markdown allowed. + Longer additional text to appear after (in conjunction with) short description. + Provide where the short description is not sufficient as the intro paragraph to a topic. + Write complete but concise sentences. **See /_includes/templates/glossary/README.md for the official style guide.** diff --git a/_data/glossary/application-architect.yaml b/_data/glossary/application-architect.yaml index ad14229720..387d4443ea 100644 --- a/_data/glossary/application-architect.yaml +++ b/_data/glossary/application-architect.yaml @@ -4,7 +4,7 @@ related: - application-developer tags: - user-type -short-description: | +short-description: > A person responsible for the high-level design of an application. long-description: > An architect ensures that an app's implementation allows it to interact with its surrounding components in a scalable, maintainable way. diff --git a/_data/glossary/application-developer.yaml b/_data/glossary/application-developer.yaml index 5fc2fa9f80..696e53ef6d 100644 --- a/_data/glossary/application-developer.yaml +++ b/_data/glossary/application-developer.yaml @@ -4,7 +4,7 @@ related: - application-architect tags: - user-type -short-description: | +short-description: > A person who writes an application that runs in a Kubernetes cluster. long-description: > An application developer focuses on one part of an application. diff --git a/_data/glossary/approver.yaml b/_data/glossary/approver.yaml index 5047a78283..f521314566 100644 --- a/_data/glossary/approver.yaml +++ b/_data/glossary/approver.yaml @@ -2,7 +2,7 @@ id: approver name: Approver tags: - community -short-description: | +short-description: > A person who can review and approve Kubernetes code contributions. long-description: > While code review is focused on code quality and correctness, approval is focused on the holistic acceptance of a contribution. diff --git a/_data/glossary/cla.yaml b/_data/glossary/cla.yaml index 75dd5408d3..159cb575d9 100644 --- a/_data/glossary/cla.yaml +++ b/_data/glossary/cla.yaml @@ -1,8 +1,9 @@ id: cla name: CLA (Contributor License Agreement) +full-link: https://github.com/kubernetes/community/blob/master/CLA.md tags: - community -short-description: | - Terms under which a [contributor](#term-contributor) grants a license to an open source project for their contributions. -long-description: | +short-description: > + Terms under which a {% glossary_tooltip text="contributor" term_id="contributor" %} grants a license to an open source project for their contributions. +long-description: > CLAs help resolve legal disputes involving contributed material and intellectual property (IP). diff --git a/_data/glossary/cluster-architect.yaml b/_data/glossary/cluster-architect.yaml index 9cec933e93..14b60a0e18 100644 --- a/_data/glossary/cluster-architect.yaml +++ b/_data/glossary/cluster-architect.yaml @@ -5,8 +5,7 @@ related: - cluster-operator tags: - user-type -short-description: | +short-description: > A person who designs infrastructure that involves one or more Kubernetes clusters. - -long-description: | +long-description: > Cluster architects are concerned with best practices for distributed systems, for example: high availability and security. diff --git a/_data/glossary/cluster-operator.yaml b/_data/glossary/cluster-operator.yaml index 8224517881..82eaa42a60 100644 --- a/_data/glossary/cluster-operator.yaml +++ b/_data/glossary/cluster-operator.yaml @@ -7,9 +7,8 @@ related: - cluster-architect tags: - user-type -short-description: | +short-description: > A person who configures, controls, and monitors clusters. - long-description: | Their primary responsibility is keeping a cluster up and running, which may involve periodic maintenance activities or upgrades.
diff --git a/_data/glossary/cluster.yaml b/_data/glossary/cluster.yaml index a85ce8d2f6..a86c1ab696 100644 --- a/_data/glossary/cluster.yaml +++ b/_data/glossary/cluster.yaml @@ -3,7 +3,7 @@ name: Cluster tags: - fundamental - operation -short-description: | +short-description: > A set of machines, called nodes, that run containerized applications managed by Kubernetes. -long-description: | +long-description: > A cluster has several worker nodes and at least one master node. diff --git a/_data/glossary/code-contributor.yaml b/_data/glossary/code-contributor.yaml index acc9878863..9fa8fbe82c 100644 --- a/_data/glossary/code-contributor.yaml +++ b/_data/glossary/code-contributor.yaml @@ -5,7 +5,7 @@ aka: tags: - community - user-type -short-description: | +short-description: > A person who develops and contributes code to the Kubernetes open source codebase. -long-description: | - They are also an active [community member](#term-community-member) who participates in one or more [Special Interest Groups (SIGs)](#term-sig). +long-description: > + They are also an active {% glossary_tooltip text="community member" term_id="member" %} who participates in one or more {% glossary_tooltip text="Special Interest Groups (SIGs)" term_id="sig" %}. diff --git a/_data/glossary/container.yaml b/_data/glossary/container.yaml index 4cc786f7b3..b9682d4b23 100644 --- a/_data/glossary/container.yaml +++ b/_data/glossary/container.yaml @@ -1,9 +1,10 @@ id: container name: Container +full-link: /docs/concepts/overview/what-is-kubernetes/#why-containers tags: - fundamental - workload -short-description: | +short-description: > A lightweight and portable executable image that contains software and all of its dependencies. -long-description: | +long-description: > Containers decouple applications from underlying host infrastructure to make deployment easier in different cloud or OS environments, and for easier scaling. diff --git a/_data/glossary/contributor.yaml b/_data/glossary/contributor.yaml index 333244466d..af005aac50 100644 --- a/_data/glossary/contributor.yaml +++ b/_data/glossary/contributor.yaml @@ -2,7 +2,7 @@ id: contributor name: Contributor tags: - community -short-description: | +short-description: > Someone who donates code, documentation, or their time to help the Kubernetes project or community. -long-description: | - Contributions include pull requests (PRs), issues, feedback, [special interest group (SIG)](#term-sig) participation, or organizing community events. +long-description: > + Contributions include pull requests (PRs), issues, feedback, {% glossary_tooltip text="special interest groups (SIG)" term_id="sig" %} participation, or organizing community events. diff --git a/_data/glossary/cronjob.yaml b/_data/glossary/cronjob.yaml index c220a38f75..5116cf424a 100644 --- a/_data/glossary/cronjob.yaml +++ b/_data/glossary/cronjob.yaml @@ -1,9 +1,10 @@ id: cronjob name: CronJob +full-link: /docs/concepts/workloads/controllers/cron-jobs/ tags: - core-object - workload -short-description: | - Manages a [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/) that runs on a periodic schedule. -long-description: | - Similar to a line in a *crontab* file, a [CronJob](/docs/concepts/workloads/controllers/cron-jobs/#writing-a-cron-job-spec) object specifies a schedule using the [Cron](https://en.wikipedia.org/wiki/Cron) format. +short-description: > + Manages a [Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/) that runs on a periodic schedule. +long-description: > + Similar to a line in a *crontab* file, a Cronjob object specifies a schedule using the [Cron](https://en.wikipedia.org/wiki/Cron) format. diff --git a/_data/glossary/deployment.yaml b/_data/glossary/deployment.yaml index 773f2c1518..4a8d04211a 100644 --- a/_data/glossary/deployment.yaml +++ b/_data/glossary/deployment.yaml @@ -1,10 +1,11 @@ id: deployment name: Deployment +full-link: /docs/concepts/workloads/controllers/deployment/ tags: - fundamental - core-object - workload -short-description: | +short-description: > An API object that manages a replicated application. -long-description: | - Each replica is represented by a [Pod](#term-pod), and the Pods are distributed among the nodes of a cluster. +long-description: > + Each replica is represented by a {% glossary_tooltip term_id="pod" %}, and the Pods are distributed among the nodes of a cluster. diff --git a/_data/glossary/developer.yaml b/_data/glossary/developer.yaml index eb1a68526c..38534826ab 100644 --- a/_data/glossary/developer.yaml +++ b/_data/glossary/developer.yaml @@ -5,11 +5,7 @@ aka: tags: - community - user-type -short-description: | - May refer to: [*Application Developer*](#term-application-developer), [*Code Contributor*](#term-code-contributor), or [*Platform Developer*](#term-platform-developer). -long-description: | - This overloaded term may have different meanings depending on the context. It could mean: - - * [**Application Developer**](#term-application-developer): A person who writes an application that runs in a Kubernetes cluster. - * [**Code Contributor**](#term-code-contributor): A person who develops and contributes code to the Kubernetes open source codebase. - * [**Platform Developer**](#term-platform-developer): A person who customizes the Kubernetes platform to fit the needs of their project—for example, by extending the API. +short-description: > + May refer to: {% glossary_tooltip text="Application Developer" term_id="application-developer" %}, {% glossary_tooltip text="Code Contributor" term_id="code-contributor" %}, or {% glossary_tooltip text="Platform Developer" term_id="platform-developer" %}. +long-description: > + This overloaded term may have different meanings depending on the context diff --git a/_data/glossary/downstream.yaml b/_data/glossary/downstream.yaml index 2abdd79fbc..dab6d75628 100644 --- a/_data/glossary/downstream.yaml +++ b/_data/glossary/downstream.yaml @@ -4,7 +4,7 @@ related: - upstream tags: - community -short-description: | +short-description: > May refer to: code in the Kubernetes ecosystem that depends upon the core Kubernetes codebase or a forked repo. long-description: | * In the **Kubernetes Community**: Conversations often use *downstream* to mean the ecosystem, code, or third-party tools that rely on the core Kubernetes codebase. For example, a new feature in Kubernetes may be adopted by applications *downstream* to improve their functionality. diff --git a/_data/glossary/helm-chart.yaml b/_data/glossary/helm-chart.yaml index 9688a6f716..49d916d1af 100644 --- a/_data/glossary/helm-chart.yaml +++ b/_data/glossary/helm-chart.yaml @@ -1,8 +1,9 @@ id: helm-chart name: Helm Chart +full-link: https://github.com/kubernetes/helm/blob/master/docs/charts.md tags: - tool -short-description: | +short-description: > A package of pre-configured Kubernetes resources that can be managed with the Helm tool. long-description: | Charts provide a reproducible way of creating and sharing Kubernetes applications. diff --git a/_data/glossary/ingress.yaml b/_data/glossary/ingress.yaml index 06864f8bcb..f06031ee2e 100644 --- a/_data/glossary/ingress.yaml +++ b/_data/glossary/ingress.yaml @@ -1,10 +1,13 @@ id: ingress name: Ingress +full-link: /docs/concepts/services-networking/ingress/ +aka: + - Ingress controller tags: - networking - architecture - extension -short-description: | +short-description: > An API object that manages external access to the services in a cluster, typically HTTP. -long-description: | +long-description: > Ingress can provide load balancing, SSL termination and name-based virtual hosting. diff --git a/_data/glossary/istio.yaml b/_data/glossary/istio.yaml index 81056cfac4..c05bad8e72 100644 --- a/_data/glossary/istio.yaml +++ b/_data/glossary/istio.yaml @@ -1,10 +1,11 @@ id: istio name: Istio +full-link: https://istio.io/docs/concepts/what-is-istio/overview.html tags: - networking - architecture - extension -short-description: | +short-description: > An open platform (not Kubernetes-specific) that provides a uniform way to integrate microservices, manage traffic flow, enforce policies, and aggregate telemetry data. long-description: > Adding Istio does not require changing application code. diff --git a/_data/glossary/kops.yaml b/_data/glossary/kops.yaml index b431e40616..67a40892d1 100644 --- a/_data/glossary/kops.yaml +++ b/_data/glossary/kops.yaml @@ -1,9 +1,10 @@ id: kops name: Kops +full-link: /docs/getting-started-guides/kops/ tags: - tool - operation -short-description: | +short-description: > A CLI tool that helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters. *NOTE: Officially supports AWS only, with GCE and VMware vSphere in alpha*. long-description: | `kops` provisions your cluster with: @@ -15,4 +16,4 @@ long-description: | * High availability (HA) support * The ability to directly provision, or generate terraform manifests - You can also build your own cluster using [`kubeadm`](#term-kubeadm) as a building block. `kops` builds on the kubeadm work. + You can also build your own cluster using {% glossary_tooltip term_id="kubeadm" %} as a building block. `kops` builds on the kubeadm work. diff --git a/_data/glossary/kubeadm.yaml b/_data/glossary/kubeadm.yaml index ce2a6524d5..e70b046f19 100644 --- a/_data/glossary/kubeadm.yaml +++ b/_data/glossary/kubeadm.yaml @@ -1,9 +1,10 @@ id: kubeadm name: Kubeadm +full-link: /docs/admin/kubeadm/ tags: - tool - operation -short-description: | +short-description: > A tool for quickly installing Kubernetes and setting up a secure cluster. -long-description: | +long-description: > You can use kubeadm to install both the control plane and the worker node components. diff --git a/_data/glossary/kubectl.yaml b/_data/glossary/kubectl.yaml index 05711e8013..825749811c 100644 --- a/_data/glossary/kubectl.yaml +++ b/_data/glossary/kubectl.yaml @@ -1,9 +1,10 @@ id: kubectl name: Kubectl +full-link: /docs/user-guide/kubectl-overview/ tags: - tool - fundamental -short-description: | - A command line tool for communicating with a [Kubernetes API](#term-kubernetes-api) server. -long-description: | +short-description: > + A command line tool for communicating with a {% glossary_tooltip text="Kubernetes API" term_id="kubernetes-api" %} server. +long-description: > You can use kubectl to create, inspect, update, and delete Kubernetes objects. diff --git a/_data/glossary/kubernetes-api.yaml b/_data/glossary/kubernetes-api.yaml index 74169970bf..773da6e516 100644 --- a/_data/glossary/kubernetes-api.yaml +++ b/_data/glossary/kubernetes-api.yaml @@ -1,9 +1,10 @@ id: kubernetes-api name: Kubernetes API +full-link: /docs/concepts/overview/kubernetes-api/ tags: - fundamental - architecture -short-description: | +short-description: > The application that serves Kubernetes functionality through a RESTful interface and stores the state of the cluster. long-description: > Kubernetes resources and "records of intent" are all stored as API objects, and modified via RESTful calls to the API. diff --git a/_data/glossary/maintainer.yaml b/_data/glossary/maintainer.yaml index fabfb6551c..dc97b11544 100644 --- a/_data/glossary/maintainer.yaml +++ b/_data/glossary/maintainer.yaml @@ -2,7 +2,7 @@ id: maintainer name: Maintainer tags: - community -short-description: | - A highly experienced [contributor](#term-contributor), active in multiple areas of Kubernetes, who has cross-area ownership and write access to a project's GitHub repository. -long-description: | +short-description: > + A highly experienced {% glossary_tooltip text="contributor" term_id="contributor" %}, active in multiple areas of Kubernetes, who has cross-area ownership and write access to a project's GitHub repository. +long-description: > Maintainers work holistically across the project to maintain its health and success and have made substantial contributions, both through code development and broader organizational efforts. diff --git a/_data/glossary/member.yaml b/_data/glossary/member.yaml index 3e4866625f..e78ec6bcce 100644 --- a/_data/glossary/member.yaml +++ b/_data/glossary/member.yaml @@ -2,9 +2,9 @@ id: member name: Member tags: - community -short-description: | - A continuously active [contributor](#term-contributor) in the K8s community. +short-description: > + A continuously active {% glossary_tooltip text="contributor" term_id="contributor" %} in the K8s community. long-description: > - Members can have issues and PRs assigned to them and participate in [special interest groups (SIGs)](#term-sig) through GitHub teams. + Members can have issues and PRs assigned to them and participate in {% glossary_tooltip text="special interest groups (SIGs)" term_id="sig" %} through GitHub teams. Pre-submit tests are automatically run for members' PRs. A member is expected to remain an active contributor to the community. diff --git a/_data/glossary/minikube.yaml b/_data/glossary/minikube.yaml index eccbabadd9..3f9c01ef51 100644 --- a/_data/glossary/minikube.yaml +++ b/_data/glossary/minikube.yaml @@ -1,9 +1,10 @@ id: minikube name: Minikube +full-link: /docs/getting-started-guides/minikube/ tags: - fundamental - tool -short-description: | +short-description: > A tool for running Kubernetes locally. -long-description: | +long-description: > Minikube runs a single-node cluster inside a VM on your computer. diff --git a/_data/glossary/platform-developer.yaml b/_data/glossary/platform-developer.yaml index ef4352c98e..85decd55f3 100644 --- a/_data/glossary/platform-developer.yaml +++ b/_data/glossary/platform-developer.yaml @@ -4,7 +4,7 @@ aka: - Kubernetes Developer tags: - user-type -short-description: | +short-description: > A person who customizes the Kubernetes platform to fit the needs of their project. long-description: > A platform developer may, for example, use [Custom Resources](/docs/concepts/api-extension/custom-resources/) or [Extend the Kubernetes API with the aggregation layer](/docs/concepts/api-extension/apiserver-aggregation/) to add functionality to their instance of Kubernetes, specifically for their application. diff --git a/_data/glossary/pod.yaml b/_data/glossary/pod.yaml index 2a22384697..a5d3f567b9 100644 --- a/_data/glossary/pod.yaml +++ b/_data/glossary/pod.yaml @@ -1,5 +1,6 @@ id: pod name: Pod +full-link: /docs/concepts/workloads/pods/pod-overview/ related: - container - sidecar @@ -8,9 +9,9 @@ related: tags: - core-object - fundamental -short-description: | - The smallest and simplest Kubernetes object. A Pod represents a set of running [containers](#term-container) on your cluster. +short-description: > + The smallest and simplest Kubernetes object. A Pod represents a set of running {% glossary_tooltip text="containers" term_id="container" %} on your cluster. long-description: > A Pod is typically set up to run a single primary container. It can also run optional sidecar containers that add supplementary features like logging. - Pods are commonly managed by a [Deployment](#term-deployment). + Pods are commonly managed by a {% glossary_tooltip term_id="deployment" %}. diff --git a/_data/glossary/rbac.yaml b/_data/glossary/rbac.yaml index af158dc54e..e1fde1de8d 100644 --- a/_data/glossary/rbac.yaml +++ b/_data/glossary/rbac.yaml @@ -1,9 +1,10 @@ id: rbac name: RBAC (Role-Based Access Control) +full-link: /docs/admin/authorization/rbac/ tags: - security - fundamental -short-description: | - Manages authorization decisions, allowing admins to dynamically configure access policies through the [Kubernetes API](#term-kubernetes-api). -long-description: | +short-description: > + Manages authorization decisions, allowing admins to dynamically configure access policies through the {% glossary_tooltip text="Kubernetes API" term_id="kubernetes-api" %}. +long-description: > RBAC utilizes *roles*, which contain permission rules, and *role bindings*, which grant the permissions defined in a role to a set of users. diff --git a/_data/glossary/reviewer.yaml b/_data/glossary/reviewer.yaml index 50b189d117..076b120e02 100644 --- a/_data/glossary/reviewer.yaml +++ b/_data/glossary/reviewer.yaml @@ -2,7 +2,7 @@ id: reviewer name: Reviewer tags: - community -short-description: | +short-description: > A person who reviews code for quality and correctness on some part of the project. -long-description: | +long-description: > Reviewers are knowledgeable about both the codebase and software engineering principles. Reviewer status is scoped to a part of the codebase. diff --git a/_data/glossary/service.yaml b/_data/glossary/service.yaml index 82f3998f6b..03c3469c53 100644 --- a/_data/glossary/service.yaml +++ b/_data/glossary/service.yaml @@ -1,9 +1,10 @@ id: service name: Service +full-link: /docs/concepts/services-networking/service/ tags: - fundamental - core-object -short-description: | - An API object that describes how to access applications, such as a set of [Pods](#term-pod), and can describe ports and load-balancers. -long-description: | +short-description: > + An API object that describes how to access applications, such as a set of {% glossary_tooltip text="Pods" term_id="pod" %}, and can describe ports and load-balancers. +long-description: > The access point can be internal or external to the cluster. diff --git a/_data/glossary/sig.yaml b/_data/glossary/sig.yaml index bc365e677f..8e9ccef98b 100644 --- a/_data/glossary/sig.yaml +++ b/_data/glossary/sig.yaml @@ -1,10 +1,11 @@ id: sig name: SIG (special interest group) +full-link: https://github.com/kubernetes/community/blob/master/sig-list.md#master-sig-list tags: - community -short-description: | - [Members](#term-member) who collectively manage an ongoing piece or aspect of the larger Kubernetes open source project. -long-description: > +short-description: > + {% glossary_tooltip text="Community members" term_id="member" %} who collectively manage an ongoing piece or aspect of the larger Kubernetes open source project. +long-description: | Members within a SIG have a shared interest in advancing a specific area, such as architecture, API machinery, or documentation. SIGs must follow the [SIG Governance](https://github.com/kubernetes/community/blob/master/sig-governance.md) guidelines but can have their own contribution policy and channels of communication. diff --git a/_data/glossary/statefulset.yml b/_data/glossary/statefulset.yml index 4f33c9c5d6..9b2d6c44fb 100644 --- a/_data/glossary/statefulset.yml +++ b/_data/glossary/statefulset.yml @@ -1,5 +1,6 @@ id: statefulset name: StatefulSet +full-link: /docs/concepts/workloads/controllers/statefulset/ aka: - PetSet related: @@ -9,10 +10,9 @@ tags: - core-object - workload - storage -short-description: | - Manages the deployment and scaling of a set of [Pods](/docs/concepts/workloads/pods/pod), *and provides guarantees about the ordering and uniqueness* of these Pods. - +short-description: > + Manages the deployment and scaling of a set of {% glossary_tooltip text="Pods" term_id="pod" %}, *and provides guarantees about the ordering and uniqueness* of these Pods. long-description: | - Like a [Deployment](/docs/concepts/workloads/controllers/deployment), a StatefulSet manages Pods that are based on an identical container spec. Unlike a Deployment, a StatefulSet maintains a sticky identity for each of their Pods. These pods are created from the same spec, but are not interchangeable: each has a persistent identifier that it maintains across any rescheduling. + Like a {% glossary_tooltip term_id="deployment" %}, a StatefulSet manages Pods that are based on an identical container spec. Unlike a Deployment, a StatefulSet maintains a sticky identity for each of their Pods. These pods are created from the same spec, but are not interchangeable: each has a persistent identifier that it maintains across any rescheduling. A StatefulSet operates under the same pattern as any other Controller. You define your desired state in a StatefulSet *object*, and the StatefulSet *controller* makes any necessary updates to get there from the current state. diff --git a/_data/glossary/upstream.yaml b/_data/glossary/upstream.yaml index 70b3e4cef4..e2c2cac66d 100644 --- a/_data/glossary/upstream.yaml +++ b/_data/glossary/upstream.yaml @@ -4,7 +4,7 @@ related: - downstream tags: - community -short-description: | +short-description: > May refer to: core Kubernetes or the source repo from which a repo was forked. long-description: | * In the **Kubernetes Community**: Conversations often use *upstream* to mean the core Kubernetes codebase, which the general ecosystem, other code, or third-party tools relies upon. For example, [community members](#term-member) may suggest that a feature is moved upstream so that it is in the core codebase instead of in a plugin or third-party tool. diff --git a/_data/glossary/wg.yaml b/_data/glossary/wg.yaml index 5d7e5ee28e..8237068cf0 100644 --- a/_data/glossary/wg.yaml +++ b/_data/glossary/wg.yaml @@ -1,9 +1,10 @@ id: wg name: WG (working group) +full-link: https://github.com/kubernetes/community/blob/master/sig-list.md#master-working-group-list tags: - community -short-description: | - Facilitates the discussion and/or implementation of a short-lived, narrow, or decoupled project for a committee, [SIG](#term-sig), or cross-SIG effort. +short-description: > + Facilitates the discussion and/or implementation of a short-lived, narrow, or decoupled project for a committee, {% glossary_tooltip text="SIG" term_id="sig" %}, or cross-SIG effort. long-description: | Working groups are a way of organizing people to accomplish a discrete task, and are relatively easy to create and deprecate when inactive. diff --git a/_includes/head.html b/_includes/head.html index e20aad91d2..e6247c4cbb 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -8,6 +8,7 @@ + {% if page.deprecated %}{% endif %} {% if page.class == "gridPage" %}{% endif %} {% if page.css %}{% else %}{% endif %} @@ -23,5 +24,6 @@ + {% seo %} diff --git a/_includes/templates/glossary/snippet.md b/_includes/templates/glossary/snippet.md index cb9e359473..71d59109e1 100644 --- a/_includes/templates/glossary/snippet.md +++ b/_includes/templates/glossary/snippet.md @@ -1,10 +1,10 @@ -{% assign term_data = site.data.glossary.[include.term] %} +{% assign term_data = site.data.glossary.[include.term_id] %} {% if include.length == "all" or include.length == "short" %} {% if term_data.short-description %} -{{ term_data.short-description | markdownify }} +{{ term_data.short-description | liquify | markdownify }} {% else %} @@ -18,7 +18,7 @@ {% if term_data.long-description %} -{{ term_data.long-description | markdownify }} +{{ term_data.long-description | liquify | markdownify }} {% else %} diff --git a/_plugins/README.md b/_plugins/README.md new file mode 100644 index 0000000000..d4a192840e --- /dev/null +++ b/_plugins/README.md @@ -0,0 +1,75 @@ +# Custom Jekyll Plugins + +This directory contains `*.rb` files that extend the original Jekyll classes and provide custom formatting for the docs site: + +### `glossary_tags.rb` + +A full list of glossary terms is available on the [Standardized Glossary](https://kubernetes.io/docs/reference/glossary/?fundamental=true) page. For further information about term schemas, see the [README](../_includes/templates/glossary/README.md) and the provided [`_example.yml`](../_data/glossary/_example.yml). + +*NOTE: The "tags" referenced here are Liquid tags like `{% include %}`, **not** the glossary canonical tags that are used to categorize terms.* + +#### (1) `glossary_definition` tag + +This renders the definition of the glossary term inside a `
`, preserving Markdown formatting where possible. It uses the [`snippet.md` template](../_includes/templates/glossary/snippet.md). + +**Usage:** + +``` +{% glossary_definition term_id="helm-chart" length="all" %} +``` + +**Parameters:** + + +| Name | Default | Description | +| --- | --- | --- | +| `term_id` | N/A (Required) | The `id` of the glossary term whose definition will be used. (This `id` is the same as the filename of the term, i.e. `_data/glossary/.yml`.) | +| `length` | "short" | Specifies which term definition should be used ("short" for the `short-definition`, "long" for `long-description`, "all" when both should be included). | + +#### (2) `glossary_tooltip` tag + +This renders the glossary term with a tooltip--when the term is moused over by the user, its definition is displayed above. + +**Usage:** + +``` +{% glossary_tooltip text="Helm Charts" term_id="helm-chart" %} +``` + +This renders the following: + +![glossary-tooltip](../images/metadocs/jekyll-tags-glossary-tooltip.png) + +**Parameters:** + + +| Name | Default | Description | +| --- | --- | --- | +| `text` | the `name` of the glossary term | The text that the user will hover over to display the glossary definition. **You should include this if using the tooltip inside of a glossary term's YAML short-definition.** | +| `term_id` | N/A (Required) | The `id` of the associated glossary term. (This `id` is the same as the filename of the term, i.e. `_data/glossary/.yml`.) | + +#### (3) `glossary_injector` tag + +This takes the definition of the term specified by the `term_id` and uses it to populate the contents of another HTML element specified by `placeholder_id`. + +**Usage:** + +``` +{% glossary_injector term_id="kubectl" placeholder_id="def-container" length="short" %} +``` + +This renders the following: + +![glossary-injector](../images/metadocs/jekyll-tags-glossary-injector.gif) + +*NOTE: Neither the placeholder nor the term's styling/CSS is determined by this Jekyll tag. You will need to specify this yourself in your Markdown/HTML files, i.e. by assigning a custom class.* + +**Parameters:** + + +| Name | Default | Description | +| --- | --- | --- | +| `text` | the `name` of the glossary term | The text that the user will hover over to display the glossary definition. | +| `term_id` | N/A (Required) | The `id` of the glossary term whose definition will be used. (This `id` is the same as the filename of the term, i.e. `_data/glossary/.yml`.) | +| `placeholder_id` | N/A (Required) | The `id` of the HTML element whose contents will be populated with the definition of `term_id` | +| `length` | "short" | Specifies which term definition should be used ("short" for the `short-definition`, "long" for `long-description`, "all" when both should be included). | diff --git a/_plugins/glossary_tags.rb b/_plugins/glossary_tags.rb new file mode 100644 index 0000000000..c59ccf0e9f --- /dev/null +++ b/_plugins/glossary_tags.rb @@ -0,0 +1,122 @@ +# See /_plugins/README.md for full documentation of these custom Jekyll tags +module Jekyll + module GlossaryTags + # Base class for tags (not to be instantiated) + class Base < Liquid::Tag + VALID_PARAM_NAMES = [] + LENGTH_SHORT = "short" + LENGTH_LONG = "long" + SNIPPET_TEMPLATE = "templates/glossary/snippet.md" + + def initialize(tag_name, markup, options) + super + @args = {} + @markup.scan(/([\S]+=['"][^=]+["'])+/).each do |arg| + key, val = arg.first.split("=") + key = key.to_sym + next unless val + if self.class::VALID_PARAM_NAMES.include?(key) + @args[key] = val.gsub("\"", "") + end + end + end + + # "abstract" method + def render(context) + raise NotImplementedError + end + + protected + + def glossary_term_info(context) + global_glossary_hash = context.registers[:site].data["glossary"] + unless global_glossary_hash.keys.to_set.include?(@args[:term_id]) + raise StandardError, + "#{@args[:term_id]} is not a valid glossary term id. Please " \ + "see ./_data/glossary/* for the complete list." + end + global_glossary_hash[@args[:term_id]] + end + + def include_snippet(context) + @args[:length] ||= LENGTH_SHORT + clean_markup = @args.keys.map { |k| "#{k}=\"#{@args[k]}\"" }.join(" ") + + Jekyll::Tags::IncludeTag.parse( + "include", + "#{SNIPPET_TEMPLATE} #{clean_markup}", + nil, + @parse_context + ).render(context) + end + end + + # Tag for displaying a glossary term's definition inline + class Definition < Base + VALID_PARAM_NAMES = [ + :term_id, + :length + ].freeze + + def render(context) + include_snippet(context) + end + end + + # Tag to display a tooltip for a specific glossary term + class Tooltip < Base + VALID_PARAM_NAMES = [ + :text, + :term_id + ].freeze + GLOSSARY_HOME = "/docs/reference/glossary/?all=true" + NESTED_TOOLTIPS = /{% (.*?text="(.*?)".*?) %}/ + NESTED_MARKDOWN_LINKS = /(\[(.*?)\]\(.*?\))/ + + def render(context) + term_info = glossary_term_info(context) + external_link = + term_info["full-link"] || + "#{GLOSSARY_HOME}#term-#{term_info["id"]}" + tooltip = term_info["short-description"]. + gsub(NESTED_TOOLTIPS, '\2'). + gsub(NESTED_MARKDOWN_LINKS, '\2'). + strip + + "" \ + "#{@args[:text] || term_info["name"]}" \ + "" \ + "#{tooltip}" \ + "" \ + "" + end + end + + # Tag to inject a glossary term definition into another HTML element + class Injector < Base + VALID_PARAM_NAMES = [ + :text, + :term_id, + :placeholder_id, + :length + ].freeze + RENDERED_DESCRIPTION_BLOCK = /.*

(.+)<\/p>.*/ + + def render(context) + term_info = glossary_term_info(context) + description = RENDERED_DESCRIPTION_BLOCK.match(include_snippet(context))[1] + + "" \ + "#{@args[:text] || term_info["name"]}" \ + "" \ + "#{description}" \ + "" \ + "" + end + end + end +end + +Liquid::Template.register_tag('glossary_definition', Jekyll::GlossaryTags::Definition) +Liquid::Template.register_tag('glossary_tooltip', Jekyll::GlossaryTags::Tooltip) +Liquid::Template.register_tag('glossary_injector', Jekyll::GlossaryTags::Injector) diff --git a/_plugins/liquify_filter.rb b/_plugins/liquify_filter.rb new file mode 100644 index 0000000000..8c31915699 --- /dev/null +++ b/_plugins/liquify_filter.rb @@ -0,0 +1,10 @@ +# Filter to force liquid parsing +module Jekyll + module LiquifyFilter + def liquify(input) + Liquid::Template.parse(input).render(@context) + end + end +end + +Liquid::Template.register_filter(Jekyll::LiquifyFilter) diff --git a/css/custom-jekyll/tags.css b/css/custom-jekyll/tags.css new file mode 100644 index 0000000000..c9b409091c --- /dev/null +++ b/css/custom-jekyll/tags.css @@ -0,0 +1,56 @@ +.no-underline { + text-decoration: none !important; +} + +.hide { + display: none !important; +} + +/* Tooltip container */ +.glossary-tooltip { + position: relative; + display: inline-block; + border-bottom: 1px dotted black; /* If you want dots under the hoverable text */ + color: black; + text-decoration: none !important; +} + +/* Tooltip text */ +.glossary-tooltip .tooltip-text { + visibility: hidden; + width: 300px; + background-color: #555; + color: #fff; + text-align: center; + padding: 5px 8px; + border-radius: 6px; + + /* Position the tooltip text */ + position: absolute; + z-index: 1; + bottom: 125%; + left: 50%; + margin-left: -150px; + + /* Fade in tooltip */ + opacity: 0; + transition: opacity 0.3s; +} + +/* Tooltip arrow */ +.glossary-tooltip .tooltip-text::after { + content: ""; + position: absolute; + top: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: #555 transparent transparent transparent; +} + +/* Show the tooltip text when you mouse over the tooltip container */ +.glossary-tooltip:hover .tooltip-text { + visibility: visible; + opacity: 1; +} diff --git a/css/glossary.css b/css/glossary.css index 67d536ccf9..2146a418e3 100644 --- a/css/glossary.css +++ b/css/glossary.css @@ -2,14 +2,6 @@ display: inline; } -.no-underline { - text-decoration: none !important; -} - -.hide { - display: none !important; -} - .permalink { background-image: url(../images/link.png); background-repeat: no-repeat; diff --git a/docs/concepts/services-networking/ingress.md b/docs/concepts/services-networking/ingress.md index a0e38c5b8d..11ba226296 100644 --- a/docs/concepts/services-networking/ingress.md +++ b/docs/concepts/services-networking/ingress.md @@ -5,7 +5,7 @@ title: Ingress --- {% capture overview %} -{% include templates/glossary/snippet.md term="ingress" length="all" %} +{% glossary_definition term_id="ingress" length="all" %} {% endcapture %} {% capture body %} diff --git a/docs/concepts/workloads/controllers/statefulset.md b/docs/concepts/workloads/controllers/statefulset.md index 5daa83694e..7fb2431cc3 100644 --- a/docs/concepts/workloads/controllers/statefulset.md +++ b/docs/concepts/workloads/controllers/statefulset.md @@ -10,10 +10,10 @@ title: StatefulSets --- {% capture overview %} -**StatefulSet is the workload API object used to manage stateful applications. +**StatefulSet is the workload API object used to manage stateful applications. StatefulSets are beta in 1.8.** -{% include templates/glossary/snippet.md term="statefulset" length="all" %} +{% glossary_definition term_id="statefulset" length="all" %} {% endcapture %} {% capture body %} diff --git a/docs/reference/glossary.md b/docs/reference/glossary.md index ceb1dc4dd3..4500fb5e1e 100644 --- a/docs/reference/glossary.md +++ b/docs/reference/glossary.md @@ -56,9 +56,10 @@ default_active_tag: fundamental Also known as: {{ term.aka | join: ", " }}
{% endif %} -{{ term.short-description | markdownify }} [+] + +{{ term.short-description | liquify | markdownify }} [+]

-{{ term.long-description | markdownify }} +{{ term.long-description | liquify | markdownify }}
diff --git a/docs/tasks/configure-pod-container/assign-memory-resource.md b/docs/tasks/configure-pod-container/assign-memory-resource.md index c28be6e19f..68ef9c257d 100644 --- a/docs/tasks/configure-pod-container/assign-memory-resource.md +++ b/docs/tasks/configure-pod-container/assign-memory-resource.md @@ -124,12 +124,14 @@ Pod's 200 MiB limit. } ``` + Delete your Pod: ```shell kubectl delete pod memory-demo --namespace=mem-example ``` + ## Exceed a Container's memory limit A Container can exceed its memory request if the Node has memory available. But a Container @@ -370,4 +372,3 @@ kubectl delete namespace mem-example {% include templates/task.md %} - diff --git a/docs/tasks/inject-data-application/define-command-argument-container.md b/docs/tasks/inject-data-application/define-command-argument-container.md index 808b7b521f..65cc657cb0 100644 --- a/docs/tasks/inject-data-application/define-command-argument-container.md +++ b/docs/tasks/inject-data-application/define-command-argument-container.md @@ -5,7 +5,7 @@ title: Define a Command and Arguments for a Container {% capture overview %} This page shows how to define commands and arguments when you run a container -in a Kubernetes Pod. +in a {% glossary_tooltip term_id="pod" %}. {% endcapture %} diff --git a/images/metadocs/jekyll-tags-glossary-injector.gif b/images/metadocs/jekyll-tags-glossary-injector.gif new file mode 100644 index 0000000000..8392c567ef Binary files /dev/null and b/images/metadocs/jekyll-tags-glossary-injector.gif differ diff --git a/images/metadocs/jekyll-tags-glossary-tooltip.png b/images/metadocs/jekyll-tags-glossary-tooltip.png new file mode 100644 index 0000000000..f93a0efb00 Binary files /dev/null and b/images/metadocs/jekyll-tags-glossary-tooltip.png differ diff --git a/js/custom-jekyll/tags.js b/js/custom-jekyll/tags.js new file mode 100644 index 0000000000..d99660ee60 --- /dev/null +++ b/js/custom-jekyll/tags.js @@ -0,0 +1,15 @@ +$( document ).ready(function() { + // Shows permalink when term name is hovered over + $(".glossary-injector").each(function() { + var placeholder = $("#" + $(this).data("placeholder-id")); + var originalContent = placeholder.html(); + + var glossaryDef = $($(this).find(".injector-def")[0]).html(); + + $(this).mouseenter(function() { + placeholder.html(glossaryDef); + }).mouseleave(function(){ + placeholder.html(originalContent); + }); + }); +});