Compare commits
56 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7645853f5f | |||
| 0579ff708d | |||
| b92f0182d6 | |||
| ee7c275b50 | |||
| 8b12b0b073 | |||
| f7bbcfd82a | |||
| 001350f6c1 | |||
| 251b881476 | |||
| de48d0c5ba | |||
| 7fae018f64 | |||
| 168e165540 | |||
| 6e2bb09ca7 | |||
| 4b2ea721aa | |||
| c9ba487cde | |||
| 6520fb2d80 | |||
| 944e862e87 | |||
| 0e0b7a8d83 | |||
| e0dec8a057 | |||
| ad0af1bff0 | |||
| ab2e62c49a | |||
| cdae961ad4 | |||
| 793dd13d6a | |||
| 23e9d47690 | |||
| ca05d97164 | |||
| 982db0bc2a | |||
| b205cca225 | |||
| f10af47a0a | |||
| 0f9391df21 | |||
| 4c89d4bed2 | |||
| 361beaef7d | |||
| 9de0ed3d56 | |||
| 5033d8d79e | |||
| 1032e41489 | |||
| 45e406570a | |||
| 7814ded8f2 | |||
| 04aaaa2958 | |||
| 1409a3b3bb | |||
| 48e24aaf16 | |||
| 60e8f43d1a | |||
| cdb8edc491 | |||
| f68b165a9a | |||
| b8d479486a | |||
| 297f7f74c7 | |||
| 99c76f299e | |||
| b551662dee | |||
| 2900d9f8f4 | |||
| 06cc09e000 | |||
| fcba6ded3e | |||
| b21d201d4a | |||
| 84bdc88a51 | |||
| ee26d55e43 | |||
| 834c47ebb7 | |||
| 6ee3de11f0 | |||
| d1e7987476 | |||
| 6e8ade49a8 | |||
| e2508ee656 |
@@ -14,7 +14,7 @@
|
||||
|
||||
|
||||
**Page to Update:**
|
||||
https://kubernetes.io/...
|
||||
http://kubernetes.io/...
|
||||
|
||||
<!--Optional Information (remove the comment tags around information you would like to include)-->
|
||||
<!--Kubernetes Version:-->
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
> For 1.11 Features: set Milestone to 1.11 and Base Branch to release-1.11
|
||||
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
> NOTE: After opening the PR, please *un-check and re-check* the ["Allow edits from maintainers"](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) box so that maintainers can work on your patch and speed up the review process. This is a temporary workaround to address a known issue with GitHub.>
|
||||
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
> For 1.8 Features: set Milestone to `1.8` and Base Branch to `release-1.8`
|
||||
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>
|
||||
> NOTE: Please check the “Allow edits from maintainers” box (see image below) to
|
||||
> [allow reviewers to fix problems](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) on your patch and speed up the review process.
|
||||
>
|
||||
> Please delete this note before submitting the pull request.
|
||||
|
||||
|
||||
+1
-6
@@ -1,11 +1,11 @@
|
||||
**/.DS_Store
|
||||
**/desktop.ini
|
||||
.jekyll-metadata
|
||||
_site/**
|
||||
.sass-cache/**
|
||||
CNAME
|
||||
.travis.yml
|
||||
.idea/
|
||||
.vscode/
|
||||
|
||||
# Vim ignore
|
||||
# source: https://github.com/github/gitignore/blob/master/Global/Vim.gitignore
|
||||
@@ -24,8 +24,3 @@ Session.vim
|
||||
tags
|
||||
|
||||
kubernetes.github.io.iml
|
||||
|
||||
nohup.out
|
||||
|
||||
# Hugo output
|
||||
public/
|
||||
|
||||
+9
-10
@@ -1,22 +1,21 @@
|
||||
language: go
|
||||
go:
|
||||
- 1.9.3
|
||||
- 1.8.3
|
||||
|
||||
# Don't want default ./... here:
|
||||
install:
|
||||
- export PATH=$GOPATH/bin:$PATH
|
||||
- mkdir -p $HOME/gopath/src/k8s.io
|
||||
- mv $TRAVIS_BUILD_DIR $HOME/gopath/src/k8s.io/website && cd $HOME/gopath/src/k8s.io/website
|
||||
# Fetch dependencies for us to run the tests in test/examples_test.go
|
||||
- go get -t -v k8s.io/website/test
|
||||
# Make sure we are testing against the correct branch
|
||||
- pushd $GOPATH/src/k8s.io/kubernetes && git checkout release-1.10 && popd
|
||||
- mv $TRAVIS_BUILD_DIR $HOME/gopath/src/k8s.io/website
|
||||
- cd $HOME/gopath/src/k8s.io/website
|
||||
|
||||
# Simplified deduplication of dependencies.
|
||||
# (1) Fetch dependencies for us to run the tests in test/examples_test.go
|
||||
- pushd $GOPATH/src/k8s.io && git clone https://github.com/kubernetes/kubernetes && popd
|
||||
- pushd $GOPATH/src/k8s.io/kubernetes && git checkout release-1.7 && popd
|
||||
- cp -L -R $GOPATH/src/k8s.io/kubernetes/vendor/ $GOPATH/src/
|
||||
- rm -r $GOPATH/src/k8s.io/kubernetes/vendor/
|
||||
- go get -t -v k8s.io/website/test
|
||||
|
||||
script:
|
||||
# TODO(bep)
|
||||
- go test -v k8s.io/website/test #fixed by https://github.com/kubernetes/website/pull/8388
|
||||
#- ./verify-docs-format.sh
|
||||
- go test -v k8s.io/website/test
|
||||
- ./verify-docs-format.sh
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
layout: docwithnav
|
||||
title: 404 Error!
|
||||
permalink: /404.html
|
||||
no_canonical: true
|
||||
sitemap: false
|
||||
---
|
||||
|
||||
<script src="/js/redirects.js"></script>
|
||||
|
||||
Sorry, this page was not found. :(
|
||||
+5
-5
@@ -9,7 +9,7 @@ These are just guidelines, not rules. Use your best judgment, and feel free to p
|
||||
|
||||
### Code of Conduct
|
||||
|
||||
Kubernetes follows the [Cloud Native Computing Foundation (CNCF) Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to Sarah Novotny [sarahnovotny@google.com](mailto:sarahnovotny@google.com) and/or Dan Kohn [dan@linuxfoundation.org](mailto:dan@linuxfoundation.org).
|
||||
Kubernetes follows the [Cloud Native Computing Foundation (CNCF) Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to Sarah Novotny [sarahnovotny@google.com](mailto:sarahnovotny@google.com) and/or Dan Kohn [dan@linuxfoundation.org](mailto:dan@linuxfoundation.org).
|
||||
|
||||
### Documentation and Site Decisions
|
||||
|
||||
@@ -17,7 +17,7 @@ The [Kubernetes SIG Docs Discussion Group](https://groups.google.com/forum/#!for
|
||||
|
||||
### Style Guides and Templates
|
||||
|
||||
Before submitting a pull request to create new content, please review the [Kubernetes.io style guide](http://kubernetes.io/docs/home/contribute/style-guide/) and follow the [instructions for using page templates](http://kubernetes.io/docs/home/contribute/page-templates/).
|
||||
Before submitting a pull request to create new content, please review the [Kubernetes.io style guide](http://kubernetes.io/docs/home/contribute/style-guide/) and follow the [instructions for using page templates](http://kubernetes.io/docs/home/contribute/page-templates/).
|
||||
|
||||
|
||||
## Contributing to Documentation
|
||||
@@ -26,10 +26,10 @@ Before submitting a pull request to create new content, please review the [Kuber
|
||||
|
||||
Kubernetes.io uses github issues to track documentation issues and requests. If you see a documentation issue, submit an issue using the following steps:
|
||||
|
||||
1. Check the [kubernetes.io issues list](https://github.com/kubernetes/website/issues) as you might find out the issue is a duplicate.
|
||||
2. Use the [included template for every new issue](https://github.com/kubernetes/website/issues/new). When you create a bug report, include as many details as possible and include suggested fixes to the issue.
|
||||
1. Check the [kubernetes.io issues list](https://github.com/kubernetes/kubernetes.github.io/issues) as you might find out the issue is a duplicate.
|
||||
2. Use the [included template for every new issue](https://github.com/kubernetes/kubernetes.github.io/issues/new). When you create a bug report, include as many details as possible and include suggested fixes to the issue.
|
||||
|
||||
Note that code issues should be filed against the main kubernetes repository, while documentation issues should go in the kubernetes.io repository.
|
||||
Note that code issues should be filed against the main kubernetes repository, while documentation issues should go in the kubernetes.io repository.
|
||||
|
||||
### Submitting Documentation Pull Requests
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "github-pages", group: :jekyll_plugins
|
||||
gem "jekyll-include-cache", "~> 0.1"
|
||||
+203
@@ -0,0 +1,203 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (4.2.7)
|
||||
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)
|
||||
coffee-script (2.4.1)
|
||||
coffee-script-source
|
||||
execjs
|
||||
coffee-script-source (1.12.2)
|
||||
colorator (1.1.0)
|
||||
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)
|
||||
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)
|
||||
activesupport (>= 2)
|
||||
nokogiri (>= 1.4)
|
||||
i18n (0.7.0)
|
||||
jekyll (3.3.1)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
jekyll-sass-converter (~> 1.0)
|
||||
jekyll-watch (~> 1.1)
|
||||
kramdown (~> 1.3)
|
||||
liquid (~> 3.0)
|
||||
mercenary (~> 0.3.3)
|
||||
pathutil (~> 0.9)
|
||||
rouge (~> 1.7)
|
||||
safe_yaml (~> 1.0)
|
||||
jekyll-avatar (0.4.2)
|
||||
jekyll (~> 3.0)
|
||||
jekyll-coffeescript (1.0.1)
|
||||
coffee-script (~> 2.2)
|
||||
jekyll-default-layout (0.1.4)
|
||||
jekyll (~> 3.0)
|
||||
jekyll-feed (0.8.0)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-gist (1.4.0)
|
||||
octokit (~> 4.2)
|
||||
jekyll-github-metadata (2.2.0)
|
||||
jekyll (~> 3.1)
|
||||
octokit (~> 4.0, != 4.4.0)
|
||||
jekyll-include-cache (0.1.0)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-mentions (1.2.0)
|
||||
activesupport (~> 4.0)
|
||||
html-pipeline (~> 2.3)
|
||||
jekyll (~> 3.0)
|
||||
jekyll-optional-front-matter (0.1.2)
|
||||
jekyll (~> 3.0)
|
||||
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 (~> 3.3)
|
||||
jekyll-sass-converter (1.3.0)
|
||||
sass (~> 3.2)
|
||||
jekyll-seo-tag (2.1.0)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-sitemap (0.12.0)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-swiss (0.4.0)
|
||||
jekyll-theme-architect (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-cayman (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-dinky (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-hacker (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-leap-day (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-merlot (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-midnight (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-minimal (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-modernist (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-primer (0.1.5)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-slate (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-tactile (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-theme-time-machine (0.0.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-titles-from-headings (0.1.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-watch (1.5.0)
|
||||
listen (~> 3.0, < 3.1)
|
||||
jemoji (0.7.0)
|
||||
activesupport (~> 4.0)
|
||||
gemoji (~> 2.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)
|
||||
mercenary (0.3.6)
|
||||
mini_portile2 (2.1.0)
|
||||
minima (2.0.0)
|
||||
minitest (5.10.1)
|
||||
multipart-post (2.0.0)
|
||||
net-dns (0.8.0)
|
||||
nokogiri (1.6.8.1)
|
||||
mini_portile2 (~> 2.1.0)
|
||||
octokit (4.6.2)
|
||||
sawyer (~> 0.8.0, >= 0.5.3)
|
||||
pathutil (0.14.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)
|
||||
safe_yaml (1.0.4)
|
||||
sass (3.4.23)
|
||||
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.1)
|
||||
unicode-display_width (1.1.2)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
github-pages
|
||||
jekyll-include-cache (~> 0.1)
|
||||
|
||||
BUNDLED WITH
|
||||
1.15.2
|
||||
@@ -1,22 +1,18 @@
|
||||
.PHONY: all build sass build-preview help serve
|
||||
.PHONY: all build build-preview help serve
|
||||
|
||||
help: ## Show this help.
|
||||
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||||
|
||||
all: build ## Build site with production settings and put deliverables in _site.
|
||||
|
||||
sass: # Rebuild the SASS source into CSS
|
||||
node-sass --output-style compact ./src/sass/styles.sass ./static/css/styles.css
|
||||
node-sass --output-style compact ./src/sass/case_study_styles.sass ./static/css/case_study_styles.css
|
||||
|
||||
build: ## Build site with production settings and put deliverables in _site.
|
||||
hugo
|
||||
bundle exec jekyll build
|
||||
|
||||
build-preview: ## Build site with drafts and future posts enabled.
|
||||
hugo -D -F
|
||||
bundle exec jekyll build --drafts --future
|
||||
|
||||
serve: ## Boot the development server.
|
||||
hugo server
|
||||
bundle exec jekyll serve
|
||||
|
||||
stage: ## This needs to be updated for Hugo
|
||||
#docker run -ti --rm -v "${PWD}":/k8sdocs -p 4000:4000 gcr.io/google-samples/k8sdocs:1.1
|
||||
stage: ## Run the Jekyll staging container.
|
||||
docker run -ti --rm -v "${PWD}":/k8sdocs -p 4000:4000 gcr.io/google-samples/k8sdocs:1.1
|
||||
|
||||
@@ -1,17 +1,21 @@
|
||||
# Reviewers can /lgtm /approve but not sufficient for auto-merge without an
|
||||
# approver
|
||||
reviewers:
|
||||
- zhangxiaoyu-zidif
|
||||
- rajakavitha1
|
||||
- stewart-yu
|
||||
- xiangpengzhao
|
||||
- zhangxiaoyu-zidif
|
||||
|
||||
# Approvers have all the ability of reviewers but their /approve makes
|
||||
# auto-merge happen if a /lgtm exists, or vice versa, or they can do both
|
||||
# No need for approvers to also be listed as reviewers
|
||||
approvers:
|
||||
- heckj
|
||||
- bradamant3
|
||||
- bradtopol
|
||||
- steveperry-53
|
||||
- zacharysarah
|
||||
- chenopis
|
||||
- kbarnard10
|
||||
- mistyhacks
|
||||
- steveperry-53
|
||||
- tengqm
|
||||
- zacharysarah
|
||||
- zparnold
|
||||
|
||||
-204
@@ -1,204 +0,0 @@
|
||||
aliases:
|
||||
sig-api-machinery: #Team: API Server; GH: sig-api-machinery-pr-reviews; e.g. Annotations, Labels
|
||||
- lavalamp
|
||||
- sttts
|
||||
- liggitt
|
||||
- smarterclayton
|
||||
- deads2k
|
||||
sig-apps: #Team: Workloads; GH: sig-apps-pr-reviews; e.g. ConfigMaps, CronJobs, CustomResourceDefinitions, DaemonSets, Deployments, Jobs, Secrets, StatefulSets
|
||||
- enisoc
|
||||
- erictune
|
||||
- foxish
|
||||
- janetkuo
|
||||
- kow3ns
|
||||
- lukaszo
|
||||
- mfojtik
|
||||
- smarterclayton
|
||||
- soltysh
|
||||
- tnozicka
|
||||
sig-architecture: #GH: sig-architecture-pr-reviews
|
||||
- smarterclayton
|
||||
- bgrant0607
|
||||
sig-auth: #GH: sig-auth-pr-reviews
|
||||
- php-coder
|
||||
- liggitt
|
||||
- mikedanese
|
||||
- ericchiang
|
||||
- mattmoyer
|
||||
- enj
|
||||
- deads2k
|
||||
- davidopp
|
||||
sig-autoscaling: #GH: sig-autoscaling-pr-reviews
|
||||
- DirectXMan12
|
||||
- bskiba
|
||||
- aleksandra-malinowska
|
||||
- MaciekPytel
|
||||
- davidopp
|
||||
- mwielgus
|
||||
sig-aws: #Amazon AWS
|
||||
- justinsb
|
||||
- kris-nova
|
||||
- chrislovecnm
|
||||
- mfburnett
|
||||
sig-azure: #Microsoft Azure
|
||||
- slack
|
||||
- colemickens
|
||||
- jdumars
|
||||
sig-big-data: #GH: sig-big-data-pr-reviews
|
||||
- foxish
|
||||
sig-cli: #Team: CLI; GH: sig-cli-pr-reviews; e.g. kubectl
|
||||
- adohe
|
||||
- deads2k
|
||||
- derekwaynecarr
|
||||
- dims
|
||||
- dshulyak
|
||||
- eparis
|
||||
- ericchiang
|
||||
- ghodss
|
||||
- mengqiy
|
||||
- rootfs
|
||||
- shiywang
|
||||
- smarterclayton
|
||||
- soltysh
|
||||
- sttts
|
||||
sig-cluster-lifecycle: #GH: sig-cluster-lifecycle-pr-reviews
|
||||
- jbeda
|
||||
- timothysc
|
||||
- lukemarsden
|
||||
- pipejakob
|
||||
- dmmcquay
|
||||
- mattmoyer
|
||||
- luxas
|
||||
- roberthbailey
|
||||
- medinatiger
|
||||
sig-cluster-ops:
|
||||
- zehicle
|
||||
- jdumars
|
||||
sig-contribex: #aka Contributor Experience; GH: sig-contributor-experience-pr-reviews
|
||||
- rmmh
|
||||
- cblecker
|
||||
- apelisse
|
||||
- grodrigues3
|
||||
- spxtr
|
||||
sig-contributor-experience: #GH: sig-contributor-experience-pr-reviews
|
||||
- rmmh
|
||||
- cblecker
|
||||
- apelisse
|
||||
- grodrigues3
|
||||
- spxtr
|
||||
sig-docs: #Team: documentation; GH: sig-docs-pr-reviews
|
||||
- bradamant3
|
||||
- steveperry-53
|
||||
- zacharysarah
|
||||
- bradtopol
|
||||
- heckj
|
||||
sig-federation: #Team: Federation; e.g. Federated Clusters
|
||||
- csbell
|
||||
sig-gcp: #Google Cloud Platform; GH: sig-gcp-pr-reviews
|
||||
- abgworrall
|
||||
sig-instrumentation: #GH: sig-instrumentation-pr-reviews; e.g. metrics, logging, events
|
||||
- DirectXMan12
|
||||
- x13n
|
||||
- kawych
|
||||
- brancz
|
||||
- fabxc
|
||||
- loburm
|
||||
- piosz
|
||||
- fgrzadkowski
|
||||
sig-multicluster: #GH: sig-multicluster-pr-reviews; e.g. resiliency against availability zone outages; hybrid clouds; spanning multiple cloud providers; migration to public clouds
|
||||
- madhusudancs
|
||||
- marun
|
||||
- jianhuiz
|
||||
- shashidharatd
|
||||
- nikhiljindal
|
||||
- quinton-hoole
|
||||
- mwielgus
|
||||
- csbell
|
||||
sig-network: #Team: Network; GH: sig-network-pr-reviews; e.g. Ingress, Network Policies, Services
|
||||
- bowei
|
||||
- caseydavenport
|
||||
- danwinship
|
||||
- dcbw
|
||||
- dnardo
|
||||
- freehan
|
||||
- mrhohn
|
||||
- nicksardo
|
||||
- thockin
|
||||
sig-node: #Team: Node; GH: sig-node-pr-reviews; e.g. Containers, Docker, Images, OS images, Pods, Registries
|
||||
- Random-Liu
|
||||
- dashpole
|
||||
- dchen1107
|
||||
- derekwaynecarr
|
||||
- dims
|
||||
- feiskyer
|
||||
- mtaufen
|
||||
- ncdc
|
||||
- pmorie
|
||||
- resouer
|
||||
- sjpotter
|
||||
- tallclair
|
||||
- tmrts
|
||||
- vishh
|
||||
- yifan-gu
|
||||
- yujuhong
|
||||
sig-onprem: #On-premises; GH: sig-onprem-pr-reviews
|
||||
- zen
|
||||
- idvoretskyi
|
||||
- pigmej
|
||||
- feiskyer
|
||||
- nebril
|
||||
sig-openstack: #GH: sig-openstack-pr-reviews
|
||||
- hogepodge
|
||||
- dklyle
|
||||
- rjmorse
|
||||
sig-pm: #aka Product Management
|
||||
- apsinha
|
||||
- idvoretskyi
|
||||
- calebamiles
|
||||
sig-product-management:
|
||||
- apsinha
|
||||
- idvoretskyi
|
||||
- calebamiles
|
||||
sig-release: #GH: sig-release-pr-reviews
|
||||
- calebamiles
|
||||
- enisoc
|
||||
- pwittrock
|
||||
sig-rktnetes:
|
||||
- calebamiles
|
||||
sig-scalability: #GH: sig-scalability-pr-reviews
|
||||
- jbeda
|
||||
- spiffxp
|
||||
- lavalamp
|
||||
- countspongebob
|
||||
sig-scheduling: #Team: Sharing; GH: sig-scheduling-pr-reviews; e.g. Scheduler
|
||||
- bsalamat
|
||||
- davidopp
|
||||
- jayunit100
|
||||
- k82cn
|
||||
- resouer
|
||||
- timothysc
|
||||
- wojtek-t
|
||||
sig-service-catalog: #GH: sig-service-catalog-pr-reviews; e.g. Service Broker
|
||||
- pmorie
|
||||
- jessfraz
|
||||
- pwittrock
|
||||
- droot
|
||||
- seans3
|
||||
sig-storage: #Team: Storage; GH: sig-storage-pr-reviews; e.g. Volumes
|
||||
- childsb
|
||||
- jsafrane
|
||||
- rootfs
|
||||
- saad-ali
|
||||
- matchstick
|
||||
- msau42
|
||||
sig-testing: #GH: sig-testing-pr-reviews
|
||||
- fejta
|
||||
- ixdy
|
||||
- rmmh
|
||||
- spiffxp
|
||||
- spxtr
|
||||
sig-ui: #User Interface
|
||||
- danielromlein
|
||||
- floreks
|
||||
sig-windows:
|
||||
- michmike
|
||||
@@ -4,8 +4,6 @@ Welcome! We are very pleased you want to contribute to the Kubernetes documentat
|
||||
|
||||
You can click the **Fork** button in the upper-right area of the screen to create a copy of this repository in your GitHub account called a *fork*. Make any changes you want in your fork, and when you are ready to send those changes to us, go to your fork and create a new pull request to let us know about it.
|
||||
|
||||
Once your pull request is created, a Kubernetes reviewer will take responsibility for providing clear, actionable feedback. As the owner of the pull request, **it is your responsibility to modify your pull request to address the feedback that has been provided to you by the Kubernetes reviewer.** Also note that you may end up having more than one Kubernetes reviewer provide you feedback or you may end up getting feedback from a Kubernetes reviewer that is different than the one originally assigned to provide you feedback. Furthermore, in some cases, one of your reviewers might ask for a technical review from a [Kubernetes tech reviewer](https://github.com/kubernetes/website/wiki/Tech-reviewers) when needed. Reviewers will do their best to provide feedback in a timely fashion but response time can vary based on circumstances.
|
||||
|
||||
For more information about contributing to the Kubernetes documentation, see:
|
||||
|
||||
* [Contributing to the Kubernetes Documentation](http://kubernetes.io/editdocs/)
|
||||
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
name: Kubernetes
|
||||
title: Kubernetes
|
||||
url: https://kubernetes.io
|
||||
description: Production-Grade Container Orchestration
|
||||
markdown: kramdown
|
||||
kramdown:
|
||||
input: GFM
|
||||
html_to_native: true
|
||||
hard_wrap: false
|
||||
syntax_highlighter: rouge
|
||||
incremental: true
|
||||
|
||||
safe: false
|
||||
lsi: false
|
||||
|
||||
defaults:
|
||||
-
|
||||
scope:
|
||||
path: ""
|
||||
values:
|
||||
fullversion: "v1.7.3"
|
||||
version: "v1.7"
|
||||
githubbranch: "v1.7.3"
|
||||
docsbranch: "release-1.7"
|
||||
versions:
|
||||
- fullversion: "v1.11.0"
|
||||
version: "v1.11"
|
||||
githubbranch: "v1.11.0"
|
||||
docsbranch: "release-1.11"
|
||||
url: https://kubernetes.io/docs/
|
||||
- fullversion: "v1.10.0"
|
||||
version: "v1.10"
|
||||
githubbranch: "v1.10.0"
|
||||
docsbranch: "release-1.10"
|
||||
url: https://v1-10.docs.kubernetes.io/
|
||||
- fullversion: "v1.9.0"
|
||||
version: "v1.9"
|
||||
githubbranch: "v1.9.0"
|
||||
docsbranch: "release-1.9"
|
||||
url: https://v1-9.docs.kubernetes.io/docs/home/
|
||||
- fullversion: "v1.8.4"
|
||||
version: "v1.8"
|
||||
githubbranch: "v1.8.4"
|
||||
docsbranch: "release-1.8"
|
||||
url: https://v1-8.docs.kubernetes.io/docs/home/
|
||||
- fullversion: "v1.7.3"
|
||||
version: "v1.7"
|
||||
githubbranch: "v1.7.3"
|
||||
docsbranch: "release-1.7"
|
||||
url: https://v1-7.docs.kubernetes.io/docs/home/
|
||||
deprecated: true
|
||||
currentUrl: https://kubernetes.io/docs/home/
|
||||
nextUrl: http://kubernetes-io-vnext-staging.netlify.com/
|
||||
-
|
||||
scope:
|
||||
path: "docs"
|
||||
values:
|
||||
layout: docwithnav
|
||||
showedit: true
|
||||
|
||||
permalink: pretty
|
||||
|
||||
gems:
|
||||
- jekyll-feed
|
||||
- jekyll-sitemap
|
||||
- jekyll-seo-tag
|
||||
- jekyll-include-cache
|
||||
# disabled gems
|
||||
# - jekyll-redirect-from
|
||||
|
||||
include: [_redirects,_headers]
|
||||
|
||||
# SEO
|
||||
logo: /images/favicon.png
|
||||
twitter:
|
||||
username: kubernetesio
|
||||
|
||||
# empty array for tabs
|
||||
emptyArray: []
|
||||
|
||||
# Tables of contents, stored in the _data folder, that control the sidebar nav
|
||||
tocs:
|
||||
- docs-home
|
||||
- setup
|
||||
- tasks
|
||||
- tutorials
|
||||
- concepts
|
||||
- reference
|
||||
- samples
|
||||
- search
|
||||
@@ -0,0 +1,12 @@
|
||||
- Fundamental
|
||||
- API Object
|
||||
- Metadata
|
||||
- Configuration
|
||||
- Security
|
||||
- Networking
|
||||
- Storage
|
||||
- Operation
|
||||
- Workload
|
||||
- Component
|
||||
- API
|
||||
- Extension
|
||||
@@ -0,0 +1,101 @@
|
||||
bigheader: "Concepts"
|
||||
abstract: "Detailed explanations of Kubernetes system concepts and abstractions."
|
||||
toc:
|
||||
- docs/concepts/index.md
|
||||
|
||||
- title: Overview
|
||||
section:
|
||||
- docs/concepts/overview/what-is-kubernetes.md
|
||||
- docs/concepts/overview/components.md
|
||||
- title: Working with Kubernetes Objects
|
||||
section:
|
||||
- docs/concepts/overview/working-with-objects/kubernetes-objects.md
|
||||
- docs/concepts/overview/working-with-objects/names.md
|
||||
- docs/concepts/overview/working-with-objects/namespaces.md
|
||||
- docs/concepts/overview/working-with-objects/labels.md
|
||||
- docs/concepts/overview/working-with-objects/annotations.md
|
||||
- docs/concepts/overview/kubernetes-api.md
|
||||
|
||||
- title: Kubernetes Architecture
|
||||
section:
|
||||
- docs/concepts/architecture/nodes.md
|
||||
- docs/concepts/architecture/master-node-communication.md
|
||||
|
||||
- title: Extending the Kubernetes API
|
||||
section:
|
||||
- docs/concepts/api-extension/custom-resources.md
|
||||
- docs/concepts/api-extension/apiserver-aggregation.md
|
||||
|
||||
- title: Containers
|
||||
section:
|
||||
- docs/concepts/containers/images.md
|
||||
- docs/concepts/containers/container-environment-variables.md
|
||||
- docs/concepts/containers/container-lifecycle-hooks.md
|
||||
|
||||
- title: Workloads
|
||||
section:
|
||||
- title: Pods
|
||||
section:
|
||||
- docs/concepts/workloads/pods/pod-overview.md
|
||||
- docs/concepts/workloads/pods/pod.md
|
||||
- docs/concepts/workloads/pods/pod-lifecycle.md
|
||||
- docs/concepts/workloads/pods/init-containers.md
|
||||
- docs/concepts/workloads/pods/disruptions.md
|
||||
- title: Controllers
|
||||
section:
|
||||
- docs/concepts/workloads/controllers/replicaset.md
|
||||
- docs/concepts/workloads/controllers/replicationcontroller.md
|
||||
- docs/concepts/workloads/controllers/deployment.md
|
||||
- docs/concepts/workloads/controllers/statefulset.md
|
||||
- docs/concepts/workloads/controllers/petset.md
|
||||
- docs/concepts/workloads/controllers/daemonset.md
|
||||
- docs/concepts/workloads/controllers/garbage-collection.md
|
||||
- docs/concepts/workloads/controllers/jobs-run-to-completion.md
|
||||
- docs/concepts/workloads/controllers/cron-jobs.md
|
||||
|
||||
- title: Configuration
|
||||
section:
|
||||
- docs/concepts/configuration/overview.md
|
||||
- docs/concepts/configuration/manage-compute-resources-container.md
|
||||
- docs/concepts/configuration/assign-pod-node.md
|
||||
- docs/concepts/configuration/taint-and-toleration.md
|
||||
- docs/concepts/configuration/secret.md
|
||||
- docs/concepts/configuration/organize-cluster-access-kubeconfig.md
|
||||
|
||||
- title: Services, Load Balancing, and Networking
|
||||
section:
|
||||
- docs/concepts/services-networking/service.md
|
||||
- docs/concepts/services-networking/dns-pod-service.md
|
||||
- docs/concepts/services-networking/connect-applications-service.md
|
||||
- docs/concepts/services-networking/ingress.md
|
||||
- docs/concepts/services-networking/network-policies.md
|
||||
- docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md
|
||||
|
||||
- title: Storage
|
||||
section:
|
||||
- docs/concepts/storage/volumes.md
|
||||
- docs/concepts/storage/persistent-volumes.md
|
||||
- title: Dynamic Provisioning
|
||||
path: http://blog.kubernetes.io/2016/10/dynamic-provisioning-and-storage-in-kubernetes.html
|
||||
|
||||
- title: Cluster Administration
|
||||
section:
|
||||
- docs/concepts/cluster-administration/cluster-administration-overview.md
|
||||
- docs/concepts/cluster-administration/cloud-providers.md
|
||||
- docs/concepts/cluster-administration/manage-deployment.md
|
||||
- docs/concepts/cluster-administration/networking.md
|
||||
- docs/concepts/cluster-administration/network-plugins.md
|
||||
- docs/concepts/cluster-administration/logging.md
|
||||
- docs/concepts/cluster-administration/kubelet-garbage-collection.md
|
||||
- docs/concepts/cluster-administration/federation.md
|
||||
- docs/concepts/cluster-administration/sysctl-cluster.md
|
||||
- docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig.md
|
||||
- docs/concepts/cluster-administration/master-node-communication.md
|
||||
- docs/concepts/cluster-administration/proxies.md
|
||||
- docs/concepts/cluster-administration/controller-metrics.md
|
||||
- title: Policies
|
||||
section:
|
||||
- docs/concepts/policy/resource-quotas.md
|
||||
- docs/concepts/policy/pod-security-policy.md
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
bigheader: "Documentation Home"
|
||||
abstract: "Documentation for using and learning about Kubernetes."
|
||||
toc:
|
||||
- docs/home/index.md
|
||||
|
||||
- docs/home/index.md
|
||||
|
||||
- title: Release Notes
|
||||
path: https://git.k8s.io/kubernetes/CHANGELOG.md
|
||||
- title: Release Roadmap
|
||||
path: https://github.com/kubernetes/kubernetes/milestones/
|
||||
|
||||
- docs/tasks/debug-application-cluster/troubleshooting.md
|
||||
|
||||
- title: Contributing to the Kubernetes Docs
|
||||
section:
|
||||
- editdocs.md
|
||||
- docs/home/contribute/create-pull-request.md
|
||||
- docs/home/contribute/write-new-topic.md
|
||||
- docs/home/contribute/stage-documentation-changes.md
|
||||
- docs/home/contribute/page-templates.md
|
||||
- docs/home/contribute/review-issues.md
|
||||
- docs/home/contribute/style-guide.md
|
||||
@@ -8,4 +8,3 @@ tocs:
|
||||
- reference
|
||||
- samples
|
||||
- support
|
||||
- imported
|
||||
@@ -0,0 +1,17 @@
|
||||
id: _example
|
||||
name: Example K8s Term
|
||||
formerly:
|
||||
- Slang K8s Term
|
||||
- Misnomer
|
||||
- Formerly Known as Prince
|
||||
related:
|
||||
- Less Fancy K8s Term
|
||||
- Tangential Term
|
||||
- Commonly Used With
|
||||
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.
|
||||
**See /_includes/templates/glossary/README.md for the official style guide.**
|
||||
@@ -0,0 +1,18 @@
|
||||
id: statefulset
|
||||
name: StatefulSet
|
||||
formerly:
|
||||
- PetSet
|
||||
related:
|
||||
- Deployment
|
||||
- Pod
|
||||
tags:
|
||||
- Storage
|
||||
- Workload
|
||||
- API Object
|
||||
short-description: |
|
||||
Manage the deployment and scaling of a set of Pods, *and provide guarantees about ordering*. They do so by maintaining a *unique*, sticky identity for each of their Pods.
|
||||
|
||||
long-description: |
|
||||
Like Deployments, StatefulSets manage Pods that are based on an identical container spec. However, although their specs are the same, the Pods in a StatefulSet are not interchangeable. Each Pod has a persistent identifier that it maintains across any rescheduling.
|
||||
|
||||
StatefulSets also operate according to the Controller pattern. You define your desired state in a StatefulSet *object*, and the StatefulSet *controller* makes any necessary updates to the get there from the current state.
|
||||
@@ -1,5 +1,4 @@
|
||||
overrides:
|
||||
- path: docs/admin/cloud-controller-manager.md
|
||||
- path: docs/admin/federation-apiserver.md
|
||||
- path: docs/admin/federation-controller-manager.md
|
||||
- path: docs/admin/kube-apiserver.md
|
||||
@@ -0,0 +1,106 @@
|
||||
bigheader: "Reference Documentation"
|
||||
abstract: "Design docs, concept definitions, and references for APIs and CLIs."
|
||||
toc:
|
||||
- docs/reference/index.md
|
||||
|
||||
- title: Using the API
|
||||
section:
|
||||
- docs/reference/api-overview.md
|
||||
- docs/reference/client-libraries.md
|
||||
- title: Accessing the API
|
||||
section:
|
||||
- docs/admin/accessing-the-api.md
|
||||
- docs/admin/authentication.md
|
||||
- docs/admin/bootstrap-tokens.md
|
||||
- docs/admin/admission-controllers.md
|
||||
- docs/admin/extensible-admission-controllers.md
|
||||
- docs/admin/service-accounts-admin.md
|
||||
- title: Authorization
|
||||
section:
|
||||
- docs/admin/authorization/index.md
|
||||
- docs/admin/authorization/abac.md
|
||||
- docs/admin/authorization/rbac.md
|
||||
- docs/admin/authorization/node.md
|
||||
- docs/admin/authorization/webhook.md
|
||||
- docs/reference/deprecation-policy.md
|
||||
|
||||
- title: API Reference
|
||||
section:
|
||||
- title: v1.7
|
||||
path: /docs/api-reference/v1.7/
|
||||
- docs/reference/labels-annotations-taints.md
|
||||
- title: OpenAPI and Swagger
|
||||
section:
|
||||
- title: OpenAPI Spec
|
||||
path: https://git.k8s.io/kubernetes/api/openapi-spec/
|
||||
- title: Swagger Spec
|
||||
path: https://git.k8s.io/kubernetes/api/swagger-spec/
|
||||
|
||||
- title: Federation API
|
||||
section:
|
||||
- docs/reference/federation/v1/operations.html
|
||||
- docs/reference/federation/v1/definitions.html
|
||||
- docs/reference/federation/v1beta1/operations.html
|
||||
- docs/reference/federation/v1beta1/definitions.html
|
||||
- docs/reference/federation/extensions/v1beta1/operations.html
|
||||
- docs/reference/federation/extensions/v1beta1/definitions.html
|
||||
|
||||
- title: kubectl CLI
|
||||
section:
|
||||
- docs/user-guide/kubectl-overview.md
|
||||
- title: v1.7 Commands
|
||||
path: /docs/user-guide/kubectl/v1.7/
|
||||
- title: v1.6 Commands
|
||||
path: /docs/user-guide/kubectl/v1.6/
|
||||
- title: v1.5 Commands
|
||||
path: /docs/user-guide/kubectl/v1.5/
|
||||
- docs/user-guide/docker-cli-to-kubectl.md
|
||||
- docs/user-guide/kubectl-conventions.md
|
||||
- docs/user-guide/jsonpath.md
|
||||
- docs/user-guide/kubectl-cheatsheet.md
|
||||
|
||||
- title: Setup Tools
|
||||
section:
|
||||
- title: Kubeadm
|
||||
path: /docs/admin/kubeadm/
|
||||
- title: Kubefed
|
||||
path: /docs/admin/kubefed/
|
||||
section:
|
||||
- docs/admin/kubefed.md
|
||||
- docs/admin/kubefed_options.md
|
||||
- docs/admin/kubefed_init.md
|
||||
- docs/admin/kubefed_join.md
|
||||
- docs/admin/kubefed_unjoin.md
|
||||
- docs/admin/kubefed_version.md
|
||||
|
||||
- title: Config Reference
|
||||
section:
|
||||
- docs/admin/kubelet.md
|
||||
- docs/admin/kube-apiserver.md
|
||||
- docs/admin/kube-controller-manager.md
|
||||
- docs/admin/kube-proxy.md
|
||||
- docs/admin/kube-scheduler.md
|
||||
- docs/admin/federation-apiserver.md
|
||||
- docs/admin/federation-controller-manager.md
|
||||
|
||||
- title: Kubernetes Design Docs
|
||||
section:
|
||||
- title: Kubernetes Architecture
|
||||
path: https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md
|
||||
- title: Kubernetes Design Overview
|
||||
path: https://github.com/kubernetes/kubernetes/tree/release-1.6/docs/design
|
||||
- title: Kubernetes Identity and Access Management
|
||||
path: https://git.k8s.io/community/contributors/design-proposals/auth/access.md
|
||||
- docs/admin/ovs-networking.md
|
||||
- title: Security Contexts
|
||||
path: https://git.k8s.io/community/contributors/design-proposals/auth/security_context.md
|
||||
- title: Security in Kubernetes
|
||||
path: https://git.k8s.io/community/contributors/design-proposals/auth/security.md
|
||||
|
||||
- title: Kubernetes Issues and Security
|
||||
section:
|
||||
- title: Kubernetes Issue Tracker on GitHub
|
||||
path: https://github.com/kubernetes/kubernetes/issues/
|
||||
- docs/reference/security.md
|
||||
|
||||
|
||||
+107
@@ -0,0 +1,107 @@
|
||||
bigheader: "Setup"
|
||||
abstract: "Instructions for setting up a Kubernetes cluster."
|
||||
toc:
|
||||
- docs/setup/index.md
|
||||
- docs/setup/pick-right-solution.md
|
||||
|
||||
- title: Independent Solutions
|
||||
section:
|
||||
- docs/getting-started-guides/minikube.md
|
||||
|
||||
- title: Bootstrapping Clusters with kubeadm
|
||||
section:
|
||||
- docs/setup/independent/install-kubeadm.md
|
||||
- docs/setup/independent/create-cluster-kubeadm.md
|
||||
|
||||
- docs/getting-started-guides/scratch.md
|
||||
- docs/getting-started-guides/alternatives.md
|
||||
|
||||
- title: Hosted Solutions
|
||||
section:
|
||||
- title: Running Kubernetes on Google Container Engine
|
||||
path: https://cloud.google.com/container-engine/docs/before-you-begin/
|
||||
- title: Running Kubernetes on Azure Container Service
|
||||
path: https://docs.microsoft.com/en-us/azure/container-service/container-service-kubernetes-walkthrough
|
||||
- title: Running Kubernetes on IBM Bluemix Container Service
|
||||
path: https://console.ng.bluemix.net/docs/containers/container_index.html
|
||||
|
||||
- title: Turn-key Cloud Solutions
|
||||
section:
|
||||
- docs/getting-started-guides/gce.md
|
||||
- docs/getting-started-guides/aws.md
|
||||
- docs/getting-started-guides/azure.md
|
||||
- docs/getting-started-guides/alibaba-cloud.md
|
||||
- docs/getting-started-guides/clc.md
|
||||
- title: Running Kubernetes on IBM Bluemix
|
||||
path: https://github.com/patrocinio/kubernetes-softlayer
|
||||
- docs/getting-started-guides/stackpoint.md
|
||||
|
||||
- title: Custom Solutions
|
||||
|
||||
section:
|
||||
- title: Custom Cloud Solutions
|
||||
section:
|
||||
- docs/getting-started-guides/coreos/index.md
|
||||
- docs/getting-started-guides/ubuntu/index.md
|
||||
- docs/getting-started-guides/kops.md
|
||||
- docs/getting-started-guides/kubespray.md
|
||||
- docs/getting-started-guides/running-cloud-controller.md
|
||||
|
||||
- title: On-Premise VMs
|
||||
section:
|
||||
- docs/getting-started-guides/coreos/index.md
|
||||
- docs/getting-started-guides/cloudstack.md
|
||||
- docs/getting-started-guides/vsphere.md
|
||||
- docs/getting-started-guides/photon-controller.md
|
||||
- docs/getting-started-guides/dcos.md
|
||||
- docs/getting-started-guides/libvirt-coreos.md
|
||||
- docs/getting-started-guides/ovirt.md
|
||||
- docs/getting-started-guides/openstack-heat.md
|
||||
|
||||
- title: rkt
|
||||
section:
|
||||
- docs/getting-started-guides/rkt/index.md
|
||||
- docs/getting-started-guides/rkt/notes.md
|
||||
|
||||
- docs/getting-started-guides/mesos/index.md
|
||||
- docs/getting-started-guides/mesos-docker.md
|
||||
|
||||
- title: Bare Metal
|
||||
section:
|
||||
- docs/getting-started-guides/coreos/bare_metal_offline.md
|
||||
- docs/getting-started-guides/fedora/fedora_ansible_config.md
|
||||
- docs/getting-started-guides/fedora/fedora_manual_config.md
|
||||
- docs/getting-started-guides/fedora/flannel_multi_node_cluster.md
|
||||
- docs/getting-started-guides/centos/centos_manual_config.md
|
||||
- docs/getting-started-guides/coreos/index.md
|
||||
- docs/getting-started-guides/ubuntu/index.md
|
||||
|
||||
- title: Ubuntu
|
||||
section:
|
||||
- docs/getting-started-guides/ubuntu/index.md
|
||||
- docs/getting-started-guides/ubuntu/validation.md
|
||||
- docs/getting-started-guides/ubuntu/backups.md
|
||||
- docs/getting-started-guides/ubuntu/upgrades.md
|
||||
- docs/getting-started-guides/ubuntu/scaling.md
|
||||
- docs/getting-started-guides/ubuntu/installation.md
|
||||
- docs/getting-started-guides/ubuntu/monitoring.md
|
||||
- docs/getting-started-guides/ubuntu/networking.md
|
||||
- docs/getting-started-guides/ubuntu/security.md
|
||||
- docs/getting-started-guides/ubuntu/storage.md
|
||||
- docs/getting-started-guides/ubuntu/troubleshooting.md
|
||||
- docs/getting-started-guides/ubuntu/decommissioning.md
|
||||
- docs/getting-started-guides/ubuntu/operational-considerations.md
|
||||
- docs/getting-started-guides/ubuntu/glossary.md
|
||||
- docs/getting-started-guides/ubuntu/local.md
|
||||
- docs/getting-started-guides/ubuntu/logging.md
|
||||
|
||||
- docs/getting-started-guides/windows/index.md
|
||||
|
||||
- docs/admin/node-conformance.md
|
||||
|
||||
- docs/concepts/cluster-administration/addons.md
|
||||
- docs/admin/salt.md
|
||||
- docs/admin/cluster-large.md
|
||||
- docs/admin/multiple-zones.md
|
||||
- docs/admin/high-availability/index.md
|
||||
- docs/getting-started-guides/binary_release.md
|
||||
@@ -1,24 +1,21 @@
|
||||
bigheader: "Tasks"
|
||||
abstract: "Step-by-step instructions for performing operations with Kubernetes."
|
||||
landing_page: /docs/tasks/index/
|
||||
toc:
|
||||
- docs/tasks/index.md
|
||||
|
||||
- title: Install Tools
|
||||
landing_page: /docs/tasks/tools/install-kubectl/
|
||||
section:
|
||||
- docs/tasks/tools/install-kubectl.md
|
||||
- docs/tasks/tools/install-minikube.md
|
||||
- docs/setup/independent/install-kubeadm.md
|
||||
|
||||
- title: Configure Pods and Containers
|
||||
landing_page: /docs/tasks/configure-pod-container/configure-pod-initialization/
|
||||
section:
|
||||
- docs/tasks/configure-pod-container/assign-memory-resource.md
|
||||
- docs/tasks/configure-pod-container/assign-cpu-resource.md
|
||||
- docs/tasks/configure-pod-container/quality-service-pod.md
|
||||
- docs/tasks/configure-pod-container/assign-cpu-ram-container.md
|
||||
- docs/tasks/configure-pod-container/extended-resource.md
|
||||
- docs/tasks/configure-pod-container/opaque-integer-resource.md
|
||||
- docs/tasks/configure-pod-container/configure-volume-storage.md
|
||||
- docs/tasks/configure-pod-container/configure-persistent-volume-storage.md
|
||||
- docs/tasks/configure-pod-container/configure-projected-volume-storage.md
|
||||
@@ -31,12 +28,11 @@ toc:
|
||||
- docs/tasks/configure-pod-container/assign-pods-nodes.md
|
||||
- docs/tasks/configure-pod-container/configure-pod-initialization.md
|
||||
- docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md
|
||||
- docs/tasks/configure-pod-container/configmap.md
|
||||
- docs/tasks/configure-pod-container/configure-pod-configmap.md
|
||||
- docs/tasks/configure-pod-container/share-process-namespace.md
|
||||
- docs/tools/kompose/user-guide.md
|
||||
|
||||
- title: Inject Data Into Applications
|
||||
landing_page: /docs/tasks/inject-data-application/define-environment-variable-container/
|
||||
section:
|
||||
- docs/tasks/inject-data-application/define-command-argument-container.md
|
||||
- docs/tasks/inject-data-application/define-environment-variable-container.md
|
||||
@@ -46,7 +42,6 @@ toc:
|
||||
- docs/tasks/inject-data-application/podpreset.md
|
||||
|
||||
- title: Run Applications
|
||||
landing_page: /docs/tasks/run-application/run-stateless-application-deployment/
|
||||
section:
|
||||
- docs/tasks/run-application/run-stateless-application-deployment.md
|
||||
- docs/tasks/run-application/run-single-instance-stateful-application.md
|
||||
@@ -62,15 +57,12 @@ toc:
|
||||
- docs/tasks/run-application/configure-pdb.md
|
||||
|
||||
- title: Run Jobs
|
||||
landing_page: /docs/tasks/job/parallel-processing-expansion/
|
||||
section:
|
||||
- docs/tasks/job/automated-tasks-with-cron-jobs.md
|
||||
- docs/tasks/job/parallel-processing-expansion.md
|
||||
- docs/tasks/job/coarse-parallel-processing-work-queue/index.md
|
||||
- docs/tasks/job/fine-parallel-processing-work-queue/index.md
|
||||
|
||||
- title: Access Applications in a Cluster
|
||||
landing_page: /docs/tasks/access-application-cluster/web-ui-dashboard/
|
||||
section:
|
||||
- docs/tasks/access-application-cluster/web-ui-dashboard.md
|
||||
- docs/tasks/access-application-cluster/access-cluster.md
|
||||
@@ -87,9 +79,7 @@ toc:
|
||||
path: https://github.com/kubernetes/kubernetes/tree/release-1.5/examples/cluster-dns
|
||||
|
||||
- title: Monitor, Log, and Debug
|
||||
landing_page: /docs/tasks/debug-application-cluster/resource-usage-monitoring/
|
||||
section:
|
||||
- docs/tasks/debug-application-cluster/core-metrics-pipeline.md
|
||||
- docs/tasks/debug-application-cluster/resource-usage-monitoring.md
|
||||
- docs/tasks/debug-application-cluster/get-shell-running-container.md
|
||||
- docs/tasks/debug-application-cluster/monitor-node-health.md
|
||||
@@ -105,37 +95,24 @@ toc:
|
||||
- docs/tasks/debug-application-cluster/debug-stateful-set.md
|
||||
- docs/tasks/debug-application-cluster/debug-application-introspection.md
|
||||
- docs/tasks/debug-application-cluster/audit.md
|
||||
- docs/tasks/debug-application-cluster/local-debugging.md
|
||||
- title: Use Explorer to Examine the Runtime Environment
|
||||
path: https://github.com/kubernetes/kubernetes/tree/release-1.5/examples/explorer
|
||||
|
||||
- title: Extend Kubernetes
|
||||
landing_page: /docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/
|
||||
- title: Access and Extend the Kubernetes API
|
||||
section:
|
||||
- docs/tasks/access-kubernetes-api/http-proxy-access-api.md
|
||||
- docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions.md
|
||||
- docs/tasks/access-kubernetes-api/extend-api-third-party-resource.md
|
||||
- docs/tasks/access-kubernetes-api/migrate-third-party-resource.md
|
||||
- docs/tasks/access-kubernetes-api/configure-aggregation-layer.md
|
||||
- docs/tasks/access-kubernetes-api/setup-extension-api-server.md
|
||||
- docs/tasks/service-catalog/install-service-catalog-using-helm.md
|
||||
- docs/tasks/service-catalog/install-service-catalog-using-sc.md
|
||||
|
||||
- title: TLS
|
||||
landing_page: /docs/tasks/tls/managing-tls-in-a-cluster/
|
||||
section:
|
||||
- docs/tasks/tls/managing-tls-in-a-cluster.md
|
||||
- docs/tasks/tls/certificate-rotation.md
|
||||
|
||||
- title: Administer a Cluster
|
||||
landing_page: /docs/tasks/administer-cluster/memory-default-namespace/
|
||||
section:
|
||||
- title: Upgrading or downgrading Kubernetes
|
||||
section:
|
||||
- docs/tasks/administer-cluster/upgrade-downgrade/upgrade-1-6.md
|
||||
- docs/tasks/administer-cluster/upgrade-downgrade/kubeadm-upgrade-1-7.md
|
||||
- docs/tasks/administer-cluster/upgrade-downgrade/kubeadm-upgrade-1-8.md
|
||||
- docs/tasks/administer-cluster/upgrade-downgrade/kubeadm-upgrade-1-9.md
|
||||
- docs/tasks/administer-cluster/upgrade-downgrade/kubeadm-upgrade-ha.md
|
||||
- title: Manage Memory, CPU, and API Resources
|
||||
section:
|
||||
- docs/tasks/administer-cluster/memory-default-namespace.md
|
||||
@@ -146,27 +123,25 @@ toc:
|
||||
- docs/tasks/administer-cluster/quota-memory-cpu-namespace.md
|
||||
- docs/tasks/administer-cluster/quota-pod-namespace.md
|
||||
- docs/tasks/administer-cluster/quota-api-object.md
|
||||
- docs/tasks/administer-cluster/extended-resource-node.md
|
||||
- docs/tasks/administer-cluster/cpu-management-policies.md
|
||||
- docs/tasks/administer-cluster/opaque-integer-resource-node.md
|
||||
- docs/tasks/administer-cluster/access-cluster-api.md
|
||||
- docs/tasks/administer-cluster/access-cluster-services.md
|
||||
- docs/tasks/administer-cluster/securing-a-cluster.md
|
||||
- docs/tasks/administer-cluster/sysctl-cluster.md
|
||||
- docs/tasks/administer-cluster/encrypt-data.md
|
||||
- docs/tasks/administer-cluster/configure-upgrade-etcd.md
|
||||
- docs/tasks/administer-cluster/static-pod.md
|
||||
- docs/tasks/administer-cluster/cluster-management.md
|
||||
- docs/tasks/administer-cluster/upgrade-1-6.md
|
||||
- docs/tasks/administer-cluster/kubeadm-upgrade-1-7.md
|
||||
- docs/tasks/administer-cluster/namespaces.md
|
||||
- docs/tasks/administer-cluster/namespaces-walkthrough.md
|
||||
- docs/tasks/administer-cluster/dns-horizontal-autoscaling.md
|
||||
- docs/tasks/administer-cluster/coredns.md
|
||||
- docs/tasks/administer-cluster/safely-drain-node.md
|
||||
- docs/tasks/administer-cluster/cpu-memory-limit.md
|
||||
- docs/tasks/administer-cluster/out-of-resource.md
|
||||
- docs/tasks/administer-cluster/reserve-compute-resources.md
|
||||
- docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md
|
||||
- docs/tasks/administer-cluster/declare-network-policy.md
|
||||
- docs/tasks/administer-cluster/kms-provider.md
|
||||
- title: Install Network Policy Provider
|
||||
section:
|
||||
- docs/tasks/administer-cluster/calico-network-policy.md
|
||||
@@ -174,24 +149,17 @@ toc:
|
||||
- docs/tasks/administer-cluster/kube-router-network-policy.md
|
||||
- docs/tasks/administer-cluster/romana-network-policy.md
|
||||
- docs/tasks/administer-cluster/weave-network-policy.md
|
||||
- docs/tasks/administer-cluster/reconfigure-kubelet.md
|
||||
- docs/tasks/administer-cluster/kubelet-config-file.md
|
||||
- docs/tasks/administer-cluster/change-pv-reclaim-policy.md
|
||||
- docs/tasks/administer-cluster/configure-pod-disruption-budget.md
|
||||
- docs/tasks/administer-cluster/limit-storage-consumption.md
|
||||
- docs/tasks/administer-cluster/change-default-storage-class.md
|
||||
- docs/tasks/administer-cluster/running-cloud-controller.md
|
||||
- docs/tasks/administer-cluster/developing-cloud-controller-manager.md
|
||||
- docs/tasks/administer-cluster/highly-available-master.md
|
||||
- docs/tasks/administer-cluster/configure-multiple-schedulers.md
|
||||
- docs/tasks/administer-cluster/ip-masq-agent.md
|
||||
- docs/tasks/administer-cluster/dns-custom-nameservers.md
|
||||
- docs/tasks/administer-cluster/dns-debugging-resolution.md
|
||||
- docs/tasks/administer-cluster/pvc-protection.md
|
||||
- docs/tasks/administer-cluster/storage-object-in-use-protection.md
|
||||
|
||||
- title: Federation - Run an App on Multiple Clusters
|
||||
landing_page: /docs/tasks/federation/set-up-cluster-federation-kubefed/
|
||||
section:
|
||||
- docs/tasks/federation/federation-service-discovery.md
|
||||
- docs/tasks/federation/set-up-cluster-federation-kubefed.md
|
||||
@@ -202,27 +170,16 @@ toc:
|
||||
- docs/tasks/administer-federation/daemonset.md
|
||||
- docs/tasks/administer-federation/deployment.md
|
||||
- docs/tasks/administer-federation/events.md
|
||||
- docs/tasks/administer-federation/hpa.md
|
||||
- docs/tasks/administer-federation/ingress.md
|
||||
- docs/tasks/administer-federation/job.md
|
||||
- docs/tasks/administer-federation/namespaces.md
|
||||
- docs/tasks/administer-federation/replicaset.md
|
||||
- docs/tasks/administer-federation/secret.md
|
||||
|
||||
- title: Manage Cluster Daemons
|
||||
landing_page: /docs/tasks/manage-daemon/update-daemon-set/
|
||||
section:
|
||||
- docs/tasks/manage-daemon/update-daemon-set.md
|
||||
- docs/tasks/manage-daemon/rollback-daemon-set.md
|
||||
|
||||
- title: Manage GPUs
|
||||
path: /docs/tasks/manage-gpus/scheduling-gpus/
|
||||
|
||||
- title: Manage HugePages
|
||||
path: /docs/tasks/manage-hugepages/scheduling-hugepages/
|
||||
|
||||
- title: Extend kubectl with plugins
|
||||
path: /docs/tasks/extend-kubectl/kubectl-plugins/
|
||||
|
||||
- title: Troubleshooting
|
||||
path: /docs/tasks/debug-application-cluster/troubleshooting/
|
||||
section:
|
||||
- docs/tasks/manage-gpus/scheduling-gpus.md
|
||||
@@ -6,7 +6,7 @@ toc:
|
||||
- title: Native Tools
|
||||
section:
|
||||
- title: Kubectl
|
||||
path: /docs/reference/kubectl/overview/
|
||||
path: /docs/user-guide/kubectl/
|
||||
- title: Kubeadm
|
||||
path: /docs/getting-started-guides/kubeadm
|
||||
- title: Kubefed
|
||||
@@ -1,10 +1,8 @@
|
||||
bigheader: "Tutorials"
|
||||
abstract: "Detailed walkthroughs of common Kubernetes operations and workflows."
|
||||
landing_page: /docs/tutorials/index/
|
||||
toc:
|
||||
- docs/tutorials/index.md
|
||||
- title: Kubernetes Basics
|
||||
landing_page: /docs/tutorials/kubernetes-basics/index/
|
||||
section:
|
||||
- docs/tutorials/kubernetes-basics/index.html
|
||||
- title: 1. Create a Cluster
|
||||
@@ -32,32 +30,28 @@ toc:
|
||||
- docs/tutorials/kubernetes-basics/update-intro.html
|
||||
- docs/tutorials/kubernetes-basics/update-interactive.html
|
||||
- title: Online Training Courses
|
||||
landing_page: /docs/tutorials/online-training/overview/
|
||||
section:
|
||||
- docs/tutorials/online-training/overview.md
|
||||
- title: Scalable Microservices with Kubernetes (Udacity)
|
||||
path: https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615
|
||||
- title: Introduction to Kubernetes (edX)
|
||||
path: https://www.edx.org/course/introduction-kubernetes-linuxfoundationx-lfs158x#
|
||||
- title: Hello Minikube
|
||||
path: /docs/tutorials/stateless-application/hello-minikube/
|
||||
- title: Kubernetes 101
|
||||
path: /docs/user-guide/walkthrough/
|
||||
- title: Kubernetes 201
|
||||
path: /docs/user-guide/walkthrough/k8s201/
|
||||
- docs/tutorials/stateless-application/hello-minikube.md
|
||||
- title: Configuration
|
||||
landing_page: /docs/tutorials/configuration/configure-redis-using-configmap/
|
||||
section:
|
||||
- docs/tutorials/configuration/configure-redis-using-configmap.md
|
||||
- title: Object Management Using kubectl
|
||||
section:
|
||||
- docs/tutorials/object-management-kubectl/object-management.md
|
||||
- docs/tutorials/object-management-kubectl/imperative-object-management-command.md
|
||||
- docs/tutorials/object-management-kubectl/imperative-object-management-configuration.md
|
||||
- docs/tutorials/object-management-kubectl/declarative-object-management-configuration.md
|
||||
- title: Stateless Applications
|
||||
landing_page: /docs/tutorials/stateless-application/guestbook/
|
||||
section:
|
||||
- docs/tasks/run-application/run-stateless-application-deployment.md
|
||||
- docs/tutorials/stateless-application/guestbook.md
|
||||
- docs/tasks/access-application-cluster/service-access-application-cluster.md
|
||||
- docs/tutorials/stateless-application/expose-external-ip-address.md
|
||||
- title: Stateful Applications
|
||||
landing_page: /docs/tutorials/stateful-application/basic-stateful-set/
|
||||
section:
|
||||
- docs/tutorials/stateful-application/basic-stateful-set.md
|
||||
- docs/tasks/run-application/run-single-instance-stateful-application.md
|
||||
@@ -66,10 +60,8 @@ toc:
|
||||
- docs/tutorials/stateful-application/cassandra.md
|
||||
- docs/tutorials/stateful-application/zookeeper.md
|
||||
- title: Clusters
|
||||
landing_page: /docs/tutorials/clusters/apparmor/
|
||||
section:
|
||||
- docs/tutorials/clusters/apparmor.md
|
||||
- title: Services
|
||||
landing_page: /docs/tutorials/services/source-ip/
|
||||
section:
|
||||
- docs/tutorials/services/source-ip.md
|
||||
@@ -0,0 +1,2 @@
|
||||
The topics in the `/docs/api-reference/` section of the Kubernetes docs
|
||||
are being moved to the [Reference](/docs/reference/) section. The content in this topic has moved to:
|
||||
@@ -0,0 +1,26 @@
|
||||
{% capture samplecode %}{% include_relative {{include.file}} %}{% endcapture %}
|
||||
{% if include.k8slink %}{% capture ghlink %}https://raw.githubusercontent.com/kubernetes/kubernetes/blob/{{page.githubbranch}}{{include.k8slink}}{% endcapture %}{% endif %}
|
||||
{% if include.ghlink %}{% capture ghlink %}https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/{{page.docsbranch}}{{include.ghlink}}{% endcapture %}{% endif %}
|
||||
{% capture mysample %}
|
||||
```{{include.language}}
|
||||
{{ samplecode | raw | strip }}
|
||||
```
|
||||
{: id="{{include.file | handleize}}"}
|
||||
{% endcapture %}
|
||||
<table class="includecode">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
{% if ghlink %}<a href="{{ghlink}}" download="{{include.file}}">{% endif %}
|
||||
<code>{{include.file}}</code>
|
||||
{% if ghlink %}</a>{% endif %}
|
||||
<img src="/images/copycode.svg" style="max-height:24px" onclick="copyCode('{{include.file | handleize}}')" title="Copy {{include.file}} to clipboard">
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{ mysample | markdownify }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -0,0 +1,6 @@
|
||||
You need to either have a dynamic PersistentVolume provisioner with a default
|
||||
[StorageClass](/docs/user-guide/persistent-volumes/#storageclasses),
|
||||
or [statically provision PersistentVolumes](/docs/user-guide/persistent-volumes/#provisioning)
|
||||
yourself to satisfy the [PersistentVolumeClaims](/docs/user-guide/persistent-volumes/#persistentvolumeclaims)
|
||||
used here.
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{% if page.deprecated %}
|
||||
<section id="deprecationWarning">
|
||||
<main>
|
||||
<div class="content deprecation-warning">
|
||||
<h3>
|
||||
Documentation for Kubernetes {{ page.version}} is no longer actively maintained. The version you are currently viewing is a static snapshot.
|
||||
For up-to-date documentation, see the <a href="{{ page.currentUrl }}">latest</a> version.
|
||||
</h3>
|
||||
</div>
|
||||
</main>
|
||||
</section>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,28 @@
|
||||
<a href="#" id="feature-state-dialog-link" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-newwin"></span>{{ dialog_title }}</a>
|
||||
<div id="feature-state-dialog" class="ui-dialog-content" title="{{ dialog_title }}">
|
||||
{{ dialog_content | markdownify }}
|
||||
</div>
|
||||
{% raw %}<script>
|
||||
$(function(){
|
||||
|
||||
$( "#feature-state-dialog" ).dialog({
|
||||
autoOpen: false,
|
||||
width: {% endraw %}{{ dialog_width | default: "600" }}{% raw %},
|
||||
buttons: [
|
||||
{
|
||||
text: "Ok",
|
||||
click: function() {
|
||||
$( this ).dialog( "close" );
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
// Link to open the dialog
|
||||
$( "#feature-state-dialog-link" ).click(function( event ) {
|
||||
$( "#feature-state-dialog" ).dialog( "open" );
|
||||
event.preventDefault();
|
||||
});
|
||||
|
||||
});
|
||||
</script>{% endraw %}
|
||||
@@ -0,0 +1,13 @@
|
||||
{% assign dialog_title = "alpha" %}
|
||||
{% capture dialog_content %}
|
||||
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.
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
**FEATURE STATE:** `Kubernetes {{ for_k8s_version | default: page.version }}` {% include feature-dialog.md %}
|
||||
@@ -0,0 +1,14 @@
|
||||
{% assign dialog_title = "beta" %}
|
||||
{% capture dialog_content %}
|
||||
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.**
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
**FEATURE STATE:** `Kubernetes {{ for_k8s_version | default: page.version }}` {% include feature-dialog.md %}
|
||||
@@ -0,0 +1,6 @@
|
||||
{% assign dialog_title = "deprecated" %}
|
||||
{% capture dialog_content %}
|
||||
This feature is *deprecated*. For more information on this state, see the [Kubernetes Deprecation Policy](/docs/reference/deprecation-policy/).
|
||||
{% endcapture %}
|
||||
|
||||
**DEPRECATION NOTICE:** As of `Kubernetes {{ for_k8s_version | default: page.version }}`, this has been {% include feature-dialog.md %}
|
||||
@@ -0,0 +1,10 @@
|
||||
{% assign dialog_title = "stable" %}
|
||||
{% capture dialog_content %}
|
||||
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.
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
**FEATURE STATE:** `Kubernetes {{ for_k8s_version | default: page.version }}` {% include feature-dialog.md %}
|
||||
@@ -1,5 +1,17 @@
|
||||
<button class="flyout-button" onclick="kub.toggleToc()"></button>
|
||||
|
||||
<style>
|
||||
.cse .gsc-control-cse, .gsc-control-cse, {
|
||||
padding: 0;
|
||||
}
|
||||
.gsc-control-cse table, .gsc-control-cse-en table {
|
||||
margin:0px !important;
|
||||
}
|
||||
.gsc-above-wrapper-area {
|
||||
border-bottom: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
@@ -20,7 +32,6 @@ ga('send', 'pageview');
|
||||
|
||||
function hideNav(toc){
|
||||
if (!toc) toc = document.querySelector('#docsToc')
|
||||
if (!toc) return
|
||||
var container = toc.querySelector('.container')
|
||||
|
||||
// container is built dynamically, so it may not be present on the first runloop
|
||||
@@ -0,0 +1,34 @@
|
||||
<footer>
|
||||
<main class="light-text">
|
||||
<nav>
|
||||
<a href="/docs/tutorials/stateless-application/hello-minikube/">Get Started</a>
|
||||
<a href="/docs/home/">Documentation</a>
|
||||
<a href="http://blog.kubernetes.io/">Blog</a>
|
||||
<a href="/partners/">Partners</a>
|
||||
<a href="/community/">Community</a>
|
||||
<a href="/case-studies/">Case Studies</a>
|
||||
</nav>
|
||||
<div class="social">
|
||||
<div>
|
||||
<a href="https://twitter.com/kubernetesio" class="twitter"><span>twitter</span></a>
|
||||
<a href="https://github.com/kubernetes/kubernetes" class="github"><span>Github</span></a>
|
||||
<a href="http://slack.k8s.io/" class="slack"><span>Slack</span></a>
|
||||
</div>
|
||||
<div>
|
||||
<a href="http://stackoverflow.com/questions/tagged/kubernetes" class="stack-overflow"><span>Stack Overflow</span></a>
|
||||
<a href="https://groups.google.com/forum/#!forum/kubernetes-users" class="mailing-list"><span>Mailing List</span></a>
|
||||
<a href="https://calendar.google.com/calendar/embed?src=nt2tcnbtbied3l6gi2h29slvc0%40group.calendar.google.com" class="calendar"><span>Events Calendar</span></a>
|
||||
</div>
|
||||
<div>
|
||||
<a href="/docs/setup/pick-right-solution/" class="button">Get Kubernetes</a>
|
||||
<a href="https://github.com/kubernetes/kubernetes" class="button">Contribute</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="miceType" class="center">
|
||||
© {{ 'now' | date: "%Y" }} The Kubernetes Authors | Documentation Distributed under <a href="https://git.k8s.io/kubernetes.github.io/LICENSE" class="light-text">CC BY 4.0</a>
|
||||
</div>
|
||||
<div id="miceType" class="center">
|
||||
Copyright © {{ 'now' | date: "%Y" }} The Linux Foundation®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page: <a href="https://www.linuxfoundation.org/trademark-usage" class="light-text">https://www.linuxfoundation.org/trademark-usage</a>
|
||||
</div>
|
||||
</main>
|
||||
</footer>
|
||||
@@ -0,0 +1,27 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" type="image/png" href="/images/favicon.png">
|
||||
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900,900italic">
|
||||
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto+Mono">
|
||||
{% if page.case_study_styles %}<link rel="stylesheet" type="text/css" href="/css/case_study_styles.css"><!-- custom case_study_styles on -->{% else %}<link rel="stylesheet" type="text/css" href="/css/styles.css"><!-- default styles.css on -->{% endif %}
|
||||
<link rel="stylesheet" type="text/css" href="/css/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/css/sweetalert.css">
|
||||
<link rel="stylesheet" type="text/css" href="/css/callouts.css">
|
||||
{% if page.deprecated %}<link rel="stylesheet" type="text/css" href="/css/deprecation-warning.css">{% endif %}
|
||||
{% if page.class == "gridPage" %}<link rel="stylesheet" type="text/css" href="/css/gridpage.css">{% endif %}
|
||||
{% if page.css %}<link rel="stylesheet" type="text/css" href="{{ page.css }}"><!-- custom css added -->{% else %}<!-- no custom css detected -->{% endif %}
|
||||
|
||||
{% if page.description %}
|
||||
<meta name="description" content="{{ page.description }}" />
|
||||
{% else %}
|
||||
<meta name="description" content="{{ page.title }}" />
|
||||
{% endif %}
|
||||
|
||||
<script src="/js/jquery-2.2.0.min.js"></script>
|
||||
<script src="/js/jquery-ui.min.js"></script>
|
||||
<script src="/js/script.js"></script>
|
||||
<script src="/js/sweetalert.min.js"></script>
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
{% seo %}
|
||||
</head>
|
||||
@@ -5,31 +5,21 @@
|
||||
|
||||
<div class="nav-buttons" data-auto-burger="primary">
|
||||
<ul class="global-nav">
|
||||
{{ $sections := slice "docs/home" "blog" "partners" "community" "case-studies" }}
|
||||
{{ range $sections }}
|
||||
{{ with $.Site.GetPage "section" . }}<li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>{{ end }}
|
||||
{{ end }}
|
||||
{{ $home := .Site.Home }}
|
||||
<li>
|
||||
<a href="#">
|
||||
{{ $home.Language.LanguageName }} <span class="ui-icon ui-icon-carat-1-s"></span>
|
||||
</a>
|
||||
<ul>
|
||||
{{ range $home.Translations }}
|
||||
<li><a href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><a href="/docs/home/">Documentation</a></li>
|
||||
<li><a href="http://blog.kubernetes.io/">Blog</a></li>
|
||||
<li><a href="/partners/">Partners</a></li>
|
||||
<li><a href="/community/">Community</a></li>
|
||||
<li><a href="/case-studies/">Case Studies</a></li>
|
||||
<li>
|
||||
<a href="#">
|
||||
{{ .Site.Params.version }} <span class="ui-icon ui-icon-carat-1-s"></span>
|
||||
{{page.version}} <span class="ui-icon ui-icon-carat-1-s"></span>
|
||||
</a>
|
||||
<ul>
|
||||
{{ range .Site.Params.versions }}
|
||||
<li><a href="{{ .url }}">{{ .version }}</a></li>
|
||||
{{ end }}
|
||||
{% for version in page.versions %}
|
||||
<li><a href="{{ version.url }}">{{ version.version }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- <a href="/docs/home" class="button" id="viewDocs" data-auto-burger-exclude>View Documentation</a> -->
|
||||
@@ -52,7 +42,7 @@
|
||||
<p>If you need help, you can connect with other Kubernetes users and the Kubernetes authors, attend community events, and watch video presentations from around the web.</p>
|
||||
</div>
|
||||
<div class="nav-box">
|
||||
<h3><a href="/blog/">Blog</a></h3>
|
||||
<h3><a href="http://blog.kubernetes.io">Blog</a></h3>
|
||||
<p>Read the latest news for Kubernetes and the containers space in general, and get technical how-tos hot off the presses.</p>
|
||||
</div>
|
||||
</main>
|
||||
@@ -0,0 +1,651 @@
|
||||
;(function () {
|
||||
var partners = [
|
||||
{
|
||||
type: 2,
|
||||
name: 'CoreOS',
|
||||
logo: 'core_os',
|
||||
link: 'https://tectonic.com/',
|
||||
blurb: 'Tectonic is the enterprise-ready Kubernetes product, by CoreOS. It adds key features to allow you to manage, update, and control clusters in production.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'StackPointCloud',
|
||||
logo: 'stackpoint',
|
||||
link: 'https://stackpoint.io',
|
||||
blurb: 'StackPointCloud builds Stackpoint.io, the universal control plane for Kubernetes Anywhere -- compose and build your own infrastructure as easily as a DigitalOcean droplet at any public cloud provider.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Sysdig Cloud',
|
||||
logo: 'sys_dig',
|
||||
link: 'https://sysdig.com/blog/monitoring-kubernetes-with-sysdig-cloud/',
|
||||
blurb: 'Container native monitoring with deep support for Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Puppet',
|
||||
logo: 'puppet',
|
||||
link: 'https://puppet.com/blog/managing-kubernetes-configuration-puppet',
|
||||
blurb: 'The Puppet module for Kubernetes makes it easy to manage Pods, Replication Controllers, Services and more in Kubernetes, and to build domain-specific interfaces to one\'s Kubernetes configuration.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Citrix',
|
||||
logo: 'citrix',
|
||||
link: 'https://www.citrix.com/networking/microservices.html',
|
||||
blurb: 'Netscaler CPX gives app developers all the features they need to load balance their microservices and containerized apps with Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Cockroach Labs',
|
||||
logo: 'cockroach_labs',
|
||||
link: 'https://www.cockroachlabs.com/blog/running-cockroachdb-on-kubernetes/',
|
||||
blurb: 'CockroachDB is a distributed SQL database whose built-in replication and survivability model pair with Kubernetes to truly make data easy.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Weave Works',
|
||||
logo: 'weave_works',
|
||||
link: ' https://weave.works/kubernetes',
|
||||
blurb: 'Weaveworks enables Developers and Dev/Ops teams to easily connect, deploy, secure, manage, and troubleshoot microservices in Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Wercker',
|
||||
logo: 'wercker',
|
||||
link: 'http://www.wercker.com/integrations/kubernetes',
|
||||
blurb: 'Wercker automates your build, test and deploy pipelines for launching containers and triggering rolling updates on your Kubernetes cluster. '
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Rancher Labs',
|
||||
logo: 'rancher-labs',
|
||||
link: 'http://rancher.com/kubernetes/',
|
||||
blurb: 'Rancher is an open-source, production-ready container management platform that makes it easy to deploy and manage Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Red Hat',
|
||||
logo: 'redhat',
|
||||
link: 'https://www.openshift.com/',
|
||||
blurb: 'Leverage an enterprise Kubernetes platform to orchestrate complex, multi-container apps.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Intel',
|
||||
logo: 'intel',
|
||||
link: 'https://tectonic.com/press/intel-coreos-collaborate-on-openstack-with-kubernetes.html',
|
||||
blurb: 'Powering the GIFEE (Google’s Infrastructure for Everyone Else), to run OpenStack deployments on Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'ElasticKube',
|
||||
logo: 'elastickube',
|
||||
link: 'https://www.ctl.io/elastickube-kubernetes/',
|
||||
blurb: 'Self-service container management for Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Platform9',
|
||||
logo: 'platform9',
|
||||
link: 'https://platform9.com/products/kubernetes/',
|
||||
blurb: 'Platform9 is the open source-as-a-service company that takes all of the goodness of Kubernetes and delivers it as a managed service.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Datadog',
|
||||
logo: 'datadog',
|
||||
link: 'http://docs.datadoghq.com/integrations/kubernetes/',
|
||||
blurb: 'Full-stack observability for dynamic infrastructure & applications. Includes precision alerting, analytics and deep Kubernetes integrations. '
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'AppFormix',
|
||||
logo: 'appformix',
|
||||
link: 'http://www.appformix.com/solutions/appformix-for-kubernetes/',
|
||||
blurb: 'AppFormix is a cloud infrastructure performance optimization service helping enterprise operators streamline their cloud operations on any Kubernetes cloud. '
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Crunchy',
|
||||
logo: 'crunchy',
|
||||
link: 'http://info.crunchydata.com/blog/advanced-crunchy-containers-for-postgresql',
|
||||
blurb: 'Crunchy PostgreSQL Container Suite is a set of containers for managing PostgreSQL with DBA microservices leveraging Kubernetes and Helm.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Aqua',
|
||||
logo: 'aqua',
|
||||
link: 'http://blog.aquasec.com/security-best-practices-for-kubernetes-deployment',
|
||||
blurb: 'Deep, automated security for your containers running on Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Canonical',
|
||||
logo: 'canonical',
|
||||
link: 'https://jujucharms.com/canonical-kubernetes/',
|
||||
blurb: 'The Canonical Distribution of Kubernetes enables you to operate Kubernetes clusters on demand on any major public cloud and private infrastructure.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Distelli',
|
||||
logo: 'distelli',
|
||||
link: 'https://www.distelli.com/',
|
||||
blurb: 'Pipelines from your source repositories to your Kubernetes Clusters on any cloud.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Nuage networks',
|
||||
logo: 'nuagenetworks',
|
||||
link: 'https://github.com/nuagenetworks/nuage-kubernetes',
|
||||
blurb: 'The Nuage SDN platform provides policy-based networking between Kubernetes Pods and non-Kubernetes environments with visibility and security monitoring.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Sematext',
|
||||
logo: 'sematext',
|
||||
link: 'https://sematext.com/kubernetes/',
|
||||
blurb: 'Logging & Monitoring: Automatic collection and processing of Metrics, Events and Logs for auto-discovered pods and Kubernetes nodes.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Diamanti',
|
||||
logo: 'diamanti',
|
||||
link: 'https://www.diamanti.com/products/',
|
||||
blurb: 'Diamanti deploys containers with guaranteed performance using Kubernetes in the first hyperconverged appliance purpose built for containerized applications.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Apprenda',
|
||||
logo: 'apprenda',
|
||||
link: 'https://apprenda.com/kubernetes-support/',
|
||||
blurb: 'Apprenda creates and supports modern, enterprise-ready application platforms for both cloud native and traditional application workloads.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Aporeto',
|
||||
logo: 'aporeto',
|
||||
link: 'https://aporeto.com/trireme',
|
||||
blurb: 'Aporeto makes cloud-native applications secure by default without impacting developer velocity and works at any scale, on any cloud.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Giant Swarm',
|
||||
logo: 'giant_swarm',
|
||||
link: 'https://giantswarm.io',
|
||||
blurb: 'Giant Swarm provides fully-managed Kubernetes Clusters in your location of choice, so you can focus on your product.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Mirantis',
|
||||
logo: 'mirantis',
|
||||
link: 'https://content.mirantis.com/Containerizing-OpenStack-on-Kubernetes-Video-Landing-Page.html',
|
||||
blurb: 'Mirantis builds and manages private clouds with open source software such as OpenStack, deployed as containers orchestrated by Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Kubernetic',
|
||||
logo: 'kubernetic',
|
||||
link: 'https://kubernetic.com/',
|
||||
blurb: 'Kubernetic is a Kubernetes Desktop client that simplifies and democratizes cluster management for DevOps.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Apprenda',
|
||||
logo: 'apprenda',
|
||||
link: 'https://apprenda.com/kubernetes-support/',
|
||||
blurb: 'Apprenda offers flexible and wide range of support plans for pure play Kubernetes on your choice of infrastructure, cloud provider and operating system.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Reactive Ops',
|
||||
logo: 'reactive_ops',
|
||||
link: 'https://www.reactiveops.com/kubernetes/',
|
||||
blurb: 'ReactiveOps has written automation on best practices for infrastructure as code on GCP & AWS using Kubernetes, helping you build and maintain a world-class infrastructure at a fraction of the price of an internal hire.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Livewyer',
|
||||
logo: 'livewyer',
|
||||
link: 'https://livewyer.io/services/kubernetes-experts/',
|
||||
blurb: 'Kubernetes experts that on-board applications and empower IT teams to get the most out of containerised technology.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Samsung SDS',
|
||||
logo: 'samsung_sds',
|
||||
link: 'http://www.samsungsdsa.com/cloud-infrastructure_kubernetes',
|
||||
blurb: 'Samsung SDS’s Cloud Native Computing Team offers expert consulting across the range of technical aspects involved in building services targeted at a Kubernetes cluster.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Container Solutions',
|
||||
logo: 'container_solutions',
|
||||
link: 'http://container-solutions.com/resources/kubernetes/',
|
||||
blurb: 'Container Solutions is a premium software consultancy that focuses on programmable infrastructure, offering our expertise in software development, strategy and operations to help you innovate at speed and scale.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Jetstack',
|
||||
logo: 'jetstack',
|
||||
link: 'https://www.jetstack.io/',
|
||||
blurb: 'Jetstack is an organisation focused entirely on Kubernetes. They will help you to get the most out of Kubernetes through expert professional services and open source tooling. Get in touch, and accelerate your project.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Tigera',
|
||||
logo: 'tigera',
|
||||
link: 'http://docs.projectcalico.org/latest/getting-started/kubernetes/',
|
||||
blurb: 'Tigera builds high performance, policy driven, cloud native networking solutions for Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Skippbox',
|
||||
logo: 'skippbox',
|
||||
link: 'http://www.skippbox.com/services/',
|
||||
blurb: 'Skippbox brings its Kubernetes expertise to help companies embrace Kubernetes on their way to digital transformation. Skippbox offers both professional services and expert training.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Harbur',
|
||||
logo: 'harbur',
|
||||
link: 'https://harbur.io/',
|
||||
blurb: 'Based in Barcelona, Harbur is a consulting firm that helps companies deploy self-healing solutions empowered by Container technologies'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Spotinst',
|
||||
logo: 'spotinst',
|
||||
link: 'http://blog.spotinst.com/2016/08/04/elastigroup-kubernetes-minions-steroids/',
|
||||
blurb: 'Spotinst uses a prediction algorithm in the Amazon EC2 Spot allowing k8s clusters to increase performance and lower the infrastructure costs'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'InwinSTACK',
|
||||
logo: 'inwinstack',
|
||||
link: 'http://www.inwinstack.com/index.php/en/solutions-en/',
|
||||
blurb: 'Our container service leverages OpenStack-based infrastructure and its container orchestration engine Magnum to manage Kubernetes clusters.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Semantix',
|
||||
logo: 'semantix',
|
||||
link: 'http://www.semantix.com.br/',
|
||||
blurb: 'Semantix is a company that works with data analytics and distributed systems. Kubernetes is used to orchestrate services for our customers.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'ASM Technologies Limited',
|
||||
logo: 'asm',
|
||||
link: 'http://www.asmtech.com/',
|
||||
blurb: 'Our technology supply chain portfolio enables your software products to be accessible, viable and available more effectively.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'InfraCloud Technologies',
|
||||
logo: 'infracloud',
|
||||
link: 'http://blog.infracloud.io/state-of-kubernetes/',
|
||||
blurb: 'InfraCloud Technologies is software consultancy which provides services in Containers, Cloud and DevOps.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'SignalFx',
|
||||
logo: 'signalfx',
|
||||
link: 'https://github.com/signalfx/integrations/tree/master/kubernetes',
|
||||
blurb: 'Gain real-time visibility across metrics & the most intelligent alerts for todays architectures, including deep integration with Kubernetes'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'NATS',
|
||||
logo: 'nats',
|
||||
link: 'https://github.com/pires/kubernetes-nats-cluster',
|
||||
blurb: 'NATS is a simple, secure, and scalable cloud native messaging system.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'RX-M',
|
||||
logo: 'rxm',
|
||||
link: 'http://rx-m.com/training/kubernetes-training/',
|
||||
blurb: 'Market neutral Kubernetes Dev, DevOps and Production training and consulting services'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Emerging Technology Advisors',
|
||||
logo: 'eta',
|
||||
link: 'https://www.emergingtechnologyadvisors.com/services/kubernetes.html',
|
||||
blurb: 'ETA helps companies architect, implement, and manage scalable applications using Kubernetes on on public or private cloud.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'CloudPlex.io',
|
||||
logo: 'cloudplex',
|
||||
link: 'http://www.cloudplex.io',
|
||||
blurb: 'CloudPlex enables operations teams to visually deploy, orchestrate, manage, and monitor infrastructure, applications, and services in public or private cloud.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Kumina',
|
||||
logo: 'kumina',
|
||||
link: 'https://www.kumina.nl/managed_kubernetes',
|
||||
blurb: 'Kumina creates Kubernetes solutions on your choice of infrastructure with around-the-clock management and unlimited support.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'CA Technologies',
|
||||
logo: 'ca',
|
||||
link: 'https://www.ca.com/us/products/application-deployment.html',
|
||||
blurb: 'The RA CDE Kubernetes plugin enables an automated process for pushing changes to production by applying standard Kubernetes YAML files'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'CoScale',
|
||||
logo: 'coscale',
|
||||
link: 'http://www.coscale.com/blog/how-to-monitor-your-kubernetes-cluster',
|
||||
blurb: 'Full stack monitoring of containers and microservices orchestrated by Kubernetes. Powered by anomaly detection to find problems faster.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Supergiant.io',
|
||||
logo: 'supergiant',
|
||||
link: 'https://supergiant.io/blog/supergiant-packing-algorithm-unique-save-money',
|
||||
blurb: 'Supergiant autoscales hardware for Kubernetes. Open-source, it makes HA, distributed, stateful apps easy to deploy, manage, and scale.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Avi Networks',
|
||||
logo: 'avinetworks',
|
||||
link: 'https://kb.avinetworks.com/avi-vantage-openshift-installation-guide/',
|
||||
blurb: 'Avis elastic application services fabric provides scalable, feature rich & integrated L4-7 networking for K8S environments.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'codecrux web technologies pvt ltd',
|
||||
logo: 'codecrux',
|
||||
link: 'http://codecrux.com/kubernetes/',
|
||||
blurb: 'At CodeCrux we help your organization get the most out of Containers and Kubernetes, regardless of where you are in your journey'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Greenqloud',
|
||||
logo: 'qstack',
|
||||
link: 'https://www.qstack.com/application-orchestration/',
|
||||
blurb: 'Qstack provides self-serviceable on-site Kubernetes clusters with an intuitive User Interface for Infrastructure and Kubernetes management.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'StackOVerdrive.io',
|
||||
logo: 'stackoverdrive',
|
||||
link: 'http://www.stackoverdrive.net/kubernetes-consulting/',
|
||||
blurb: 'We are a devops consulting firm and we do alot of work with containers and Kunbernetes is one of our go to tools.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'StackIQ, Inc.',
|
||||
logo: 'stackiq',
|
||||
link: 'https://www.stackiq.com/kubernetes/',
|
||||
blurb: 'With Stacki and the Stacki Pallet for Kubernetes, you can go from bare metal to containers in one step very quickly and easily.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Cobe',
|
||||
logo: 'cobe',
|
||||
link: 'https://cobe.io/product-page/',
|
||||
blurb: 'Manage Kubernetes clusters with a live, searchable model that captures all relationships and performance data in full visualised context.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Datawire',
|
||||
logo: 'datawire',
|
||||
link: 'http://www.datawire.io',
|
||||
blurb: 'Datawires open source tools let your microservices developers be awesomely productive on Kubernetes, while letting ops sleep at night.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Mashape, Inc.',
|
||||
logo: 'mashape',
|
||||
link: 'https://getkong.org/install/kubernetes/',
|
||||
blurb: 'Kong is a scalable open source API layer that runs in front of any RESTful API and can be provisioned to a Kubernetes cluster.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'F5 Networks',
|
||||
logo: 'f5networks',
|
||||
link: 'http://github.com/f5networks',
|
||||
blurb: 'We have a LB integration into Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Lovable Tech',
|
||||
logo: 'lovable',
|
||||
link: 'http://lovable.tech/',
|
||||
blurb: 'World class engineers, designers, and strategic consultants helping you ship Lovable web & mobile technology.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'StackState',
|
||||
logo: 'stackstate',
|
||||
link: 'http://stackstate.com/platform/container-monitoring',
|
||||
blurb: 'Operational Analytics across teams and tools. Includes topology visualization, root cause analysis and anomaly detection for Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'INEXCCO INC',
|
||||
logo: 'inexcco',
|
||||
link: 'https://www.inexcco.com/',
|
||||
blurb: 'Strong DevOps and Cloud talent working with couple clients on kubernetes and helm implementations. '
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Bitnami',
|
||||
logo: 'bitnami',
|
||||
link: 'http://bitnami.com/kubernetes',
|
||||
blurb: 'Bitnami brings a catalog of trusted, up to date, and easy to use applications and application building blocks to Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Nebulaworks',
|
||||
logo: 'nebulaworks',
|
||||
link: 'http://www.nebulaworks.com/container-platforms',
|
||||
blurb: 'Nebulaworks provides services to help the enterprise adopt modern container platforms and optimized processes to enable innovation at scale.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'EASYNUBE LTD',
|
||||
logo: 'easynube',
|
||||
link: 'https://www.carrefour.es/supermercado/?ic_source=portal-home&ic_medium=menu-links&ic_content=section-home',
|
||||
blurb: 'Provide consultancy, architecture and implementation'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Opcito Technologies',
|
||||
logo: 'opcito',
|
||||
link: 'http://www.opcito.com/kubernetes/',
|
||||
blurb: 'Opcito is a software consultancy that uses Kubernetes to help organisations build, architect & deploy highly scalable applications.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Huawei Technologies Co., Ltd.',
|
||||
logo: 'huawei',
|
||||
link: 'http://developer.huawei.com/ict/en/site-paas',
|
||||
blurb: 'FusionStage is an enterprise-grade PaaS, the core of which is based on open source container technology including Kubernetes and Docker.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: '{code} by Dell EMC',
|
||||
logo: 'codedellemc',
|
||||
link: 'https://blog.codedellemc.com',
|
||||
blurb: 'Respected as a thought leader in storage persistence for containerized applications. Contributed significant work to K8 and Ecosystem'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'SUSE Llc.',
|
||||
logo: 'suse',
|
||||
link: 'https://www.suse.com/products/caas-platform/',
|
||||
blurb: 'SUSE delivers Kubernetes as part of SUSE CaaS Platform and SUSE OpenStack Cloud, for enterprises that want truly open, open source solutions for cloud-native applications.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Instana',
|
||||
logo: 'instana',
|
||||
link: 'https://www.instana.com/supported-technologies/',
|
||||
blurb: 'Instana monitors the infrastructure, containers and services deployed on a Kubernetes cluster.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Netsil',
|
||||
logo: 'netsil',
|
||||
link: 'https://netsil.com/kubernetes/',
|
||||
blurb: 'Generate a real-time, auto-discovered application topology map! Monitor Kubernetes pods and namespaces without any code instrumentation.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Treasure Data',
|
||||
logo: 'treasure-data',
|
||||
link: 'https://fluentd.treasuredata.com/kubernetes-logging/',
|
||||
blurb: 'Fluentd Enterprise brings smart, secure logging to Kubernetes, and brings integrations with backends such as Splunk, Kafka, or AWS S3.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'IBM',
|
||||
logo: 'IBM',
|
||||
link: 'https://www.ibm.com/cloud-computing/bluemix/containers',
|
||||
blurb: 'IBM Container Service is a managed k8s environment with built-in cluster security and isolation while leveraging services including Watson, IoT, Weather, etc.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Kenzan',
|
||||
logo: 'Kenzan',
|
||||
link: 'http://kenzan.com/?ref=kubernetes',
|
||||
blurb: 'Kenzan is a software engineering and full-service consulting firm that provides customized, end-to-end solutions that drive change through digital transformation.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Kublr',
|
||||
logo: 'kublr',
|
||||
link: 'http://kublr.com',
|
||||
blurb: 'Simplify your Kubernetes experience with a fully production-ready, enterprise-grade cluster management platform.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Endocode AG',
|
||||
logo: 'endocode',
|
||||
link: 'https://endocode.com/kubernetes/',
|
||||
blurb: 'Endocode practices and teaches the open source way. Kernel to cluster - Dev to Ops. We offer Kubernetes trainings, services and support.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Accenture',
|
||||
logo: 'accenture',
|
||||
link: 'https://www.accenture.com/us-en/service-application-containers',
|
||||
blurb: 'Architecture, implementation and operation of world-class Kubernetes solutions for cloud-native clients.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'Biarca',
|
||||
logo: 'biarca',
|
||||
link: 'http://biarca.io/',
|
||||
blurb: 'Biarca is a cloud services provider and key focus areas Key areas of focus for Biarca include Cloud Adoption Services, Infrastructure Services, DevOps Services and Application Services. Biarca leverages Kubernetes to deliver containerized solutions.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Claranet',
|
||||
logo: 'claranet',
|
||||
link: 'http://www.claranet.co.uk/hosting/google-cloud-platform-consulting-managed-services',
|
||||
blurb: 'Claranet helps people migrate to the cloud and take full advantage of the new world it offers. We consult, design, build and proactively manage the right infrastructure and automation tooling for clients to achieve this.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'CloudKite',
|
||||
logo: 'cloudkite',
|
||||
link: 'https://cloudkite.io/',
|
||||
blurb: 'CloudKite.io helps companies build and maintain highly automated, resilient, and impressively performing software on Kubernetes.'
|
||||
},
|
||||
{
|
||||
type: 1,
|
||||
name: 'CloudOps',
|
||||
logo: 'CloudOps',
|
||||
link: 'https://www.cloudops.com/services/docker-and-kubernetes-workshops/',
|
||||
blurb: 'CloudOps gets you hands-on with the K8s ecosystem via workshop/lab. Get prod ready K8s in cloud(s) of your choice with our managed services.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Ghostcloud',
|
||||
logo: 'ghostcloud',
|
||||
link: 'https://www.ghostcloud.cn/ecos-kubernetes',
|
||||
blurb: 'EcOS is an enterprise-grade PaaS / CaaS based on Docker and Kubernetes, which makes it easier to configure, deploy and manage containerized applications.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Contino',
|
||||
logo: 'contino',
|
||||
link: 'https://www.contino.io/',
|
||||
blurb: 'We help enterprise organizations adopt DevOps, containers and cloud computing. Contino is a global consultancy that enables regulated organizations to accelerate innovation through the adoption of modern approaches to software delivery.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Heptio',
|
||||
logo: 'heptio',
|
||||
link: 'http://heptio.com',
|
||||
blurb: 'Heptio helps businesses of all sizes get closer to the vibrant Kubernetes community.'
|
||||
},
|
||||
{
|
||||
type: 2,
|
||||
name: 'Booz Allen Hamilton',
|
||||
logo: 'boozallenhamilton',
|
||||
link: 'https://www.boozallen.com/',
|
||||
blurb: 'Booz Allen partners with public and private sector clients to solve their most difficult challenges through a combination of consulting, analytics, mission operations, technology, systems delivery, cybersecurity, engineering, and innovation expertise.'
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
name: 'Applatix',
|
||||
logo: 'applatix',
|
||||
link: 'https://applatix.com/applatix-product/',
|
||||
blurb: 'Applatix helps build and run containerized apps on public cloud using Docker and Kubernetes.'
|
||||
}
|
||||
]
|
||||
|
||||
var kcspContainer = document.getElementById('kcspContainer')
|
||||
var isvContainer = document.getElementById('isvContainer')
|
||||
var servContainer = document.getElementById('servContainer')
|
||||
|
||||
var sorted = partners.sort(function (a, b) {
|
||||
if (a.name > b.name) return 1
|
||||
if (a.name < b.name) return -1
|
||||
return 0
|
||||
})
|
||||
|
||||
sorted.forEach(function (obj) {
|
||||
var box = document.createElement('div')
|
||||
box.className = 'partner-box'
|
||||
|
||||
var img = document.createElement('img')
|
||||
img.src = '/images/square-logos/' + obj.logo + '.png'
|
||||
|
||||
var div = document.createElement('div')
|
||||
|
||||
var p = document.createElement('p')
|
||||
p.textContent = obj.blurb
|
||||
|
||||
var link = document.createElement('a')
|
||||
link.href = obj.link
|
||||
link.target = '_blank'
|
||||
link.textContent = 'Learn more'
|
||||
|
||||
div.appendChild(p)
|
||||
div.appendChild(link)
|
||||
|
||||
box.appendChild(img)
|
||||
box.appendChild(div)
|
||||
|
||||
var container;
|
||||
if (obj.type === 0) {
|
||||
container = isvContainer;
|
||||
} else if (obj.type === 1) {
|
||||
container = servContainer;
|
||||
} else if (obj.type === 2) {
|
||||
container = kcspContainer;
|
||||
}
|
||||
|
||||
container.appendChild(box)
|
||||
})
|
||||
})();
|
||||
@@ -0,0 +1,158 @@
|
||||
/* SECTIONS */
|
||||
.section {
|
||||
clear: both;
|
||||
padding: 0px;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
/* COLUMN SETUP */
|
||||
.col {
|
||||
display: block;
|
||||
float:left;
|
||||
margin: 1% 0 1% 1.6%;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
.col:first-child { margin-left: 0; }
|
||||
|
||||
|
||||
/* GROUPING */
|
||||
.group:before,
|
||||
.group:after {
|
||||
content:"";
|
||||
display:table;
|
||||
}
|
||||
.group:after {
|
||||
clear:both;
|
||||
}
|
||||
.group {
|
||||
zoom:1; /* For IE 6/7 */
|
||||
}
|
||||
|
||||
/* GRID OF THREE */
|
||||
.span_3_of_3 {
|
||||
width: 32.2%;
|
||||
background-color: #f9f9f9;
|
||||
padding: 20px;
|
||||
}
|
||||
.span_2_of_3 {
|
||||
width: 32.2%;
|
||||
background-color: #f9f9f9;
|
||||
padding: 20px;
|
||||
}
|
||||
.span_1_of_3 {
|
||||
width: 32.2%;
|
||||
background-color: #f9f9f9;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
/* GO FULL WIDTH AT LESS THAN 480 PIXELS */
|
||||
|
||||
@media only screen and (max-width: 480px) {
|
||||
.col { margin: 1% 0 1% 0%;}
|
||||
.span_3_of_3, .span_2_of_3, .span_1_of_3 { width: 100%; }
|
||||
}
|
||||
|
||||
.button{
|
||||
max-width: 100%;
|
||||
line-height: 14px;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 16px;
|
||||
line-height: 1.5em;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
#usersGrid a {
|
||||
display: inline-block;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
#kcspContainer, #isvContainer, #servContainer {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
#isvContainer {
|
||||
margin-bottom: 80px;
|
||||
}
|
||||
|
||||
#kcspContainer {
|
||||
margin-bottom: 80px;
|
||||
}
|
||||
|
||||
.partner-box {
|
||||
position: relative;
|
||||
width: 47%;
|
||||
max-width: 48%;
|
||||
min-width: 48%;
|
||||
margin-bottom: 20px;
|
||||
padding: 20px;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.partner-box img {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
.partner-box > div {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.partner-box a {
|
||||
color: #3576E3;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
.partner-box {
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.partner-box > div {
|
||||
margin: 20px 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 568px) {
|
||||
#kcspContainer, #isvContainer, #servContainer {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.partner-box {
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.partner-box > div {
|
||||
margin: 20px 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 568px) {
|
||||
#kcspContainer, #isvContainer, #servContainer {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.partner-box {
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.partner-box > div {
|
||||
margin: 20px 0 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{% comment %} See /docs/tabs-example.md for usage example. {% endcomment %}
|
||||
{% assign tab_set_id = tab_set_name | default: "tabset" | slugify %}
|
||||
<div id="{{tab_set_id}}">
|
||||
<ul>
|
||||
{% for name in tab_names %}
|
||||
<li><a href="#{{tab_set_id}}-{{forloop.index0}}">{{ name | strip }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% for content in tab_contents %}
|
||||
<div id="{{tab_set_id}}-{{forloop.index0}}">
|
||||
{{ content | markdownify }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<script>$(function(){$("#{{tab_set_id}}").tabs();});</script>
|
||||
@@ -0,0 +1,15 @@
|
||||
<!-- Use include_cached when incorporating this file, in order to reduce computation/build time -->
|
||||
|
||||
{% assign glossary_terms = site.data.glossary | where_exp: "term", "term.id != '_example'" %}
|
||||
|
||||
{% assign tag_map = "" | split: " " %}
|
||||
|
||||
{% for tag in site.data.canonical-tags %}
|
||||
|
||||
{% assign term_list = glossary_terms | where_exp:"term", "term.tags contains tag" | map: "id" %}
|
||||
|
||||
{% assign tag_obj = "" | split: " " | push: tag | push: term_list %}
|
||||
|
||||
{% assign tag_map = tag_map | push: tag_obj %}
|
||||
|
||||
{% endfor %}
|
||||
@@ -0,0 +1,16 @@
|
||||
### ERROR: You must define a <span style="font-family: monospace">`{{ include.missing_block }}`</span> block
|
||||
{: style="color:red" }
|
||||
|
||||
This template requires that you provide text that {{ include.purpose }}. The text in this block will
|
||||
be displayed under the heading **{{ include.heading }}**.
|
||||
|
||||
To get rid of this message and take advantage of this template, define the `{{ include.missing_block }}`
|
||||
variable and populate it with content.
|
||||
|
||||
```liquid
|
||||
{% raw %}{%{% endraw %} capture {{ include.missing_block }} {% raw %}%}{% endraw %}
|
||||
Text that {{ include.purpose }}.
|
||||
{% raw %}{%{% endraw %} endcapture {% raw %}%}{% endraw %}
|
||||
```
|
||||
|
||||
<!-- TEMPLATE_ERROR -->
|
||||
@@ -0,0 +1,88 @@
|
||||
{% if concept %}<!-- check for this before going any further; if not present, skip to else at bottom -->
|
||||
|
||||
# Overview of {{concept}}s
|
||||
|
||||
{% if what_is %}
|
||||
|
||||
### What is a {{ concept }}?
|
||||
|
||||
{{ what_is }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='what_is' heading='What is a (Concept)?' purpose='explains what this concept is and its purpose.' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if when_to_use %}
|
||||
|
||||
### When to use {{ concept }}s
|
||||
|
||||
{{ when_to_use }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='when_to_use' heading='When to use (Concept)' purpose='explains when to use this object.' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if when_not_to_use %}
|
||||
|
||||
### When not to use {{ concept }}s
|
||||
|
||||
{{ when_not_to_use }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='when_not_to_use' heading='When not to use (Concept)' purpose='explains when not to use this object.' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if status %}
|
||||
|
||||
### {{ concept }} status
|
||||
|
||||
{{ status }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='status' heading='Retrieving status for a (Concept)' purpose='explains how to retrieve a status description for this object.' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if usage %}
|
||||
|
||||
#### Usage
|
||||
|
||||
{{ usage }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='usage' heading='Usage' purpose='shows the most basic, common use case for this object, in the form of a code sample, command, etc, using tabs to show multiple approaches' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
<!-- continuing the "if concept" if/then: -->
|
||||
|
||||
{% else %}
|
||||
|
||||
### ERROR: You must define a "concept" variable
|
||||
{: style="color:red" }
|
||||
|
||||
This template requires a variable called `concept` that is simply the name of the
|
||||
concept for which you are giving an overview. This will be displayed in the
|
||||
headings for the document.
|
||||
|
||||
To get rid of this message and take advantage of this template, define `concept`:
|
||||
|
||||
```liquid
|
||||
{% raw %}{% assign concept="Replication Controller" %}{% endraw %}
|
||||
```
|
||||
|
||||
Complete this task, then we'll walk you through preparing the rest of the document.
|
||||
|
||||
{% endif %}
|
||||
@@ -0,0 +1,32 @@
|
||||
{% if overview %}
|
||||
|
||||
{{ overview }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='overview' purpose='provides an overview of this concept.' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
* TOC
|
||||
{:toc}
|
||||
|
||||
{% if body %}
|
||||
|
||||
{{ body }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='body' purpose='supplies the body of the page content.' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if whatsnext %}
|
||||
|
||||
## What's next
|
||||
|
||||
{{ whatsnext }}
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
# Kubernetes Glossary
|
||||
|
||||
To write a glossary snippet, start with a copy of the template, [`/_data/glossary/_example.yml`](/_data/glossary/_example.yml). Make sure to provide (or omit) values for the following fields:
|
||||
|
||||
* (Required) `id`.
|
||||
* This field must match the name of the glossary file itself (without the `*.yml` extension). It is *not* intended to be displayed to users, and is only used programmatically.
|
||||
* (Required) `name`.
|
||||
* The name of the term.
|
||||
* (Required) `tags`.
|
||||
* Must be one of the tags listed in kubernetes.github.io/_data/canonical-terms-tags.yml.
|
||||
* (Required) `short description`.
|
||||
* Make sure to replace the instructional text in the template with your content.
|
||||
* (Optional) `formerly` and `related`.
|
||||
* If you do not provide these values, remove the fields.
|
||||
* (Optional) `long description`.
|
||||
* If you do not provide a long description, remove the field -- that is, the complete key-value pair.
|
||||
|
||||
The `_example.yml` template also contains basic information about how to write your snippet. For additional guidance, continue reading this readme.
|
||||
|
||||
## Glossary snippet style guide
|
||||
|
||||
This style guide supplements the guidance provided in the glossary template. It's intended to help you think about what and how to write glossary definitions. For more general guidance on style, consult [the core docs style guide](https://kubernetes.io/docs/home/contribute/style-guide/).
|
||||
|
||||
### Minimum viable snippet:
|
||||
|
||||
Every snippet must include at least the short description. The long description is optional, but should be provided for terms that need additional clarification. For consistency with existing *Concept* definitions, *write your definitions as if the term is plural*.
|
||||
|
||||
**short-description** (Required): One line (or two short lines) that provides a minimum definition. Do not repeat 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 in cases where the short description is not sufficient for the intro paragraph to a topic. Write complete but concise sentences.
|
||||
|
||||
### Examples
|
||||
|
||||
```yaml
|
||||
- name: Pod
|
||||
- tags:
|
||||
- Fundamental
|
||||
- Workload
|
||||
- API Object
|
||||
- short-description: The smallest and simplest Kubernetes objects. Represent a set of running processes on your cluster.
|
||||
- long-description: Pods most often run only a single container, and are managed by a Deployment.
|
||||
```
|
||||
|
||||
```yaml
|
||||
- name: Deployment
|
||||
- tags:
|
||||
- Fundamental
|
||||
- Workload
|
||||
- API Object
|
||||
- short-description: Controllers that provide declarative updates for Pods and ReplicaSets.
|
||||
- long-description: Deployments are responsible for creating and updating instances of an application.
|
||||
```
|
||||
|
||||
### Thinking about definitions
|
||||
|
||||
* **Think of the short description as it would appear in a tooltip.** Is it sufficient to get the reader started? Is it short enough to be read inside a small UI element?
|
||||
|
||||
*Tip*: look at the API reference doc content (for example, https://kubernetes.io/docs/api-reference/v1.7/). Note, however, that this content should be used with care. The concept docs for Pod, for example, are clearer than the reference docs.
|
||||
|
||||
* **The long description should follow the short description to make a complete introduction to a topic.** (This is the content that appears at the top of the content, before any generated TOC.) Does it provide information that's not already clear from the short description? Does it provide information that readers should have a general sense of before they dive into the details of the topic it helps introduce?
|
||||
|
||||
*Tip:* the long description does not need to be long; it's intended to extend but not replace the short description. Look through current related docs for ideas. (The Deployment long description is taken from a tutorial, for example.)
|
||||
@@ -0,0 +1,10 @@
|
||||
### ERROR: You must define a <span style="font-family: monospace">`{{ include.missing_block }}`</span> field
|
||||
{: style="color:red" }
|
||||
|
||||
The glossary template requires that you provide text that {{ include.purpose }}.
|
||||
|
||||
To get rid of this message and take advantage of this template, define the `{{ include.missing_block }}`
|
||||
field for the `{{ include.term }}` glossary term and populate it with content.
|
||||
|
||||
See `_data/glossary/_example.yml` for reference.
|
||||
<!-- TEMPLATE_ERROR -->
|
||||
@@ -0,0 +1,25 @@
|
||||
{% assign term_data = site.data.glossary.[include.term] %}
|
||||
|
||||
{% if term_data.short-description %}
|
||||
|
||||
{{ term_data.short-description | markdownify }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/glossary/_error.md term=term_data.name missing_block='short-description' purpose='concisely describes the key term in 1-2 lines' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if include.length == "long" %}
|
||||
|
||||
{% if term_data.long-description %}
|
||||
|
||||
{{ term_data.long-description | markdownify }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/glossary/_error.md term=term_data.name missing_block='long-description' purpose='describes the key term in greater depth, supplementing the short-description' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
@@ -0,0 +1,37 @@
|
||||
{% if command %}
|
||||
|
||||
# {% if site.data.kubectl[command].name != "kubectl" %}kubectl {% endif %}{{ site.data.kubectl[command].name }}
|
||||
|
||||
{{ site.data.kubectl[command].synopsis }}
|
||||
|
||||
## Description
|
||||
|
||||
{{ site.data.kubectl[command].description }}
|
||||
|
||||
{% if site.data.kubectl[command].options %}
|
||||
## Options
|
||||
|
||||
| Option | Shorthand | Default Value | Usage |
|
||||
|--------------------|---------------|-------|{% for option in site.data.kubectl[command].options %}
|
||||
| `{{option.name | strip}}` | {% if option.shorthand %}`{{ option.shorthand | strip }}`{% endif %} | {% if option.default_value %}`{{option.default_value| strip}}`{% endif %} | {% if option.usage %}{{option.usage| strip | replace:'|',', '}}{% endif %} |{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.kubectl[command].inherited_options %}
|
||||
## Inherited Options
|
||||
|
||||
| Option | Shorthand | Default Value | Usage |
|
||||
|--------------------|---------------|-------|{% for option in site.data.kubectl[command].inherited_options %}
|
||||
| `{{option.name | strip}}` | {% if option.shorthand %}`{{ option.shorthand | strip }}`{% endif %} | {% if option.default_value %}`{{option.default_value| strip}}`{% endif %} | {% if option.usage %}{{option.usage| strip | replace:'|',', '}}{% endif %} |{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
## See also
|
||||
|
||||
{% for seealso in site.data.kubectl[command].see_also %}
|
||||
- [`{{ seealso }}`](/docs/kubectl/{% if seealso != "kubectl" %}kubectl_{{seealso}}{% endif %})
|
||||
{% endfor %}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='command' heading='kubectl (command)' purpose='names the kubectl command, so that the appropriate YAML file (from _data/kubectl) can be transformed into a page.' %}
|
||||
|
||||
{% endif %}
|
||||
@@ -0,0 +1,55 @@
|
||||
{% if overview %}
|
||||
|
||||
{{ overview }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='overview' purpose='states, in one or two sentences, the purpose of this document' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
* TOC
|
||||
{: toc}
|
||||
|
||||
|
||||
{% if prerequisites %}
|
||||
|
||||
## Before you begin
|
||||
|
||||
{{ prerequisites }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='prerequisites' heading='Before you begin' purpose='lists action prerequisites and knowledge prerequisites' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if steps %}
|
||||
|
||||
{{ steps }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='steps' purpose='lists a sequence of numbered steps that accomplish the task.' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if discussion %}
|
||||
|
||||
{{ discussion }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if whatsnext %}
|
||||
|
||||
## What's next
|
||||
|
||||
{{ whatsnext }}
|
||||
|
||||
{% endif %}
|
||||
@@ -0,0 +1,68 @@
|
||||
{% if overview %}
|
||||
|
||||
{{ overview }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='overview' purpose='states, in one or two sentences, the purpose of this document' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
* TOC
|
||||
{: toc}
|
||||
|
||||
|
||||
{% if objectives %}
|
||||
|
||||
## Objectives
|
||||
|
||||
{{ objectives }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='objectives' heading='Objectives' purpose='lists the objectives for this tutorial.' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if prerequisites %}
|
||||
|
||||
## Before you begin
|
||||
|
||||
{{ prerequisites }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='prerequisites' heading='Before you begin' purpose='lists action prerequisites and knowledge prerequisites' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if lessoncontent %}
|
||||
|
||||
{{ lessoncontent }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='lessoncontent' purpose='provides the lesson content for this tutorial.' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if cleanup %}
|
||||
|
||||
## Cleaning up
|
||||
|
||||
{{ cleanup }}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if whatsnext %}
|
||||
|
||||
## What's next
|
||||
|
||||
{{ whatsnext }}
|
||||
|
||||
{% endif %}
|
||||
@@ -0,0 +1,15 @@
|
||||
{% capture whitespace %}
|
||||
{% for item in include.tree %}
|
||||
{% if found_toc %}
|
||||
{% break %}
|
||||
{% endif %}
|
||||
{% if item.section %}
|
||||
{% include tocsearch.html tree=item.section toc=include.toc %}
|
||||
{% else %}
|
||||
{% if item == page.path %}
|
||||
{% assign found_toc = include.toc %}
|
||||
{% break %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endcapture %}
|
||||
@@ -0,0 +1,25 @@
|
||||
{% for item in include.tree %}
|
||||
{% if item.section %}
|
||||
<div class="item" data-title="{{ item.title }}">
|
||||
<div class="container">
|
||||
{% include_cached tree.html tree=item.section %}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
|
||||
{% capture whitespace %}
|
||||
{% if item.path %}
|
||||
{% assign path = item.path %}
|
||||
{% assign title = item.title %}
|
||||
{% else %}
|
||||
{% assign found_page = site.pages | where: "path", item | first %}
|
||||
{% assign title = found_page.title %}
|
||||
{% assign path = found_page.url %}
|
||||
{% endif %}
|
||||
{% endcapture %}
|
||||
|
||||
{% if path %}
|
||||
<a class="item" data-title="{{ title }}" href="{{ path }}"></a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
+6018
File diff suppressed because it is too large
Load Diff
+15661
File diff suppressed because it is too large
Load Diff
Executable
+7806
File diff suppressed because it is too large
Load Diff
Executable
+32321
File diff suppressed because it is too large
Load Diff
+6209
File diff suppressed because it is too large
Load Diff
+15661
File diff suppressed because it is too large
Load Diff
Executable
+8087
File diff suppressed because it is too large
Load Diff
Executable
+32451
File diff suppressed because it is too large
Load Diff
+6471
File diff suppressed because it is too large
Load Diff
+15948
File diff suppressed because it is too large
Load Diff
Executable
+8266
File diff suppressed because it is too large
Load Diff
Executable
+32969
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html id="{{ page.cid }}" lang="en" class="{{ page.class }}">
|
||||
|
||||
{% include head.html %}
|
||||
|
||||
<body>
|
||||
{% include header.html %}
|
||||
|
||||
{{ content }}
|
||||
|
||||
{% include footer.html %}
|
||||
|
||||
{% include footer-scripts.html %}
|
||||
</body>
|
||||
</html>
|
||||
Executable
+79
@@ -0,0 +1,79 @@
|
||||
{% for current_toc in site.tocs %}
|
||||
{% if found_toc %}
|
||||
{% break %}
|
||||
{% else %}
|
||||
{% assign toc=site.data[current_toc] %}
|
||||
{% include tocsearch.html tree=toc.toc toc=toc %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
<!Doctype html>
|
||||
<html id="docs" class="{{ toc.bigheader }}">
|
||||
|
||||
{% include head.html %}
|
||||
|
||||
<body>
|
||||
|
||||
{% include header.html %}
|
||||
|
||||
<!-- HERO -->
|
||||
<section id="hero" class="light-text">
|
||||
<h1>{{ toc.bigheader }}</h1>
|
||||
<h5>{{ toc.abstract }}</h5>
|
||||
<div id="vendorStrip" class="light-text">
|
||||
<ul>
|
||||
<li><a href="/docs/home/" {% if toc.bigheader == "Kubernetes Documentation" %}class="YAH"{% endif %}>HOME</a></li>
|
||||
<li><a href="/docs/setup/" {% if toc.bigheader == "Setup" %}class="YAH"{% endif %}>SETUP</a></li>
|
||||
<li><a href="/docs/concepts/" {% if toc.bigheader == "Concepts" %}class="YAH"{% endif %}>CONCEPTS</a></li>
|
||||
<li><a href="/docs/tasks/" {% if toc.bigheader == "Tasks" %}class="YAH"{% endif %}>TASKS</a></li>
|
||||
<li><a href="/docs/tutorials/" {% if toc.bigheader == "Tutorials" %}class="YAH"{% endif %}>TUTORIALS</a></li>
|
||||
<li><a href="/docs/reference/" {% if toc.bigheader == "Reference Documentation" %}class="YAH"{% endif %}>REFERENCE</a></li>
|
||||
</ul>
|
||||
<div id="searchBox">
|
||||
<input type="text" id="search" placeholder="Search" onkeydown="if (event.keyCode==13) window.location.replace('/docs/search/?q=' + this.value)" autofocus="autofocus">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include deprecation-warning.html %}
|
||||
|
||||
<section id="encyclopedia">
|
||||
<div id="docsToc">
|
||||
<div class="pi-accordion">
|
||||
{% include_cached tree.html tree=toc.toc %}
|
||||
</div> <!-- /pi-accordion -->
|
||||
<button class="push-menu-close-button" onclick="kub.toggleToc()"></button>
|
||||
</div> <!-- /docsToc -->
|
||||
|
||||
<div id="docsContent">
|
||||
<p><a href="/editdocs#{{ page.path }}" id="editPageButton">Edit This Page</a></p>
|
||||
|
||||
{% unless page.notitle %}
|
||||
<h1>{{ page.title }}</h1>
|
||||
{% endunless %}
|
||||
|
||||
{{ content }}
|
||||
|
||||
<p><a href=""><img src="https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/{{ page.path }}?pixel" alt="Analytics" /></a></p>
|
||||
{% if page.url != "/404.html" and page.url != "/docs/search/" %}
|
||||
<script type="text/javascript">
|
||||
PDRTJS_settings_8345992 = {
|
||||
"id" : "8345992",
|
||||
"unique_id" : "{{ page.url }}",
|
||||
"title" : "{{ page.title }}",
|
||||
"permalink" : "http://kubernetes.github.io{{ page.url }}"
|
||||
};
|
||||
(function(d,c,j){if(!document.getElementById(j)){var pd=d.createElement(c),s;pd.id=j;pd.src=('https:'==document.location.protocol)?'https://polldaddy.com/js/rating/rating.js':'http://i0.poll.fm/js/rating/rating.js';s=document.getElementsByTagName(c)[0];s.parentNode.insertBefore(pd,s);}}(document,'script','pd-rating-js'));
|
||||
</script>
|
||||
<a href="" onclick="window.open('https://github.com/kubernetes/kubernetes.github.io/issues/new?title=Issue%20with%20' +
|
||||
'k8s.io'+window.location.pathname)" class="button issue">Create an Issue</a>
|
||||
<a href="/editdocs#{{ page.path }}" class="button issue">Edit this Page</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include_cached footer.html %}
|
||||
{% include footer-scripts.html %}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1 @@
|
||||
{{ content }}
|
||||
+450
@@ -0,0 +1,450 @@
|
||||
###############################################
|
||||
# set server-side redirects in this file #
|
||||
# see https://www.netlify.com/docs/redirects/ #
|
||||
# test at https://play.netlify.com/redirects #
|
||||
###############################################
|
||||
|
||||
############################
|
||||
# pattern matching redirects
|
||||
#
|
||||
|
||||
/docs/user-guide/kubectl/kubectl_*/ /docs/user-guide/kubectl/v1.7/#:splat 200
|
||||
/v1.1/docs/* /docs/ 301
|
||||
/docs/user-guide/kubectl/1_5/* https://v1-5.docs.kubernetes.io/docs/user-guide/kubectl/v1.5/ 301
|
||||
/docs/user-guide/kubectl/v1.5/node_modules/* https://v1-5.docs.kubernetes.io/docs/user-guide/kubectl/v1.5/ 301
|
||||
/docs/resources-reference/1_5/* https://v1-5.docs.kubernetes.io/docs/resources-reference/v1.5/ 301
|
||||
/docs/resources-reference/v1.5/node_modules/* https://v1-5.docs.kubernetes.io/docs/resources-reference/v1.5/ 301
|
||||
/docs/user-guide/kubectl/v1.6/node_modules/* https://v1-6.docs.kubernetes.io/docs/user-guide/kubectl/v1.6/ 301
|
||||
/docs/api-reference/v1.7/node_modules/* /docs/api-reference/v1.7/ 301
|
||||
/docs/getting-started-guides/docker-multinode/* /docs/setup/independent/create-cluster-kubeadm/ 301
|
||||
/docs/admin/resourcequota/* /docs/concepts/policy/resource-quotas/ 301
|
||||
/docs/getting-started-guide/* /docs/setup/ 301
|
||||
/docs/api-reference/v1.4/* https://v1-4.docs.kubernetes.io/docs/reference/ 301
|
||||
/docs/api-reference/1_5/* https://v1-5.docs.kubernetes.io/docs/reference/ 301
|
||||
/docs/api-reference/v1.5/* https://v1-5.docs.kubernetes.io/docs/reference/ 301
|
||||
/docs/api-reference/v1.6/* https://v1-6.docs.kubernetes.io/docs/reference/ 301
|
||||
/docs/resources-reference/1_5/* /docs/resources-reference/v1.5/ 301
|
||||
/docs/resources-reference/1_6/* /docs/resources-reference/v1.6/ 301
|
||||
/docs/resources-reference/1_7/* /docs/resources-reference/v1.7/ 301
|
||||
/docs/templatedemos/* /docs/home/contribute/page-templates/ 301
|
||||
/docs/tutorials/getting-started/* /docs/tutorials/kubernetes-basics/ 301
|
||||
/docs/user-guide/federation/* /docs/concepts/cluster-administration/federation/ 301
|
||||
/docs/user-guide/garbage-collector/* /docs/concepts/workloads/controllers/garbage-collection/ 301
|
||||
/docs/user-guide/horizontal-pod-autoscaler/* /docs/tasks/run-application/horizontal-pod-autoscale/ 301
|
||||
/kubernetes-bootcamp/* /docs/tutorials/kubernetes-basics/ 301
|
||||
/swagger-spec/* https://github.com/kubernetes/kubernetes/tree/master/api/swagger-spec/ 301
|
||||
/third_party/swagger-ui/* /docs/reference/ 301
|
||||
|
||||
############################
|
||||
# individual redirects
|
||||
#
|
||||
|
||||
/gettingstarted/ /docs/home/ 301
|
||||
|
||||
/docs/admin/addons/ /docs/concepts/cluster-administration/addons/ 301
|
||||
/docs/admin/apparmor/ /docs/tutorials/clusters/apparmor/ 301
|
||||
/docs/admin/audit/ /docs/tasks/debug-application-cluster/audit/ 301
|
||||
//docs/admin/authorization/rbac.md /docs/admin/authorization/rbac/ 301
|
||||
/docs/admin/cluster-components/ /docs/concepts/overview/components/ 301
|
||||
/docs/admin/cluster-management/ /docs/tasks/administer-cluster/cluster-management/ 301
|
||||
/docs/admin/cluster-troubleshooting/ /docs/tasks/debug-application-cluster/debug-cluster/ 301
|
||||
/docs/admin/daemons/ /docs/concepts/workloads/controllers/daemonset/ 301
|
||||
/docs/admin/disruptions/ /docs/concepts/workloads/pods/disruptions/ 301
|
||||
/docs/admin/dns/ /docs/concepts/services-networking/dns-pod-service/ 301
|
||||
/docs/admin/etcd/ /docs/tasks/administer-cluster/configure-upgrade-etcd/ 301
|
||||
/docs/admin/etcd_upgrade/ /docs/tasks/administer-cluster/configure-upgrade-etcd/ 301
|
||||
/docs/admin/federation/kubefed/ /docs/tasks/federation/set-up-cluster-federation-kubefed/ 301
|
||||
/docs/admin/federation/kubefed.md /docs/tasks/federation/set-up-cluster-federation-kubefed/ 301
|
||||
/docs/tasks/federation/set-up-cluster-federation-kubefed.md /docs/tasks/federation/set-up-cluster-federation-kubefed/ 301
|
||||
/docs/admin/garbage-collection/ /docs/concepts/cluster-administration/kubelet-garbage-collection/ 301
|
||||
/docs/admin/ha-master-gce/ /docs/tasks/administer-cluster/highly-available-master/ 301
|
||||
/docs/admin/ha-master-gce.md /docs/tasks/administer-cluster/highly-available-master/ 301
|
||||
/docs/admin/ /docs/concepts/cluster-administration/cluster-administration-overview/ 301
|
||||
/docs/admin/kubeadm-upgrade-1-7/ /docs/tasks/administer-cluster/kubeadm-upgrade-1-7/ 301
|
||||
/docs/admin/limitrange/docs/tasks/administer-cluster/cpu-memory-limit/ 301
|
||||
/docs/admin/master-node-communication/ /docs/concepts/architecture/master-node-communication/ 301
|
||||
/docs/admin/multi-cluster/ /docs/concepts/cluster-administration/federation/ 301
|
||||
/docs/admin/multiple-schedulers/ /docs/tasks/administer-cluster/configure-multiple-schedulers/ 301
|
||||
/docs/admin/namespaces/ /docs/tasks/administer-cluster/namespaces/ 301
|
||||
/docs/admin/namespaces/walkthrough/ /docs/tasks/administer-cluster/namespaces-walkthrough/ 301
|
||||
/docs/admin/network-plugins/ /docs/concepts/cluster-administration/network-plugins/ 301
|
||||
/docs/admin/networking/ /docs/concepts/cluster-administration/networking/ 301
|
||||
/docs/admin/node/ /docs/concepts/architecture/nodes/ 301
|
||||
/docs/admin/node-allocatable/ /docs/tasks/administer-cluster/reserve-compute-resources/ 301
|
||||
//docs/admin/node-allocatable.md /docs/tasks/administer-cluster/reserve-compute-resources/ 301
|
||||
/docs/admin/node-conformance.md /docs/admin/node-conformance/ 301
|
||||
/docs/admin/node-problem/ /docs/tasks/debug-application-cluster/monitor-node-health/ 301
|
||||
/docs/admin/out-of-resource/ /docs/tasks/administer-cluster/out-of-resource/ 301
|
||||
/docs/admin/rescheduler/ /docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/ 301
|
||||
/docs/admin/resourcequota/limitstorageconsumption/ /docs/tasks/administer-cluster/limit-storage-consumption/ 301
|
||||
/docs/admin/resourcequota/walkthrough/ /docs/tasks/administer-cluster/quota-api-object/ 301
|
||||
/docs/admin/static-pods/ /docs/tasks/administer-cluster/static-pod/ 301
|
||||
/docs/admin/sysctls/ /docs/concepts/cluster-administration/sysctl-cluster/ 301
|
||||
/docs/admin/upgrade-1-6/ /docs/tasks/administer-cluster/upgrade-1-6/ 301
|
||||
|
||||
/docs/api/ /docs/concepts/overview/kubernetes-api/ 301
|
||||
|
||||
/docs/concepts/abstractions/controllers/garbage-collection/ /docs/concepts/workloads/controllers/garbage-collection/ 301
|
||||
/docs/concepts/abstractions/controllers/petsets/ /docs/concepts/workloads/controllers/petset/ 301
|
||||
/docs/concepts/abstractions/controllers/statefulsets/ /docs/concepts/workloads/controllers/statefulset/ 301
|
||||
/docs/concepts/abstractions/init-containers/ /docs/concepts/workloads/pods/init-containers/ 301
|
||||
/docs/concepts/abstractions/overview/ /docs/concepts/overview/working-with-objects/kubernetes-objects/ 301
|
||||
/docs/concepts/abstractions/pod/ /docs/concepts/workloads/pods/pod-overview/ 301
|
||||
|
||||
/docs/concepts/cluster-administration/access-cluster/ /docs/tasks/access-application-cluster/access-cluster/ 301
|
||||
/docs/concepts/cluster-administration/audit/ /docs/tasks/debug-application-cluster/audit/ 301
|
||||
/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/ /docs/tasks/access-application-cluster/authenticate-across-clusters-kubeconfig/ 301
|
||||
/docs/concepts/cluster-administration/cluster-management/ /docs/tasks/administer-cluster/cluster-management/ 301
|
||||
/docs/concepts/cluster-administration/configure-etcd/ /docs/tasks/administer-cluster/configure-upgrade-etcd/ 301
|
||||
/docs/concepts/cluster-administration/etcd-upgrade/ /docs/tasks/administer-cluster/configure-upgrade-etcd/ 301
|
||||
/docs/concepts/cluster-administration/federation-service-discovery/ /docs/tasks/federation/federation-service-discovery/ 301
|
||||
/docs/concepts/cluster-administration/guaranteed-scheduling-critical-addon-pods/ /docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/ 301
|
||||
/docs/concepts/cluster-administration/master-node-communication/ /docs/concepts/architecture/master-node-communication/ 301
|
||||
/docs/concepts/cluster-administration/multiple-clusters/ /docs/concepts/cluster-administration/federation/ 301
|
||||
/docs/concepts/cluster-administration/out-of-resource/ /docs/tasks/administer-cluster/out-of-resource/ 301
|
||||
/docs/concepts/cluster-administration/resource-usage-monitoring/ /docs/tasks/debug-application-cluster/resource-usage-monitoring/ 301
|
||||
/docs/concepts/cluster-administration/static-pod/ /docs/tasks/administer-cluster/static-pod/ 301
|
||||
/docs/concepts/clusters/logging/ /docs/concepts/cluster-administration/logging/ 301
|
||||
/docs/concepts/configuration/container-command-arg/ /docs/tasks/inject-data-application/define-command-argument-container/ 301
|
||||
/docs/concepts/ecosystem/thirdpartyresource/ /docs/tasks/access-kubernetes-api/extend-api-third-party-resource/ 301
|
||||
/docs/concepts/jobs/cron-jobs/ /docs/concepts/workloads/controllers/cron-jobs/ 301
|
||||
/docs/concepts/jobs/run-to-completion-finite-workloads/ /docs/concepts/workloads/controllers/jobs-run-to-completion/ 301
|
||||
/docs/concepts/nodes/node/ /docs/concepts/architecture/nodes/ 301
|
||||
/docs/concepts/storage/etcd-store-api-object/ /docs/tasks/administer-cluster/configure-upgrade-etcd/ 301
|
||||
/docs/concepts/tools/kubectl/object-management-overview/ /docs/tutorials/object-management-kubectl/object-management/ 301
|
||||
/docs/concepts/tools/kubectl/object-management-using-declarative-config/ /docs/tutorials/object-management-kubectl/declarative-object-management-configuration/ 301
|
||||
/docs/concepts/tools/kubectl/object-management-using-imperative-commands/ /docs/tutorials/object-management-kubectl/imperative-object-management-command/ 301
|
||||
/docs/concepts/tools/kubectl/object-management-using-imperative-config/ /docs/tutorials/object-management-kubectl/imperative-object-management-configuration/ 301
|
||||
|
||||
/docs/getting-started-guides/ /docs/setup/pick-right-solution/ 301
|
||||
/docs/getting-started-guides/kubeadm/ /docs/setup/independent/create-cluster-kubeadm/ 301
|
||||
/docs/getting-started-guides/network-policy/calico/ /docs/tasks/administer-cluster/calico-network-policy/ 301
|
||||
/docs/getting-started-guides/network-policy/romana/ /docs/tasks/administer-cluster/romana-network-policy/ 301
|
||||
/docs/getting-started-guides/network-policy/walkthrough/ /docs/tasks/administer-cluster/declare-network-policy/ 301
|
||||
/docs/getting-started-guides/network-policy/weave/ /docs/tasks/administer-cluster/weave-network-policy/ 301
|
||||
/docs/getting-started-guides/running-cloud-controller/ /docs/tasks/administer-cluster/running-cloud-controller/ 301
|
||||
/docs/getting-started-guides/ubuntu/calico/ /docs/getting-started-guides/ubuntu/ 301
|
||||
|
||||
/docs/hellonode/ /docs/tutorials/stateless-application/hello-minikube/ 301
|
||||
/docs/ /docs/home/ 301
|
||||
/docs/home/coreos/ /docs/getting-started-guides/coreos/ 301
|
||||
/docs/samples/ /docs/tutorials/ 301
|
||||
|
||||
/docs/tasks/administer-cluster/apply-resource-quota-limit/ /docs/tasks/administer-cluster/quota-api-object/ 301
|
||||
/docs/tasks/administer-cluster/assign-pods-nodes/ /docs/tasks/configure-pod-container/assign-pods-nodes/ 301
|
||||
/docs/tasks/administer-cluster/overview/ /docs/concepts/cluster-administration/cluster-administration-overview/ 301
|
||||
/docs/tasks/administer-cluster/cpu-memory-limit/ /docs/tasks/administer-cluster/memory-default-namespace/ 301
|
||||
/docs/tasks/administer-cluster/share-configuration/ /docs/tasks/access-application-cluster/configure-access-multiple-clusters/ 301
|
||||
|
||||
/docs/tasks/configure-pod-container/apply-resource-quota-limit/ /docs/tasks/administer-cluster/apply-resource-quota-limit/ 301
|
||||
/docs/tasks/configure-pod-container/calico-network-policy/ /docs/tasks/administer-cluster/calico-network-policy/ 301
|
||||
/docs/tasks/configure-pod-container/communicate-containers-same-pod/ /docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/ 301
|
||||
/docs/tasks/configure-pod-container/declare-network-policy/ /docs/tasks/administer-cluster/declare-network-policy/ 301
|
||||
/docs/tasks/configure-pod-container/define-environment-variable-container/ /docs/tasks/inject-data-application/define-environment-variable-container/ 301
|
||||
/docs/tasks/configure-pod-container/distribute-credentials-secure/ /docs/tasks/inject-data-application/distribute-credentials-secure/ 301
|
||||
/docs/tasks/configure-pod-container/downward-api-volume-expose-pod-information/ /docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/ 301
|
||||
/docs/tasks/configure-pod-container/environment-variable-expose-pod-information/ /docs/tasks/inject-data-application/environment-variable-expose-pod-information/ 301
|
||||
/docs/tasks/configure-pod-container/limit-range/ /docs/tasks/administer-cluster/cpu-memory-limit/ 301
|
||||
/docs/tasks/configure-pod-container/romana-network-policy/ /docs/tasks/administer-cluster/romana-network-policy/ 301
|
||||
/docs/tasks/configure-pod-container/weave-network-policy/ /docs/tasks/administer-cluster/weave-network-policy/ 301
|
||||
/docs/tasks/configure-pod-container/assign-cpu-ram-container/ /docs/tasks/configure-pod-container/assign-memory-resource/ 301
|
||||
|
||||
/docs/tasks/kubectl/get-shell-running-container/ /docs/tasks/debug-application-cluster/get-shell-running-container/ 301
|
||||
/docs/tasks/kubectl/install/ /docs/tasks/tools/install-kubectl/ 301
|
||||
/docs/tasks/kubectl/list-all-running-container-images/ /docs/tasks/access-application-cluster/list-all-running-container-images/ 301
|
||||
|
||||
/docs/tasks/manage-stateful-set/debugging-a-statefulset/ /docs/tasks/debug-application-cluster/debug-stateful-set/ 301
|
||||
/docs/tasks/manage-stateful-set/delete-pods/ /docs/tasks/run-application/force-delete-stateful-set-pod/ 301
|
||||
/docs/tasks/manage-stateful-set/deleting-a-statefulset/ /docs/tasks/run-application/delete-stateful-set/ 301
|
||||
/docs/tasks/manage-stateful-set/scale-stateful-set/ /docs/tasks/run-application/scale-stateful-set/ 301
|
||||
/docs/tasks/manage-stateful-set/upgrade-pet-set-to-stateful-set/ /docs/tasks/run-application/upgrade-pet-set-to-stateful-set/ 301
|
||||
|
||||
/docs/tasks/run-application/podpreset/ /docs/tasks/inject-data-application/podpreset/ 301
|
||||
/docs/tasks/troubleshoot/debug-init-containers/ /docs/tasks/debug-application-cluster/debug-init-containers/ 301
|
||||
/docs/tasks/web-ui-dashboard/ /docs/tasks/access-application-cluster/web-ui-dashboard/ 301
|
||||
/docs/templatedemos/ /docs/home/contribute/page-templates/ 301
|
||||
/docs/tools/kompose/ /docs/tools/kompose/user-guide/ 301
|
||||
|
||||
/docs/tutorials/clusters/multiple-schedulers/ /docs/tasks/administer-cluster/configure-multiple-schedulers/ 301
|
||||
/docs/tutorials/connecting-apps/connecting-frontend-backend/ /docs/tasks/access-application-cluster/connecting-frontend-backend/ 301
|
||||
/docs/tutorials/federation/set-up-cluster-federation-kubefed/ /docs/tasks/federation/set-up-cluster-federation-kubefed/ 301
|
||||
//docs/tutorials/federation/set-up-cluster-federation-kubefed.md /docs/tasks/federation/set-up-cluster-federation-kubefed/ 301
|
||||
/docs/tutorials/federation/set-up-coredns-provider-federation/ /docs/tasks/federation/set-up-coredns-provider-federation/ 301
|
||||
/docs/tutorials/federation/set-up-placement-policies-federation/ /docs/tasks/federation/set-up-placement-policies-federation/ 301
|
||||
/docs/tutorials/getting-started/create-cluster/ /docs/tutorials/kubernetes-basics/cluster-intro/ 301
|
||||
/docs/tutorials/stateful-application/run-replicated-stateful-application/ /docs/tasks/run-application/run-replicated-stateful-application/ 301
|
||||
/docs/tutorials/stateful-application/run-stateful-application/ /docs/tasks/run-application/run-single-instance-stateful-application/ 301
|
||||
/docs/tutorials/stateless-application/expose-external-ip-address-service/ /docs/tasks/access-application-cluster/service-access-application-cluster/ 301
|
||||
/docs/tutorials/stateless-application/run-stateless-ap-replication-controller/ /docs/tasks/run-application/run-stateless-application-deployment/ 301
|
||||
/docs/tutorials/stateless-application/run-stateless-application-deployment/ /docs/tasks/run-application/run-stateless-application-deployment/ 301
|
||||
|
||||
/docs/user-guide/accessing-the-cluster/ /docs/tasks/access-application-cluster/access-cluster/ 301
|
||||
/docs/user-guide/add-entries-to-pod-etc-hosts-with-host-aliases/ /docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ 301
|
||||
/docs/user-guide/annotations/ /docs/concepts/overview/working-with-objects/annotations/ 301
|
||||
/docs/user-guide/application-troubleshooting/ /docs/tasks/debug-application-cluster/debug-application/ 301
|
||||
/docs/user-guide/compute-resources/ /docs/concepts/configuration/manage-compute-resources-container/ 301
|
||||
/docs/user-guide/config-best-practices/ /docs/concepts/configuration/overview/ 301
|
||||
/docs/user-guide/configmap/ /docs/tasks/configure-pod-container/configmap/ 301
|
||||
/docs/user-guide/configuring-containers/ /docs/tasks/ 301
|
||||
/docs/user-guide/connecting-applications/ /docs/concepts/services-networking/connect-applications-service/ 301
|
||||
/docs/user-guide/connecting-to-applications-port-forward/ /docs/tasks/access-application-cluster/port-forward-access-application-cluster/ 301
|
||||
/docs/user-guide/connecting-to-applications-proxy/ /docs/tasks/access-kubernetes-api/http-proxy-access-api/ 301
|
||||
/docs/user-guide/container-environment/ /docs/concepts/containers/container-lifecycle-hooks/ 301
|
||||
/docs/user-guide/cron-jobs/ /docs/concepts/workloads/controllers/cron-jobs/ 301
|
||||
/docs/user-guide/debugging-pods-and-replication-controllers/ /docs/tasks/debug-application-cluster/debug-pod-replication-controller/ 301
|
||||
/docs/user-guide/debugging-services/ /docs/tasks/debug-application-cluster/debug-service/ 301
|
||||
/docs/user-guide/deploying-applications/ /docs/tasks/run-application/run-stateless-application-deployment/ 301
|
||||
/docs/user-guide/deployments/ /docs/concepts/workloads/controllers/deployment/ 301
|
||||
/docs/user-guide/downward-api/ /docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/ 301
|
||||
/docs/user-guide/downward-api/volume/ /docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/ 301
|
||||
/docs/user-guide/environment-guide/ /docs/tasks/inject-data-application/environment-variable-expose-pod-information/ 301
|
||||
/docs/user-guide/federation/cluster/ /docs/tasks/administer-federation/cluster/ 301
|
||||
/docs/user-guide/federation/configmap/ /docs/tasks/administer-federation/configmap/ 301
|
||||
/docs/user-guide/federation/daemonsets/ /docs/tasks/administer-federation/daemonset/ 301
|
||||
/docs/user-guide/federation/deployment/ /docs/tasks/administer-federation/deployment/ 301
|
||||
/docs/user-guide/federation/events/ /docs/tasks/administer-federation/events/ 301
|
||||
/docs/user-guide/federation/federated-ingress/ /docs/tasks/administer-federation/ingress/ 301
|
||||
/docs/user-guide/federation/federated-services/ /docs/tasks/federation/federation-service-discovery/ 301
|
||||
/docs/user-guide/federation/ /docs/concepts/cluster-administration/federation/ 301
|
||||
/docs/user-guide/federation/namespaces/ /docs/tasks/administer-federation/namespaces/ 301
|
||||
/docs/user-guide/federation/replicasets/ /docs/tasks/administer-federation/replicaset/ 301
|
||||
/docs/user-guide/federation/secrets/ /docs/tasks/administer-federation/secret/ 301
|
||||
/docs/user-guide/garbage-collection/ /docs/concepts/workloads/controllers/garbage-collection/ 301
|
||||
/docs/user-guide/getting-into-containers/ /docs/tasks/debug-application-cluster/get-shell-running-container/ 301
|
||||
/docs/user-guide/gpus/ /docs/tasks/manage-gpus/scheduling-gpus/ 301
|
||||
/docs/user-guide/horizontal-pod-autoscaling/ /docs/tasks/run-application/horizontal-pod-autoscale/ 301
|
||||
/docs/user-guide/horizontal-pod-autoscaling/walkthrough/ /docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ 301
|
||||
/docs/user-guide/identifiers/ /docs/concepts/overview/working-with-objects/names/ 301
|
||||
/docs/user-guide/images/ /docs/concepts/containers/images/ 301
|
||||
/docs/user-guide/ /docs/home/ 301
|
||||
/docs/user-guide/ingress/ /docs/concepts/services-networking/ingress/ 301
|
||||
/docs/user-guide/introspection-and-debugging/ /docs/tasks/debug-application-cluster/debug-application-introspection/ 301
|
||||
/docs/user-guide/jobs/ /docs/concepts/workloads/controllers/jobs-run-to-completion/ 301
|
||||
/docs/user-guide/jobs/expansions/ /docs/tasks/job/parallel-processing-expansion/ 301
|
||||
/docs/user-guide/jobs/work-queue-1/ /docs/tasks/job/coarse-parallel-processing-work-queue/ 301
|
||||
/docs/user-guide/jobs/work-queue-2/ /docs/tasks/job/fine-parallel-processing-work-queue/ 301
|
||||
/docs/user-guide/kubeconfig-file/ /docs/tasks/access-application-cluster/authenticate-across-clusters-kubeconfig/ 301
|
||||
/docs/user-guide/labels/ /docs/concepts/overview/working-with-objects/labels/ 301
|
||||
/docs/user-guide/liveness/ /docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ 301
|
||||
/docs/user-guide/load-balancer/ /docs/tasks/access-application-cluster/create-external-load-balancer/ 301
|
||||
/docs/user-guide/logging/elasticsearch/ /docs/tasks/debug-application-cluster/logging-elasticsearch-kibana/ 301
|
||||
/docs/user-guide/logging/overview/ /docs/concepts/cluster-administration/logging/ 301
|
||||
/docs/user-guide/logging/stackdriver/ /docs/tasks/debug-application-cluster/logging-stackdriver/ 301
|
||||
/docs/user-guide/managing-deployments/ /docs/concepts/cluster-administration/manage-deployment/ 301
|
||||
/docs/user-guide/monitoring/ /docs/tasks/debug-application-cluster/resource-usage-monitoring/ 301
|
||||
/docs/user-guide/namespaces/ /docs/concepts/overview/working-with-objects/namespaces/ 301
|
||||
/docs/user-guide/networkpolicies/ /docs/concepts/services-networking/network-policies/ 301
|
||||
/docs/user-guide/node-selection/ /docs/concepts/configuration/assign-pod-node/ 301
|
||||
/docs/user-guide/persistent-volumes/ /docs/concepts/storage/persistent-volumes/ 301
|
||||
/docs/user-guide/persistent-volumes/index /docs/concepts/storage/persistent-volumes/ 301
|
||||
/docs/user-guide/persistent-volumes/index.md /docs/concepts/storage/persistent-volumes/ 301
|
||||
/docs/user-guide/persistent-volumes/walkthrough/ /docs/tasks/configure-pod-container/configure-persistent-volume-storage/ 301
|
||||
/docs/user-guide/petset/ /docs/concepts/workloads/controllers/petset/ 301
|
||||
/docs/user-guide/petset/bootstrapping/ /docs/concepts/workloads/controllers/petset/ 301
|
||||
/docs/user-guide/pod-preset/ /docs/tasks/inject-data-application/podpreset/ 301
|
||||
/docs/user-guide/pod-security-policy/ /docs/concepts/policy/pod-security-policy/ 301
|
||||
/docs/user-guide/pod-states/ /docs/concepts/workloads/pods/pod-lifecycle/ 301
|
||||
/docs/user-guide/pod-templates/ /docs/concepts/workloads/pods/pod-overview/ 301
|
||||
/docs/user-guide/pods/ /docs/concepts/workloads/pods/pod/ 301
|
||||
/docs/user-guide/pods/init-container/ /docs/concepts/workloads/pods/init-containers/ 301
|
||||
/docs/user-guide/pods/multi-container/ /docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/ 301
|
||||
/docs/user-guide/pods/single-container/ /docs/tasks/run-application/run-stateless-application-deployment/ 301
|
||||
/docs/user-guide/prereqs/ /docs/tasks/tools/install-kubectl/ 301
|
||||
/docs/user-guide/production-pods/ /docs/tasks/ 301
|
||||
/docs/user-guide/projected-volume/ /docs/tasks/configure-pod-container/configure-projected-volume-storage/ 301
|
||||
/docs/user-guide/quick-start/ /docs/tasks/access-application-cluster/service-access-application-cluster/ 301
|
||||
/docs/user-guide/replicasets/ /docs/concepts/workloads/controllers/replicaset/ 301
|
||||
/docs/user-guide/replication-controller/ /docs/concepts/workloads/controllers/replicationcontroller/ 301
|
||||
/docs/user-guide/rolling-updates/ /docs/tasks/run-application/rolling-update-replication-controller/ 301
|
||||
/docs/user-guide/secrets/ /docs/concepts/configuration/secret/ 301
|
||||
/docs/user-guide/secrets/walkthrough/ /docs/tasks/inject-data-application/distribute-credentials-secure/ 301
|
||||
/docs/user-guide/service-accounts/ /docs/tasks/configure-pod-container/configure-service-account/ 301
|
||||
/docs/user-guide/services-firewalls/ /docs/tasks/access-application-cluster/configure-cloud-provider-firewall/ 301
|
||||
/docs/user-guide/services/ /docs/concepts/services-networking/service/ 301
|
||||
/docs/user-guide/services/operations/ /docs/tasks/access-application-cluster/connecting-frontend-backend/ 301
|
||||
/docs/user-guide/sharing-clusters/ /docs/tasks/administer-cluster/share-configuration/ 301
|
||||
/docs/user-guide/simple-nginx/ /docs/tasks/run-application/run-stateless-application-deployment/ 301
|
||||
/docs/user-guide/thirdpartyresources/ /docs/tasks/access-kubernetes-api/extend-api-third-party-resource/ 301
|
||||
/docs/user-guide/ui/ /docs/tasks/access-application-cluster/web-ui-dashboard/ 301
|
||||
/docs/user-guide/update-dem/ /docs/tasks/run-application/rolling-update-replication-controller/ 301
|
||||
/docs/user-guide/volumes/ /docs/concepts/storage/volumes/ 301
|
||||
/docs/user-guide/working-with-resources/ /docs/tutorials/object-management-kubectl/object-management/ 301
|
||||
|
||||
/docs/whatisk8s/ /docs/concepts/overview/what-is-kubernetes/ 301
|
||||
|
||||
|
||||
##############
|
||||
# address 404s
|
||||
#
|
||||
/concepts/containers/container-lifecycle-hooks/ /docs/concepts/containers/container-lifecycle-hooks/ 301
|
||||
|
||||
/docs/api-reference/apps/v1alpha1/definitions https://v1-4.docs.kubernetes.io/docs/api-reference/apps/v1alpha1/definitions/ 301
|
||||
/docs/api-reference/apps/v1beta1/operations https://v1-4.docs.kubernetes.io/docs/api-reference/apps/v1beta1/operations/ 301
|
||||
/docs/api-reference/authorization.k8s.io/v1beta1/definitions https://v1-4.docs.kubernetes.io/docs/api-reference/authorization.k8s.io/v1beta1/definitions/ 301
|
||||
/docs/api-reference/authorization.k8s.io/v1beta1/operations https://v1-4.docs.kubernetes.io/docs/api-reference/authorization.k8s.io/v1beta1/operations/ 301
|
||||
/docs/api-reference/autoscaling/v1/operations https://v1-4.docs.kubernetes.io/docs/api-reference/autoscaling/v1/operations/ 301
|
||||
/docs/api-reference/batch/v1/operations https://v1-4.docs.kubernetes.io/docs/api-reference/batch/v1/operations/ 301
|
||||
/docs/api-reference/batch/v2alpha1/definitions https://v1-4.docs.kubernetes.io/docs/api-reference/batch/v2alpha1/definitions/ 301
|
||||
/docs/api-reference/certificates.k8s.io/v1alpha1/definitions https://v1-4.docs.kubernetes.io/docs/api-reference/certificates.k8s.io/v1alpha1/definitions/ 301
|
||||
/docs/api-reference/certificates/v1alpha1/operations https://v1-4.docs.kubernetes.io/docs/api-reference/certificates/v1alpha1/operations/ 301
|
||||
/docs/api-reference/extensions/v1beta1/operations https://v1-4.docs.kubernetes.io/docs/api-reference/extensions/v1beta1/operations/ 301
|
||||
/docs/api-reference/policy/v1alpha1/definitions https://v1-4.docs.kubernetes.io/docs/api-reference/policy/v1alpha1/definitions/ 301
|
||||
/docs/api-reference/policy/v1beta1/definitions https://v1-4.docs.kubernetes.io/docs/api-reference/policy/v1beta1/definitions/ 301
|
||||
/docs/api-reference/README https://v1-4.docs.kubernetes.io/docs/api-reference/README/ 301
|
||||
/docs/api-reference/storage.k8s.io/v1beta1/operations https://v1-4.docs.kubernetes.io/docs/api-reference/storage.k8s.io/v1beta1/operations/ 301
|
||||
|
||||
/docs/api-reference/v1/definitions/ /docs/api-reference/v1.7/ 301
|
||||
/docs/api-reference/v1/operations/ /docs/api-reference/v1.7/ 301
|
||||
|
||||
/docs/concepts/cluster/ /docs/concepts/cluster-administration/cluster-administration-overview/ 301
|
||||
/docs/concepts/object-metadata/annotations/ /docs/concepts/overview/working-with-objects/annotations/ 301
|
||||
|
||||
/docs/contribute/write-new-topic/ /docs/home/contribute/write-new-topic/ 301
|
||||
|
||||
/docs/getting-started-guides/coreos/azure/ /docs/getting-started-guides/coreos/ 301
|
||||
/docs/getting-started-guides/coreos/bare_metal_calico/ /docs/getting-started-guides/coreos/ 301
|
||||
/docs/getting-started-guides/juju/ /docs/getting-started-guides/ubuntu/installation/ 301
|
||||
/docs/getting-started-guides/kargo/ /docs/getting-started-guides/kubespray/ 301
|
||||
/docs/getting-started-guides/logging-elasticsearch/ /docs/tasks/debug-application-cluster/logging-elasticsearch-kibana/ 301
|
||||
/docs/getting-started-guides/logging/ /docs/concepts/cluster-administration/logging/ 301
|
||||
/docs/getting-started-guides/rackspace/ /docs/setup/pick-right-solution/ 301
|
||||
/docs/getting-started-guides/ubuntu-calico/ /docs/getting-started-guides/ubuntu/ 301
|
||||
/docs/getting-started-guides/ubuntu/automated/ /docs/getting-started-guides/ubuntu/ 301
|
||||
/docs/getting-started-guides/vagrant/ /docs/getting-started-guides/alternatives/ 301
|
||||
/docs/getting-started-guides/windows/While/ /docs/getting-started-guides/windows/ 301
|
||||
|
||||
/docs/federation/api-reference/extensions/v1beta1/definitions/ /docs/reference/federation/extensions/v1beta1/definitions/ 301
|
||||
/docs/federation/api-reference/federation/v1beta1/definitions/ /docs/reference/federation/extensions/v1beta1/definitions/ 301
|
||||
/docs/federation/api-reference/README/ /docs/reference/federation/ 301
|
||||
/docs/federation/api-reference/v1/definitions/ /docs/reference/federation/v1/definitions/ 301
|
||||
/docs/reference/federation/v1beta1/definitions/ /docs/reference/federation/extensions/v1beta1/definitions/ 301
|
||||
/docs/reference/federation/v1beta1/operations/ /docs/reference/federation/extensions/v1beta1/operations/ 301
|
||||
|
||||
/docs/reporting-security-issues/ /security/ 301
|
||||
|
||||
/docs/stable/user-guide/labels/ /docs/concepts/overview/working-with-objects/labels/ 301
|
||||
/docs/tasks/access-application-cluster/access-cluster.md /docs/tasks/access-application-cluster/access-cluster/ 301
|
||||
/docs/tasks/access-application-cluster/authenticate-across-clusters-kubeconfig/ /docs/tasks/access-application-cluster/configure-access-multiple-clusters/ 301
|
||||
/docs/tasks/access-kubernetes-api/access-kubernetes-api/http-proxy-access-api/ /docs/tasks/access-kubernetes-api/http-proxy-access-api/ 301
|
||||
/docs/tasks/administer-cluster/reserve-compute-resources/out-of-resource.md /docs/tasks/administer-cluster/out-of-resource/ 301
|
||||
/docs/tasks/configure-pod-container/configure-pod-disruption-budget/ /docs/tasks/run-application/configure-pdb/ 301
|
||||
/docs/tasks/configure-pod-container/define-command-argument-container/ /docs/tasks/inject-data-application/define-command-argument-container/ 301
|
||||
|
||||
/docs/tasks/debug-application-cluster/sematext-logging-monitoring/ https://sematext.com/kubernetes/ 301
|
||||
|
||||
/docs/tasks/job/work-queue-1/ /docs/concepts/workloads/controllers/jobs-run-to-completion/ 301
|
||||
/docs/tasks/manage-stateful-set/delete-pods/ /docs/tasks/run-application/delete-stateful-set/ 301
|
||||
|
||||
/docs/tutorials/getting-started/cluster-intro/ /docs/tutorials/kubernetes-basics/cluster-intro/ 301
|
||||
/docs/tutorials/getting-started/expose-intro/ /docs/tutorials/kubernetes-basics/expose-intro/ 301
|
||||
/docs/tutorials/getting-started/scale-app/ /docs/tutorials/kubernetes-basics/scale-interactive/ 301
|
||||
/docs/tutorials/getting-started/scale-intro/ /docs/tutorials/kubernetes-basics/scale-intro/ 301
|
||||
/docs/tutorials/getting-started/update-interactive/ /docs/tutorials/kubernetes-basics/update-interactive/ 301
|
||||
/docs/tutorials/getting-started/update-intro/ /docs/tutorials/kubernetes-basics/ 301
|
||||
|
||||
/docs/user-guide/containers/ /docs/tasks/inject-data-application/define-command-argument-container/ 301
|
||||
/docs/user-guide/horizontal-pod-autoscaling/walkthrough.md /docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ 301
|
||||
/docs/user-guide/ingress.md /docs/concepts/services-networking/ingress/ 301
|
||||
/docs/user-guide/replication-controller/operations/ /docs/concepts/workloads/controllers/replicationcontroller/ 301
|
||||
/docs/user-guide/resizing-a-replication-controller/ /docs/concepts/workloads/controllers/replicationcontroller/ 301
|
||||
/docs/user-guide/scheduled-jobs/ /docs/concepts/workloads/controllers/cron-jobs/ 301
|
||||
/docs/user-guide/security-context/ /docs/tasks/configure-pod-container/security-context/ 301
|
||||
|
||||
/kubernetes-bootcamp/2-1.html /docs/tutorials/kubernetes-basics/ 301
|
||||
/kubernetes-bootcamp/2-3-2.html /docs/tutorials/kubernetes-basics/ 301
|
||||
/kubernetes /docs/ 301
|
||||
/kubernetes/swagger-spec https://github.com/kubernetes/kubernetes/tree/master/api/swagger-spec/ 301
|
||||
/serviceaccount/token/ /docs/tasks/configure-pod-container/configure-service-account/ 301
|
||||
|
||||
/v1.1/docs/admin/networking.html/ /docs/concepts/cluster-administration/networking/ 301
|
||||
/v1.1/docs/getting-started-guides/ /docs/tutorials/kubernetes-basics/ 301
|
||||
|
||||
#################################
|
||||
# redirects from /js/redirects.js
|
||||
#
|
||||
|
||||
/resource-quota/ /docs/concepts/policy/resource-quotas/ 301
|
||||
/horizontal-pod-autoscaler/ /docs/tasks/run-application/horizontal-pod-autoscale/ 301
|
||||
/docs/roadmap/ https://github.com/kubernetes/kubernetes/milestones/ 301
|
||||
/api-ref/ https://github.com/kubernetes/kubernetes/milestones/ 301
|
||||
/kubernetes/third_party/swagger-ui/ /docs/reference/ 301
|
||||
/docs/user-guide/overview/ /docs/concepts/overview/what-is-kubernetes/ 301
|
||||
/docs/troubleshooting/ /docs/tasks/debug-application-cluster/troubleshooting/ 301
|
||||
/docs/concepts/services-networking/networkpolicies/ /docs/concepts/services-networking/network-policies/ 301
|
||||
/docs/getting-started-guides/meanstack/ https://medium.com/google-cloud/running-a-mean-stack-on-google-cloud-platform-with-kubernetes-149ca81c2b5d/ 301
|
||||
/docs/samples/ /docs/tutorials/ 301
|
||||
|
||||
/v1.1 301
|
||||
/v1.0 301
|
||||
|
||||
########################################################
|
||||
# Redirect users with chinese language preference to /cn
|
||||
#
|
||||
#/ /cn 302 Language=zh
|
||||
|
||||
###########################
|
||||
# Fixed 404s from analytics
|
||||
#
|
||||
|
||||
/concepts/containers/container-lifecycle-hooks/ /docs/concepts/containers/container-lifecycle-hooks/ 301
|
||||
/docs/abstractions/controllers/petset/ /docs/concepts/workloads/controllers/petset/ 301
|
||||
|
||||
/docs/admin/add-ons/ /docs/concepts/cluster-administration/addons/ 301
|
||||
/docs/admin/limitrange/Limits/ /docs/tasks/administer-cluster/limit-storage-consumption/#limitrange-to-limit-requests-for-storage/ 301
|
||||
|
||||
/docs/concepts/cluster-administration/device-plugins/ /docs/concepts/cluster-administration/network-plugins/ 301
|
||||
/docs/concepts/configuration/container-command-args/ /docs/tasks/inject-data-application/define-command-argument-container/ 301
|
||||
/docs/concepts/ecosystem/thirdpartyresource/ /docs/tasks/access-kubernetes-api/extend-api-third-party-resource/ 301
|
||||
/docs/concepts/overview/ /docs/concepts/overview/what-is-kubernetes/ 301
|
||||
/docs/concepts/policy/container-capabilities/ /docs/tasks/configure-pod-container/security-context/#set-capabilities-for-a-container/ 301
|
||||
/docs/concepts/policy/security-context/ /docs/tasks/configure-pod-container/security-context/ 301
|
||||
/docs/concepts/storage/volumes/emptyDirapiVersion/ /docs/concepts/storage/volumes/#emptydir/ 301
|
||||
/docs/concepts/tools/kubectl/object-management-using-commands/ /docs/tutorials/object-management-kubectl/imperative-object-management-command/ 301
|
||||
/docs/concepts/workload/pods/pod-overview/ /docs/concepts/workloads/pods/pod-overview 301
|
||||
/docs/concepts/workloads/controllers/cron-jobs/deployment/ /docs/concepts/workloads/controllers/cron-jobs/ 301
|
||||
/docs/concepts/workloads/controllers/statefulsets/ /docs/concepts/workloads/controllers/statefulset/ 301
|
||||
/docs/concepts/workloads/pods/init-containers/Kubernetes /docs/concepts/workloads/pods/init-containers/ 301
|
||||
|
||||
/docs/consumer-guideline/pod-security-coverage/ /docs/concepts/policy/pod-security-policy/ 301
|
||||
|
||||
/docs/contribute/create-pull-request/ /docs/home/contribute/create-pull-request 301
|
||||
/docs/contribute/page-templates/ /docs/home/contribute/page-templates 301
|
||||
/docs/contribute/review-issues/ /docs/home/contribute/review-issues 301
|
||||
/docs/contribute/stage-documentation-changes/ /docs/home/contribute/stage-documentation-changes/ 301
|
||||
/docs/contribute/style-guide/ /docs/home/contribute/style-guide 301
|
||||
|
||||
/docs/deprecate/ /ddocs/reference/deprecation-policy/ 301
|
||||
/docs/deprecation-policy/ /docs/reference/deprecation-policy/ 301
|
||||
|
||||
/docs/federation/api-reference/ /docs/reference/federation/v1/operations/ 301
|
||||
/docs/federation/api-reference/extensions/v1beta1/operations/ /docs/reference/federation/extensions/v1beta1/operations/ 301
|
||||
/docs/federation/api-reference/federation/v1beta1/operations/ /docs/reference/federation/extensions/v1beta1/operations/ 301
|
||||
/docs/federation/api-reference/v1/operations/ /docs/reference/federation/v1/operations/ 301
|
||||
|
||||
/docs/home/deprecation-policy/ /docs/reference/deprecation-policy/ 301
|
||||
|
||||
/docs/stable/user-guide/labels/ /docs/concepts/overview/working-with-objects/labels/ 301
|
||||
|
||||
/docs/tasks/administer-cluster/apply-resource-quota-limit/ /docs/tasks/administer-cluster/quota-api-object/ 301
|
||||
/docs/tasks/administer-cluster/configure-namespace-isolation/ /docs/concepts/services-networking/network-policies/ 301
|
||||
/docs/tasks/administer-cluster/configure-pod-disruption-budget/ /docs/tasks/run-application/configure-pdb/ 301
|
||||
/docs/tasks/administer-cluster/cpu-management-policies/ /docs/concepts/configuration/manage-compute-resources-container/ 301
|
||||
/docs/tasks/administer-cluster/default-cpu-request-limit/ /docs/tasks/configure-pod-container/assign-cpu-resource/#specify-a-cpu-request-and-a-cpu-limit/ 301
|
||||
/docs/tasks/administer-cluster/default-memory-request-limit/ /docs/tasks/configure-pod-container/assign-memory-resource/#specify-a-memory-request-and-a-memory-limit/ 301
|
||||
|
||||
/docs/tasks/configure-pod-container/cilium-network-policy/ /docs/tasks/administer-cluster/cilium-network-policy/ 301
|
||||
/docs/tasks/configure-pod-container/define-command-argument-container/ /docs/tasks/inject-data-application/define-command-argument-container/ 301
|
||||
/docs/tasks/configure-pod-container/projected-volume/ /docs/tasks/configure-pod-container/configure-projected-volume-storage/ 301
|
||||
|
||||
/docs/tasks/stateful-sets/deleting-pods/ /docs/tasks/run-application/force-delete-stateful-set-pod/ 301
|
||||
|
||||
/docs/user-guide/liveness/ /docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ 301
|
||||
/docs/user-guide/logging/ /docs/concepts/cluster-administration/logging/ 301
|
||||
/docs/user-guide/replication-controller/operations/ /docs/concepts/workloads/controllers/replicationcontroller/ 301
|
||||
/docs/user-guide/service-accounts/working-with-resources/ /docs/tutorials/object-management-kubectl/object-management/ 301
|
||||
/docs/user-guide/StatefulSet/ /docs/concepts/workloads/controllers/statefulset/ 301
|
||||
/docs/user-guide/ui-access/ /docs/tasks/access-application-cluster/web-ui-dashboard/ 301
|
||||
|
||||
/latest/docs/ /docs/home/ 301
|
||||
|
||||
/kubernetes/swagger-spec https://github.com/kubernetes/kubernetes/tree/master/api/swagger-spec/ 301
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,199 @@
|
||||
/* Default gh-pages-blog css from https://github.com/thedereck/gh-pages-blog/blob/master/css/syntax.css */
|
||||
.highlight br
|
||||
display: none
|
||||
|
||||
.highlight
|
||||
background: #ffffff
|
||||
|
||||
.highlight .c
|
||||
color: #999988
|
||||
font-style: italic
|
||||
|
||||
.highlight .err
|
||||
color: #a61717
|
||||
background-color: #e3d2d2
|
||||
|
||||
.highlight .k
|
||||
font-weight: bold
|
||||
|
||||
.highlight .o
|
||||
font-weight: bold
|
||||
|
||||
.highlight .cm
|
||||
color: #999988
|
||||
font-style: italic
|
||||
|
||||
.highlight .cp
|
||||
color: #999999
|
||||
font-weight: bold
|
||||
|
||||
.highlight .c1
|
||||
color: #999988
|
||||
font-style: italic
|
||||
|
||||
.highlight .cs
|
||||
color: #999999
|
||||
font-weight: bold
|
||||
font-style: italic
|
||||
|
||||
.highlight .gd
|
||||
color: #000000
|
||||
background-color: #ffdddd
|
||||
|
||||
.highlight .gd .x
|
||||
color: #000000
|
||||
background-color: #ffaaaa
|
||||
|
||||
.highlight .ge
|
||||
font-style: italic
|
||||
|
||||
.highlight .gr
|
||||
color: #aa0000
|
||||
|
||||
.highlight .gh
|
||||
color: #999999
|
||||
|
||||
.highlight .gi
|
||||
color: #000000
|
||||
background-color: #ddffdd
|
||||
|
||||
.highlight .gi .x
|
||||
color: #000000
|
||||
background-color: #aaffaa
|
||||
|
||||
.highlight .go
|
||||
color: #888888
|
||||
|
||||
.highlight .gp
|
||||
color: #555555
|
||||
|
||||
.highlight .gs
|
||||
font-weight: bold
|
||||
|
||||
.highlight .gu
|
||||
color: #aaaaaa
|
||||
|
||||
.highlight .gt
|
||||
color: #aa0000
|
||||
|
||||
.highlight .kc
|
||||
font-weight: bold
|
||||
|
||||
.highlight .kd
|
||||
font-weight: bold
|
||||
|
||||
.highlight .kp
|
||||
font-weight: bold
|
||||
|
||||
.highlight .kr
|
||||
font-weight: bold
|
||||
|
||||
.highlight .kt
|
||||
color: #445588
|
||||
font-weight: bold
|
||||
|
||||
.highlight .m
|
||||
color: #009999
|
||||
|
||||
.highlight .s
|
||||
color: #d14
|
||||
|
||||
.highlight .na
|
||||
color: #008080
|
||||
|
||||
.highlight .nb
|
||||
color: #0086B3
|
||||
|
||||
.highlight .nc
|
||||
color: #445588
|
||||
font-weight: bold
|
||||
|
||||
.highlight .no
|
||||
color: #008080
|
||||
|
||||
.highlight .ni
|
||||
color: #800080
|
||||
|
||||
.highlight .ne
|
||||
color: #990000
|
||||
font-weight: bold
|
||||
|
||||
.highlight .nf
|
||||
color: #990000
|
||||
font-weight: bold
|
||||
|
||||
.highlight .nn
|
||||
color: #555555
|
||||
|
||||
.highlight .nt
|
||||
color: #000080
|
||||
|
||||
.highlight .nv
|
||||
color: #008080
|
||||
|
||||
.highlight .ow
|
||||
font-weight: bold
|
||||
|
||||
.highlight .w
|
||||
color: #bbbbbb
|
||||
|
||||
.highlight .mf
|
||||
color: #009999
|
||||
|
||||
.highlight .mh
|
||||
color: #009999
|
||||
|
||||
.highlight .mi
|
||||
color: #009999
|
||||
|
||||
.highlight .mo
|
||||
color: #009999
|
||||
|
||||
.highlight .sb
|
||||
color: #d14
|
||||
|
||||
.highlight .sc
|
||||
color: #d14
|
||||
|
||||
.highlight .sd
|
||||
color: #d14
|
||||
|
||||
.highlight .s2
|
||||
color: #d14
|
||||
|
||||
.highlight .se
|
||||
color: #d14
|
||||
|
||||
.highlight .sh
|
||||
color: #d14
|
||||
|
||||
.highlight .si
|
||||
color: #d14
|
||||
|
||||
.highlight .sx
|
||||
color: #d14
|
||||
|
||||
.highlight .sr
|
||||
color: #009926
|
||||
|
||||
.highlight .s1
|
||||
color: #d14
|
||||
|
||||
.highlight .ss
|
||||
color: #990073
|
||||
|
||||
.highlight .bp
|
||||
color: #999999
|
||||
|
||||
.highlight .vc
|
||||
color: #008080
|
||||
|
||||
.highlight .vg
|
||||
color: #008080
|
||||
|
||||
.highlight .vi
|
||||
color: #008080
|
||||
|
||||
.highlight .il
|
||||
color: #009999
|
||||
|
||||
@@ -49,7 +49,7 @@ $video-section-height: 550px
|
||||
|
||||
#searchBox
|
||||
float: right
|
||||
width: 250px
|
||||
width: 320px
|
||||
|
||||
#search
|
||||
vertical-align: middle
|
||||
@@ -97,15 +97,12 @@ $video-section-height: 550px
|
||||
section, header, footer
|
||||
main
|
||||
max-width: $main-max-width
|
||||
|
||||
|
||||
header, #vendorStrip, #encyclopedia, #hero h1, #hero h5, #docs #hero h1, #docs #hero h5,
|
||||
#community #hero h1, .gridPage #hero h1, #community #hero h5, .gridPage #hero h5
|
||||
padding-left: 100px
|
||||
padding-right: 100px
|
||||
|
||||
#vendorStrip
|
||||
padding-right: 10px
|
||||
|
||||
#home
|
||||
section, header, footer
|
||||
main
|
||||
@@ -138,7 +135,7 @@ $video-section-height: 550px
|
||||
#video
|
||||
height: $video-section-height
|
||||
position: relative
|
||||
background-image: url(../images/kub_video_banner_box.jpg)
|
||||
background-image: url(../images/kub_video_banner.jpg)
|
||||
background-position: center center
|
||||
background-size: cover
|
||||
|
||||
@@ -299,7 +296,7 @@ $video-section-height: 550px
|
||||
width: auto
|
||||
background-color: $blue
|
||||
padding: 0 20px
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -312,12 +309,3 @@ $video-section-height: 550px
|
||||
div
|
||||
width: 24%
|
||||
min-height: 260px
|
||||
|
||||
@media screen and (min-width: 1300px)
|
||||
#vendorStrip
|
||||
padding-right: 100px
|
||||
|
||||
@media screen and (min-width: 456px)
|
||||
#vendorStrip
|
||||
li + li
|
||||
margin-left: 20px
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Ancestry Case Study
|
||||
|
||||
layout: basic
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
css: /css/style_ancestry.css
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Box Case Study
|
||||
|
||||
layout: basic
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
css: /css/style_box.css
|
||||
Regular → Executable
+1
-1
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Buffer Case Study
|
||||
|
||||
layout: basic
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
css: /css/style_buffer.css
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: GolfNow Case Study
|
||||
|
||||
layout: basic
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
css: /css/style_golfnow.css
|
||||
@@ -56,7 +56,7 @@ css: /css/style_golfnow.css
|
||||
<br> <br>
|
||||
The path to those stellar results began in late 2014. In order to support GolfNow’s global growth, the team decided that the company needed to have multiple data centers and the ability to quickly and easily re-route traffic as needed. "From there we knew that we needed to go in a direction of breaking things apart, microservices, and containerization," says Sheriff. "At the time we were trying to get away from <a href="https://www.microsoft.com/net">C#.NET</a> and <a href="https://www.microsoft.com/en-cy/sql-server/sql-server-2016">SQL Server</a> since it didn’t run very well on Linux, where everything container was running smoothly."
|
||||
<br> <br>
|
||||
To that end, the team shifted to working with <a href="https://nodejs.org/">Node.js</a>, the open-source, cross-platform JavaScript runtime environment for developing tools and applications, and <a href="https://www.mongodb.com/">MongoDB</a>, the open-source database program. At the time, <a href="https://www.docker.com/">Docker</a>, the platform for deploying applications in containers, was still new. But once the team began experimenting with it, Sheriff says, "we realized that was the way we wanted to go, especially since that’s the way the industry is heading."
|
||||
To that end, the team shifted to working with <a href="https://nodejs.org/">Node.js</a>, the open-source, cross-platform JavaScript runtime environment for developing tools and applications, and <a href="https://www.mongodb.com/">MongoDB</a>, the open-source database program. At the time, <ahref="https://www.docker.com/">Docker</a>, the platform for deploying applications in containers, was still new. But once the team began experimenting with it, Sheriff says, "we realized that was the way we wanted to go, especially since that’s the way the industry is heading."
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
---
|
||||
title: Case Studies
|
||||
layout: basic
|
||||
class: gridPage
|
||||
cid: caseStudies
|
||||
---
|
||||
|
||||
<section id="hero" class="light-text">
|
||||
<h1>Kubernetes User Case Studies</h1>
|
||||
<h5>A collection of users running Kubernetes in production.</h5>
|
||||
</section>
|
||||
|
||||
<section id="mainContent">
|
||||
<main>
|
||||
<div class="content">
|
||||
<div class="case-studies">
|
||||
<div class="case-study">
|
||||
<img src="/images/case_studies/peardeck.png" alt="peardeck">
|
||||
<p class="quote">"In terms of the cloud, Kubernetes and Prometheus have so much to offer."</p>
|
||||
<!--<p class="attrib">— Riley Eynon-Lynch, CEO of Pear Deck</p>-->
|
||||
<a href="/case-studies/peardeck/">Read about Pear Deck</a>
|
||||
</div>
|
||||
<div class="case-study">
|
||||
<img src="/images/case_studies/buffer.png" alt="Buffer">
|
||||
<p class="quote">"It’s amazing that we can use the Kubernetes solution off the shelf with our team. And it just keeps getting better."</p>
|
||||
<!--<p class="attrib">— Dan Farrelly, Buffer Architect</p>-->
|
||||
<a href="/case-studies/buffer/">Read about Buffer</a>
|
||||
</div>
|
||||
<div class="case-study">
|
||||
<img src="/images/case_studies/wink_logo.png" alt="Wink">
|
||||
<p class="quote">"What you get by adopting CoreOS/Kubernetes is portability, to not be locked in to anyone. You can really make your own fate."</p>
|
||||
<!--<p class="attrib">— Kit Klein, Head of Engineering at Wink</p>-->
|
||||
<a href="/case-studies/wink/">Read about Wink</a>
|
||||
</div>
|
||||
<div class="case-study">
|
||||
<img src="/images/case_studies/ancestry-logo.png" alt="Ancestry">
|
||||
<p class="quote">"Kubernetes saved our time tremendously; it’s an enabler. It really is incredible."</p>
|
||||
<!--<p class="attrib">— Paul MacKay, Software Engineer and Architect at Ancestry</p>-->
|
||||
<a href="/case-studies/ancestry/">Read about Ancestry.com</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</section>
|
||||
|
||||
<section id="video">
|
||||
<main>
|
||||
<!--<div><button onclick="kub.showVideo()"><img src="/images/case_studies/video_thumb.jpg" alt="Zulily video"><h6>Kubernetes at zulily</h6></button></div>-->
|
||||
<div>
|
||||
<!--<h3>Box</h3>-->
|
||||
<h4><i>"Kubernetes has the opportunity to be the new cloud platform. The amount of innovation that's going to come from being able to standardize on Kubernetes as a platform is incredibly exciting - more exciting than anything I've seen in the last 10 years of working on the cloud."</i></h4>
|
||||
<img src="/images/case_studies/box-small.png" id="boxlogo" alt="Box">
|
||||
</div>
|
||||
<div style= "padding-left: 40px;"><button onclick="kub.showVideo()"><img src="/images/case_studies/Video-Clip-Box.png" alt="Box video"><h6>Kubernetes at Box</h6></button></div>
|
||||
</main>
|
||||
</section>
|
||||
|
||||
<section id="users">
|
||||
<main>
|
||||
<h3>Kubernetes Users</h3>
|
||||
<div id="usersGrid">
|
||||
<a target="_blank" href="http://www.nextplatform.com/2015/08/04/amadeus-takes-off-with-containers-and-clouds/"><img src="/images/case_studies/amadeus.png" alt="Amadeus"></a>
|
||||
<a target="_blank" href="/case-studies/ancestry/"><img src="/images/case_studies/ancestry.png" alt="Ancestry.com"></a>
|
||||
<a target="_blank" href="/case-studies/box/"><img src="/images/case_studies/box_logo.png" alt="box"></a>
|
||||
<a target="_blank" href="/case-studies/buffer/"><img src="/images/case_studies/buffer_logo.png" alt="Buffer"></a>
|
||||
<a target="_blank" href="https://cloud.google.com/customers/ccp-games/"><img src="/images/case_studies/ccp.png" alt="CCP Games"></a>
|
||||
<a target="_blank" href="https://youtu.be/lmeFkH-rHII"><img src="/images/case_studies/comcast_logo.png" alt="Comcast"></a>
|
||||
<a target="_blank" href="http://searchitoperations.techtarget.com/news/450297178/Tech-firms-roll-out-Kubernetes-in-production"><img src="/images/case_studies/concur.png" alt="Concur"></a>
|
||||
<a target="_blank" href="http://www.nextplatform.com/2015/11/12/inside-ebays-shift-to-kubernetes-and-containers-atop-openstack/"><img src="/images/case_studies/ebay_logo.png" alt="Ebay"></a>
|
||||
<a target="_blank" href="http://blogs.wsj.com/cio/2016/02/24/big-changes-in-goldmans-software-emerge-from-small-containers/"><img src="/images/case_studies/gs.png" alt="Goldman Sachs"></a>
|
||||
<a target="_blank" href="/case-studies/golfnow/"><img src="/images/case_studies/golfnow_logo.png" alt="GolfNow"></a>
|
||||
<a target="_blank" href="http://blog.kubernetes.io/2017/02/inside-jd-com-shift-to-kubernetes-from-openstack.html"><img src="/images/case_studies/jd.png" alt="JD.COM"></a>
|
||||
<a target="_blank" href="https://www.openstack.org/videos/video/running-kubernetes-on-openstack-at-liveperson"><img src="/images/case_studies/liveperson.png" alt="LivePerson"></a>
|
||||
<a target="_blank" href="https://youtu.be/YkOY7DgXKyw"><img src="/images/case_studies/monzo_logo.png" alt="monzo"></a>
|
||||
<a target="_blank" href="https://www.youtube.com/watch?v=P5qfyv_zGcU"><img src="/images/case_studies/nyt.png" alt="New York Times"></a>
|
||||
<a target="_blank" href="https://openai.com/blog/infrastructure-for-deep-learning"><img src="/images/case_studies/openai.png" alt="OpenAI"></a>
|
||||
<a target="_blank" href="/case-studies/peardeck/"><img src="/images/case_studies/peardeck_logo.png" alt="peardeck"></a>
|
||||
<a href="/case-studies/pearson/"><img src="/images/case_studies/pearson_logo.png" alt="Pearson"></a>
|
||||
<a target="_blank" href="https://cloud.google.com/customers/philips/"><img src="/images/case_studies/philips_logo.png" alt="Philips"></a>
|
||||
<a target="_blank" href="https://cloudplatform.googleblog.com/2016/09/bringing-Pokemon-GO-to-life-on-Google-Cloud.html"><img src="/images/case_studies/pokemon_go_logo.png" alt="Pokemon GO"></a>
|
||||
<a target="_blank" href="http://www.nextplatform.com/2016/05/24/samsung-experts-put-kubernetes-paces/"><img src="/images/case_studies/sds.png" alt="Samsung SDS"></a>
|
||||
<a target="_blank" href="https://youtu.be/4gyeixJLabo"><img src="/images/case_studies/sap.png" alt="SAP"></a>
|
||||
<a target="_blank" href="https://www.youtube.com/watch?v=5378N5iLb2Q"><img src="/images/case_studies/soundcloud.png" alt="SoundCloud"></a>
|
||||
<a target="_blank" href="https://www.youtube.com/watch?v=F3iMkz_NSvU"><img src="/images/case_studies/homeoffice.png" alt="UK Home Office"></a>
|
||||
<a target="_blank" href="http://thenewstack.io/wepay-kubernetes-changed-business/"><img src="/images/case_studies/wepay.png" alt="WePay"></a>
|
||||
<a target="_blank" href="/case-studies/wink/"><img src="/images/case_studies/wink.png" alt="Wink"></a>
|
||||
<a href="/case-studies/wikimedia/"><img src="/images/case_studies/wikimedia_logo.png" alt="Wikimedia"></a>
|
||||
<a target="_blank" href="http://blog.kubernetes.io/2016/10/kubernetes-and-openstack-at-yahoo-japan.html"><img src="/images/case_studies/yahooJapan_logo.png" alt="Yahoo! Japan"></a>
|
||||
<a target="_blank" href="#" onclick="event.preventDefault(); kub.showVideo()"><img src="/images/case_studies/zulily_logo.png" alt="zulily"></a>
|
||||
<a target="_blank" href="https://docs.google.com/a/google.com/forms/d/e/1FAIpQLScuI7Ye3VQHQTwBASrgkjQDSS5TP0g3AXfFhwSM9YpHgxRKFA/viewform" class="tell-your-story"><img src="/images/case_studies/story.png" alt="Tell your story"></a>
|
||||
</div>
|
||||
</main>
|
||||
</section>
|
||||
|
||||
|
||||
<div id="videoPlayer">
|
||||
<!--<iframe data-url="https://www.youtube.com/watch?v=of45hYbkIZs" frameborder="0" allowfullscreen></iframe>-->
|
||||
<iframe data-url="https://www.youtube.com/embed/of45hYbkIZs?autoplay=1" frameborder="0" allowfullscreen="true"></iframe>
|
||||
<button id="closeButton"></button>
|
||||
</div>
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Pear Deck Case Study
|
||||
|
||||
layout: basic
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
css: /css/style_peardeck.css
|
||||
@@ -26,7 +26,7 @@ css: /css/style_peardeck.css
|
||||
|
||||
<div class="col2">
|
||||
<h2>Solution</h2>
|
||||
In 2016, the company began moving their code from Heroku to <a href="https://www.docker.com/">Docker</a> containers running on <a href="https://cloud.google.com/kubernetes-engine/">Google Kubernetes Engine</a>, orchestrated by <a href="http://kubernetes.io/">Kubernetes</a> and monitored with <a href="https://prometheus.io/">Prometheus</a>.
|
||||
In 2016, the company began moving their code from Heroku to <a href="https://www.docker.com/">Docker</a> containers running on <a href="https://cloud.google.com/container-engine/">Google Container Engine</a>, orchestrated by <a href="http://kubernetes.io/">Kubernetes</a> and monitored with <a href="https://prometheus.io/">Prometheus</a>.
|
||||
<br>
|
||||
<br>
|
||||
<h2>Impact</h2>
|
||||
@@ -51,22 +51,22 @@ But once it launched, the user base began growing steadily at a rate of 30 perce
|
||||
<br><br>
|
||||
On top of that, many of Pear Deck’s customers are behind government firewalls and connect through Firebase, not Pear Deck’s servers, making troubleshooting even more difficult.
|
||||
<br><br>
|
||||
The team began looking around for another solution, and finally decided in early 2016 to start moving the app from Heroku to <a href="https://www.docker.com/">Docker</a> containers running on <a href="https://cloud.google.com/kubernetes-engine/">Google Kubernetes Engine</a>, orchestrated by <a href="http://kubernetes.io/">Kubernetes</a> and monitored with <a href="https://prometheus.io/">Prometheus</a>.
|
||||
The team began looking around for another solution, and finally decided in early 2016 to start moving the app from Heroku to <a href="https://www.docker.com/">Docker</a> containers running on <a href="https://cloud.google.com/container-engine/">Google Container Engine</a>, orchestrated by <a href="http://kubernetes.io/">Kubernetes</a> and monitored with <a href="https://prometheus.io/">Prometheus</a>.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="banner3">
|
||||
<div class="banner3text">
|
||||
"When it became clear that Google Kubernetes Engine was going to have a lot of support from Google and be a fully-managed Kubernetes platform, it seemed very obvious to us that was the way to go," says Eynon-Lynch.
|
||||
"When it became clear that Google Container Engine was going to have a lot of support from Google and be a fully-managed Kubernetes platform, it seemed very obvious to us that was the way to go," says Eynon-Lynch.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="section3">
|
||||
<div class="fullcol">
|
||||
They had considered other options like Google’s App Engine (which they were already using for one service) and Amazon’s <a href="https://aws.amazon.com/ec2/">Elastic Compute Cloud</a> (EC2), while experimenting with running one small service that wasn’t accessible to the Internet in Kubernetes. "When it became clear that Google Kubernetes Engine was going to have a lot of support from Google and be a fully-managed Kubernetes platform, it seemed very obvious to us that was the way to go," says Eynon-Lynch. "We didn’t really consider Terraform and the other competitors because the abstractions offered by Kubernetes just jumped off the page to us."<br><br>
|
||||
They had considered other options like Google’s App Engine (which they were already using for one service) and Amazon’s <a href="https://aws.amazon.com/ec2/">Elastic Compute Cloud</a> (EC2), while experimenting with running one small service that wasn’t accessible to the Internet in Kubernetes. "When it became clear that Google Container Engine was going to have a lot of support from Google and be a fully-managed Kubernetes platform, it seemed very obvious to us that was the way to go," says Eynon-Lynch. "We didn’t really consider Terraform and the other competitors because the abstractions offered by Kubernetes just jumped off the page to us."<br><br>
|
||||
Once the team started porting its Heroku apps into Kubernetes, which was "super easy," he says, the impact was immediate. "Before, to make a new version of the app meant going to Heroku and reconfiguring 10 new services, so basically no one was willing to do it, and we never staged things," he says. "Now we can deploy our exact same configuration in lots of different clusters in 30 seconds. We have a full set up that’s always running, and then any of our developers or designers can stage new versions with one command, including their recent changes. We stage all the time now, and everyone stopped talking about how cool it is because it’s become invisible how great it is."
|
||||
<br><br>
|
||||
Along with Kubernetes came Prometheus. "Until pretty recently we didn’t have any kind of visibility into aggregate server metrics or performance," says Eynon-Lynch. The team had tried to use Google Kubernetes Engine’s <a href="https://cloud.google.com/stackdriver/">Stackdriver</a> monitoring, but had problems making it work, and considered <a href="https://newrelic.com/">New Relic</a>. When they started looking at Prometheus in the fall of 2016, "the fit between the abstractions in Prometheus and the way we think about how our system works, was so clear and obvious," he says.<br><br>
|
||||
Along with Kubernetes came Prometheus. "Until pretty recently we didn’t have any kind of visibility into aggregate server metrics or performance," says Eynon-Lynch. The team had tried to use GKE’s <a href="https://cloud.google.com/stackdriver/">Stackdriver</a> monitoring, but had problems making it work, and considered <a href="https://newrelic.com/">New Relic</a>. When they started looking at Prometheus in the fall of 2016, "the fit between the abstractions in Prometheus and the way we think about how our system works, was so clear and obvious," he says.<br><br>
|
||||
The integration with Kubernetes made set-up easy. Once Helm installed Prometheus, "We started getting a graph of the health of all our Kubernetes nodes and pods immediately. I think we were pretty hooked at that point," Eynon-Lynch says. "Then we got our own custom instrumentation working in 15 minutes, and had an actively updated count of requests that we could do, rate on and get a sense of how many users are connected at a given point. And then it was another hour before we had alarms automatically showing up in our Slack channel. All that was in one afternoon. And it was an afternoon of gasping with delight, basically!"
|
||||
</div>
|
||||
</section>
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Pearson Case Study
|
||||
|
||||
layout: basic
|
||||
class: gridPage
|
||||
cid: caseStudies
|
||||
---
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Wikimedia Case Study
|
||||
|
||||
layout: basic
|
||||
class: gridPage
|
||||
cid: caseStudies
|
||||
---
|
||||
Regular → Executable
+1
-1
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Wink Case Study
|
||||
|
||||
layout: basic
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
css: /css/style_wink.css
|
||||
@@ -0,0 +1,18 @@
|
||||
## 如何参与 Kubernetes 文档汉化工作
|
||||
|
||||
我们非常欢迎,非常希望您参与 Kubernetes 文档汉化做出贡献。
|
||||
|
||||
您可以单击屏幕右上角的 **Fork** 按钮,在您的 Github 账户中创建一外名为 *fork* 的存储库副本。在您的分支中进行更改,当您准备好将这些更改发送给我们时,请转到您的仓库创建新的 pull 请求,让我们知道这一点。
|
||||
|
||||
关于更多的贡献信息,请参阅:
|
||||
|
||||
* [贡献于 Kubernetes 文档](http://kubernetes.io/editdocs/)
|
||||
* [创建文档拉取请求](http://kubernetes.io/docs/home/contribute/create-pull-request/)
|
||||
* [写一个新的话题](http://kubernetes.io/docs/contribute/write-new-topic/)
|
||||
* [暂停您的文档更改](http://kubernetes.io/docs/home/contribute/stage-documentation-changes/)
|
||||
* [更用页面模板](http://kubernetes.io/docs/home/contribute/page-templates/)
|
||||
* [文档样式指南](http://kubernetes.io/docs/home/contribute/style-guide/)
|
||||
|
||||
## 谢谢您!
|
||||
|
||||
Kubernetes 在社区参与中茁壮成长,我们非常感谢您对我们的网站和文档的贡献!
|
||||
@@ -0,0 +1,32 @@
|
||||
{% if overview %}
|
||||
|
||||
{{ overview }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='overview' purpose='provides an overview of this concept.' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
* TOC
|
||||
{:toc}
|
||||
|
||||
{% if body %}
|
||||
|
||||
{{ body }}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% include templates/_errorthrower.md missing_block='body' purpose='supplies the body of the page content.' %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if whatsnext %}
|
||||
|
||||
## 开始下一步
|
||||
|
||||
{{ whatsnext }}
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
Kubernetes 文档的 [用户指南](/docs/user-guide/) 部分中的主题将被移动到 [任务](/docs/tasks/)、[教程](/docs/tutorials/)和
|
||||
[概念](/docs/concepts) 部分。 本主题的内容已转移到:
|
||||
@@ -0,0 +1,141 @@
|
||||
---
|
||||
assignees:
|
||||
- erictune
|
||||
- lavalamp
|
||||
- deads2k
|
||||
- liggitt
|
||||
title: ABAC 模式
|
||||
---
|
||||
|
||||
{% capture overview %}
|
||||
|
||||
基于属性的访问控制(Attribute-based access control - ABAC)定义了访问控制范例,其中通过使用将属性组合在一起的策略来向用户授予访问权限。
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
{% capture body %}
|
||||
|
||||
## 策略文件格式
|
||||
|
||||
基于 `ABAC` 模式,可以这样指定策略文件 `--authorization-policy-file=SOME_FILENAME`。
|
||||
|
||||
此文件是 JSON 格式[每行都是一个JSON对象](http://jsonlines.org/),不应存在封闭的列表或映射,每行只有一个映射。
|
||||
|
||||
每一行都是一个 "策略对象",策略对象是具有以下映射的属性:
|
||||
|
||||
- 版本控制属性:
|
||||
- `apiVersion`,字符串类型: 有效值为"abac.authorization.kubernetes.io/v1beta1",允许版本控制和转换策略格式。
|
||||
- `kind`,字符串类型: 有效值为 "Policy",允许版本控制和转换策略格式。
|
||||
- `spec` 配置为具有以下映射的属性:
|
||||
- 匹配属性:
|
||||
- `user`,字符串类型; 来自 `--token-auth-file` 的用户字符串,如果你指定`user`,它必须与验证用户的用户名匹配。
|
||||
- `group`,字符串类型; 如果指定`group`,它必须与经过身份验证的用户的一个组匹配,`system:authenticated`匹配所有经过身份验证的请求。`system:unauthenticated`匹配所有未经过身份验证的请求。
|
||||
- 资源匹配属性:
|
||||
- `apiGroup`,字符串类型; 一个 API 组。
|
||||
- 例: `extensions`
|
||||
- 通配符: `*`匹配所有 API 组。
|
||||
- `namespace`,字符串类型; 一个命名空间。
|
||||
- 例如: `kube-system`
|
||||
- 通配符: `*` 匹配所有资源请求。
|
||||
- `resource`,字符串类型; 资源类型。
|
||||
- 例:`pods`
|
||||
- 通配符: `*`匹配所有资源请求。
|
||||
- 非资源匹配属性:
|
||||
- `nonResourcePath`,字符串类型; 非资源请求路径。
|
||||
- 例如:`/version`或`/apis`
|
||||
- 通配符:
|
||||
- `*` 匹配所有非资源请求。
|
||||
- `/foo/*` 匹配`/foo/`的所有子路径。
|
||||
- `readonly`,键入 boolean,如果为 true,则表示该策略仅适用于 get,list 和 watch 操作。
|
||||
|
||||
**注意:** 未设置的属性与类型设置为零值的属性相同(例如空字符串,0、false),然而未知的应该可读性优先。
|
||||
|
||||
在将来,策略可能以 JSON 格式表示,并通过 REST 界面进行管理。
|
||||
|
||||
## 授权算法
|
||||
|
||||
请求具有与策略对象的属性对应的属性。
|
||||
|
||||
当接收到请求时,确定属性。 未知属性设置为其类型的零值(例如: 空字符串,0,false)。
|
||||
|
||||
设置为`“*"`的属性将匹配相应属性的任何值。
|
||||
|
||||
检查属性的元组,以匹配策略文件中的每个策略。 如果至少有一行匹配请求属性,则请求被授权(但可能会在稍后验证失败)。
|
||||
|
||||
要允许任何经过身份验证的用户执行某些操作,请将策略组属性设置为 `"system:authenticated“`。
|
||||
|
||||
要允许任何未经身份验证的用户执行某些操作,请将策略组属性设置为`"system:authentication“`。
|
||||
|
||||
要允许用户执行任何操作,请使用 apiGroup,命名空间,
|
||||
资源和 nonResourcePath 属性设置为 `“*"`的策略.
|
||||
|
||||
要允许用户执行任何操作,请使用设置为`“*”` 的 apiGroup,namespace,resource 和 nonResourcePath 属性编写策略。
|
||||
|
||||
## Kubectl
|
||||
|
||||
Kubectl 使用 api-server 的 `/api` 和 `/apis` 端点进行协商客户端/服务器版本。 通过创建/更新来验证发送到API的对象操作,kubectl 查询某些 swagger 资源。 对于API版本"v1", 那就是`/swaggerapi/api/v1` & `/swaggerapi/ experimental/v1`。
|
||||
|
||||
当使用 ABAC 授权时,这些特殊资源必须明确通过策略中的 `nonResourcePath` 属性暴露出来(参见下面的[例子](#examples)):
|
||||
|
||||
* `/api`,`/api/*`,`/apis`和`/apis/*` 用于 API 版本协商.
|
||||
* `/version` 通过 `kubectl version` 检索服务器版本.
|
||||
* `/swaggerapi/*` 用于创建/更新操作.
|
||||
|
||||
要检查涉及到特定kubectl操作的HTTP调用,您可以调整详细程度:
|
||||
|
||||
kubectl --v=8 version
|
||||
|
||||
## 例子
|
||||
|
||||
1. Alice 可以对所有资源做任何事情:
|
||||
|
||||
```json
|
||||
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user": "alice", "namespace": "*", "resource": "*", "apiGroup": "*"}}
|
||||
```
|
||||
2. Kubelet 可以读取任何pod:
|
||||
|
||||
```json
|
||||
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user": "kubelet", "namespace": "*", "resource": "pods", "readonly": true}}
|
||||
```
|
||||
3. Kubelet 可以读写事件:
|
||||
|
||||
```json
|
||||
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user": "kubelet", "namespace": "*", "resource": "events"}}
|
||||
```
|
||||
4. Bob 可以在命名空间“projectCaribou"中读取 pod:
|
||||
|
||||
```json
|
||||
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user": "bob", "namespace": "projectCaribou", "resource": "pods", "readonly": true}}
|
||||
```
|
||||
5. 任何人都可以对所有非资源路径进行只读请求:
|
||||
|
||||
```json
|
||||
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"group": "system:authenticated", "readonly": true, "nonResourcePath": "*"}}
|
||||
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"group": "system:unauthenticated", "readonly": true, "nonResourcePath": "*"}}
|
||||
```
|
||||
|
||||
[完整文件示例](http://releases.k8s.io/{{page.githubbranch}}/pkg/auth/authorizer/abac/example_policy_file.jsonl)
|
||||
|
||||
## 服务帐户的快速说明
|
||||
|
||||
服务帐户自动生成用户。 用户名是根据命名约定生成的:
|
||||
|
||||
```shell
|
||||
system:serviceaccount:<namespace>:<serviceaccountname>
|
||||
```
|
||||
创建新的命名空间也会导致创建一个新的服务帐户:
|
||||
|
||||
```shell
|
||||
system:serviceaccount:<namespace>:default
|
||||
```
|
||||
|
||||
例如,如果要将 API 的 kube-system 完整权限中的默认服务帐户授予,则可以将此行添加到策略文件中:
|
||||
|
||||
```json
|
||||
{"apiVersion":"abac.authorization.kubernetes.io/v1beta1","kind":"Policy","spec":{"user":"system:serviceaccount:kube-system:default","namespace":"*","resource":"*","apiGroup":"*"}}
|
||||
```
|
||||
|
||||
需要重新启动 apitorver 以获取新的策略行.
|
||||
|
||||
{% endcapture %}
|
||||
{% include templates/concept.md %}
|
||||
@@ -0,0 +1,155 @@
|
||||
---
|
||||
assignees:
|
||||
- erictune
|
||||
- lavalamp
|
||||
- deads2k
|
||||
- liggitt
|
||||
title: 概述
|
||||
---
|
||||
|
||||
{% capture overview %}
|
||||
|
||||
学习有关 Kubernetes 授权的更多信息,包括有关使用支持的授权模块创建策略的详细信息。
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
{% capture body %}
|
||||
|
||||
在 Kubernetes 里,您必须经过身份验证(登录),才能授权您的请求(授予访问权限).。有关认证的信息,请参阅[访问控制概述](/docs/admin/access-the-api/)。
|
||||
|
||||
Kubernetes 提供通用的 REST API 请求。这意味着 Kubernetes 授权可以与现有的组织或云提供商的访问控制系统一起使用,该系统可以处理除 Kubernetes API 之外的其他 API。
|
||||
|
||||
## 确定请求是允许还是被拒绝
|
||||
Kubernetes 使用 API 服务器授权 API 请求。它根据所有策略评估所有请求属性,并允许或拒绝请求。某些策略必须允许 API 请求的所有部分继续进行,这意味着默认情况下是拒绝权限。
|
||||
|
||||
(虽然 Kubernetes 使用 API 服务器,访问控制和依赖特定类型对象的特定领域策略由 Admission 控制器处理。)
|
||||
|
||||
当配置多个授权模块时,按顺序检查每个模块,如果有任何模块授权请求,则可以继续执行该请求。如果所有模块拒绝请求,则拒绝该请求(HTTP状态代码403)。
|
||||
|
||||
## 查看您的请求属性
|
||||
|
||||
Kubernetes 仅查看以下API请求属性:
|
||||
|
||||
* **user** - 验证期间提供的 `user` 字符串
|
||||
* **group** - 认证用户所属的组名列表
|
||||
* **“extra"** - 由认证层提供的任意字符串键到字符串值的映射
|
||||
* **API** - 指示请求是否用于API资源
|
||||
* **Request path** - 诸如`/api`或`/healthz`的其他非资源端点的路径(请参阅[kubectl](#kubectl)).
|
||||
* **API request verb** - API 动词 `get`,`list`,`create`,`update`,`patch`,`watch`,`proxy`,`redirect`,`delete`和`deletecollection`用于资源请求。要确定资源 API 端点的请求动词,请参阅**确定下面的请求动词**.
|
||||
* **HTTP request verb** - HTTP动词`get`,`post`,`put`和`delete`用于非资源请求
|
||||
* **Resource** - 正在访问的资源的ID或名称(仅适用于资源请求)
|
||||
--* 对于使用`get`, `update`, `patch`, 和 `delete`动词的资源请求,您必须提供资源名称。
|
||||
* **Subresource** - 正在访问的子资源(仅用于资源请求)
|
||||
* **Namespace** - 正在被访问的对象的命名空间(仅针对命名空间的资源请求)
|
||||
* **API group** - 正在访问的API组(仅用于资源请求). 一个空字符串指定[核心 API 组](/docs/api/).
|
||||
|
||||
## 确定请求动词
|
||||
|
||||
要确定资源 API 端点的请求动词,请查看所使用的HTTP动词以及请求是否对单个资源或资源集合进行操作:
|
||||
|
||||
HTTP动词| 请求动词
|
||||
---------- | ---------------
|
||||
POST | 创建
|
||||
GET,HEAD | 获取(个人资源),列表(集合)
|
||||
PUT | 更新
|
||||
PATCH | 补丁
|
||||
DELETE| 删除(个人资源),删除(收藏)
|
||||
|
||||
Kubernetes 有时会使用专门的动词检查授权以获得额外的权限。例如:
|
||||
|
||||
* [PodSecurityPolicy](/docs/concepts/policy/pod-security-policy/)在`extensions` API组中的`podsecuritypolicies`资源上检查`use`动词的授权。
|
||||
* [RBAC](/docs/admin/authorization/rbac/#privilege-escalation-prevention-and-bootstrapping) 在`rbac.authorization.k8s.io` API组中的`roles`和`clusterroles`资源上检查`bind`动词的授权。
|
||||
* [认证](/docs/admin/authentication/) 在核心API组中的`users`,`groups`和`serviceaccounts`上的`impersonate`动词的授权以及`authentication.k8s.io` API组中的`userextras`进行层次检查。
|
||||
|
||||
## 授权模块
|
||||
* **ABAC模式** - 基于属性的访问控制(ABAC)定义了访问控制范例,通过使用将属性组合在一起的策略来授予用户访问权限。策略可以使用任何类型的属性(用户属性,资源属性,对象,环境属性等)。要了解有关使用ABAC模式的更多信息,请参阅[ABAC模式](/docs/admin/authorization/abac/)
|
||||
* **RBAC模式** - 基于角色的访问控制(RBAC)是一种根据企业内个人用户的角色来调整对计算机或网络资源的访问的方法。在这种情况下,访问是单个用户执行特定任务(例如查看,创建或修改文件)的能力。要了解有关使用RBAC模式的更多信息,请参阅[RBAC模式](/docs/admin/authorization/rbac/)
|
||||
*当指定 "RBAC"(基于角色的访问控制)使用 "rbac.authorization.k8s.io" API组来驱动授权决定时,允许管理员通过Kubernetes API动态配置权限策略.
|
||||
.. *截至1.6 RBAC模式是测试版.
|
||||
.. *要启用RBAC,请使用 `--authorization-mode=RBAC` 启动 apiserver.
|
||||
* **Webhook模式** - WebHook 是HTTP回调:发生事件时发生的HTTP POST; 通过HTTP POST简单的事件通知. 实施 WebHooks 的 Web 应用程序将在某些事情发生时向URL发送消息. 要了解有关使用Webhook模式的更多信息,请参阅[Webhook模式](/docs/admin/authorization/webhook/)
|
||||
* **自定义模块** - 您可以创建使用Kubernetes的自定义模块. 要了解更多信息,请参阅下面的**自定义模块**。
|
||||
|
||||
### 自定义模块
|
||||
可以相当容易地开发其他实现,APIserver 调用 Authorizer 接口:
|
||||
|
||||
```go
|
||||
type Authorizer interface {
|
||||
Authorize(a Attributes) error
|
||||
}
|
||||
```
|
||||
|
||||
以确定是否允许每个API操作.
|
||||
|
||||
授权插件是实现此接口的模块.授权插件代码位于 `pkg/auth/authorizer/$MODULENAME` 中。
|
||||
|
||||
授权模块可以完全实现,也可以拨出远程授权服务。 授权模块可以实现自己的缓存,以减少具有相同或相似参数的重复授权调用的成本。 开发人员应该考虑缓存和撤销权限之间的交互。
|
||||
|
||||
#### 检查API访问
|
||||
|
||||
Kubernetes 将 `subjectaccessreviews.v1.authorization.k8s.io` 资源公开为允许外部访问API授权者决策的普通资源。 无论您选择使用哪个授权器,您都可以使用`SubjectAccessReview`发出一个`POST`,就像webhook授权器的`apis/authorization.k8s.io/v1/subjectaccessreviews` 端点一样,并回复一个响应。 例如:
|
||||
|
||||
|
||||
```bash
|
||||
kubectl create --v=8 -f - << __EOF__
|
||||
{
|
||||
"apiVersion": "authorization.k8s.io/v1",
|
||||
"kind": "SubjectAccessReview",
|
||||
"spec": {
|
||||
"resourceAttributes": {
|
||||
"namespace": "kittensandponies",
|
||||
"verb": "get",
|
||||
"group": "unicorn.example.org",
|
||||
"resource": "pods"
|
||||
},
|
||||
"user": "jane",
|
||||
"group": [
|
||||
"group1",
|
||||
"group2"
|
||||
],
|
||||
"extra": {
|
||||
"scopes": [
|
||||
"openid",
|
||||
"profile"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
__EOF__
|
||||
|
||||
--- snip lots of output ---
|
||||
|
||||
I0913 08:12:31.362873 27425 request.go:908] Response Body: {"kind":"SubjectAccessReview","apiVersion":"authorization.k8s.io/v1","metadata":{"creationTimestamp":null},"spec":{"resourceAttributes":{"namespace":"kittensandponies","verb":"GET","group":"unicorn.example.org","resource":"pods"},"user":"jane","group":["group1","group2"],"extra":{"scopes":["openid","profile"]}},"status":{"allowed":true}}
|
||||
subjectaccessreview "" created
|
||||
```
|
||||
|
||||
这对于调试访问问题非常有用,因为您可以使用此资源来确定授权者授予哪些访问权限。
|
||||
|
||||
## 为您的授权模块使用标志
|
||||
|
||||
您的策略中必须包含一个标志,以指出您的策略包含哪个授权模块:
|
||||
|
||||
可以使用以下标志:
|
||||
- `--authorization-mode=ABAC` 基于属性的访问控制(ABAC)模式允许您使用本地文件配置策略。
|
||||
- `--authorization-mode=RBAC` 基于角色的访问控制(RBAC)模式允许您使用Kubernetes API创建和存储策略.
|
||||
- `--authorization-mode=Webhook` WebHook是一种HTTP回调模式,允许您使用远程REST管理授权。
|
||||
- `--authorization-mode=AlwaysDeny` 此标志阻止所有请求. 仅使用此标志进行测试。
|
||||
- `--authorization-mode=AlwaysAllow` 此标志允许所有请求. 只有在您不需要API请求授权的情况下才能使用此标志。
|
||||
|
||||
您可以选择多个授权模块. 如果其中一种模式为 `AlwaysAllow`,则覆盖其他模式,并允许所有API请求。
|
||||
|
||||
## 版本控制
|
||||
|
||||
对于版本 1.2,配置了 kube-up.sh 创建的集群,以便任何请求都不需要授权。
|
||||
|
||||
从版本 1.3 开始,配置由 kube-up.sh 创建的集群,使得 ABAC 授权模块处于启用状态。但是,其输入文件最初设置为允许所有用户执行所有操作,集群管理员需要编辑该文件,或者配置不同的授权器来限制用户可以执行的操作。
|
||||
|
||||
{% endcapture %}
|
||||
{% capture whatsnext %}
|
||||
|
||||
* 要学习有关身份验证的更多信息,请参阅**身份验证**[控制访问 Kubernetes API](docs/admin/access-the-api/)。
|
||||
* 要了解有关入学管理的更多信息,请参阅[使用 Admission 控制器](docs/admin/admission-controllers/)。
|
||||
*
|
||||
{% endcapture %}
|
||||
|
||||
{% include templates/concept.md %}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user