diff --git a/.gitignore b/.gitignore
index de345e5f59..460a88c521 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,22 @@ _site/**
.sass-cache/**
CNAME
.travis.yml
+.idea/
+
+# Vim ignore
+# source: https://github.com/github/gitignore/blob/master/Global/Vim.gitignore
+
+# swap
+[._]*.s[a-v][a-z]
+[._]*.sw[a-p]
+[._]s[a-v][a-z]
+[._]sw[a-p]
+# session
+Session.vim
+# temporary
+.netrwhist
+*~
+# auto-generated tag files
+tags
+
+kubernetes.github.io.iml
diff --git a/.travis.yml b/.travis.yml
index 61caa32130..33db17d9e7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,7 +10,14 @@ install:
- go get -t -v k8s.io/kubernetes.github.io/test
- git clone --depth=50 --branch=master https://github.com/kubernetes/md-check $HOME/gopath/src/k8s.io/md-check
- go get -t -v k8s.io/md-check
+- rm $GOPATH/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery
+- rm $GOPATH/src/k8s.io/kubernetes/vendor/k8s.io/apiserver
+- rm $GOPATH/src/k8s.io/kubernetes/vendor/k8s.io/client-go
+- cp -r $GOPATH/src/k8s.io/kubernetes/vendor/* $GOPATH/src/
+- rm -rf $GOPATH/src/k8s.io/kubernetes/vendor/*
+- cp -r $GOPATH/src/k8s.io/kubernetes/staging/src/* $GOPATH/src/
script:
- go test -v k8s.io/kubernetes.github.io/test
- $GOPATH/bin/md-check --root-dir=$HOME/gopath/src/k8s.io/kubernetes.github.io
+- ./verify-docs-format.sh
diff --git a/404.md b/404.md
index 3d32e81bcf..8354c87820 100644
--- a/404.md
+++ b/404.md
@@ -3,6 +3,7 @@ layout: docwithnav
title: 404 Error!
permalink: /404.html
no_canonical: true
+sitemap: false
---
diff --git a/CNAME b/CNAME
index ed60cf1824..b0d9e9ad80 100644
--- a/CNAME
+++ b/CNAME
@@ -1,2 +1 @@
-kubernetes.io
-kubernet.es
+kubernetes.io
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9dd8149a15..934d7947ae 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -33,4 +33,4 @@ Note that code issues should be filed against the main kubernetes repository, wh
### Submitting Documentation Pull Requests
-If you’re fixing an issue in the existing documentation, you should submit a PR against the master branch. Follow [these instructions to create a documentation pull request against the kubernetes.io repository](http://kubernetes.io/docs/contribute/create-pull-request/).
+If you're fixing an issue in the existing documentation, you should submit a PR against the master branch. Follow [these instructions to create a documentation pull request against the kubernetes.io repository](http://kubernetes.io/docs/contribute/create-pull-request/).
diff --git a/Gemfile b/Gemfile
index e29e26cdc8..3828560a73 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,20 +1,4 @@
source "https://rubygems.org"
-gem "jekyll", "3.2.1"
-gem "jekyll-sass-converter", "1.3.0"
-gem "minima", "1.1.0"
-gem "kramdown", "1.11.1"
-gem "liquid", "3.0.6"
-gem "rouge", "1.11.1"
-gem "jemoji", "0.7.0"
-gem "jekyll-mentions", "1.2.0"
-gem "jekyll-redirect-from", "0.11.0"
-gem "jekyll-sitemap", "0.10.0"
-gem "jekyll-feed", "0.5.1"
-gem "jekyll-gist", "1.4.0"
-gem "jekyll-paginate", "1.1.0"
-gem "jekyll-coffeescript", "1.0.1"
-gem "jekyll-seo-tag", "2.0.0"
-gem "jekyll-github-metadata", "2.0.2"
-gem "listen", "3.0.6"
-gem "activesupport", "4.2.7"
+gem "github-pages", group: :jekyll_plugins
+gem "jekyll-include-cache", "~> 0.1"
diff --git a/Gemfile.lock b/Gemfile.lock
index ee385b958b..1ae07067d8 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -7,23 +7,75 @@ GEM
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
- addressable (2.4.0)
+ addressable (2.5.0)
+ public_suffix (~> 2.0, >= 2.0.2)
coffee-script (2.4.1)
coffee-script-source
execjs
- coffee-script-source (1.10.0)
+ coffee-script-source (1.12.2)
colorator (1.1.0)
+ ethon (0.10.1)
+ ffi (>= 1.3.0)
execjs (2.7.0)
- faraday (0.9.2)
+ 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.2.1)
+ jekyll (3.3.1)
+ addressable (~> 2.4)
colorator (~> 1.0)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 1.1)
@@ -33,26 +85,69 @@ GEM
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-feed (0.5.1)
+ 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.0.2)
+ jekyll-github-metadata (2.2.0)
jekyll (~> 3.1)
- octokit (~> 4.0)
+ 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.0.0)
- jekyll (~> 3.1)
- jekyll-sitemap (0.10.0)
+ 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)
@@ -68,52 +163,41 @@ GEM
rb-inotify (>= 0.9.7)
mercenary (0.3.6)
mini_portile2 (2.1.0)
- minima (1.1.0)
- minitest (5.9.0)
+ minima (2.0.0)
+ minitest (5.10.1)
multipart-post (2.0.0)
- nokogiri (1.6.8)
+ net-dns (0.8.0)
+ nokogiri (1.6.8.1)
mini_portile2 (~> 2.1.0)
- pkg-config (~> 1.1.7)
- octokit (4.3.0)
- sawyer (~> 0.7.0, >= 0.5.3)
+ octokit (4.6.2)
+ sawyer (~> 0.8.0, >= 0.5.3)
pathutil (0.14.0)
forwardable-extended (~> 2.6)
- pkg-config (1.1.7)
- rb-fsevent (0.9.7)
+ 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.22)
- sawyer (0.7.0)
- addressable (>= 2.3.5, < 2.5)
- faraday (~> 0.8, < 0.10)
+ 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
- activesupport (= 4.2.7)
- jekyll (= 3.2.1)
- jekyll-coffeescript (= 1.0.1)
- jekyll-feed (= 0.5.1)
- jekyll-gist (= 1.4.0)
- jekyll-github-metadata (= 2.0.2)
- jekyll-mentions (= 1.2.0)
- jekyll-paginate (= 1.1.0)
- jekyll-redirect-from (= 0.11.0)
- jekyll-sass-converter (= 1.3.0)
- jekyll-seo-tag (= 2.0.0)
- jekyll-sitemap (= 0.10.0)
- jemoji (= 0.7.0)
- kramdown (= 1.11.1)
- liquid (= 3.0.6)
- listen (= 3.0.6)
- minima (= 1.1.0)
- rouge (= 1.11.1)
+ github-pages
+ jekyll-include-cache (~> 0.1)
BUNDLED WITH
- 1.11.2
+ 1.13.6
diff --git a/LICENSE b/LICENSE
index 5ee2946660..b6988e7edc 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,201 +1,395 @@
-Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
+Attribution 4.0 International
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+=======================================================================
- 1. Definitions.
+Creative Commons Corporation ("Creative Commons") is not a law firm and
+does not provide legal services or legal advice. Distribution of
+Creative Commons public licenses does not create a lawyer-client or
+other relationship. Creative Commons makes its licenses and related
+information available on an "as-is" basis. Creative Commons gives no
+warranties regarding its licenses, any material licensed under their
+terms and conditions, or any related information. Creative Commons
+disclaims all liability for damages resulting from their use to the
+fullest extent possible.
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
+Using Creative Commons Public Licenses
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
+Creative Commons public licenses provide a standard set of terms and
+conditions that creators and other rights holders may use to share
+original works of authorship and other material subject to copyright
+and certain other rights specified in the public license below. The
+following considerations are for informational purposes only, are not
+exhaustive, and do not form part of our licenses.
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
+ Considerations for licensors: Our public licenses are
+ intended for use by those authorized to give the public
+ permission to use material in ways otherwise restricted by
+ copyright and certain other rights. Our licenses are
+ irrevocable. Licensors should read and understand the terms
+ and conditions of the license they choose before applying it.
+ Licensors should also secure all rights necessary before
+ applying our licenses so that the public can reuse the
+ material as expected. Licensors should clearly mark any
+ material not subject to the license. This includes other CC-
+ licensed material, or material used under an exception or
+ limitation to copyright. More considerations for licensors:
+ wiki.creativecommons.org/Considerations_for_licensors
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
+ Considerations for the public: By using one of our public
+ licenses, a licensor grants the public permission to use the
+ licensed material under specified terms and conditions. If
+ the licensor's permission is not necessary for any reason--for
+ example, because of any applicable exception or limitation to
+ copyright--then that use is not regulated by the license. Our
+ licenses grant only permissions under copyright and certain
+ other rights that a licensor has authority to grant. Use of
+ the licensed material may still be restricted for other
+ reasons, including because others have copyright or other
+ rights in the material. A licensor may make special requests,
+ such as asking that all changes be marked or described.
+ Although not required by our licenses, you are encouraged to
+ respect those requests where reasonable. More_considerations
+ for the public:
+ wiki.creativecommons.org/Considerations_for_licensees
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
+=======================================================================
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
+Creative Commons Attribution 4.0 International Public License
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
+By exercising the Licensed Rights (defined below), You accept and agree
+to be bound by the terms and conditions of this Creative Commons
+Attribution 4.0 International Public License ("Public License"). To the
+extent this Public License may be interpreted as a contract, You are
+granted the Licensed Rights in consideration of Your acceptance of
+these terms and conditions, and the Licensor grants You such rights in
+consideration of benefits the Licensor receives from making the
+Licensed Material available under these terms and conditions.
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
+Section 1 -- Definitions.
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
+ a. Adapted Material means material subject to Copyright and Similar
+ Rights that is derived from or based upon the Licensed Material
+ and in which the Licensed Material is translated, altered,
+ arranged, transformed, or otherwise modified in a manner requiring
+ permission under the Copyright and Similar Rights held by the
+ Licensor. For purposes of this Public License, where the Licensed
+ Material is a musical work, performance, or sound recording,
+ Adapted Material is always produced where the Licensed Material is
+ synched in timed relation with a moving image.
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
+ b. Adapter's License means the license You apply to Your Copyright
+ and Similar Rights in Your contributions to Adapted Material in
+ accordance with the terms and conditions of this Public License.
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
+ c. Copyright and Similar Rights means copyright and/or similar rights
+ closely related to copyright including, without limitation,
+ performance, broadcast, sound recording, and Sui Generis Database
+ Rights, without regard to how the rights are labeled or
+ categorized. For purposes of this Public License, the rights
+ specified in Section 2(b)(1)-(2) are not Copyright and Similar
+ Rights.
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
+ d. Effective Technological Measures means those measures that, in the
+ absence of proper authority, may not be circumvented under laws
+ fulfilling obligations under Article 11 of the WIPO Copyright
+ Treaty adopted on December 20, 1996, and/or similar international
+ agreements.
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
+ e. Exceptions and Limitations means fair use, fair dealing, and/or
+ any other exception or limitation to Copyright and Similar Rights
+ that applies to Your use of the Licensed Material.
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
+ f. Licensed Material means the artistic or literary work, database,
+ or other material to which the Licensor applied this Public
+ License.
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
+ g. Licensed Rights means the rights granted to You subject to the
+ terms and conditions of this Public License, which are limited to
+ all Copyright and Similar Rights that apply to Your use of the
+ Licensed Material and that the Licensor has authority to license.
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
+ h. Licensor means the individual(s) or entity(ies) granting rights
+ under this Public License.
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
+ i. Share means to provide material to the public by any means or
+ process that requires permission under the Licensed Rights, such
+ as reproduction, public display, public performance, distribution,
+ dissemination, communication, or importation, and to make material
+ available to the public including in ways that members of the
+ public may access the material from a place and at a time
+ individually chosen by them.
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
+ j. Sui Generis Database Rights means rights other than copyright
+ resulting from Directive 96/9/EC of the European Parliament and of
+ the Council of 11 March 1996 on the legal protection of databases,
+ as amended and/or succeeded, as well as other essentially
+ equivalent rights anywhere in the world.
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
+ k. You means the individual or entity exercising the Licensed Rights
+ under this Public License. Your has a corresponding meaning.
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
+Section 2 -- Scope.
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
+ a. License grant.
- END OF TERMS AND CONDITIONS
+ 1. Subject to the terms and conditions of this Public License,
+ the Licensor hereby grants You a worldwide, royalty-free,
+ non-sublicensable, non-exclusive, irrevocable license to
+ exercise the Licensed Rights in the Licensed Material to:
- APPENDIX: How to apply the Apache License to your work.
+ a. reproduce and Share the Licensed Material, in whole or
+ in part; and
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "{}"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
+ b. produce, reproduce, and Share Adapted Material.
- Copyright 2016 The Kubernetes Authors
+ 2. Exceptions and Limitations. For the avoidance of doubt, where
+ Exceptions and Limitations apply to Your use, this Public
+ License does not apply, and You do not need to comply with
+ its terms and conditions.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+ 3. Term. The term of this Public License is specified in Section
+ 6(a).
- http://www.apache.org/licenses/LICENSE-2.0
+ 4. Media and formats; technical modifications allowed. The
+ Licensor authorizes You to exercise the Licensed Rights in
+ all media and formats whether now known or hereafter created,
+ and to make technical modifications necessary to do so. The
+ Licensor waives and/or agrees not to assert any right or
+ authority to forbid You from making technical modifications
+ necessary to exercise the Licensed Rights, including
+ technical modifications necessary to circumvent Effective
+ Technological Measures. For purposes of this Public License,
+ simply making modifications authorized by this Section 2(a)
+ (4) never produces Adapted Material.
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+ 5. Downstream recipients.
+
+ a. Offer from the Licensor -- Licensed Material. Every
+ recipient of the Licensed Material automatically
+ receives an offer from the Licensor to exercise the
+ Licensed Rights under the terms and conditions of this
+ Public License.
+
+ b. No downstream restrictions. You may not offer or impose
+ any additional or different terms or conditions on, or
+ apply any Effective Technological Measures to, the
+ Licensed Material if doing so restricts exercise of the
+ Licensed Rights by any recipient of the Licensed
+ Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or
+ may be construed as permission to assert or imply that You
+ are, or that Your use of the Licensed Material is, connected
+ with, or sponsored, endorsed, or granted official status by,
+ the Licensor or others designated to receive attribution as
+ provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not
+ licensed under this Public License, nor are publicity,
+ privacy, and/or other similar personality rights; however, to
+ the extent possible, the Licensor waives and/or agrees not to
+ assert any such rights held by the Licensor to the limited
+ extent necessary to allow You to exercise the Licensed
+ Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this
+ Public License.
+
+ 3. To the extent possible, the Licensor waives any right to
+ collect royalties from You for the exercise of the Licensed
+ Rights, whether directly or through a collecting society
+ under any voluntary or waivable statutory or compulsory
+ licensing scheme. In all other cases the Licensor expressly
+ reserves any right to collect such royalties.
+
+
+Section 3 -- License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the
+following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified
+ form), You must:
+
+ a. retain the following if it is supplied by the Licensor
+ with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed
+ Material and any others designated to receive
+ attribution, in any reasonable manner requested by
+ the Licensor (including by pseudonym if
+ designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of
+ warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the
+ extent reasonably practicable;
+
+ b. indicate if You modified the Licensed Material and
+ retain an indication of any previous modifications; and
+
+ c. indicate the Licensed Material is licensed under this
+ Public License, and include the text of, or the URI or
+ hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any
+ reasonable manner based on the medium, means, and context in
+ which You Share the Licensed Material. For example, it may be
+ reasonable to satisfy the conditions by providing a URI or
+ hyperlink to a resource that includes the required
+ information.
+
+ 3. If requested by the Licensor, You must remove any of the
+ information required by Section 3(a)(1)(A) to the extent
+ reasonably practicable.
+
+ 4. If You Share Adapted Material You produce, the Adapter's
+ License You apply must not prevent recipients of the Adapted
+ Material from complying with this Public License.
+
+
+Section 4 -- Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that
+apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right
+ to extract, reuse, reproduce, and Share all or a substantial
+ portion of the contents of the database;
+
+ b. if You include all or a substantial portion of the database
+ contents in a database in which You have Sui Generis Database
+ Rights, then the database in which You have Sui Generis Database
+ Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share
+ all or a substantial portion of the contents of the database.
+
+For the avoidance of doubt, this Section 4 supplements and does not
+replace Your obligations under this Public License where the Licensed
+Rights include other Copyright and Similar Rights.
+
+
+Section 5 -- Disclaimer of Warranties and Limitation of Liability.
+
+ a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+
+ b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+
+ c. The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
+
+
+Section 6 -- Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and
+ Similar Rights licensed here. However, if You fail to comply with
+ this Public License, then Your rights under this Public License
+ terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under
+ Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided
+ it is cured within 30 days of Your discovery of the
+ violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ For the avoidance of doubt, this Section 6(b) does not affect any
+ right the Licensor may have to seek remedies for Your violations
+ of this Public License.
+
+ c. For the avoidance of doubt, the Licensor may also offer the
+ Licensed Material under separate terms or conditions or stop
+ distributing the Licensed Material at any time; however, doing so
+ will not terminate this Public License.
+
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
+ License.
+
+
+Section 7 -- Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different
+ terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the
+ Licensed Material not stated herein are separate from and
+ independent of the terms and conditions of this Public License.
+
+
+Section 8 -- Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and
+ shall not be interpreted to, reduce, limit, restrict, or impose
+ conditions on any use of the Licensed Material that could lawfully
+ be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is
+ deemed unenforceable, it shall be automatically reformed to the
+ minimum extent necessary to make it enforceable. If the provision
+ cannot be reformed, it shall be severed from this Public License
+ without affecting the enforceability of the remaining terms and
+ conditions.
+
+ c. No term or condition of this Public License will be waived and no
+ failure to comply consented to unless expressly agreed to by the
+ Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted
+ as a limitation upon, or waiver of, any privileges and immunities
+ that apply to the Licensor or You, including from the legal
+ processes of any jurisdiction or authority.
+
+
+=======================================================================
+
+Creative Commons is not a party to its public
+licenses. Notwithstanding, Creative Commons may elect to apply one of
+its public licenses to material it publishes and in those instances
+will be considered the "Licensor." The text of the Creative Commons
+public licenses is dedicated to the public domain under the CC0 Public
+Domain Dedication. Except for the limited purpose of indicating that
+material is shared under a Creative Commons public license or as
+otherwise permitted by the Creative Commons policies published at
+creativecommons.org/policies, Creative Commons does not authorize the
+use of the trademark "Creative Commons" or any other trademark or logo
+of Creative Commons without its prior written consent including,
+without limitation, in connection with any unauthorized modifications
+to any of its public licenses or any other arrangements,
+understandings, or agreements concerning use of licensed material. For
+the avoidance of doubt, this paragraph does not form part of the
+public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/OWNERS b/OWNERS
index 247d39ea5e..055a328273 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,5 +1,4 @@
assignees:
-- lavalamp
- smarterclayton
- janetkuo
- pwittrock
diff --git a/README.md b/README.md
index 2801eaead0..264822b1df 100644
--- a/README.md
+++ b/README.md
@@ -1,182 +1,19 @@
-## Instructions for Contributing to the Docs/Website
+## Instructions for Contributing to the Kubernetes Documentation
-Welcome! We are very pleased you want to contribute to the documentation and/or website for Kubernetes.
+Welcome! We are very pleased you want to contribute to the Kubernetes documentation.
-You can click the "Fork" button in the upper-right area of the screen to create a copy of our site on 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 the index page for your fork and click "New Pull Request" to let us know about it.
+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.
For more information about contributing to the Kubernetes documentation, see:
+* [Contributing to the Kubernetes Documentation](http://kubernetes.io/editdocs/)
* [Creating a Documentation Pull Request](http://kubernetes.io/docs/contribute/create-pull-request/)
* [Writing a New Topic](http://kubernetes.io/docs/contribute/write-new-topic/)
* [Staging Your Documentation Changes](http://kubernetes.io/docs/contribute/stage-documentation-changes/)
* [Using Page Templates](http://kubernetes.io/docs/contribute/page-templates/)
-
-## Automatic Staging for Pull Requests
-
-When you create a pull request (either against master or the upcoming release), your changes are staged in a custom subdomain on Netlify so that you can see your changes in rendered form before the PR is merged. You can use this to verify that everything is correct before the PR gets merged. To view your changes:
-
-- Scroll down to the PR's list of Automated Checks
-- Click "Show All Checks"
-- Look for "deploy/netlify"; you'll see "Deploy Preview Ready!" if staging was successful
-- Click "Details" to bring up the staged site and navigate to your changes
-
-## Branch structure and staging
-
-The current version of the website is served out of the `master` branch. To make changes to the live docs, such as bug fixes, broken links, typos, etc, **target your pull request to the master branch**
-
-The `release-1.x` branch stores changes for **upcoming releases of Kubernetes**. For example, the `release-1.5` branch has changes for the 1.5 release. These changes target branches (and *not* master) to avoid publishing documentation updates prior to the release for which they're relevant. If you have a change for an upcoming release of Kubernetes, **target your pull request to the appropriate release branch**.
-
-The staging site for the next upcoming Kubernetes release is here: [http://kubernetes-io-vnext-staging.netlify.com/](http://kubernetes-io-vnext-staging.netlify.com/). The staging site reflects the current state of what's been merged in the release branch, or in other words, what the docs will look like for the next upcoming release. It's automatically updated as new PRs get merged.
-
-## Staging the site locally (using Docker)
-
-Don't like installing stuff? Download and run a local staging server with a single `docker run` command.
-
- git clone https://github.com/kubernetes/kubernetes.github.io.git
- cd kubernetes.github.io
- docker run -ti --rm -v "$PWD":/k8sdocs -p 4000:4000 gcr.io/google-samples/k8sdocs:1.0
-
-Then visit [http://localhost:4000](http://localhost:4000) to see our site. Any changes you make on your local machine will be automatically staged.
-
-If you're interested you can view [the Dockerfile for this image](https://github.com/kubernetes/kubernetes.github.io/blob/master/staging-container/Dockerfile).
-
-## Staging the site locally (from scratch setup)
-
-The below commands to setup your environment for running GitHub pages locally. Then, any edits you make will be viewable
-on a lightweight webserver that runs on your local machine.
-
-This will typically be the fastest way (by far) to iterate on docs changes and see them staged, once you get this set up, but it does involve several install steps that take awhile to complete, and makes system-wide modifications.
-
-Install Ruby 2.2 or higher. If you're on Linux, run these commands:
-
- apt-get install software-properties-common
- apt-add-repository ppa:brightbox/ruby-ng
- apt-get install ruby2.2
- apt-get install ruby2.2-dev
-
-* If you're on a Mac, follow [these instructions](https://gorails.com/setup/osx/).
-* If you're on a Windows machine you can use the [Ruby Installer](http://rubyinstaller.org/downloads/). During the installation make sure to check the option for *Add Ruby executables to your PATH*.
-
-The remainder of the steps should work the same across operating systems.
-
-To confirm you've installed Ruby correctly, at the command prompt run `gem --version` and you should get a response with your version number. Likewise you can confirm you have Git installed properly by running `git --version`, which will respond with your version of Git.
-
-Install the GitHub Pages package, which includes Jekyll:
-
- gem install github-pages
-
-Clone our site:
-
- git clone https://github.com/kubernetes/kubernetes.github.io.git
-
-Make any changes you want. Then, to see your changes locally:
-
- cd kubernetes.github.io
- jekyll serve
-
-Your copy of the site will then be viewable at: [http://localhost:4000](http://localhost:4000)
-(or wherever Jekyll tells you).
-
-## GitHub help
-
-If you're a bit rusty with git/GitHub, you might want to read
-[this](http://readwrite.com/2013/10/02/github-for-beginners-part-2) for a refresher.
-
-## Common Tasks
-
-### Edit Page Titles or Change the Left Navigation
-
-Edit the yaml files in `/_data/` for the Guides, Reference, Samples, or Support areas.
-
-You may have to exit and `jekyll clean` before restarting the `jekyll serve` to
-get changes to files in `/_data/` to show up.
-
-### Add Images
-
-Put the new image in `/images/docs/` if it's for the documentation, and just `/images/` if it's for the website.
-
-**For diagrams, we greatly prefer SVG files!**
-
-### Include code from another file
-
-To include a file that is hosted on this GitHub repo, insert this code:
-
-
{% include code.html language="<LEXERVALUE>" file="<RELATIVEPATH>" ghlink="<PATHFROMROOT>" %}
-
-* `LEXERVALUE`: The language in which the file was written; must be [a value supported by Rouge](https://github.com/jneen/rouge/wiki/list-of-supported-languages-and-lexers).
-* `RELATIVEPATH`: The path to the file you're including, relative to the current file.
-* `PATHFROMROOT`: The path to the file relative to root, e.g. `/docs/admin/foo.yaml`
-
-To include a file that is hosted in the external, main Kubernetes repo, make sure it's added to [/update-imported-docs.sh](https://github.com/kubernetes/kubernetes.github.io/blob/master/update-imported-docs.sh), and run it so that the file gets downloaded, then enter:
-
-
{% include code.html language="<LEXERVALUE>" file="<RELATIVEPATH>" k8slink="<PATHFROMK8SROOT>" %}
-
-* `PATHFROMK8SROOT`: The path to the file relative to the root of [the Kubernetes repo](https://github.com/kubernetes/kubernetes/tree/release-1.2), e.g. `/examples/rbd/foo.yaml`
-
-## Using tabs for multi-language examples
-
-By specifying some inline CSV in a varable called `tabspec`, you can include a file
-called `tabs.html` that generates tabs showing code examples in multiple langauges.
-
-
-
-In English, this would read: "Create a set of tabs with the alias `servicesample`,
-and have tabs visually labeled "JSON" and "YAML" that use `json` and `yaml` Rouge syntax highlighting, which display the contents of
-`service-sample.{extension}` on the page, and link to the file in GitHub at (full path)."
-
-Example file: [Pods: Multi-Container](http://kubernetes.io/docs/user-guide/pods/multi-container/).
-
-## Use a global variable
-
-The `/_config.yml` file defines some useful variables you can use when editing docs.
-
-* `page.githubbranch`: The name of the GitHub branch on the Kubernetes repo that is associated with this branch of the docs. e.g. `release-1.2`
-* `page.version` The version of Kubernetes associated with this branch of the docs. e.g. `v1.2`
-* `page.docsbranch` The name of the GitHub branch on the Docs/Website repo that you are currently using. e.g. `release-1.1` or `master`
-
-This keeps the docs you're editing aligned with the Kubernetes version you're talking about. For example, if you define a link like so, you'll never have to worry about it going stale in future doc branches:
-
-
View the README [here](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/README.md).
-
-That, of course, will send users to:
-
-[http://releases.k8s.io/release-1.2/cluster/addons/README.md](http://releases.k8s.io/release-1.2/cluster/addons/README.md)
-
-(Or whatever Kubernetes release that docs branch is associated with.)
-
-## Config yaml guidelines
-
-Guidelines for config yamls that are included in the site docs. These
-are the yaml or json files that contain Kubernetes object
-configuration to be used with `kubectl create -f` Config yamls should
-be:
-
-* Separate deployable files, not embedded in the document, unless very
- small variations of a full config.
-* Included in the doc with the include code
- [above.](#include-code-from-another-file)
-* In the same directory as the doc that they are being used in
- * If you are re-using a yaml from another doc, that is OK, just
- leave it there, don't move it up to a higher level directory.
-* Tested in
- [test/examples_test.go](https://github.com/kubernetes/kubernetes.github.io/blob/master/test/examples_test.go)
-* Follows
- [best practices.](http://kubernetes.io/docs/user-guide/config-best-practices/)
-
-Don't assume the reader has this repository checked out, use `kubectl
-create -f https://github...` in example commands. For Docker images
-used in config yamls, try to use an image from an existing Kubernetes
-example. If creating an image for a doc, follow the
-[example guidelines](https://github.com/kubernetes/kubernetes/blob/master/examples/guidelines.md#throughout)
-section on "Docker images" from the Kubernetes repository.
-
-## Partners
-Kubernetes partners refers to the companies who contribute to the Kubernetes core codebase, extend their platform to support Kubernetes or provide managed services to users centered around the Kubernetes platform. Partners can get their services and offerings added to the [partner page](https://k8s.io/partners) by completing and submitting the [partner request form](https://goo.gl/qcSnZF). Once the information and assets are verified, the partner product/services will be listed in the partner page. This would typically take 7-10 days.
+* [Documentation Style Guide](http://kubernetes.io/docs/contribute/style-guide/)
## Thank you!
-Kubernetes thrives on community participation and we really appreciate your
+Kubernetes thrives on community participation, and we really appreciate your
contributions to our site and our documentation!
diff --git a/_config.yml b/_config.yml
index 5b7f442fd8..60e67c9cde 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,11 +1,12 @@
name: Kubernetes
+title: Kubernetes
+description: Production-Grade Container Orchestration
markdown: kramdown
kramdown:
input: GFM
html_to_native: true
hard_wrap: false
syntax_highlighter: rouge
-baseurl: /
incremental: true
safe: false
@@ -16,7 +17,7 @@ defaults:
scope:
path: ""
values:
- version: "v1.3"
+ version: "v1.5.1"
githubbranch: "master"
docsbranch: "master"
-
@@ -30,3 +31,24 @@ permalink: pretty
gems:
- jekyll-redirect-from
+ - jekyll-feed
+ - jekyll-sitemap
+ - jekyll-seo-tag
+ - jekyll-include-cache
+
+# SEO
+logo: /images/favicon.png
+twitter:
+ username: kubernetesio
+
+# Tables of contents, stored in the _data folder, that control the sidebar nav
+tocs:
+ - docs-home
+ - guides
+ - tutorials
+ - tasks
+ - concepts
+ - reference
+ - tools
+ - samples
+ - support
diff --git a/_data/concepts.yml b/_data/concepts.yml
index f9422daa98..a9a7c3eb29 100644
--- a/_data/concepts.yml
+++ b/_data/concepts.yml
@@ -1,9 +1,10 @@
bigheader: "Concepts"
abstract: "Detailed explanations of Kubernetes system concepts and abstractions."
toc:
-- title: Concepts
- path: /docs/concepts/
+- docs/concepts/index.md
- title: Object Metadata
section:
- - title: Annotations
- path: /docs/concepts/object-metadata/annotations/
+ - docs/concepts/object-metadata/annotations.md
+- title: Controllers
+ section:
+ - docs/concepts/abstractions/controllers/statefulsets.md
diff --git a/_data/docs-home.yml b/_data/docs-home.yml
index 1cb8c9b05a..b80c025d5e 100644
--- a/_data/docs-home.yml
+++ b/_data/docs-home.yml
@@ -1,5 +1,4 @@
bigheader: "Kubernetes Documentation"
abstract: "Documentation for using and learning about Kubernetes."
toc:
-- title: Kubernetes Documentation
- path: /docs/
+- docs/index.md
diff --git a/_data/guides.yml b/_data/guides.yml
index 0c1a785720..9d08a88367 100644
--- a/_data/guides.yml
+++ b/_data/guides.yml
@@ -1,304 +1,235 @@
bigheader: "Guides"
abstract: "How to get started, and accomplish tasks, using Kubernetes."
toc:
-- title: Guides
- path: /docs/user-guide/
+- docs/user-guide/index.md
- title: Getting Started
section:
- - title: What is Kubernetes?
- path: /docs/whatisk8s/
- - title: Installing Kubernetes on Linux with kubeadm
- path: /docs/getting-started-guides/kubeadm/
- - title: Installing Kubernetes on AWS with kops
- path: /docs/getting-started-guides/kops/
- - title: Hello World on Google Container Engine
- path: /docs/hellonode/
- - title: Installing kubectl
- path: /docs/getting-started-guides/kubectl/
- - title: Downloading or Building Kubernetes
- path: /docs/getting-started-guides/binary_release/
+ - docs/whatisk8s.md
+ - docs/getting-started-guides/kubeadm.md
+ - docs/getting-started-guides/kops.md
+ - docs/hellonode.md
+ - docs/getting-started-guides/kubectl.md
+ - docs/getting-started-guides/binary_release.md
- title: Online Training Course
path: https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615
- title: Accessing the Cluster
section:
- - title: Installing and Setting up kubectl
- path: /docs/user-guide/prereqs/
- - title: Accessing Clusters
- path: /docs/user-guide/accessing-the-cluster/
- - title: Sharing Cluster Access with kubeconfig
- path: /docs/user-guide/sharing-clusters/
- - title: Authenticating Across Clusters with kubeconfig
- path: /docs/user-guide/kubeconfig-file/
+ - docs/user-guide/prereqs.md
+ - docs/user-guide/accessing-the-cluster.md
+ - docs/user-guide/sharing-clusters.md
+ - docs/user-guide/kubeconfig-file.md
-- title: User Guide
- path: /docs/user-guide/
+- docs/user-guide/index.md
-- title: Web UI (Dashboard)
- path: /docs/user-guide/ui/
+- docs/user-guide/ui.md
- title: Workload Deployment and Management
section:
- - title: Launching, Exposing, and Killing Applications
- path: /docs/user-guide/quick-start/
- - title: Deploying Applications
- path: /docs/user-guide/deploying-applications/
- - title: Managing Resources
- path: /docs/user-guide/managing-deployments/
- - title: Replication Controller Operations
- path: /docs/user-guide/replication-controller/operations/
- - title: Resizing a Replication Controller
- path: /docs/user-guide/resizing-a-replication-controller/
- - title: Rolling Updates
- path: /docs/user-guide/rolling-updates/
- - title: Rolling Update Demo
- path: /docs/user-guide/update-demo/
- - title: Secrets Walkthrough
- path: /docs/user-guide/secrets/walkthrough/
- - title: Using ConfigMap
- path: /docs/user-guide/configmap/
- - title: Horizontal Pod Autoscaling
- path: /docs/user-guide/horizontal-pod-autoscaling/walkthrough/
- - title: Best Practices for Configuration
- path: /docs/user-guide/config-best-practices/
- - title: Using kubectl to Manage Resources
- path: /docs/user-guide/working-with-resources/
- - title: Garbage Collection (Beta)
- path: /docs/user-guide/garbage-collection/
+ - docs/user-guide/quick-start.md
+ - docs/user-guide/deploying-applications.md
+ - docs/user-guide/managing-deployments.md
+ - docs/user-guide/replication-controller/operations.md
+ - docs/user-guide/resizing-a-replication-controller.md
+ - docs/user-guide/rolling-updates.md
+ - docs/user-guide/update-demo/index.md
+ - docs/user-guide/secrets/walkthrough.md
+ - docs/user-guide/configmap/index.md
+ - docs/user-guide/horizontal-pod-autoscaling/walkthrough.md
+ - docs/user-guide/config-best-practices.md
+ - docs/user-guide/working-with-resources.md
+ - docs/user-guide/garbage-collection.md
- title: Using NetworkPolicy
section:
- - title: Example Walkthrough
- path: /docs/getting-started-guides/network-policy/walkthrough/
- - title: Using Calico for NetworkPolicy
- path: /docs/getting-started-guides/network-policy/calico/
- - title: Using Romana for NetworkPolicy
- path: /docs/getting-started-guides/network-policy/romana/
+ - docs/getting-started-guides/network-policy/walkthrough.md
+ - docs/getting-started-guides/network-policy/calico.md
+ - docs/getting-started-guides/network-policy/romana.md
+ - docs/getting-started-guides/network-policy/weave.md
- title: Batch Jobs
section:
- - title: Jobs
- path: /docs/user-guide/jobs/
- - title: Parallel Processing using Expansions
- path: /docs/user-guide/jobs/expansions/
- - title: Coarse Parallel Processing using a Work Queue
- path: /docs/user-guide/jobs/work-queue-1/
- - title: Fine Parallel Processing using a Work Queue
- path: /docs/user-guide/jobs/work-queue-2/
- - title: Cron Jobs
- path: /docs/user-guide/cron-jobs/
+ - docs/user-guide/jobs.md
+ - docs/user-guide/jobs/expansions/index.md
+ - docs/user-guide/jobs/work-queue-1/index.md
+ - docs/user-guide/jobs/work-queue-2/index.md
+ - docs/user-guide/cron-jobs.md
- title: Service Discovery and Load Balancing
section:
- - title: Connecting Applications with Services
- path: /docs/user-guide/connecting-applications/
- - title: Service Operations
- path: /docs/user-guide/services/operations/
- - title: Creating an External Load Balancer
- path: /docs/user-guide/load-balancer/
- - title: Configuring Your Cloud Provider's Firewalls
- path: /docs/user-guide/services-firewalls/
- - title: Cross-cluster Service Discovery using Federated Services
- path: /docs/user-guide/federation/federated-services/
+ - docs/user-guide/connecting-applications.md
+ - docs/user-guide/services/operations.md
+ - docs/user-guide/load-balancer.md
+ - docs/user-guide/services-firewalls.md
+ - docs/user-guide/federation/federated-services.md
- title: Containers and Pods
section:
- - title: Running Your First Containers
- path: /docs/user-guide/simple-nginx/
- - title: Creating Single-Container Pods
- path: /docs/user-guide/pods/single-container/
- - title: Creating Multi-Container Pods
- path: /docs/user-guide/pods/multi-container/
- - title: Configuring Containers
- path: /docs/user-guide/configuring-containers/
- - title: Working with Containers in Production
- path: /docs/user-guide/production-pods/
- - title: Commands and Capabilities
- path: /docs/user-guide/containers/
- - title: Using Environment Variables
- path: /docs/user-guide/environment-guide/
- - title: Managing Compute Resources
- path: /docs/user-guide/compute-resources/
- - title: The Lifecycle of a Pod
- path: /docs/user-guide/pod-states/
- - title: Checking Pod Health
- path: /docs/user-guide/liveness/
- - title: Container Lifecycle Hooks
- path: /docs/user-guide/container-environment/
- - title: Assigning Pods to Nodes
- path: /docs/user-guide/node-selection/
- - title: Using the Downward API to Convey Pod Properties
- path: /docs/user-guide/downward-api/
- - title: Downward API Volumes
- path: /docs/user-guide/downward-api/volume
- - title: Persistent Volumes Walkthrough
- path: /docs/user-guide/persistent-volumes/walkthrough/
- - title: Bootstrapping Pet Sets
- path: /docs/user-guide/petset/bootstrapping/
+ - docs/user-guide/simple-nginx.md
+ - docs/user-guide/pods/single-container.md
+ - docs/user-guide/pods/multi-container.md
+ - docs/user-guide/pods/init-container.md
+ - docs/user-guide/configuring-containers.md
+ - docs/user-guide/pod-templates.md
+ - docs/user-guide/production-pods.md
+ - docs/user-guide/containers.md
+ - docs/user-guide/environment-guide/index.md
+ - docs/user-guide/compute-resources.md
+ - docs/user-guide/pod-states.md
+ - docs/user-guide/liveness/index.md
+ - docs/user-guide/container-environment.md
+ - docs/user-guide/node-selection/index.md
+ - docs/user-guide/downward-api/index.md
+ - docs/user-guide/downward-api/volume/index.md
+ - docs/user-guide/persistent-volumes/walkthrough.md
+ - docs/user-guide/petset/bootstrapping/index.md
- title: Monitoring, Logging, and Debugging Containers
section:
- - title: Resource Usage Monitoring
- path: /docs/user-guide/monitoring/
+ - docs/user-guide/monitoring.md
- title: Logging
- path: /docs/getting-started-guides/logging/
- - title: Logging with Elasticsearch and Kibana
- path: /docs/getting-started-guides/logging-elasticsearch/
- - title: Running Commands in a Container with kubectl exec
- path: /docs/user-guide/getting-into-containers/
- - title: Connect with Proxies
- path: /docs/user-guide/connecting-to-applications-proxy/
- - title: Connect with Port Forwarding
- path: /docs/user-guide/connecting-to-applications-port-forward/
+ section:
+ - docs/user-guide/logging/overview.md
+ - docs/user-guide/logging/stackdriver.md
+ - docs/user-guide/logging/elasticsearch.md
+ - docs/user-guide/getting-into-containers.md
+ - docs/user-guide/connecting-to-applications-proxy.md
+ - docs/user-guide/connecting-to-applications-port-forward.md
- title: Using Explorer to Examine the Runtime Environment
path: https://github.com/kubernetes/kubernetes/tree/release-1.3/examples/explorer
- title: Creating a Cluster
section:
- - title: Picking the Right Solution
- path: /docs/getting-started-guides/
+ - docs/getting-started-guides/index.md
- title: Running Kubernetes on Your Local Machine
section:
- - title: Running Kubernetes Locally via Minikube
- path: /docs/getting-started-guides/minikube/
- - title: Deprecated Alternatives
- path: /docs/getting-started-guides/alternatives/
+ - docs/getting-started-guides/minikube.md
+ - docs/getting-started-guides/alternatives.md
- title: Running Kubernetes on Turn-key Cloud Solutions
section:
- title: Running Kubernetes on Google Container Engine
path: https://cloud.google.com/container-engine/docs/before-you-begin/
- - title: Running Kubernetes on Google Compute Engine
- path: /docs/getting-started-guides/gce/
- - title: Running Kubernetes on AWS EC2
- path: /docs/getting-started-guides/aws/
- - title: Running Kubernetes on Azure
- path: /docs/getting-started-guides/azure/
- - title: Running Kubernetes on Azure (Weave-based)
- path: /docs/getting-started-guides/coreos/azure/
- - title: Running Kubernetes on CenturyLink Cloud
- path: /docs/getting-started-guides/clc/
+ - docs/getting-started-guides/gce.md
+ - docs/getting-started-guides/aws.md
+ - title: Running Kubernetes on Azure Container Service
+ path: https://docs.microsoft.com/en-us/azure/container-service/container-service-kubernetes-walkthrough
+ - docs/getting-started-guides/azure.md
+ - docs/getting-started-guides/clc.md
- title: Running Kubernetes on IBM SoftLayer
path: https://github.com/patrocinio/kubernetes-softlayer
+ - title: Running Kubernetes on Multiple Clouds with Stackpoint.io
+ path: /docs/getting-started-guides/stackpoint/
- title: Running Kubernetes on Custom Solutions
section:
- - title: Creating a Custom Cluster from Scratch
- path: /docs/getting-started-guides/scratch/
+ - docs/getting-started-guides/scratch.md
- title: Custom Cloud Solutions
section:
- - title: CoreOS on AWS or GCE
- path: /docs/getting-started-guides/coreos/
- - title: Ubuntu on AWS or Joyent
- path: /docs/getting-started-guides/juju/
- - title: CoreOS on Rackspace
- path: /docs/getting-started-guides/rackspace/
+ - docs/getting-started-guides/coreos/index.md
+ - docs/getting-started-guides/ubuntu/index.md
+ - docs/getting-started-guides/rackspace.md
- title: On-Premise VMs
section:
- - title: CoreOS on Vagrant
- path: /docs/getting-started-guides/coreos/
- - title: Cloudstack
- path: /docs/getting-started-guides/cloudstack/
- - title: VMware vSphere
- path: /docs/getting-started-guides/vsphere/
- - title: VMware Photon Controller
- path: /docs/getting-started-guides/photon-controller/
- - title: Juju
- path: /docs/getting-started-guides/juju/
- - title: DCOS
- path: /docs/getting-started-guides/dcos/
- - title: CoreOS on libvirt
- path: /docs/getting-started-guides/libvirt-coreos/
- - title: oVirt
- path: /docs/getting-started-guides/ovirt/
- - title: OpenStack Heat
- path: /docs/getting-started-guides/openstack-heat/
+ - 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:
- - title: Running Kubernetes with rkt
- path: /docs/getting-started-guides/rkt/
- - title: Known Issues when Using rkt
- path: /docs/getting-started-guides/rkt/notes/
- - title: Kubernetes on Mesos
- path: /docs/getting-started-guides/mesos/
- - title: Kubernetes on Mesos on Docker
- path: /docs/getting-started-guides/mesos-docker/
+ - 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:
- - title: Offline
- path: /docs/getting-started-guides/coreos/bare_metal_offline/
- - title: Fedora via Ansible
- path: /docs/getting-started-guides/fedora/fedora_ansible_config/
- - title: Fedora (Single Node)
- path: /docs/getting-started-guides/fedora/fedora_manual_config/
- - title: Fedora (Multi Node)
- path: /docs/getting-started-guides/fedora/flannel_multi_node_cluster/
- - title: CentOS
- path: /docs/getting-started-guides/centos/centos_manual_config/
- - title: CoreOS
- path: /docs/getting-started-guides/coreos
+ - 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
- path: /docs/getting-started-guides/ubuntu/
- - title: Validate Node Setup
- path: /docs/admin/node-conformance
- - title: Portable Multi-Node Cluster
- path: /docs/getting-started-guides/docker-multinode/
- - title: Building Large Clusters
- path: /docs/admin/cluster-large/
- - title: Running in Multiple Zones
- path: /docs/admin/multiple-zones/
- - title: Building High-Availability Clusters
- path: /docs/admin/high-availability/
+ 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/calico.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/ubuntu/manual.md
+ - docs/getting-started-guides/windows/index.md
+ - docs/admin/node-conformance.md
+ - docs/getting-started-guides/docker-multinode.md
+ - docs/admin/cluster-large.md
+ - docs/admin/multiple-zones.md
+ - docs/admin/high-availability/index.md
- title: Administering Clusters
section:
- - title: Admin Guide
- path: /docs/admin/
- - title: Cluster Management Guide
- path: /docs/admin/cluster-management/
- - title: kubeadm reference
- path: /docs/admin/kubeadm/
- - title: Installing Addons
- path: /docs/admin/addons/
- - title: Sharing a Cluster with Namespaces
- path: /docs/admin/namespaces/
- - title: Namespaces Walkthrough
- path: /docs/admin/namespaces/walkthrough/
- - title: Setting Pod CPU and Memory Limits
- path: /docs/admin/limitrange/
- - title: Understanding Resource Quotas
- path: /docs/admin/resourcequota/
- - title: Applying Resource Quotas and Limits
- path: /docs/admin/resourcequota/walkthrough/
- - title: Kubernetes Components
- path: /docs/admin/cluster-components/
- - title: Configuring Kubernetes Use of etcd
- path: /docs/admin/etcd/
- - title: Federating Clusters
- path: /docs/admin/federation/
- - title: Using Multiple Clusters
- path: /docs/admin/multi-cluster/
+ - docs/admin/index.md
+ - docs/admin/cluster-management.md
+ - docs/admin/kubeadm.md
+ - docs/admin/addons.md
+ - docs/admin/audit.md
+ - docs/admin/ha-master-gce.md
+ - docs/admin/namespaces/index.md
+ - docs/admin/namespaces/walkthrough.md
+ - docs/admin/limitrange/index.md
+ - docs/admin/disruptions.md
+ - docs/admin/resourcequota/index.md
+ - docs/admin/resourcequota/walkthrough.md
+ - docs/admin/rescheduler.md
+ - docs/admin/sysctls.md
+ - docs/admin/cluster-components.md
+ - docs/admin/etcd.md
+ - docs/admin/multi-cluster.md
- title: Changing Cluster Size
path: https://github.com/kubernetes/kubernetes/wiki/User-FAQ#how-do-i-change-the-size-of-my-cluster/
- - title: Configuring Multiple Schedulers
- path: /docs/admin/multiple-schedulers/
- - title: Networking in Kubernetes
- path: /docs/admin/networking/
- - title: Using DNS Pods and Services
- path: /docs/admin/dns/
+ - docs/admin/multiple-schedulers.md
+ - docs/admin/networking.md
+ - docs/admin/dns.md
- title: Setting Up and Configuring DNS
path: https://github.com/kubernetes/kubernetes/tree/release-1.3/examples/cluster-dns
- - title: Master <-> Node Communication
- path: /docs/admin/master-node-communication/
- - title: Network Plugins
- path: /docs/admin/network-plugins/
- - title: Static Pods
- path: /docs/admin/static-pods/
- - title: Configuring kubelet Garbage Collection
- path: /docs/admin/garbage-collection/
- - title: Configuring Out Of Resource Handling
- path: /docs/admin/out-of-resource/
- - title: Configuring Kubernetes with Salt
- path: /docs/admin/salt/
- - title: Monitoring Node Health
- path: /docs/admin/node-problem/
- - title: AppArmor
- path: /docs/admin/apparmor/
+ - docs/admin/master-node-communication.md
+ - docs/admin/network-plugins.md
+ - docs/admin/static-pods.md
+ - docs/admin/garbage-collection.md
+ - docs/admin/out-of-resource.md
+ - docs/admin/salt.md
+ - docs/admin/node-problem.md
+ - docs/admin/apparmor/index.md
+
+- title: Administering Federation
+ section:
+ - docs/admin/federation/kubefed.md
+ - title: Federated Kubernetes Objects
+ section:
+ - docs/user-guide/federation/index.md
+ - docs/user-guide/federation/configmap.md
+ - docs/user-guide/federation/daemonsets.md
+ - docs/user-guide/federation/deployment.md
+ - docs/user-guide/federation/events.md
+ - docs/user-guide/federation/federated-ingress.md
+ - docs/user-guide/federation/namespaces.md
+ - docs/user-guide/federation/replicasets.md
+ - docs/user-guide/federation/secrets.md
+ - docs/federation/api-reference/index.md
+ - title: Federation Components
+ section:
+ - docs/admin/federation-apiserver.md
+ - title : federation-controller-mananger
+ path: /docs/admin/federation-controller-manager
diff --git a/_data/overrides.yml b/_data/overrides.yml
index d38226e61b..31f60a2a8a 100644
--- a/_data/overrides.yml
+++ b/_data/overrides.yml
@@ -8,12 +8,10 @@ overrides:
- path: docs/admin/kube-proxy.md
- path: docs/admin/kube-scheduler.md
- path: docs/admin/kubelet.md
-- changedpath: docs/api-reference/extensions/v1beta1/definitions.html _includes/v1.4/extensions-v1beta1-definitions.html
-- changedpath: docs/api-reference/extensions/v1beta1/operations.html _includes/v1.4/extensions-v1beta1-operations.html
-- changedpath: docs/api-reference/v1/definitions.html _includes/v1.4/v1-definitions.html
-- changedpath: docs/api-reference/v1/operations.html _includes/v1.4/v1-operations.html
+- changedpath: docs/api-reference/extensions/v1beta1/definitions.html _includes/v1.5/extensions-v1beta1-definitions.html
+- changedpath: docs/api-reference/extensions/v1beta1/operations.html _includes/v1.5/extensions-v1beta1-operations.html
+- changedpath: docs/api-reference/v1/definitions.html _includes/v1.5/v1-definitions.html
+- changedpath: docs/api-reference/v1/operations.html _includes/v1.5/v1-operations.html
- copypath: k8s/federation/docs/api-reference/ docs/federation/
- copypath: k8s/cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml docs/getting-started-guides/fluentd-gcp.yaml
-- copypath: k8s/examples/blog-logging/counter-pod.yaml docs/getting-started-guides/counter-pod.yaml
-- copypath: k8s/examples/blog-logging/counter-pod.yaml docs/user-guide/counter-pod.yaml
diff --git a/_data/reference.yml b/_data/reference.yml
index 6f71d1677c..de1dec2c14 100644
--- a/_data/reference.yml
+++ b/_data/reference.yml
@@ -1,239 +1,189 @@
bigheader: "Reference Documentation"
abstract: "Design docs, concept definitions, and references for APIs and CLIs."
toc:
-- title: Reference Documentation
- path: /docs/reference/
+- docs/reference.md
+
+- title: "Kubernetes Resource Types (New Docs Style)"
+ section:
+ - title: Version 1.5
+ path: /docs/resources-reference/v1.5/
+
+- title: "Kubernetes API (New Docs Style)"
+ section:
+ - title: Version 1.5
+ path: /docs/api-reference/v1.5/
+
+- title: "Kubectl Commands (New Docs Style)"
+ section:
+ - title: Version 1.5
+ path: /docs/user-guide/kubectl/v1.5/
- title: Kubernetes API
section:
- - title: Kubernetes API Overview
- path: /docs/api/
+ - docs/api.md
- title: Accessing the API
section:
- - title: Overview
- path: /docs/admin/accessing-the-api/
- - title: Authenticating
- path: /docs/admin/authentication/
- - title: Using Authorization Plugins
- path: /docs/admin/authorization/
- - title: Using Admission Controllers
- path: /docs/admin/admission-controllers/
- - title: Managing Service Accounts
- path: /docs/admin/service-accounts-admin/
- - title: Kubernetes API Operations
- path: /docs/api-reference/v1/operations/
- - title: Kubernetes API Definitions
- path: /docs/api-reference/v1/definitions/
- - title: Kubernetes API Swagger Spec
- path: /kubernetes/third_party/swagger-ui/
+ - docs/admin/accessing-the-api.md
+ - docs/admin/authentication.md
+ - docs/admin/authorization.md
+ - docs/admin/admission-controllers.md
+ - docs/admin/service-accounts-admin.md
+ - docs/api-reference/v1/operations.html
+ - docs/api-reference/v1/definitions.html
+ - docs/api-reference/labels-annotations-taints.md
+ - kubernetes/third_party/swagger-ui/index.md
- title: Autoscaling API
section:
- - title: Autoscaling API Operations
- path: /docs/api-reference/autoscaling/v1/operations/
- - title: Autoscaling API Definitions
- path: /docs/api-reference/autoscaling/v1/definitions/
+ - docs/api-reference/autoscaling/v1/operations.html
+ - docs/api-reference/autoscaling/v1/definitions.html
- title: Batch API
section:
- - title: Batch API Operations
- path: /docs/api-reference/batch/v1/operations/
- - title: Batch API Definitions
- path: /docs/api-reference/batch/v1/definitions/
+ - docs/api-reference/batch/v1/operations.html
+ - docs/api-reference/batch/v1/definitions.html
+
+- title: Apps API
+ section:
+ - title: Apps API Operations
+ path: /docs/api-reference/apps/v1beta1/operations/
+ - title: Apps API Definitions
+ path: /docs/api-reference/apps/v1beta1/definitions/
- title: Extensions API
section:
- - title: Extensions API Operations
- path: /docs/api-reference/extensions/v1beta1/operations/
- - title: Extensions API Definitions
- path: /docs/api-reference/extensions/v1beta1/definitions/
+ - docs/api-reference/extensions/v1beta1/operations.html
+ - docs/api-reference/extensions/v1beta1/definitions.html
- title: kubectl CLI
section:
- - title: kubectl Overview
- path: /docs/user-guide/kubectl-overview/
- - title: kubectl for Docker Users
- path: /docs/user-guide/docker-cli-to-kubectl/
- - title: kubectl Usage Conventions
- path: /docs/user-guide/kubectl-conventions/
- - title: JSONpath Support
- path: /docs/user-guide/jsonpath/
- - title: kubectl Cheat Sheet
- path: /docs/user-guide/kubectl-cheatsheet/
+ - docs/user-guide/kubectl-overview.md
+ - 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: kubectl Commands
section:
- - title: kubectl
- path: /docs/user-guide/kubectl/
- - title: kubectl annotate
- path: /docs/user-guide/kubectl/kubectl_annotate/
- - title: kubectl api-versions
- path: /docs/user-guide/kubectl/kubectl_api-versions/
- - title: kubectl apply
- path: /docs/user-guide/kubectl/kubectl_apply/
- - title: kubectl attach
- path: /docs/user-guide/kubectl/kubectl_attach/
- - title: kubectl autoscale
- path: /docs/user-guide/kubectl/kubectl_autoscale/
- - title: kubectl cluster-info
- path: /docs/user-guide/kubectl/kubectl_cluster-info/
- - title: kubectl config
- path: /docs/user-guide/kubectl/kubectl_config/
- - title: kubectl config current-context
- path: /docs/user-guide/kubectl/kubectl_config_current-context/
- - title: kubectl config set-cluster
- path: /docs/user-guide/kubectl/kubectl_config_set-cluster/
- - title: kubectl config set-context
- path: /docs/user-guide/kubectl/kubectl_config_set-context/
- - title: kubectl config set-credentials
- path: /docs/user-guide/kubectl/kubectl_config_set-credentials/
- - title: kubectl config set
- path: /docs/user-guide/kubectl/kubectl_config_set/
- - title: kubectl config unset
- path: /docs/user-guide/kubectl/kubectl_config_unset/
- - title: kubectl config use-context
- path: /docs/user-guide/kubectl/kubectl_config_use-context/
- - title: kubectl config view
- path: /docs/user-guide/kubectl/kubectl_config_view/
- - title: kubectl convert
- path: /docs/user-guide/kubectl/kubectl_convert/
- - title: kubectl cordon
- path: /docs/user-guide/kubectl/kubectl_cordon/
- - title: kubectl create
- path: /docs/user-guide/kubectl/kubectl_create/
- - title: kubectl create configmap
- path: /docs/user-guide/kubectl/kubectl_create_configmap/
- - title: kubectl create namespace
- path: /docs/user-guide/kubectl/kubectl_create_namespace/
- - title: kubectl create secret docker-registry
- path: /docs/user-guide/kubectl/kubectl_create_secret_docker-registry/
- - title: kubectl create secret
- path: /docs/user-guide/kubectl/kubectl_create_secret/
- - title: kubectl create secret generic
- path: /docs/user-guide/kubectl/kubectl_create_secret_generic/
- - title: kubectl create serviceaccount
- path: /docs/user-guide/kubectl/kubectl_create_serviceaccount/
- - title: kubectl delete
- path: /docs/user-guide/kubectl/kubectl_delete/
- - title: kubectl describe
- path: /docs/user-guide/kubectl/kubectl_describe/
- - title: kubectl drain
- path: /docs/user-guide/kubectl/kubectl_drain/
- - title: kubectl edit
- path: /docs/user-guide/kubectl/kubectl_edit/
- - title: kubectl exec
- path: /docs/user-guide/kubectl/kubectl_exec/
- - title: kubectl explain
- path: /docs/user-guide/kubectl/kubectl_explain/
- - title: kubectl expose
- path: /docs/user-guide/kubectl/kubectl_expose/
- - title: kubectl get
- path: /docs/user-guide/kubectl/kubectl_get/
- - title: kubectl label
- path: /docs/user-guide/kubectl/kubectl_label/
- - title: kubectl logs
- path: /docs/user-guide/kubectl/kubectl_logs/
- - title: kubectl patch
- path: /docs/user-guide/kubectl/kubectl_patch/
- - title: kubectl port-forward
- path: /docs/user-guide/kubectl/kubectl_port-forward/
- - title: kubectl proxy
- path: /docs/user-guide/kubectl/kubectl_proxy/
- - title: kubectl replace
- path: /docs/user-guide/kubectl/kubectl_replace/
- - title: kubectl rolling-update
- path: /docs/user-guide/kubectl/kubectl_rolling-update/
- - title: kubectl rollout
- path: /docs/user-guide/kubectl/kubectl_rollout/
- - title: kubectl rollout history
- path: /docs/user-guide/kubectl/kubectl_rollout_history/
- - title: kubectl rollout pause
- path: /docs/user-guide/kubectl/kubectl_rollout_pause/
- - title: kubectl rollout resume
- path: /docs/user-guide/kubectl/kubectl_rollout_resume/
- - title: kubectl rollout undo
- path: /docs/user-guide/kubectl/kubectl_rollout_undo/
- - title: kubectl run
- path: /docs/user-guide/kubectl/kubectl_run/
- - title: kubectl scale
- path: /docs/user-guide/kubectl/kubectl_scale/
- - title: kubectl uncordon
- path: /docs/user-guide/kubectl/kubectl_uncordon/
- - title: kubectl version
- path: /docs/user-guide/kubectl/kubectl_version/
+ - docs/user-guide/kubectl/index.md
+ - docs/user-guide/kubectl/kubectl_annotate.md
+ - docs/user-guide/kubectl/kubectl_api-versions.md
+ - docs/user-guide/kubectl/kubectl_apply.md
+ - docs/user-guide/kubectl/kubectl_attach.md
+ - docs/user-guide/kubectl/kubectl_autoscale.md
+ - docs/user-guide/kubectl/kubectl_certificate.md
+ - docs/user-guide/kubectl/kubectl_certificate_approve.md
+ - docs/user-guide/kubectl/kubectl_certificate_deny.md
+ - docs/user-guide/kubectl/kubectl_cluster-info.md
+ - docs/user-guide/kubectl/kubectl_cluster-info_dump.md
+ - docs/user-guide/kubectl/kubectl_completion.md
+ - docs/user-guide/kubectl/kubectl_config.md
+ - docs/user-guide/kubectl/kubectl_config_current-context.md
+ - docs/user-guide/kubectl/kubectl_config_delete-cluster.md
+ - docs/user-guide/kubectl/kubectl_config_delete-context.md
+ - docs/user-guide/kubectl/kubectl_config_get-clusters.md
+ - docs/user-guide/kubectl/kubectl_config_get-contexts.md
+ - docs/user-guide/kubectl/kubectl_config_set-cluster.md
+ - docs/user-guide/kubectl/kubectl_config_set-context.md
+ - docs/user-guide/kubectl/kubectl_config_set-credentials.md
+ - docs/user-guide/kubectl/kubectl_config_set.md
+ - docs/user-guide/kubectl/kubectl_config_unset.md
+ - docs/user-guide/kubectl/kubectl_config_use-context.md
+ - docs/user-guide/kubectl/kubectl_config_view.md
+ - docs/user-guide/kubectl/kubectl_convert.md
+ - docs/user-guide/kubectl/kubectl_cordon.md
+ - docs/user-guide/kubectl/kubectl_cp.md
+ - docs/user-guide/kubectl/kubectl_create.md
+ - docs/user-guide/kubectl/kubectl_create_configmap.md
+ - docs/user-guide/kubectl/kubectl_create_deployment.md
+ - docs/user-guide/kubectl/kubectl_create_namespace.md
+ - docs/user-guide/kubectl/kubectl_create_quota.md
+ - docs/user-guide/kubectl/kubectl_create_secret_docker-registry.md
+ - docs/user-guide/kubectl/kubectl_create_secret.md
+ - docs/user-guide/kubectl/kubectl_create_secret_generic.md
+ - docs/user-guide/kubectl/kubectl_create_secret_tls.md
+ - docs/user-guide/kubectl/kubectl_create_serviceaccount.md
+ - docs/user-guide/kubectl/kubectl_create_service_clusterip.md
+ - docs/user-guide/kubectl/kubectl_create_service_loadbalancer.md
+ - docs/user-guide/kubectl/kubectl_create_service_nodeport.md
+ - docs/user-guide/kubectl/kubectl_delete.md
+ - docs/user-guide/kubectl/kubectl_describe.md
+ - docs/user-guide/kubectl/kubectl_drain.md
+ - docs/user-guide/kubectl/kubectl_edit.md
+ - docs/user-guide/kubectl/kubectl_exec.md
+ - docs/user-guide/kubectl/kubectl_explain.md
+ - docs/user-guide/kubectl/kubectl_expose.md
+ - docs/user-guide/kubectl/kubectl_get.md
+ - docs/user-guide/kubectl/kubectl_label.md
+ - docs/user-guide/kubectl/kubectl_logs.md
+ - docs/user-guide/kubectl/kubectl_options.md
+ - docs/user-guide/kubectl/kubectl_patch.md
+ - docs/user-guide/kubectl/kubectl_port-forward.md
+ - docs/user-guide/kubectl/kubectl_proxy.md
+ - docs/user-guide/kubectl/kubectl_replace.md
+ - docs/user-guide/kubectl/kubectl_rolling-update.md
+ - docs/user-guide/kubectl/kubectl_rollout.md
+ - docs/user-guide/kubectl/kubectl_rollout_history.md
+ - docs/user-guide/kubectl/kubectl_rollout_pause.md
+ - docs/user-guide/kubectl/kubectl_rollout_resume.md
+ - docs/user-guide/kubectl/kubectl_rollout_status.md
+ - docs/user-guide/kubectl/kubectl_rollout_undo.md
+ - docs/user-guide/kubectl/kubectl_run.md
+ - docs/user-guide/kubectl/kubectl_scale.md
+ - docs/user-guide/kubectl/kubectl_set.md
+ - docs/user-guide/kubectl/kubectl_set_image.md
+ - docs/user-guide/kubectl/kubectl_set_resources.md
+ - docs/user-guide/kubectl/kubectl_taint.md
+ - docs/user-guide/kubectl/kubectl_top.md
+ - docs/user-guide/kubectl/kubectl_top_node.md
+ - docs/user-guide/kubectl/kubectl_top_pod.md
+ - docs/user-guide/kubectl/kubectl_uncordon.md
+ - docs/user-guide/kubectl/kubectl_version.md
- title: Superseded and Deprecated Commands
section:
- - title: kubectl namespace
- path: /docs/user-guide/kubectl/kubectl_namespace/
- - title: kubectl stop
- path: /docs/user-guide/kubectl/kubectl_stop/
+ - /docs/user-guide/kubectl/kubectl_namespace/
+ - docs/user-guide/kubectl/kubectl_stop.md
- title: Kubernetes Components
section:
- - title: kube-apiserver
- path: /docs/admin/kube-apiserver/
- - title: kube-controller-manager
- path: /docs/admin/kube-controller-manager/
- - title: kube-proxy
- path: /docs/admin/kube-proxy/
- - title: kube-scheduler
- path: /docs/admin/kube-scheduler/
+ - docs/admin/kube-apiserver.md
+ - docs/admin/kube-controller-manager.md
+ - docs/admin/kube-proxy.md
+ - docs/admin/kube-scheduler.md
- title: kubelet
- path: /docs/admin/kubelet/
+ section:
+ - docs/admin/kubelet.md
+ - docs/admin/master-node-communication.md
+ - docs/admin/kubelet-tls-bootstrapping.md
+ - docs/admin/kubelet-authentication-authorization.md
- title: Glossary
section:
- - title: Annotations
- path: /docs/user-guide/annotations/
- - title: Daemon Sets
- path: /docs/admin/daemons/
- - title: Deployments
- path: /docs/user-guide/deployments/
- - title: Horizontal Pod Autoscaling
- path: /docs/user-guide/horizontal-pod-autoscaling/
- - title: Images
- path: /docs/user-guide/images/
- - title: Ingress Resources
- path: /docs/user-guide/ingress/
- - title: Jobs
- path: /docs/user-guide/jobs/
- - title: Labels and Selectors
- path: /docs/user-guide/labels/
- - title: Names
- path: /docs/user-guide/identifiers/
- - title: Namespaces
- path: /docs/user-guide/namespaces/
- - title: Network Policies
- path: /docs/user-guide/networkpolicies/
- - title: Nodes
- path: /docs/admin/node/
- - title: Persistent Volumes
- path: /docs/user-guide/persistent-volumes/
- - title: Pet Sets
- path: /docs/user-guide/petset/
- - title: Pods
- path: /docs/user-guide/pods/
- - title: Pod Security Policies
- path: /docs/user-guide/pod-security-policy/
- - title: Replica Sets
- path: /docs/user-guide/replicasets/
- - title: Replication Controller
- path: /docs/user-guide/replication-controller/
- - title: Resource Quotas
- path: /docs/admin/resourcequota/
- - title: Cron Jobs
- path: /docs/user-guide/cron-jobs/
- - title: Secrets
- path: /docs/user-guide/secrets/
- - title: Security Context
- path: /docs/user-guide/security-context/
- - title: Services
- path: /docs/user-guide/services/
- - title: Service Accounts
- path: /docs/user-guide/service-accounts/
- - title: Third Party Resources
- path: /docs/user-guide/thirdpartyresources/
- - title: Volumes
- path: /docs/user-guide/volumes/
+ - docs/user-guide/annotations.md
+ - docs/admin/daemons.md
+ - docs/user-guide/deployments.md
+ - docs/user-guide/horizontal-pod-autoscaling/index.md
+ - docs/user-guide/images.md
+ - docs/user-guide/ingress.md
+ - docs/user-guide/jobs.md
+ - docs/user-guide/labels.md
+ - docs/user-guide/identifiers.md
+ - docs/user-guide/namespaces.md
+ - docs/user-guide/networkpolicies.md
+ - docs/admin/node.md
+ - docs/user-guide/persistent-volumes/index.md
+ - docs/user-guide/petset.md
+ - docs/user-guide/pods/index.md
+ - docs/user-guide/pod-security-policy/index.md
+ - docs/user-guide/replicasets.md
+ - docs/user-guide/replication-controller/index.md
+ - docs/admin/resourcequota/index.md
+ - docs/user-guide/cron-jobs.md
+ - docs/user-guide/secrets/index.md
+ - docs/user-guide/security-context.md
+ - docs/user-guide/services/index.md
+ - docs/user-guide/service-accounts.md
+ - docs/user-guide/thirdpartyresources.md
+ - docs/user-guide/volumes.md
- title: Kubernetes Design Docs
section:
@@ -243,32 +193,8 @@ toc:
path: https://github.com/kubernetes/kubernetes/blob/release-1.3/docs/design/
- title: Kubernetes Identity and Access Management
path: https://github.com/kubernetes/kubernetes/blob/release-1.3/docs/design/access.md
- - title: Kubernetes OpenVSwitch GRE/VxLAN networking
- path: /docs/admin/ovs-networking/
+ - docs/admin/ovs-networking.md
- title: Security Contexts
path: https://github.com/kubernetes/kubernetes/blob/release-1.3/docs/design/security_context.md
- title: Security in Kubernetes
path: https://github.com/kubernetes/kubernetes/blob/release-1.3/docs/design/security.md
-
-- title: Federation
- section:
- - title: Federation User Guide
- path: /docs/user-guide/federation/
- - title: Federated Events
- path: /docs/user-guide/federation/events/
- - title: Federated Ingress
- path: /docs/user-guide/federation/federated-ingress/
- - title: Federated Namespaces
- path: /docs/user-guide/federation/namespaces/
- - title: Federated ReplicaSets
- path: /docs/user-guide/federation/replicasets/
- - title: Federated Secrets
- path: /docs/user-guide/federation/secrets/
- - title: Federation API
- path: /docs/federation/api-reference/README/
- - title: Federation Components
- section:
- - title: federation-apiserver
- path: /docs/admin/federation-apiserver
- - title : federation-controller-mananger
- path: /docs/admin/federation-controller-manager
diff --git a/_data/samples.yml b/_data/samples.yml
index 3a9f0bcf28..e94f2b3223 100644
--- a/_data/samples.yml
+++ b/_data/samples.yml
@@ -1,8 +1,7 @@
bigheader: "Samples"
abstract: "A collection of example applications that show how to use Kubernetes."
toc:
-- title: Samples
- path: /docs/samples/
+- docs/samples.md
- title: Storage / Database / KV
section:
@@ -67,8 +66,7 @@ toc:
path: https://github.com/kubernetes/kubernetes/tree/release-1.3/examples/guestbook-go/
- title: GuestBook - PHP Server
path: https://github.com/kubernetes/kubernetes/tree/release-1.3/examples/guestbook/
- - title: MEAN stack on Google Cloud Platform
- path: /docs/getting-started-guides/meanstack/
+ - docs/getting-started-guides/meanstack.md
- title: MySQL + Wordpress
path: https://github.com/kubernetes/kubernetes/tree/release-1.3/examples/mysql-wordpress-pd/
- title: MySQL + Phabricator Server
diff --git a/_data/support.yml b/_data/support.yml
index 3e9ec08ee4..c25faa70f8 100644
--- a/_data/support.yml
+++ b/_data/support.yml
@@ -1,36 +1,26 @@
bigheader: "Support"
abstract: "Troubleshooting resources, frequently asked questions, and community support channels."
toc:
-- title: Support
- path: /docs/troubleshooting/
+- docs/troubleshooting.md
- title: Contributing to the Kubernetes Docs
section:
- - title: Creating a Documentation Pull Request
- path: /docs/contribute/create-pull-request/
- - title: Writing a New Topic
- path: /docs/contribute/write-new-topic/
- - title: Staging Your Documentation Changes
- path: /docs/contribute/stage-documentation-changes/
- - title: Using Page Templates
- path: /docs/contribute/page-templates/
- - title: Documentation Style Guide
- path: /docs/contribute/style-guide/
+ - editdocs.md
+ - docs/contribute/create-pull-request.md
+ - docs/contribute/write-new-topic.md
+ - docs/contribute/stage-documentation-changes.md
+ - docs/contribute/page-templates.md
+ - docs/contribute/review-issues.md
+ - docs/contribute/style-guide.md
+
- title: Troubleshooting
section:
- - title: Debugging Pods and Replication Controllers
- path: /docs/user-guide/debugging-pods-and-replication-controllers/
- - title: Application Introspection and Debugging
- path: /docs/user-guide/introspection-and-debugging/
- - title: Retrieving Logs
- path: /docs/user-guide/logging/
- - title: Troubleshooting Applications
- path: /docs/user-guide/application-troubleshooting/
- - title: Troubleshooting Clusters
- path: /docs/admin/cluster-troubleshooting/
- - title: Debugging Services
- path: /docs/user-guide/debugging-services/
+ - docs/user-guide/debugging-pods-and-replication-controllers.md
+ - docs/user-guide/introspection-and-debugging.md
+ - docs/user-guide/application-troubleshooting.md
+ - docs/admin/cluster-troubleshooting.md
+ - docs/user-guide/debugging-services.md
- title: Frequently Asked Questions
section:
@@ -45,11 +35,11 @@ toc:
section:
- title: Kubernetes Issue Tracker on GitHub
path: https://github.com/kubernetes/kubernetes/issues/
- - title: Report a Security Vulnerability
- path: /docs/reporting-security-issues/
+ - docs/reporting-security-issues.md
- title: Release Notes
path: https://github.com/kubernetes/kubernetes/releases/
- title: Release Roadmap
path: https://github.com/kubernetes/kubernetes/milestones/
- - title: Contributing to Kubernetes Documentation
- path: /editdocs/
+
+- title: Deprecation Policy
+ path: /docs/deprecation-policy.md
diff --git a/_data/tasks.yml b/_data/tasks.yml
index 9898fae32f..9605e925b0 100644
--- a/_data/tasks.yml
+++ b/_data/tasks.yml
@@ -1,34 +1,49 @@
bigheader: "Tasks"
abstract: "Step-by-step instructions for performing operations with Kuberentes."
toc:
-- title: Tasks
- path: /docs/tasks/
+- docs/tasks/index.md
+
- title: Configuring Pods and Containers
section:
- - title: Defining Environment Variables for a Container
- path: /docs/tasks/configure-pod-container/define-environment-variable-container/
- - title: Defining a Command and Arguments for a Container
- path: /docs/tasks/configure-pod-container/define-command-argument-container/
- - title: Assigning CPU and RAM Resources to a Container
- path: /docs/tasks/configure-pod-container/assign-cpu-ram-container/
+ - docs/tasks/configure-pod-container/define-environment-variable-container.md
+ - docs/tasks/configure-pod-container/define-command-argument-container.md
+ - docs/tasks/configure-pod-container/assign-cpu-ram-container.md
+ - docs/tasks/configure-pod-container/configure-volume-storage.md
+ - docs/tasks/configure-pod-container/distribute-credentials-secure.md
+ - docs/tasks/configure-pod-container/pull-image-private-registry.md
+ - docs/tasks/configure-pod-container/configure-liveness-readiness-probes.md
+ - docs/tasks/configure-pod-container/communicate-containers-same-pod.md
+ - docs/tasks/configure-pod-container/configure-pod-initialization.md
+
- title: Accessing Applications in a Cluster
section:
- - title: Using Port Forwarding to Access Applications in a Cluster
- path: /docs/tasks/access-application-cluster/port-forward-access-application-cluster/
-
+ - docs/tasks/access-application-cluster/port-forward-access-application-cluster.md
+ - docs/tasks/access-application-cluster/load-balance-access-application-cluster.md
- title: Debugging Applications in a Cluster
section:
- - title: Determining the Reason for Pod Failure
- path: /docs/tasks/debug-application-cluster/determine-reason-pod-failure/
-
+ - docs/tasks/debug-application-cluster/determine-reason-pod-failure.md
- title: Accessing the Kubernetes API
section:
- - title: Using an HTTP Proxy to Access the Kubernetes API
- path: /docs/tasks/access-kubernetes-api/http-proxy-access-api/
+ - docs/tasks/access-kubernetes-api/http-proxy-access-api.md
+
- title: Administering a Cluster
section:
- - title: Assigning Pods to Nodes
- path: /docs/tasks/administer-cluster/assign-pods-nodes/
+ - docs/tasks/administer-cluster/assign-pods-nodes.md
+ - docs/tasks/administer-cluster/dns-horizontal-autoscaling.md
+ - docs/tasks/administer-cluster/safely-drain-node.md
+ - docs/tasks/administer-cluster/change-pv-reclaim-policy.md
+- title: Managing Stateful Applications
+ section:
+ - docs/tasks/manage-stateful-set/upgrade-pet-set-to-stateful-set.md
+ - docs/tasks/manage-stateful-set/scale-stateful-set.md
+ - docs/tasks/manage-stateful-set/deleting-a-statefulset.md
+ - docs/tasks/manage-stateful-set/debugging-a-statefulset.md
+ - docs/tasks/manage-stateful-set/delete-pods.md
+
+- title: Troubleshooting
+ section:
+ - docs/tasks/troubleshoot/debug-init-containers.md
+ - docs/tasks/administer-cluster/access-control-identity-management/
diff --git a/_data/tools.yml b/_data/tools.yml
index cf2afca34c..8c09e7e095 100644
--- a/_data/tools.yml
+++ b/_data/tools.yml
@@ -1,5 +1,20 @@
bigheader: "Tools"
abstract: "Tools to help you use and enhance Kubernetes."
toc:
-- title: Tools
- path: /docs/tools/
+- docs/tools/index.md
+
+- title: Native Tools
+ section:
+ - title: Kubectl
+ path: /docs/user-guide/kubectl/
+ - title: Kubefed
+ path: /docs/admin/federation/kubefed/
+ - title: Kubernetes Dashboard
+ path: /docs/user-guide/ui/
+
+- title: Third-Party Tools
+ section:
+ - docs/tools/kompose/index.md
+ - docs/tools/kompose/user-guide.md
+ - title: Helm
+ path: https://github.com/kubernetes/helm
diff --git a/_data/tutorials.yml b/_data/tutorials.yml
index 61555427d1..954d0841a1 100644
--- a/_data/tutorials.yml
+++ b/_data/tutorials.yml
@@ -1,57 +1,46 @@
bigheader: "Tutorials"
abstract: "Detailed walkthroughs of common Kubernetes operations and workflows."
toc:
-- title: Tutorials
- path: /docs/tutorials/
+- docs/tutorials/index.md
- title: Kubernetes Basics
section:
- - title: Overview
- path: /docs/tutorials/kubernetes-basics/
+ - docs/tutorials/kubernetes-basics/index.html
- title: 1. Create a Cluster
section:
- - title: Using Minikube to Create a Cluster
- path: /docs/tutorials/kubernetes-basics/cluster-intro/
- - title: Interactive Tutorial - Creating a Cluster
- path: /docs/tutorials/kubernetes-basics/cluster-interactive/
+ - docs/tutorials/kubernetes-basics/cluster-intro.html
+ - docs/tutorials/kubernetes-basics/cluster-interactive.html
- title: 2. Deploy an App
section:
- - title: Using kubectl to Create a Deployment
- path: /docs/tutorials/kubernetes-basics/deploy-intro/
- - title: Interactive Tutorial - Deploying an App
- path: /docs/tutorials/kubernetes-basics/deploy-interactive/
+ - docs/tutorials/kubernetes-basics/deploy-intro.html
+ - docs/tutorials/kubernetes-basics/deploy-interactive.html
- title: 3. Explore Your App
section:
- - title: Viewing Pods and Nodes
- path: /docs/tutorials/kubernetes-basics/explore-intro/
- - title: Interactive Tutorial - Exploring Your App
- path: /docs/tutorials/kubernetes-basics/explore-interactive/
+ - docs/tutorials/kubernetes-basics/explore-intro.html
+ - docs/tutorials/kubernetes-basics/explore-interactive.html
- title: 4. Expose Your App Publicly
section:
- - title: Using a Service to Expose Your App
- path: /docs/tutorials/kubernetes-basics/expose-intro/
- - title: Interactive Tutorial - Exposing Your App
- path: /docs/tutorials/kubernetes-basics/expose-interactive/
+ - docs/tutorials/kubernetes-basics/expose-intro.html
+ - docs/tutorials/kubernetes-basics/expose-interactive.html
- title: 5. Scale Your App
section:
- - title: Running Multiple Instances of Your App
- path: /docs/tutorials/kubernetes-basics/scale-intro/
- - title: Interactive Tutorial - Scaling Your App
- path: /docs/tutorials/kubernetes-basics/scale-interactive/
+ - docs/tutorials/kubernetes-basics/scale-intro.html
+ - docs/tutorials/kubernetes-basics/scale-interactive.html
- title: 6. Update Your App
section:
- - title: Performing a Rolling Update
- path: /docs/tutorials/kubernetes-basics/update-intro/
- - title: Interactive Tutorial - Updating Your App
- path: /docs/tutorials/kubernetes-basics/update-interactive/
+ - docs/tutorials/kubernetes-basics/update-intro.html
+ - docs/tutorials/kubernetes-basics/update-interactive.html
- title: Stateless Applications
section:
- - title: Running a Stateless Application Using a Deployment
- path: /docs/tutorials/stateless-application/run-stateless-application-deployment/
- - title: Using a Service to Access an Application in a Cluster
- path: /docs/tutorials/stateless-application/expose-external-ip-address-service/
- - title: Exposing an External IP Address to Access an Application in a Cluster
- path: /docs/tutorials/stateless-application/expose-external-ip-address/
+ - docs/tutorials/stateless-application/hello-minikube.md
+ - docs/tutorials/stateless-application/run-stateless-application-deployment.md
+ - docs/tutorials/stateless-application/expose-external-ip-address-service.md
+ - docs/tutorials/stateless-application/expose-external-ip-address.md
- title: Stateful Applications
section:
- - title: Running a Single-Instance Stateful Application
- path: /docs/tutorials/stateful-application/run-stateful-application/
+ - docs/tutorials/stateful-application/basic-stateful-set.md
+ - docs/tutorials/stateful-application/run-stateful-application.md
+ - docs/tutorials/stateful-application/run-replicated-stateful-application.md
+ - docs/tutorials/stateful-application/zookeeper.md
+- title: Services
+ section:
+ - docs/tutorials/services/source-ip.md
diff --git a/_includes/default-storage-class-prereqs.md b/_includes/default-storage-class-prereqs.md
new file mode 100644
index 0000000000..a4747d9032
--- /dev/null
+++ b/_includes/default-storage-class-prereqs.md
@@ -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.
+
diff --git a/_includes/footer.html b/_includes/footer.html
index e7fa36d26a..0f9e67544a 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -24,6 +24,11 @@
Contribute to the K8s codebase
-
+ {% 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 %}
+
+ {% endif %}
+ {% endif %}
+{% endfor %}
diff --git a/_includes/v1.3/extensions-v1beta1-definitions.html b/_includes/v1.3/extensions-v1beta1-definitions.html
index 7ecddc8d7b..92ce832083 100755
--- a/_includes/v1.3/extensions-v1beta1-definitions.html
+++ b/_includes/v1.3/extensions-v1beta1-definitions.html
@@ -2079,7 +2079,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
v1.FlexVolumeSource
-
FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.
+
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
@@ -2535,7 +2535,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
flexVolume
-
FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.
+
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
@@ -5867,7 +5867,7 @@ Both these may change in the future. Incoming requests are matched against the h
path
-
Path is a extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a /. If unspecified, the path defaults to a catch all sending traffic to the backend.
+
Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a /. If unspecified, the path defaults to a catch all sending traffic to the backend.
diff --git a/_includes/v1.3/v1-definitions.html b/_includes/v1.3/v1-definitions.html
index e833b003ea..693f3ce4c7 100755
--- a/_includes/v1.3/v1-definitions.html
+++ b/_includes/v1.3/v1-definitions.html
@@ -2560,7 +2560,7 @@ The resulting set of endpoints can be viewed as:
v1.FlexVolumeSource
-
FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.
+
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
@@ -3268,7 +3268,7 @@ The resulting set of endpoints can be viewed as:
flexVolume
-
FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.
+
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
@@ -5555,7 +5555,7 @@ The resulting set of endpoints can be viewed as:
flexVolume
-
FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.
+
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
diff --git a/_includes/v1.4/extensions-v1beta1-definitions.html b/_includes/v1.4/extensions-v1beta1-definitions.html
index 62b899b9fd..18bc35fc59 100755
--- a/_includes/v1.4/extensions-v1beta1-definitions.html
+++ b/_includes/v1.4/extensions-v1beta1-definitions.html
@@ -6054,7 +6054,7 @@ Both these may change in the future. Incoming requests are matched against the h
path
-
Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a /. If unspecified, the path defaults to a catch all sending traffic to the backend.
+
Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e. this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a /. If unspecified, the path defaults to a catch all sending traffic to the backend.
DesiredNumberScheduled is the total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md
+
true
+
integer (int32)
+
+
+
+
numberReady
+
NumberReady is the number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.
+
true
+
integer (int32)
+
+
+
+
+
+
+
+
v1beta1.Job
+
+
Job represents the configuration of a single job. DEPRECATED: extensions/v1beta1.Job is deprecated, use batch/v1.Job instead.
ObjectFieldSelector selects an APIVersioned field of an object.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
apiVersion
+
Version of the schema the FieldPath is written in terms of, defaults to "v1".
+
false
+
string
+
+
+
+
fieldPath
+
Path of the field to select in the specified API version.
+
true
+
string
+
+
+
+
+
+
+
+
v1.SELinuxOptions
+
+
SELinuxOptions are the labels to be applied to the container
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
user
+
User is a SELinux user label that applies to the container.
+
false
+
string
+
+
+
+
role
+
Role is a SELinux role label that applies to the container.
+
false
+
string
+
+
+
+
type
+
Type is a SELinux type label that applies to the container.
+
false
+
string
+
+
+
+
level
+
Level is SELinux level label that applies to the container.
+
false
+
string
+
+
+
+
+
+
+
+
v1.VolumeMount
+
+
VolumeMount describes a mounting of a Volume within a container.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
This must match the Name of a Volume.
+
true
+
string
+
+
+
+
readOnly
+
Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.
+
false
+
boolean
+
false
+
+
+
mountPath
+
Path within the container at which the volume should be mounted. Must not contain :.
+
true
+
string
+
+
+
+
subPath
+
Path within the volume from which the container’s volume should be mounted. Defaults to "" (volume’s root).
+
false
+
string
+
+
+
+
+
+
+
+
v1beta1.IngressSpec
+
+
IngressSpec describes the Ingress the user wishes to exist.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
backend
+
A default backend capable of servicing requests that don’t match any rule. At least one of backend or rules must be specified. This field is optional to allow the loadbalancer controller or defaulting logic to specify a global default.
TLS configuration. Currently the Ingress only supports a single TLS port, 443. If multiple members of this list specify different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension, if the ingress controller fulfilling the ingress supports SNI.
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
unversioned.StatusCause
+
+
StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
reason
+
A machine-readable description of the cause of the error. If this value is empty there is no information available.
+
false
+
string
+
+
+
+
message
+
A human-readable description of the cause of the error. This field may be presented as-is to a reader.
+
false
+
string
+
+
+
+
field
+
The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
+
+Examples:
+ "name" - the field "name" on the current resource
+ "items[0].name" - the field "name" on the first array entry in "items"
+
false
+
string
+
+
+
+
+
+
+
+
v1beta1.ReplicaSetCondition
+
+
ReplicaSetCondition describes the state of a replica set at a certain point.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
type
+
Type of replica set condition.
+
true
+
string
+
+
+
+
status
+
Status of the condition, one of True, False, Unknown.
+
true
+
string
+
+
+
+
lastTransitionTime
+
The last time the condition transitioned from one status to another.
+
false
+
string (date-time)
+
+
+
+
reason
+
The reason for the condition’s last transition.
+
false
+
string
+
+
+
+
message
+
A human readable message indicating details about the transition.
+
false
+
string
+
+
+
+
+
+
+
+
v1beta1.NetworkPolicyList
+
+
Network Policy List is a list of NetworkPolicy objects.
Represents a Persistent Disk resource in Google Compute Engine.
+
+
+
A GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk
+
false
+
string
+
+
+
+
partition
+
The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk
Spec to control the desired behavior of rolling update.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
maxUnavailable
+
The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding up. This can not be 0 if MaxSurge is 0. By default, a fixed value of 1 is used. Example: when this is set to 30%, the old RC can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old RC can be scaled down further, followed by scaling up the new RC, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.
+
false
+
string
+
+
+
+
maxSurge
+
The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. By default, a value of 1 is used. Example: when this is set to 30%, the new RC can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new RC can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of desired pods.
+
false
+
string
+
+
+
+
+
+
+
+
v1beta1.HTTPIngressRuleValue
+
+
HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http://<host>/<path>?<searchpart> → backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last / and before the first ? or #.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
paths
+
A collection of paths that map requests to backends.
The contents of the target ConfigMap’s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.
If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error. Paths must be relative and may not contain the .. path or start with ...
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
v1.GitRepoVolumeSource
+
+
Represents a volume that is populated with the contents of a git repository. Git repo volumes do not support ownership management. Git repo volumes support SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
repository
+
Repository URL
+
true
+
string
+
+
+
+
revision
+
Commit hash for the specified revision.
+
false
+
string
+
+
+
+
directory
+
Target directory name. Must not contain or start with ... If . is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.
StartTime represents time when the job was acknowledged by the Job Manager. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.
+
false
+
string (date-time)
+
+
+
+
completionTime
+
CompletionTime represents time when the job was completed. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.
+
false
+
string (date-time)
+
+
+
+
active
+
Active is the number of actively running pods.
+
false
+
integer (int32)
+
+
+
+
succeeded
+
Succeeded is the number of pods which reached Phase Succeeded.
+
false
+
integer (int32)
+
+
+
+
failed
+
Failed is the number of pods which reached Phase Failed.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
v1.Capabilities
+
+
Adds and removes POSIX capabilities from running containers.
Command is the command line to execute inside the container, the working directory for the command is root (/) in the container’s filesystem. The command is simply exec’d, it is not run inside a shell, so traditional shell instructions ('
+
', etc) won’t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
+
false
+
string array
+
+
+
+
+
+
+
v1.ObjectMeta
+
+
ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
+
false
+
string
+
+
+
+
generateName
+
GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
+
+If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
+
+Applied only if Name is not specified. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency
+
false
+
string
+
+
+
+
namespace
+
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
+
+Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
+
false
+
string
+
+
+
+
selfLink
+
SelfLink is a URL representing this object. Populated by the system. Read-only.
+
false
+
string
+
+
+
+
uid
+
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
+
+Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+
false
+
string
+
+
+
+
resourceVersion
+
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
+
+Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency
+
false
+
string
+
+
+
+
generation
+
A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.
+
false
+
integer (int64)
+
+
+
+
creationTimestamp
+
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
+
+Populated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
+
false
+
string (date-time)
+
+
+
+
deletionTimestamp
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
+
+Populated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
+
false
+
string (date-time)
+
+
+
+
deletionGracePeriodSeconds
+
Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.
+
false
+
integer (int64)
+
+
+
+
labels
+
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
+
false
+
object
+
+
+
+
annotations
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
+
false
+
object
+
+
+
+
ownerReferences
+
List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.
Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.
+
false
+
string array
+
+
+
+
clusterName
+
The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.
+
false
+
string
+
+
+
+
+
+
+
+
v1beta1.ReplicaSetSpec
+
+
ReplicaSetSpec is the specification of a ReplicaSet.
Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)
+
false
+
integer (int32)
+
+
+
+
selector
+
Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
Template is the object that describes the pod that will be created. The DaemonSet will create exactly one copy of this pod on every node that matches the template’s node selector (or on every node if no node selector is specified). More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template
AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
secretName
+
the name of secret that contains Azure Storage Account Name and Key
+
true
+
string
+
+
+
+
shareName
+
Share Name
+
true
+
string
+
+
+
+
readOnly
+
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
types.UID
+
+
+
+
v1.ISCSIVolumeSource
+
+
Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
targetPortal
+
iSCSI target portal. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
+
true
+
string
+
+
+
+
iqn
+
Target iSCSI Qualified Name.
+
true
+
string
+
+
+
+
lun
+
iSCSI target lun number.
+
true
+
integer (int32)
+
+
+
+
iscsiInterface
+
Optional: Defaults to default (tcp). iSCSI interface name that uses an iSCSI transport.
+
false
+
string
+
+
+
+
fsType
+
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#iscsi
+
false
+
string
+
+
+
+
readOnly
+
ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
v1.EmptyDirVolumeSource
+
+
Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
medium
+
What type of storage medium should back this directory. The default is "" which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir
desired number of instances for the scaled object.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
unversioned.Patch
+
+
Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.
+
+
+
+
v1.FlockerVolumeSource
+
+
Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
datasetName
+
Name of the dataset stored as metadata → name on the dataset for Flocker should be considered as deprecated
+
false
+
string
+
+
+
+
datasetUUID
+
UUID of the dataset. This is unique identifier of a Flocker dataset
+
false
+
string
+
+
+
+
+
+
+
+
v1.PersistentVolumeClaimVolumeSource
+
+
PersistentVolumeClaimVolumeSource references the user’s PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system).
Will force the ReadOnly setting in VolumeMounts. Default false.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
unversioned.ListMeta
+
+
ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
selfLink
+
SelfLink is a URL representing this object. Populated by the system. Read-only.
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
matchLabels
+
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
+
false
+
object
+
+
+
+
matchExpressions
+
matchExpressions is a list of label selector requirements. The requirements are ANDed.
The revision to rollback to. If set to 0, rollbck to the last revision.
+
false
+
integer (int64)
+
+
+
+
+
+
+
+
v1.SecretVolumeSource
+
+
Adapts a Secret into a volume.
+
+
+
The contents of the target Secret’s Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.
If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error. Paths must be relative and may not contain the .. path or start with ...
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
v1.EnvVarSource
+
+
EnvVarSource represents a source for the value of an EnvVar.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
fieldRef
+
Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.podIP.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
driver
+
Driver is the name of the driver to use for this volume.
+
true
+
string
+
+
+
+
fsType
+
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
+
false
+
string
+
+
+
+
secretRef
+
Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+
false
+
string
+
+
+
+
readOnly
+
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
v1.KeyToPath
+
+
Maps a string key to a path within a volume.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
key
+
The key to project.
+
true
+
string
+
+
+
+
path
+
The relative path of the file to map the key to. May not be an absolute path. May not contain the path element ... May not start with the string ...
+
true
+
string
+
+
+
+
mode
+
Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
v1.VsphereVirtualDiskVolumeSource
+
+
Represents a vSphere volume resource.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
volumePath
+
Path that identifies vSphere volume vmdk
+
true
+
string
+
+
+
+
fsType
+
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+
false
+
string
+
+
+
+
+
+
+
+
v1.DeleteOptions
+
+
DeleteOptions may be provided when deleting an API object
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int64)
+
+
+
+
preconditions
+
Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.
HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://kubernetes.io/docs/user-guide/volumes#hostpath
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
+
false
+
integer (int32)
+
+
+
+
successThreshold
+
Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.
+
false
+
integer (int32)
+
+
+
+
failureThreshold
+
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
v1beta1.DeploymentSpec
+
+
DeploymentSpec is the specification of the desired behavior of the Deployment.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
replicas
+
Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
+
false
+
integer (int32)
+
+
+
+
selector
+
Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.
Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)
+
false
+
integer (int32)
+
+
+
+
revisionHistoryLimit
+
The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified.
+
false
+
integer (int32)
+
+
+
+
paused
+
Indicates that the deployment is paused and will not be processed by the deployment controller.
+
false
+
boolean
+
false
+
+
+
rollbackTo
+
The config this deployment is rolling back to. Will be cleared after rollback is done.
The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Once autoRollback is implemented, the deployment controller will automatically rollback failed deployments. Note that progress will not be estimated during the time a deployment is paused. This is not set by default.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
unversioned.APIResourceList
+
+
APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.
The key of the secret to select from. Must be a valid secret key.
+
true
+
string
+
+
+
+
+
+
+
+
v1.Capability
+
+
+
+
unversioned.APIResource
+
+
APIResource specifies the name of a resource and whether it is namespaced.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
name is the name of the resource.
+
true
+
string
+
+
+
+
namespaced
+
namespaced indicates if a resource is namespaced or not.
+
true
+
boolean
+
false
+
+
+
kind
+
kind is the kind for the resource (e.g. Foo is the kind for a resource foo)
+
true
+
string
+
+
+
+
+
+
+
+
v1.DownwardAPIVolumeFile
+
+
DownwardAPIVolumeFile represents information to create the file containing the pod field
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
path
+
Required: Path is the relative path name of the file to be created. Must not be absolute or contain the .. path. Must be utf-8 encoded. The first item of the relative path must not start with ..
+
true
+
string
+
+
+
+
fieldRef
+
Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
v1.ContainerPort
+
+
ContainerPort represents a network port in a single container.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.
+
false
+
string
+
+
+
+
hostPort
+
Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.
+
false
+
integer (int32)
+
+
+
+
containerPort
+
Number of port to expose on the pod’s IP address. This must be a valid port number, 0 < x < 65536.
+
true
+
integer (int32)
+
+
+
+
protocol
+
Protocol for port. Must be UDP or TCP. Defaults to "TCP".
List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers
Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.
+
false
+
integer (int64)
+
+
+
+
activeDeadlineSeconds
+
Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.
+
false
+
integer (int64)
+
+
+
+
dnsPolicy
+
Set DNS policy for containers within the pod. One of ClusterFirst or Default. Defaults to "ClusterFirst".
DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.
+
false
+
string
+
+
+
+
nodeName
+
NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.
+
false
+
string
+
+
+
+
hostNetwork
+
Host networking requested for this pod. Use the host’s network namespace. If this option is set, the ports that will be used must be specified. Default to false.
+
false
+
boolean
+
false
+
+
+
hostPID
+
Use the host’s pid namespace. Optional: Default to false.
+
false
+
boolean
+
false
+
+
+
hostIPC
+
Use the host’s ipc namespace. Optional: Default to false.
+
false
+
boolean
+
false
+
+
+
securityContext
+
SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.
ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
Specifies the hostname of the Pod If not specified, the pod’s hostname will be set to a system-defined value.
+
false
+
string
+
+
+
+
subdomain
+
If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>". If not specified, the pod will not have a domainname at all.
+
false
+
string
+
+
+
+
+
+
+
+
v1.Lifecycle
+
+
Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
postStart
+
PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details
PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details
IngressTLS describes the transport layer security associated with an Ingress.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
hosts
+
Hosts are a list of hosts included in the TLS certificate. The values in this list must match the name/s used in the tlsSecret. Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress, if left unspecified.
+
false
+
string array
+
+
+
+
secretName
+
SecretName is the name of the secret used to terminate SSL traffic on 443. Field is left optional to allow SSL routing based on SNI hostname alone. If the SNI host in a listener conflicts with the "Host" header field used by an IngressRule, the SNI host is used for termination and value of the Host header is used for routing.
+
false
+
string
+
+
+
+
+
+
+
+
v1beta1.SubresourceReference
+
+
SubresourceReference contains enough information to let you inspect or modify the referred subresource.
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#rbd
Represents a Photon Controller persistent disk resource.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
pdID
+
ID that identifies Photon Controller persistent disk
+
true
+
string
+
+
+
+
fsType
+
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
label selector for pods that should match the replicas count. This is a serializated version of both map-based and more expressive set-based selectors. This is done to avoid introspection in the clients. The string will be in the same format as the query-param syntax. If the target type only supports map-based selectors, both this field and map-based selector field are populated. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
+
false
+
string
+
+
+
+
+
+
+
+
v1beta1.NetworkPolicySpec
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
podSelector
+
Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.
List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if namespace.networkPolicy.ingress.isolation is undefined and cluster policy allows it, OR if the traffic source is the pod’s local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not affect ingress isolation. If this field is present and contains at least one rule, this policy allows any traffic which matches at least one of the ingress rules in this list.
HTTPHeader describes a custom header to be used in HTTP probes
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
The header field name
+
true
+
string
+
+
+
+
value
+
The header field value
+
true
+
string
+
+
+
+
+
+
+
+
v1beta1.HorizontalPodAutoscalerStatus
+
+
current status of a horizontal pod autoscaler
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
observedGeneration
+
most recent generation observed by this autoscaler.
+
false
+
integer (int64)
+
+
+
+
lastScaleTime
+
last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed.
+
false
+
string (date-time)
+
+
+
+
currentReplicas
+
current number of replicas of pods managed by this autoscaler.
+
true
+
integer (int32)
+
+
+
+
desiredReplicas
+
desired number of replicas of pods managed by this autoscaler.
+
true
+
integer (int32)
+
+
+
+
currentCPUUtilizationPercentage
+
current average CPU utilization over all pods, represented as a percentage of requested CPU, e.g. 70 means that an average pod is using now 70% of its requested CPU.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
v1.FCVolumeSource
+
+
Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
targetWWNs
+
Required: FC target worldwide names (WWNs)
+
true
+
string array
+
+
+
+
lun
+
Required: FC target lun number
+
true
+
integer (int32)
+
+
+
+
fsType
+
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+
false
+
string
+
+
+
+
readOnly
+
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
v1beta1.ThirdPartyResource
+
+
A ThirdPartyResource is a generic representation of a resource, it is used by add-ons and plugins to add new resource types to the API. It consists of one or more Versions of the api.
IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
host
+
Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the
+ IP in the Spec of the parent Ingress.
+2. The : delimiter is not respected because ports are not allowed.
+ Currently the port of an Ingress is implicitly :80 for http and
+ :443 for https.
+Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.
This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace.
Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces.
StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).
+
false
+
string
+
+
+
+
group
+
The group attribute of the resource associated with the status StatusReason.
Entrypoint array. Not executed within a shell. The docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers#containers-and-commands
+
false
+
string array
+
+
+
+
args
+
Arguments to the entrypoint. The docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers#containers-and-commands
+
false
+
string array
+
+
+
+
workingDir
+
Container’s working directory. If not specified, the container runtime’s default will be used, which might be configured in the container image. Cannot be updated.
+
false
+
string
+
+
+
+
ports
+
List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Cannot be updated.
Optional: Path at which the file to which the container’s termination message will be written is mounted into the container’s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Defaults to /dev/termination-log. Cannot be updated.
Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.
+
false
+
boolean
+
false
+
+
+
stdinOnce
+
Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false
+
false
+
boolean
+
false
+
+
+
tty
+
Whether this container should allocate a TTY for itself, also requires stdin to be true. Default is false.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
v1.PodSecurityContext
+
+
PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
seLinuxOptions
+
The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.
The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.
+
false
+
integer (int64)
+
+
+
+
runAsNonRoot
+
Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+
false
+
boolean
+
false
+
+
+
supplementalGroups
+
A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.
+
false
+
integer (int32) array
+
+
+
+
fsGroup
+
A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:
+
+1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR’d with rw-rw
+
false
+
integer (int64)
+
+
+
+
+
+
+
+
v1beta1.NetworkPolicyIngressRule
+
+
This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
ports
+
List of ports which should be made accessible on the pods selected for this rule. Each item in this list is combined using a logical OR. If this field is not provided, this rule matches all ports (traffic not restricted by port). If this field is empty, this rule matches no ports (no traffic matches). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.
List of sources which should be able to access the pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is not provided, this rule matches all sources (traffic not restricted by source). If this field is empty, this rule matches no sources (no traffic matches). If this field is present and contains at least on item, this rule allows traffic only if the traffic matches at least one item in the from list.
OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container. The volume must also be in the same region as the kubelet. Cinder volumes support ownership management and SELinux relabeling.
SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
capabilities
+
The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime.
Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false.
+
false
+
boolean
+
false
+
+
+
seLinuxOptions
+
The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+
false
+
integer (int64)
+
+
+
+
runAsNonRoot
+
Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+
false
+
boolean
+
false
+
+
+
readOnlyRootFilesystem
+
Whether this container has a read-only root filesystem. Default is false.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
v1.Protocol
+
+
+
+
v1.AWSElasticBlockStoreVolumeSource
+
+
Represents a Persistent Disk resource in AWS.
+
+
+
An AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#awselasticblockstore
+
false
+
string
+
+
+
+
partition
+
The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
reference to Scale subresource; horizontal pod autoscaler will learn the current resource consumption from its status, and will set the desired number of pods by modifying its spec.
lower limit for the number of pods that can be set by the autoscaler, default 1.
+
false
+
integer (int32)
+
+
+
+
maxReplicas
+
upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.
+
true
+
integer (int32)
+
+
+
+
cpuUtilization
+
target average CPU utilization (represented as a percentage of requested CPU) over all the pods; if not specified it defaults to the target CPU utilization at 80% of the requested resources.
Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
registry
+
Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes
+
true
+
string
+
+
+
+
volume
+
Volume is a string that references an already created Quobyte volume by name.
+
true
+
string
+
+
+
+
readOnly
+
ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.
+
false
+
boolean
+
false
+
+
+
user
+
User to map volume access to Defaults to serivceaccount user
+
false
+
string
+
+
+
+
group
+
Group to map volume access to Default is no group
+
false
+
string
+
+
+
+
+
+
+
+
v1.EnvVar
+
+
EnvVar represents an environment variable present in a Container.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
Name of the environment variable. Must be a C_IDENTIFIER.
+
true
+
string
+
+
+
+
value
+
Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
+
false
+
string
+
+
+
+
valueFrom
+
Source for the environment variable’s value. Cannot be used if value is not empty.
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/
+
false
+
object
+
+
+
+
+
+
+
+
v1.PodTemplateSpec
+
+
PodTemplateSpec describes the data a pod should have when created from a template
If specified, the port on the given protocol. This can either be a numerical or named port on a pod. If this field is not provided, this matches all port names and numbers. If present, only traffic on the specified protocol AND port will be matched.
+
false
+
string
+
+
+
+
+
+
+
+
v1beta1.DeploymentCondition
+
+
DeploymentCondition describes the state of a deployment at a certain point.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
type
+
Type of deployment condition.
+
true
+
string
+
+
+
+
status
+
Status of the condition, one of True, False, Unknown.
+
true
+
string
+
+
+
+
lastUpdateTime
+
The last time this condition was updated.
+
false
+
string (date-time)
+
+
+
+
lastTransitionTime
+
Last time the condition transitioned from one status to another.
+
false
+
string (date-time)
+
+
+
+
reason
+
The reason for the condition’s last transition.
+
false
+
string
+
+
+
+
message
+
A human readable message indicating details about the transition.
+
false
+
string
+
+
+
+
+
+
+
+
v1beta1.JobSpec
+
+
JobSpec describes how the job execution will look like.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
parallelism
+
Parallelism specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: http://kubernetes.io/docs/user-guide/jobs
+
false
+
integer (int32)
+
+
+
+
completions
+
Completions specifies the desired number of successfully finished pods the job should be run with. Setting to nil means that the success of any pod signals the success of all pods, and allows parallelism to have any positive value. Setting to 1 means that parallelism is limited to 1 and the success of that pod signals the success of the job. More info: http://kubernetes.io/docs/user-guide/jobs
+
false
+
integer (int32)
+
+
+
+
activeDeadlineSeconds
+
Optional duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer
AutoSelector controls generation of pod labels and pod selectors. It was not present in the original extensions/v1beta1 Job definition, but exists to allow conversion from batch/v1 Jobs, where it corresponds to, but has the opposite meaning as, ManualSelector. More info: http://releases.k8s.io/HEAD/docs/design/selector-generation.md
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
key
+
key is the label key that the selector applies to.
+
true
+
string
+
+
+
+
operator
+
operator represents a key’s relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
+
true
+
string
+
+
+
+
values
+
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
+
false
+
string array
+
+
+
+
+
+
+
+
unversioned.Status
+
+
Status is a return value for calls that don’t return other objects.
A human-readable description of the status of this operation.
+
false
+
string
+
+
+
+
reason
+
A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.
+
false
+
string
+
+
+
+
details
+
Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.
HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are forwarded to the backend.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
path
+
Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e. this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a /. If unspecified, the path defaults to a catch all sending traffic to the backend.
+
false
+
string
+
+
+
+
backend
+
Backend defines the referenced service endpoint to which the traffic will be forwarded to.
Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
list or watch objects of kind HorizontalPodAutoscaler
+
+
+
GET /apis/extensions/v1beta1/horizontalpodautoscalers
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
GET /apis/extensions/v1beta1/namespaces/{namespace}/daemonsets
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/namespaces/{namespace}/deployments
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
list or watch objects of kind HorizontalPodAutoscaler
+
+
+
GET /apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/namespaces/{namespace}/ingresses
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/namespaces/{namespace}/jobs
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/namespaces/{namespace}/networkpolicies
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/namespaces/{namespace}/replicasets
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
watch individual changes to a list of HorizontalPodAutoscaler
+
+
+
GET /apis/extensions/v1beta1/watch/horizontalpodautoscalers
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/daemonsets
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/daemonsets/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/deployments
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/deployments/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
watch individual changes to a list of HorizontalPodAutoscaler
+
+
+
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/horizontalpodautoscalers
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
watch changes to an object of kind HorizontalPodAutoscaler
+
+
+
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/ingresses
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/ingresses/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/jobs
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/jobs/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
watch individual changes to a list of NetworkPolicy
+
+
+
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/networkpolicies
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/networkpolicies/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/replicasets
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/replicasets/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
watch individual changes to a list of NetworkPolicy
+
+
+
GET /apis/extensions/v1beta1/watch/networkpolicies
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
watch individual changes to a list of ThirdPartyResource
+
+
+
GET /apis/extensions/v1beta1/watch/thirdpartyresources
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
watch changes to an object of kind ThirdPartyResource
+
+
+
GET /apis/extensions/v1beta1/watch/thirdpartyresources/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
unversioned.StatusCause
+
+
StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
reason
+
A machine-readable description of the cause of the error. If this value is empty there is no information available.
+
false
+
string
+
+
+
+
message
+
A human-readable description of the cause of the error. This field may be presented as-is to a reader.
+
false
+
string
+
+
+
+
field
+
The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
+
+Examples:
+ "name" - the field "name" on the current resource
+ "items[0].name" - the field "name" on the first array entry in "items"
+
false
+
string
+
+
+
+
+
+
+
+
v1.GCEPersistentDiskVolumeSource
+
+
Represents a Persistent Disk resource in Google Compute Engine.
+
+
+
A GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk
+
false
+
string
+
+
+
+
partition
+
The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk
A human-readable message indicating details about why the volume is in this state.
+
false
+
string
+
+
+
+
reason
+
Reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI.
+
false
+
string
+
+
+
+
+
+
+
+
v1.ConfigMapVolumeSource
+
+
Adapts a ConfigMap into a volume.
+
+
+
The contents of the target ConfigMap’s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.
If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error. Paths must be relative and may not contain the .. path or start with ...
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
Represents a volume that is populated with the contents of a git repository. Git repo volumes do not support ownership management. Git repo volumes support SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
repository
+
Repository URL
+
true
+
string
+
+
+
+
revision
+
Commit hash for the specified revision.
+
false
+
string
+
+
+
+
directory
+
Target directory name. Must not contain or start with ... If . is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.
+
false
+
string
+
+
+
+
+
+
+
+
v1.ReplicationControllerCondition
+
+
ReplicationControllerCondition describes the state of a replication controller at a certain point.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
type
+
Type of replication controller condition.
+
true
+
string
+
+
+
+
status
+
Status of the condition, one of True, False, Unknown.
+
true
+
string
+
+
+
+
lastTransitionTime
+
The last time the condition transitioned from one status to another.
+
false
+
string (date-time)
+
+
+
+
reason
+
The reason for the condition’s last transition.
+
false
+
string
+
+
+
+
message
+
A human readable message indicating details about the transition.
+
false
+
string
+
+
+
+
+
+
+
+
v1.ScaleStatus
+
+
ScaleStatus represents the current status of a scale subresource.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
replicas
+
actual number of observed instances of the scaled object.
+
true
+
integer (int32)
+
+
+
+
selector
+
label query over pods that should match the replicas count. This is same as the label selector but in the string format to avoid introspection by clients. The string will be in the same format as the query-param syntax. More info about label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors
+
false
+
string
+
+
+
+
+
+
+
+
v1.Capabilities
+
+
Adds and removes POSIX capabilities from running containers.
Used is the current observed total usage of the resource in the namespace.
+
false
+
object
+
+
+
+
+
+
+
+
v1.ExecAction
+
+
ExecAction describes a "run in container" action.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
command
+
Command is the command line to execute inside the container, the working directory for the command is root (/) in the container’s filesystem. The command is simply exec’d, it is not run inside a shell, so traditional shell instructions ('
+
', etc) won’t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
+
false
+
string array
+
+
+
+
+
+
+
v1.ObjectMeta
+
+
ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
+
false
+
string
+
+
+
+
generateName
+
GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
+
+If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
+
+Applied only if Name is not specified. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency
+
false
+
string
+
+
+
+
namespace
+
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
+
+Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
+
false
+
string
+
+
+
+
selfLink
+
SelfLink is a URL representing this object. Populated by the system. Read-only.
+
false
+
string
+
+
+
+
uid
+
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
+
+Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+
false
+
string
+
+
+
+
resourceVersion
+
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
+
+Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency
+
false
+
string
+
+
+
+
generation
+
A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.
+
false
+
integer (int64)
+
+
+
+
creationTimestamp
+
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
+
+Populated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
+
false
+
string (date-time)
+
+
+
+
deletionTimestamp
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
+
+Populated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
+
false
+
string (date-time)
+
+
+
+
deletionGracePeriodSeconds
+
Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.
+
false
+
integer (int64)
+
+
+
+
labels
+
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
+
false
+
object
+
+
+
+
annotations
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
+
false
+
object
+
+
+
+
ownerReferences
+
List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.
Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.
+
false
+
string array
+
+
+
+
clusterName
+
The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.
+
false
+
string
+
+
+
+
+
+
+
+
v1.LimitRangeSpec
+
+
LimitRangeSpec defines a min/max usage limit for resources that match on kind.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
limits
+
Limits is the list of LimitRangeItem objects that are enforced.
AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
secretName
+
the name of secret that contains Azure Storage Account Name and Key
+
true
+
string
+
+
+
+
shareName
+
Share Name
+
true
+
string
+
+
+
+
readOnly
+
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
v1.ISCSIVolumeSource
+
+
Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
targetPortal
+
iSCSI target portal. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
+
true
+
string
+
+
+
+
iqn
+
Target iSCSI Qualified Name.
+
true
+
string
+
+
+
+
lun
+
iSCSI target lun number.
+
true
+
integer (int32)
+
+
+
+
iscsiInterface
+
Optional: Defaults to default (tcp). iSCSI interface name that uses an iSCSI transport.
+
false
+
string
+
+
+
+
fsType
+
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#iscsi
+
false
+
string
+
+
+
+
readOnly
+
ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
v1.EmptyDirVolumeSource
+
+
Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
medium
+
What type of storage medium should back this directory. The default is "" which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir
+
false
+
string
+
+
+
+
+
+
+
+
v1.NodeList
+
+
NodeList is the whole list of all Nodes which have been registered with master.
Eviction evicts a pod from its node subject to certain policies and safety constraints. This is a subresource of Pod. A request to cause such an eviction is created by POSTing to …/pods/<pod name>/evictions.
ServiceAccount binds together: * a name, understood by users, and perhaps by peripheral systems, for an identity * a principal that can be authenticated and authorized * a set of secrets
ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. More info: http://kubernetes.io/docs/user-guide/secrets#manually-specifying-an-imagepullsecret
Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
datasetName
+
Name of the dataset stored as metadata → name on the dataset for Flocker should be considered as deprecated
+
false
+
string
+
+
+
+
datasetUUID
+
UUID of the dataset. This is unique identifier of a Flocker dataset
+
false
+
string
+
+
+
+
+
+
+
+
v1.PersistentVolumeClaimVolumeSource
+
+
PersistentVolumeClaimVolumeSource references the user’s PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system).
Will force the ReadOnly setting in VolumeMounts. Default false.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
unversioned.ListMeta
+
+
ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
selfLink
+
SelfLink is a URL representing this object. Populated by the system. Read-only.
Represents the actual resources of the underlying volume.
+
false
+
object
+
+
+
+
+
+
+
+
v1.UniqueVolumeName
+
+
+
+
unversioned.LabelSelector
+
+
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
matchLabels
+
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
+
false
+
object
+
+
+
+
matchExpressions
+
matchExpressions is a list of label selector requirements. The requirements are ANDed.
EndpointSubset is a group of addresses with a common set of ports. The expanded set of endpoints is the Cartesian product of Addresses x Ports. For example, given:
+ {
+ Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
+ Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
+ }
+The resulting set of endpoints can be viewed as:
+ a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],
+ b: [ 10.10.1.1:309, 10.10.2.2:309 ]
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
addresses
+
IP addresses which offer the related ports that are marked as ready. These endpoints should be considered safe for load balancers and clients to utilize.
IP addresses which offer the related ports but are not currently marked as ready because they have not yet finished starting, have recently failed a readiness check, or have recently failed a liveness check.
The contents of the target Secret’s Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.
If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error. Paths must be relative and may not contain the .. path or start with ...
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
v1.FlexVolumeSource
+
+
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
driver
+
Driver is the name of the driver to use for this volume.
+
true
+
string
+
+
+
+
fsType
+
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
+
false
+
string
+
+
+
+
secretRef
+
Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
+
false
+
boolean
+
false
+
+
+
options
+
Optional: Extra command options if any.
+
false
+
object
+
+
+
+
+
+
+
+
v1.EnvVarSource
+
+
EnvVarSource represents a source for the value of an EnvVar.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
fieldRef
+
Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.podIP.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+
false
+
string
+
+
+
+
readOnly
+
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
v1.KeyToPath
+
+
Maps a string key to a path within a volume.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
key
+
The key to project.
+
true
+
string
+
+
+
+
path
+
The relative path of the file to map the key to. May not be an absolute path. May not contain the path element ... May not start with the string ...
+
true
+
string
+
+
+
+
mode
+
Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
v1.Service
+
+
Service is a named abstraction of software service (for example, mysql) consisting of local port (for example 3306) that the proxy listens on, and the selector that determines which pods will answer requests sent through the proxy.
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+
false
+
string
+
+
+
+
+
+
+
+
v1.ServiceAccountList
+
+
ServiceAccountList is a list of ServiceAccount objects
The set of all endpoints is the union of all subsets. Addresses are placed into subsets according to the IPs they share. A single address with multiple ports, some of which are ready and some of which are not (because they come from different containers) will result in the address being displayed in different subsets for the different ports. No address will appear in both Addresses and NotReadyAddresses in the same subset. Sets of addresses and ports that comprise a service.
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int64)
+
+
+
+
preconditions
+
Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.
HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://kubernetes.io/docs/user-guide/volumes#hostpath
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
+
false
+
integer (int32)
+
+
+
+
successThreshold
+
Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.
+
false
+
integer (int32)
+
+
+
+
failureThreshold
+
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
unversioned.APIResourceList
+
+
APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.
DownwardAPIVolumeFile represents information to create the file containing the pod field
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
path
+
Required: Path is the relative path name of the file to be created. Must not be absolute or contain the .. path. Must be utf-8 encoded. The first item of the relative path must not start with ..
+
true
+
string
+
+
+
+
fieldRef
+
Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers
Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.
+
false
+
integer (int64)
+
+
+
+
activeDeadlineSeconds
+
Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.
+
false
+
integer (int64)
+
+
+
+
dnsPolicy
+
Set DNS policy for containers within the pod. One of ClusterFirst or Default. Defaults to "ClusterFirst".
DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.
+
false
+
string
+
+
+
+
nodeName
+
NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.
+
false
+
string
+
+
+
+
hostNetwork
+
Host networking requested for this pod. Use the host’s network namespace. If this option is set, the ports that will be used must be specified. Default to false.
+
false
+
boolean
+
false
+
+
+
hostPID
+
Use the host’s pid namespace. Optional: Default to false.
+
false
+
boolean
+
false
+
+
+
hostIPC
+
Use the host’s ipc namespace. Optional: Default to false.
+
false
+
boolean
+
false
+
+
+
securityContext
+
SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.
ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
Specifies the hostname of the Pod If not specified, the pod’s hostname will be set to a system-defined value.
+
false
+
string
+
+
+
+
subdomain
+
If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>". If not specified, the pod will not have a domainname at all.
+
false
+
string
+
+
+
+
+
+
+
+
v1.ContainerPort
+
+
ContainerPort represents a network port in a single container.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.
+
false
+
string
+
+
+
+
hostPort
+
Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.
+
false
+
integer (int32)
+
+
+
+
containerPort
+
Number of port to expose on the pod’s IP address. This must be a valid port number, 0 < x < 65536.
+
true
+
integer (int32)
+
+
+
+
protocol
+
Protocol for port. Must be UDP or TCP. Defaults to "TCP".
+
false
+
string
+
+
+
+
hostIP
+
What host IP to bind the external port to.
+
false
+
string
+
+
+
+
+
+
+
+
v1.ResourceQuota
+
+
ResourceQuota sets aggregate quota restrictions enforced per namespace
Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
postStart
+
PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details
PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details
Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)
+
false
+
integer (int32)
+
+
+
+
selector
+
Selector is a label query over pods that should match the Replicas count. If Selector is empty, it is defaulted to the labels present on the Pod template. Label keys and values that must match in order to be controlled by this replication controller, if empty defaulted to labels on Pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#rbd
Represents a Photon Controller persistent disk resource.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
pdID
+
ID that identifies Photon Controller persistent disk
+
true
+
string
+
+
+
+
fsType
+
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+
false
+
string
+
+
+
+
+
+
+
+
versioned.Event
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
type
+
+
true
+
string
+
+
+
+
object
+
+
true
+
string
+
+
+
+
+
+
+
+
v1.PodTemplate
+
+
PodTemplate describes a template for creating copies of a predefined pod.
HTTPHeader describes a custom header to be used in HTTP probes
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
The header field name
+
true
+
string
+
+
+
+
value
+
The header field value
+
true
+
string
+
+
+
+
+
+
+
+
v1.FCVolumeSource
+
+
Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
targetWWNs
+
Required: FC target worldwide names (WWNs)
+
true
+
string array
+
+
+
+
lun
+
Required: FC target lun number
+
true
+
integer (int32)
+
+
+
+
fsType
+
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+
false
+
string
+
+
+
+
readOnly
+
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
v1.EndpointPort
+
+
EndpointPort is a tuple that describes a single port.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
The name of this port (corresponds to ServicePort.Name). Must be a DNS_LABEL. Optional only if one port is defined.
+
false
+
string
+
+
+
+
port
+
The port number of the endpoint.
+
true
+
integer (int32)
+
+
+
+
protocol
+
The IP protocol for this port. Must be UDP or TCP. Default is TCP.
+
false
+
string
+
+
+
+
+
+
+
+
v1.TCPSocketAction
+
+
TCPSocketAction describes an action based on opening a socket
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
port
+
Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
+
true
+
string
+
+
+
+
+
+
+
+
unversioned.StatusDetails
+
+
StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).
+
false
+
string
+
+
+
+
group
+
The group attribute of the resource associated with the status StatusReason.
Entrypoint array. Not executed within a shell. The docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers#containers-and-commands
+
false
+
string array
+
+
+
+
args
+
Arguments to the entrypoint. The docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers#containers-and-commands
+
false
+
string array
+
+
+
+
workingDir
+
Container’s working directory. If not specified, the container runtime’s default will be used, which might be configured in the container image. Cannot be updated.
+
false
+
string
+
+
+
+
ports
+
List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Cannot be updated.
Optional: Path at which the file to which the container’s termination message will be written is mounted into the container’s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Defaults to /dev/termination-log. Cannot be updated.
Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.
+
false
+
boolean
+
false
+
+
+
stdinOnce
+
Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false
+
false
+
boolean
+
false
+
+
+
tty
+
Whether this container should allocate a TTY for itself, also requires stdin to be true. Default is false.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
v1.PodSecurityContext
+
+
PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
seLinuxOptions
+
The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.
The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.
+
false
+
integer (int64)
+
+
+
+
runAsNonRoot
+
Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+
false
+
boolean
+
false
+
+
+
supplementalGroups
+
A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.
+
false
+
integer (int32) array
+
+
+
+
fsGroup
+
A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:
+
+1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR’d with rw-rw
+
false
+
integer (int64)
+
+
+
+
+
+
+
+
v1.PersistentVolumeSpec
+
+
PersistentVolumeSpec is the specification of a persistent volume.
HostPath represents a directory on the host. Provisioned by a developer or tester. This is useful for single-node development and testing only! On-host storage is not supported in any way and WILL NOT WORK in a multi-node cluster. More info: http://kubernetes.io/docs/user-guide/volumes#hostpath
Flocker represents a Flocker volume attached to a kubelet’s host machine and exposed to the pod for its usage. This depends on the Flocker control service being running
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName is the authoritative bind between PV and PVC. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#binding
ServicePort contains information on service’s port.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. This maps to the Name field in EndpointPort objects. Optional if only one ServicePort is defined on this service.
+
false
+
string
+
+
+
+
protocol
+
The IP protocol for this port. Supports "TCP" and "UDP". Default is TCP.
+
false
+
string
+
+
+
+
port
+
The port that will be exposed by this service.
+
true
+
integer (int32)
+
+
+
+
targetPort
+
Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod’s container ports. If this is not specified, the value of the port field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the port field. More info: http://kubernetes.io/docs/user-guide/services#defining-a-service
+
false
+
string
+
+
+
+
nodePort
+
The port on each node on which this service is exposed when type=NodePort or LoadBalancer. Usually assigned by the system. If specified, it will be allocated to the service if unused or else creation of the service will fail. Default is to auto-allocate a port if the ServiceType of this Service requires one. More info: http://kubernetes.io/docs/user-guide/services#type—nodeport
+
false
+
integer (int32)
+
+
+
+
+
+
+
+
v1.ComponentCondition
+
+
Information about the condition of a component.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
type
+
Type of condition for a component. Valid value: "Healthy"
+
true
+
string
+
+
+
+
status
+
Status of the condition for a component. Valid values for "Healthy": "True", "False", or "Unknown".
+
true
+
string
+
+
+
+
message
+
Message about the condition for a component. For example, information about a health check.
+
false
+
string
+
+
+
+
error
+
Condition error code for a component. For example, a health check error code.
+
false
+
string
+
+
+
+
+
+
+
+
v1.OwnerReference
+
+
OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container. The volume must also be in the same region as the kubelet. Cinder volumes support ownership management and SELinux relabeling.
ContainerState holds a possible state of container. Only one of its members may be specified. If none of them is specified, the default one is ContainerStateWaiting.
SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
capabilities
+
The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime.
Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false.
+
false
+
boolean
+
false
+
+
+
seLinuxOptions
+
The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+
false
+
integer (int64)
+
+
+
+
runAsNonRoot
+
Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+
false
+
boolean
+
false
+
+
+
readOnlyRootFilesystem
+
Whether this container has a read-only root filesystem. Default is false.
+
false
+
boolean
+
false
+
+
+
+
+
+
+
v1.AWSElasticBlockStoreVolumeSource
+
+
Represents a Persistent Disk resource in AWS.
+
+
+
An AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#awselasticblockstore
+
false
+
string
+
+
+
+
partition
+
The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
Specifies whether the container has passed its readiness probe.
+
true
+
boolean
+
false
+
+
+
restartCount
+
The number of times the container has been restarted, currently based on the number of dead containers that have not yet been removed. Note that this is calculated from dead containers. But those containers are subject to garbage collection. This value will get capped at 5 by GC.
Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
registry
+
Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes
+
true
+
string
+
+
+
+
volume
+
Volume is a string that references an already created Quobyte volume by name.
+
true
+
string
+
+
+
+
readOnly
+
ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.
+
false
+
boolean
+
false
+
+
+
user
+
User to map volume access to Defaults to serivceaccount user
+
false
+
string
+
+
+
+
group
+
Group to map volume access to Default is no group
+
false
+
string
+
+
+
+
+
+
+
+
v1.ContainerImage
+
+
Describe a container image
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
names
+
Names by which this image is known. e.g. ["gcr.io/google_containers/hyperkube:v1.0.7", "dockerhub.io/google_containers/hyperkube:v1.0.7"]
+
true
+
string array
+
+
+
+
sizeBytes
+
The size of the image in bytes.
+
false
+
integer (int64)
+
+
+
+
+
+
+
+
v1.ResourceQuotaScope
+
+
+
+
v1.ReplicationControllerList
+
+
ReplicationControllerList is a collection of replication controllers.
Data contains the secret data. Each key must be a valid DNS_SUBDOMAIN or leading dot followed by valid DNS_SUBDOMAIN. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in https://tools.ietf.org/html/rfc4648#section-4
+
false
+
object
+
+
+
+
stringData
+
stringData allows specifying non-binary secret data in string form. It is provided as a write-only convenience method. All keys and values are merged into the data field on write, overwriting any existing values. It is never output when reading from the API.
+
false
+
object
+
+
+
+
type
+
Used to facilitate programmatic handling of secret data.
+
false
+
string
+
+
+
+
+
+
+
+
v1.Event
+
+
Event is a report of an event somewhere in the cluster.
The time at which the event was first recorded. (Time of server receipt is in TypeMeta.)
+
false
+
string (date-time)
+
+
+
+
lastTimestamp
+
The time at which the most recent occurrence of this event was recorded.
+
false
+
string (date-time)
+
+
+
+
count
+
The number of times this event has occurred.
+
false
+
integer (int32)
+
+
+
+
type
+
Type of this event (Normal, Warning), new types could be added in the future
+
false
+
string
+
+
+
+
+
+
+
+
v1.EnvVar
+
+
EnvVar represents an environment variable present in a Container.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
name
+
Name of the environment variable. Must be a C_IDENTIFIER.
+
true
+
string
+
+
+
+
value
+
Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
+
false
+
string
+
+
+
+
valueFrom
+
Source for the environment variable’s value. Cannot be used if value is not empty.
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/
+
false
+
object
+
+
+
+
+
+
+
+
v1.ComponentStatus
+
+
ComponentStatus (and ComponentStatusList) holds the cluster validation info.
LimitRangeItem defines a min/max usage limit for any resource that matches on kind.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
type
+
Type of resource that this limit applies to.
+
false
+
string
+
+
+
+
max
+
Max usage constraints on this kind by resource name.
+
false
+
object
+
+
+
+
min
+
Min usage constraints on this kind by resource name.
+
false
+
object
+
+
+
+
default
+
Default resource requirement limit value by resource name if resource limit is omitted.
+
false
+
object
+
+
+
+
defaultRequest
+
DefaultRequest is the default resource requirement request value by resource name if resource request is omitted.
+
false
+
object
+
+
+
+
maxLimitRequestRatio
+
MaxLimitRequestRatio if specified, the named resource must have a request and limit that are both non-zero where limit divided by request is less than or equal to the enumerated value; this represents the max burst for the named resource.
+
false
+
object
+
+
+
+
+
+
+
+
v1.PodTemplateSpec
+
+
PodTemplateSpec describes the data a pod should have when created from a template
If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.
+
false
+
string
+
+
+
+
+
+
+
+
unversioned.LabelSelectorRequirement
+
+
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
key
+
key is the label key that the selector applies to.
+
true
+
string
+
+
+
+
operator
+
operator represents a key’s relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
+
true
+
string
+
+
+
+
values
+
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
+
false
+
string array
+
+
+
+
+
+
+
+
v1.ContainerStateWaiting
+
+
ContainerStateWaiting is a waiting state of a container.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
reason
+
(brief) reason the container is not yet running.
+
false
+
string
+
+
+
+
message
+
Message regarding why the container is not yet running.
+
false
+
string
+
+
+
+
+
+
+
+
unversioned.Status
+
+
Status is a return value for calls that don’t return other objects.
A human-readable description of the status of this operation.
+
false
+
string
+
+
+
+
reason
+
A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.
+
false
+
string
+
+
+
+
details
+
Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.
Route service traffic to pods with label keys and values matching this selector. If empty or not present, the service is assumed to have an external process managing its endpoints, which Kubernetes will not modify. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: http://kubernetes.io/docs/user-guide/services#overview
+
false
+
object
+
+
+
+
clusterIP
+
clusterIP is the IP address of the service and is usually assigned randomly by the master. If an address is specified manually and is not in use by others, it will be allocated to the service; otherwise, creation of the service will fail. This field can not be changed through updates. Valid values are "None", empty string (""), or a valid IP address. "None" can be specified for headless services when proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: http://kubernetes.io/docs/user-guide/services#virtual-ips-and-service-proxies
+
false
+
string
+
+
+
+
type
+
type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. "ExternalName" maps to the specified externalName. "ClusterIP" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, by manual construction of an Endpoints object. If clusterIP is "None", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a stable IP. "NodePort" builds on ClusterIP and allocates a port on every node which routes to the clusterIP. "LoadBalancer" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the clusterIP. More info: http://kubernetes.io/docs/user-guide/services#overview
+
false
+
string
+
+
+
+
externalIPs
+
externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system. A previous form of this functionality exists as the deprecatedPublicIPs field. When using this field, callers should also clear the deprecatedPublicIPs field.
+
false
+
string array
+
+
+
+
deprecatedPublicIPs
+
deprecatedPublicIPs is deprecated and replaced by the externalIPs field with almost the exact same semantics. This field is retained in the v1 API for compatibility until at least 8/20/2016. It will be removed from any new API revisions. If both deprecatedPublicIPs and externalIPs are set, deprecatedPublicIPs is used.
Only applies to Service Type: LoadBalancer LoadBalancer will get created with the IP specified in this field. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.
+
false
+
string
+
+
+
+
loadBalancerSourceRanges
+
If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature." More info: http://kubernetes.io/docs/user-guide/services-firewalls
+
false
+
string array
+
+
+
+
externalName
+
externalName is the external reference that kubedns or equivalent will return as a CNAME record for this service. No proxying will be involved. Must be a valid DNS name and requires Type to be ExternalName.
+
false
+
string
+
+
+
+
+
+
+
+
v1.Pod
+
+
Pod is a collection of containers that can run on a host. This resource is created by clients and scheduled onto hosts.
EndpointAddress is a tuple that describes single IP address.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
ip
+
The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 is also accepted but not fully supported on all platforms. Also, certain kubernetes components, like kube-proxy, are not IPv6 ready.
+
true
+
string
+
+
+
+
hostname
+
The Hostname of this endpoint
+
false
+
string
+
+
+
+
nodeName
+
Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
list or watch objects of kind PersistentVolumeClaim
+
+
+
GET /api/v1/namespaces/{namespace}/persistentvolumeclaims
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/namespaces/{namespace}/pods/{name}/attach
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
stdin
+
Stdin if true, redirects the standard input stream of the pod for this call. Defaults to false.
+
false
+
boolean
+
+
+
+
QueryParameter
+
stdout
+
Stdout if true indicates that stdout is to be redirected for the attach call. Defaults to true.
+
false
+
boolean
+
+
+
+
QueryParameter
+
stderr
+
Stderr if true indicates that stderr is to be redirected for the attach call. Defaults to true.
+
false
+
boolean
+
+
+
+
QueryParameter
+
tty
+
TTY if true indicates that a tty will be allocated for the attach call. This is passed through the container runtime so the tty is allocated on the worker node by the container runtime. Defaults to false.
+
false
+
boolean
+
+
+
+
QueryParameter
+
container
+
The container in which to execute the command. Defaults to only container if there is only one container in the pod.
+
false
+
string
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
+
true
+
string
+
+
+
+
PathParameter
+
name
+
name of the Pod
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
connect POST requests to attach of Pod
+
+
+
POST /api/v1/namespaces/{namespace}/pods/{name}/attach
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
stdin
+
Stdin if true, redirects the standard input stream of the pod for this call. Defaults to false.
+
false
+
boolean
+
+
+
+
QueryParameter
+
stdout
+
Stdout if true indicates that stdout is to be redirected for the attach call. Defaults to true.
+
false
+
boolean
+
+
+
+
QueryParameter
+
stderr
+
Stderr if true indicates that stderr is to be redirected for the attach call. Defaults to true.
+
false
+
boolean
+
+
+
+
QueryParameter
+
tty
+
TTY if true indicates that a tty will be allocated for the attach call. This is passed through the container runtime so the tty is allocated on the worker node by the container runtime. Defaults to false.
+
false
+
boolean
+
+
+
+
QueryParameter
+
container
+
The container in which to execute the command. Defaults to only container if there is only one container in the pod.
+
false
+
string
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
+
true
+
string
+
+
+
+
PathParameter
+
name
+
name of the Pod
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
create binding of a Binding
+
+
+
POST /api/v1/namespaces/{namespace}/pods/{name}/binding
GET /api/v1/namespaces/{namespace}/pods/{name}/exec
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
stdin
+
Redirect the standard input stream of the pod for this call. Defaults to false.
+
false
+
boolean
+
+
+
+
QueryParameter
+
stdout
+
Redirect the standard output stream of the pod for this call. Defaults to true.
+
false
+
boolean
+
+
+
+
QueryParameter
+
stderr
+
Redirect the standard error stream of the pod for this call. Defaults to true.
+
false
+
boolean
+
+
+
+
QueryParameter
+
tty
+
TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.
+
false
+
boolean
+
+
+
+
QueryParameter
+
container
+
Container in which to execute the command. Defaults to only container if there is only one container in the pod.
+
false
+
string
+
+
+
+
QueryParameter
+
command
+
Command is the remote command to execute. argv array. Not executed within a shell.
+
false
+
string
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
+
true
+
string
+
+
+
+
PathParameter
+
name
+
name of the Pod
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
connect POST requests to exec of Pod
+
+
+
POST /api/v1/namespaces/{namespace}/pods/{name}/exec
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
stdin
+
Redirect the standard input stream of the pod for this call. Defaults to false.
+
false
+
boolean
+
+
+
+
QueryParameter
+
stdout
+
Redirect the standard output stream of the pod for this call. Defaults to true.
+
false
+
boolean
+
+
+
+
QueryParameter
+
stderr
+
Redirect the standard error stream of the pod for this call. Defaults to true.
+
false
+
boolean
+
+
+
+
QueryParameter
+
tty
+
TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.
+
false
+
boolean
+
+
+
+
QueryParameter
+
container
+
Container in which to execute the command. Defaults to only container if there is only one container in the pod.
+
false
+
string
+
+
+
+
QueryParameter
+
command
+
Command is the remote command to execute. argv array. Not executed within a shell.
+
false
+
string
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
+
true
+
string
+
+
+
+
PathParameter
+
name
+
name of the Pod
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
read log of the specified Pod
+
+
+
GET /api/v1/namespaces/{namespace}/pods/{name}/log
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
container
+
The container for which to stream logs. Defaults to only container if there is one container in the pod.
+
false
+
string
+
+
+
+
QueryParameter
+
follow
+
Follow the log stream of the pod. Defaults to false.
+
false
+
boolean
+
+
+
+
QueryParameter
+
previous
+
Return previous terminated container logs. Defaults to false.
+
false
+
boolean
+
+
+
+
QueryParameter
+
sinceSeconds
+
A relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
sinceTime
+
An RFC3339 timestamp from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.
+
false
+
string
+
+
+
+
QueryParameter
+
timestamps
+
If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.
+
false
+
boolean
+
+
+
+
QueryParameter
+
tailLines
+
If set, the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
limitBytes
+
If set, the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
+
true
+
string
+
+
+
+
PathParameter
+
name
+
name of the Pod
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
200
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
text/plain
+
+
+
application/json
+
+
+
application/yaml
+
+
+
application/vnd.kubernetes.protobuf
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
connect GET requests to portforward of Pod
+
+
+
GET /api/v1/namespaces/{namespace}/pods/{name}/portforward
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
+
true
+
string
+
+
+
+
PathParameter
+
name
+
name of the Pod
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
connect POST requests to portforward of Pod
+
+
+
POST /api/v1/namespaces/{namespace}/pods/{name}/portforward
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
+
true
+
string
+
+
+
+
PathParameter
+
name
+
name of the Pod
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
connect GET requests to proxy of Pod
+
+
+
GET /api/v1/namespaces/{namespace}/pods/{name}/proxy
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
path
+
Path is the URL path to use for the current proxy request to pod.
+
false
+
string
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
+
true
+
string
+
+
+
+
PathParameter
+
name
+
name of the Pod
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
connect PUT requests to proxy of Pod
+
+
+
PUT /api/v1/namespaces/{namespace}/pods/{name}/proxy
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
path
+
Path is the URL path to use for the current proxy request to pod.
+
false
+
string
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
list or watch objects of kind ReplicationController
+
+
+
GET /api/v1/namespaces/{namespace}/replicationcontrollers
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/namespaces/{namespace}/serviceaccounts
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
list or watch objects of kind PersistentVolumeClaim
+
+
+
GET /api/v1/persistentvolumeclaims
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
object name and auth scope, such as for teams and projects
+
true
+
string
+
+
+
+
PathParameter
+
name
+
name of the Service
+
true
+
string
+
+
+
+
PathParameter
+
path
+
path to the resource
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
proxy POST requests to Service
+
+
+
POST /api/v1/proxy/namespaces/{namespace}/services/{name}/{path}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
+
true
+
string
+
+
+
+
PathParameter
+
name
+
name of the Service
+
true
+
string
+
+
+
+
PathParameter
+
path
+
path to the resource
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
proxy GET requests to Node
+
+
+
GET /api/v1/proxy/nodes/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
PathParameter
+
name
+
name of the Node
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
proxy PUT requests to Node
+
+
+
PUT /api/v1/proxy/nodes/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
PathParameter
+
name
+
name of the Node
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
proxy DELETE requests to Node
+
+
+
DELETE /api/v1/proxy/nodes/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
PathParameter
+
name
+
name of the Node
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
proxy POST requests to Node
+
+
+
POST /api/v1/proxy/nodes/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
PathParameter
+
name
+
name of the Node
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
proxy GET requests to Node
+
+
+
GET /api/v1/proxy/nodes/{name}/{path}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
PathParameter
+
name
+
name of the Node
+
true
+
string
+
+
+
+
PathParameter
+
path
+
path to the resource
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
proxy PUT requests to Node
+
+
+
PUT /api/v1/proxy/nodes/{name}/{path}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
PathParameter
+
name
+
name of the Node
+
true
+
string
+
+
+
+
PathParameter
+
path
+
path to the resource
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
proxy DELETE requests to Node
+
+
+
DELETE /api/v1/proxy/nodes/{name}/{path}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
PathParameter
+
name
+
name of the Node
+
true
+
string
+
+
+
+
PathParameter
+
path
+
path to the resource
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
proxy POST requests to Node
+
+
+
POST /api/v1/proxy/nodes/{name}/{path}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
PathParameter
+
name
+
name of the Node
+
true
+
string
+
+
+
+
PathParameter
+
path
+
path to the resource
+
true
+
string
+
+
+
+
+
+
+
+
Responses
+
+
+
+
+
+
+
+
+
HTTP Code
+
Description
+
Schema
+
+
+
+
+
default
+
success
+
string
+
+
+
+
+
+
+
Consumes
+
+
+
+
/
+
+
+
+
+
+
Produces
+
+
+
+
/
+
+
+
+
+
+
Tags
+
+
+
+
apiv1
+
+
+
+
+
+
+
list or watch objects of kind ReplicationController
+
+
+
GET /api/v1/replicationcontrollers
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
GET /api/v1/watch/namespaces/{namespace}/configmaps
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/configmaps/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/endpoints
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/endpoints/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/events/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/limitranges
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/limitranges/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
watch individual changes to a list of PersistentVolumeClaim
+
+
+
GET /api/v1/watch/namespaces/{namespace}/persistentvolumeclaims
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
watch changes to an object of kind PersistentVolumeClaim
+
+
+
GET /api/v1/watch/namespaces/{namespace}/persistentvolumeclaims/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/pods/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/podtemplates
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/podtemplates/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
watch individual changes to a list of ReplicationController
+
+
+
GET /api/v1/watch/namespaces/{namespace}/replicationcontrollers
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
watch changes to an object of kind ReplicationController
+
+
+
GET /api/v1/watch/namespaces/{namespace}/replicationcontrollers/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
watch individual changes to a list of ResourceQuota
+
+
+
GET /api/v1/watch/namespaces/{namespace}/resourcequotas
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/resourcequotas/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/secrets/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
watch individual changes to a list of ServiceAccount
+
+
+
GET /api/v1/watch/namespaces/{namespace}/serviceaccounts
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/serviceaccounts/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
GET /api/v1/watch/namespaces/{namespace}/services/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
+
false
+
string
+
+
+
+
QueryParameter
+
timeoutSeconds
+
Timeout for the list/watch call.
+
false
+
integer (int32)
+
+
+
+
PathParameter
+
namespace
+
object name and auth scope, such as for teams and projects
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
watch individual changes to a list of PersistentVolumeClaim
+
+
+
GET /api/v1/watch/persistentvolumeclaims
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
watch individual changes to a list of PersistentVolume
+
+
+
GET /api/v1/watch/persistentvolumes
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
watch changes to an object of kind PersistentVolume
+
+
+
GET /api/v1/watch/persistentvolumes/{name}
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
watch individual changes to a list of ReplicationController
+
+
+
GET /api/v1/watch/replicationcontrollers
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
watch individual changes to a list of ResourceQuota
+
+
+
GET /api/v1/watch/resourcequotas
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
watch individual changes to a list of ServiceAccount
+
+
+
GET /api/v1/watch/serviceaccounts
+
+
+
+
Parameters
+
+
+
+
+
+
+
+
+
+
+
+
Type
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
QueryParameter
+
pretty
+
If true, then the output is pretty printed.
+
false
+
string
+
+
+
+
QueryParameter
+
labelSelector
+
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
A selector to restrict the list of returned objects by their labels. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
fieldSelector
+
A selector to restrict the list of returned objects by their fields. Defaults to everything.
+
false
+
string
+
+
+
+
QueryParameter
+
watch
+
Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+
false
+
boolean
+
+
+
+
QueryParameter
+
resourceVersion
+
When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.
@@ -45,7 +45,7 @@ title: Case Studies
-
+
@@ -76,8 +76,13 @@ title: Case Studies
-
+
+
+
+
+
+
diff --git a/case-studies/pearson.html b/case-studies/pearson.html
index bf871789b9..50f16ce7ae 100644
--- a/case-studies/pearson.html
+++ b/case-studies/pearson.html
@@ -13,13 +13,13 @@ title: Pearson Case Study
-
Using Kubernetes to reinvent the world’s largest educational company
+
Using Kubernetes to reinvent the world's largest educational company
- Pearson, the world’s education company, serving 75 million learners worldwide, set a goal to more than double that number to 200 million by 2025. A key part of this growth is in digital learning experiences, and that requires an infrastructure platform that is able to scale quickly and deliver products to market faster. So Pearson’s Cloud Technology team chose Kubernetes to help build a platform to meet the business requirements.
+ Pearson, the world's education company, serving 75 million learners worldwide, set a goal to more than double that number to 200 million by 2025. A key part of this growth is in digital learning experiences, and that requires an infrastructure platform that is able to scale quickly and deliver products to market faster. So Pearson's Cloud Technology team chose Kubernetes to help build a platform to meet the business requirements.
- “To transform our infrastructure, we had to think beyond simply enabling automated provisioning, we realized we had to build a platform that would allow Pearson developers to build manage and deploy applications in a completely different way. We chose Kubernetes because of its flexibility, ease of management and the way it would improve our engineers’ productivity.”
+ "To transform our infrastructure, we had to think beyond simply enabling automated provisioning, we realized we had to build a platform that would allow Pearson developers to build manage and deploy applications in a completely different way. We chose Kubernetes because of its flexibility, ease of management and the way it would improve our engineers' productivity."
— Chris Jackson, Director for Cloud Product Engineering, Pearson
@@ -38,7 +38,7 @@ title: Pearson Case Study
Why Kubernetes:
-
Kubernetes will allow Pearson’s teams to develop their apps in a consistent manner, saving time and minimizing complexity.
+
Kubernetes will allow Pearson's teams to develop their apps in a consistent manner, saving time and minimizing complexity.
@@ -52,7 +52,7 @@ title: Pearson Case Study
Results:
-
Pearson is building an enterprise-wide platform for delivering innovative, web-based educational content. They expect engineers’ productivity to increase by up to 20 percent.
+
Pearson is building an enterprise-wide platform for delivering innovative, web-based educational content. They expect engineers' productivity to increase by up to 20 percent.
@@ -63,9 +63,9 @@ title: Pearson Case Study
Kubernetes powers a comprehensive developer experience
-
Pearson wanted to use as much open source technology as possible for the platform given that it provides both technical and commercial benefits over the duration of the project. Jackson says, “Building an infrastructure platform based on open source technology in Pearson was a no-brainer, the sharing of technical challenges and advanced use cases in a community of people with talent far beyond what we could hire independently allows us to innovate at a level we could not reach on our own. Our engineers enjoy returning code to the community and participating in talks, blogs and meetings, it’s a great way for us to allow our team to express themselves and share the pride they have in their work.”
-
It also wanted to use a container-focused platform. Pearson has 400 development groups and diverse brands with varying business and technical needs. With containers, each brand could experiment with building new types of content using their preferred technologies, and then deliver it using containers. Pearson chose Kubernetes because it believes that is the best technology for managing containers, has the widest community support and offers the most flexible and powerful tools.“
-
Kubernetes is at the core of the platform we’ve built for developers. After we get our big spike in back-to-school in traffic, much of Pearson’s traffic will interact with Kubernetes. It is proving to be as effective as we had hoped,” Jackson says.
+
Pearson wanted to use as much open source technology as possible for the platform given that it provides both technical and commercial benefits over the duration of the project. Jackson says, "Building an infrastructure platform based on open source technology in Pearson was a no-brainer, the sharing of technical challenges and advanced use cases in a community of people with talent far beyond what we could hire independently allows us to innovate at a level we could not reach on our own. Our engineers enjoy returning code to the community and participating in talks, blogs and meetings, it's a great way for us to allow our team to express themselves and share the pride they have in their work."
+
It also wanted to use a container-focused platform. Pearson has 400 development groups and diverse brands with varying business and technical needs. With containers, each brand could experiment with building new types of content using their preferred technologies, and then deliver it using containers. Pearson chose Kubernetes because it believes that is the best technology for managing containers, has the widest community support and offers the most flexible and powerful tools."
+
Kubernetes is at the core of the platform we've built for developers. After we get our big spike in back-to-school in traffic, much of Pearson's traffic will interact with Kubernetes. It is proving to be as effective as we had hoped," Jackson says.
@@ -74,9 +74,9 @@ title: Pearson Case Study
Encouraging experimentation, saving engineers time
-
With the new platform, Pearson will increase stability and performance, and to bring products to market more quickly. The company says its engineers will also get a productivity boost because they won’t spend time managing infrastructure. Jackson estimates 15 to 20 percent in productivity savings.
+
With the new platform, Pearson will increase stability and performance, and to bring products to market more quickly. The company says its engineers will also get a productivity boost because they won't spend time managing infrastructure. Jackson estimates 15 to 20 percent in productivity savings.
Beyond that, Pearson says the platform will encourage innovation because of the ease with which new applications can be developed, and because applications will be deployed far more quickly than in the past. It expects that will help the company meet its goal of reaching 200 million learners within the next 10 years.
-
“We’re already seeing tremendous benefits with Kubernetes — improved engineering productivity, faster delivery of applications and a simplified infrastructure. But this is just the beginning. Kubernetes will help transform the way that educational content is delivered online,” says Jackson.
+
"We're already seeing tremendous benefits with Kubernetes — improved engineering productivity, faster delivery of applications and a simplified infrastructure. But this is just the beginning. Kubernetes will help transform the way that educational content is delivered online," says Jackson.
diff --git a/case-studies/wikimedia.html b/case-studies/wikimedia.html
index 00eb47e3e0..2d3b686128 100644
--- a/case-studies/wikimedia.html
+++ b/case-studies/wikimedia.html
@@ -20,7 +20,7 @@ title: Wikimedia Case Study
- “Wikimedia Tool Labs is vital for making sure wikis all around the world work as well as they possibly can. Because it’s grown organically for almost 10 years, it has become an extremely challenging environment and difficult to maintain. It’s like a big ball of mud — you really can’t see through it. With Kubernetes, we’re simplifying the environment and making it easier for developers to build the tools that make wikis run better.”
+ "Wikimedia Tool Labs is vital for making sure wikis all around the world work as well as they possibly can. Because it's grown organically for almost 10 years, it has become an extremely challenging environment and difficult to maintain. It's like a big ball of mud — you really can't see through it. With Kubernetes, we're simplifying the environment and making it easier for developers to build the tools that make wikis run better."
— Yuvi Panda, operations engineer at Wikimedia Foundation and Wikimedia Tool Labs
@@ -67,13 +67,13 @@ title: Wikimedia Case Study
Using Kubernetes to provide tools for maintaining wikis
- Wikimedia Tool Labs is run by a staff of four-and-a-half paid employees and two volunteers. The infrastructure didn't make it easy or intuitive for developers to build bots and other tools to make wikis work more easily. Yuvi says, “It’s incredibly chaotic. We have lots of Perl and Bash duct tape on top of it. Everything is super fragile.”
+ Wikimedia Tool Labs is run by a staff of four-and-a-half paid employees and two volunteers. The infrastructure didn't make it easy or intuitive for developers to build bots and other tools to make wikis work more easily. Yuvi says, "It's incredibly chaotic. We have lots of Perl and Bash duct tape on top of it. Everything is super fragile."
To solve the problem, Wikimedia Tool Labs migrated parts of its infrastructure to Kubernetes, in preparation for eventually moving its entire system. Yuvi said Kubernetes greatly simplifies maintenance. The goal is to allow developers creating bots and other tools to use whatever development methods they want, but make it easier for the Wikimedia Tool Labs to maintain the required infrastructure for hosting and sharing them.
- “With Kubernetes, I’ve been able to remove a lot of our custom-made code, which makes everything easier to maintain. Our users’ code also runs in a more stable way than previously,” says Yuvi.
+ "With Kubernetes, I've been able to remove a lot of our custom-made code, which makes everything easier to maintain. Our users' code also runs in a more stable way than previously," says Yuvi.
@@ -84,13 +84,13 @@ title: Wikimedia Case Study
Simplifying infrastructure and keeping wikis running better
- Wikimedia Tool Labs has seen great success with the initial Kubernetes deployment. Old code is being simplified and eliminated, contributing developers don’t have to change the way they write their tools and bots, and those tools and bots run in a more stable fashion than they have in the past. The paid staff and volunteers are able to better keep up with fixing issues.
+ Wikimedia Tool Labs has seen great success with the initial Kubernetes deployment. Old code is being simplified and eliminated, contributing developers don't have to change the way they write their tools and bots, and those tools and bots run in a more stable fashion than they have in the past. The paid staff and volunteers are able to better keep up with fixing issues.
- In the future, with a more complete migration to Kubernetes, Wikimedia Tool Labs expects to make it even easier to host and maintain the bots and tools that help run wikis across the world. The tool labs already host approximately 1,300 tools and bots from 800 volunteers, with many more being submitted every day. Twenty percent of the tool labs’ web tools that account for more than 60 percent of web traffic now run on Kubernetes. The tool labs has a 25-node cluster that keeps up with each new Kubernetes release. Many existing web tools are migrating to Kubernetes.
+ In the future, with a more complete migration to Kubernetes, Wikimedia Tool Labs expects to make it even easier to host and maintain the bots and tools that help run wikis across the world. The tool labs already host approximately 1,300 tools and bots from 800 volunteers, with many more being submitted every day. Twenty percent of the tool labs' web tools that account for more than 60 percent of web traffic now run on Kubernetes. The tool labs has a 25-node cluster that keeps up with each new Kubernetes release. Many existing web tools are migrating to Kubernetes.
- “Our goal is to make sure that people all over the world can share knowledge as easily as possible. Kubernetes helps with that, by making it easier for wikis everywhere to have the tools they need to thrive,” says Yuvi.
+ "Our goal is to make sure that people all over the world can share knowledge as easily as possible. Kubernetes helps with that, by making it easier for wikis everywhere to have the tools they need to thrive," says Yuvi.
diff --git a/community.html b/community.html
index 9ef63c1b66..a10a100375 100644
--- a/community.html
+++ b/community.html
@@ -24,8 +24,8 @@ title: Community
SIGs
Have a special interest in how Kubernetes works with another technology? See our ever growing
lists of SIGs,
- from AWS and Openstack to Big Data and Scalability, there’s a place for you to contribute and instructions
- for forming a new SIG if your special interest isn’t covered (yet).
+ from AWS and Openstack to Big Data and Scalability, there's a place for you to contribute and instructions
+ for forming a new SIG if your special interest isn't covered (yet).
Events
diff --git a/docs/admin/accessing-the-api.md b/docs/admin/accessing-the-api.md
index cb3f3d4ce4..92de1772ab 100644
--- a/docs/admin/accessing-the-api.md
+++ b/docs/admin/accessing-the-api.md
@@ -3,7 +3,7 @@ assignees:
- bgrant0607
- erictune
- lavalamp
-
+title: Overview
---
This document describes how access to the Kubernetes API is controlled.
@@ -24,7 +24,7 @@ following diagram:
In a typical Kubernetes cluster, the API served on port 443. A TLS connection is
established. The API server presents a certificate. This certificate is
often self-signed, so `$USER/.kube/config` on the user's machine typically
-contains the root certficate for the API server's certificate, which when specified
+contains the root certificate for the API server's certificate, which when specified
is used in place of the system default root certificates. This certificate is typically
automatically written into your `$USER/.kube/config` when you create a cluster yourself
using `kube-up.sh`. If the cluster has multiple users, then the creator needs to share
@@ -86,7 +86,7 @@ For version 1.2, clusters created by `kube-up.sh` are configured so that no auth
required for any request.
As of version 1.3, clusters created by `kube-up.sh` are configured so that the ABAC authorization
-modules is enabled. However, its input file is initially set to allow all users to do all
+modules are enabled. However, its input file is initially set to allow all users to do all
operations. The cluster administrator needs to edit that file, or configure a different authorizer
to restrict what users can do.
@@ -94,7 +94,7 @@ to restrict what users can do.
The Authorization step is designed to operate on attributes that are likely to be common to most
REST requests, such as object name, kind, etc. This is intended to facilitate interation with
existing organization-wide or cloud-provider-wide access control systems (which may handle
-other APIs besides the Kubernetes API.
+other APIs besides the Kubernetes API).
Access controls and policies that depend on specific fields of specific Kinds of objects
are handled by Admission Controllers.
@@ -127,7 +127,7 @@ for the corresponding API object, and then written to the object store (shown as
The previous discussion applies to requests sent to the secure port of the API server
(the typical case). The API server can actually serve on 2 ports:
-By default the Kubernetes APIserver serves HTTP on 2 ports:
+By default the Kubernetes API server serves HTTP on 2 ports:
1. `Localhost Port`:
@@ -148,7 +148,7 @@ By default the Kubernetes APIserver serves HTTP on 2 ports:
- default IP is first non-localhost network interface, change with `--bind-address` flag.
- request handled by authentication and authorization modules.
- request handled by admission control module(s).
- - authentication and authoriation modules run.
+ - authentication and authorisation modules run.
When the cluster is created by `kube-up.sh`, on Google Compute Engine (GCE),
and on several other cloud providers, the API server serves on port 443. On
diff --git a/docs/admin/addons.md b/docs/admin/addons.md
index 1555f8263c..aeee68cc30 100644
--- a/docs/admin/addons.md
+++ b/docs/admin/addons.md
@@ -1,4 +1,5 @@
---
+title: Installing Addons
---
## Overview
@@ -11,9 +12,9 @@ Add-ons in each section are sorted alphabetically - the ordering does not imply
## Networking and Network Policy
-* [Calico](http://docs.projectcalico.org/v1.6/getting-started/kubernetes/installation/hosted/) is a secure L3 networking and network policy provider.
+* [Calico](http://docs.projectcalico.org/v2.0/getting-started/kubernetes/installation/hosted/) is a secure L3 networking and network policy provider.
* [Canal](https://github.com/tigera/canal/tree/master/k8s-install/kubeadm) unites Flannel and Calico, providing networking and network policy.
-* [Flannel](https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml) is a overlay network provider that can be used with Kubernetes.
+* [Flannel](https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml) is an overlay network provider that can be used with Kubernetes.
* [Romana](http://romana.io) is a Layer 3 networking solution for pod networks that also supports the [NetworkPolicy API](/docs/user-guide/networkpolicies/). Kubeadm add-on installation details available [here](https://github.com/romana/romana/tree/master/containerize).
* [Weave Net](https://www.weave.works/docs/net/latest/kube-addon/) provides networking and network policy, will carry on working on both sides of a network partition, and does not require an external database.
diff --git a/docs/admin/admission-controllers.md b/docs/admin/admission-controllers.md
index 24da796163..089dce2605 100644
--- a/docs/admin/admission-controllers.md
+++ b/docs/admin/admission-controllers.md
@@ -6,7 +6,7 @@ assignees:
- erictune
- janetkuo
- thockin
-
+title: Using Admission Controllers
---
* TOC
@@ -126,7 +126,7 @@ For additional HTTP configuration, refer to the [kubeconfig](/docs/user-guide/ku
When faced with an admission decision, the API Server POSTs a JSON serialized api.imagepolicy.v1alpha1.ImageReview object describing the action. This object contains fields describing the containers being admitted, as well as any pod annotations that match `*.image-policy.k8s.io/*`.
-Note that webhook API objects are subject to the same versioning compatibility rules as other Kubernetes API objects. Implementers should be aware of looser compatibility promises for alpha objects and check the “apiVersion” field of the request to ensure correct deserialization. Additionally, the API Server must enable the imagepolicy.k8s.io/v1alpha1 API extensions group (`--runtime-config=imagepolicy.k8s.io/v1alpha1=true`).
+Note that webhook API objects are subject to the same versioning compatibility rules as other Kubernetes API objects. Implementers should be aware of looser compatibility promises for alpha objects and check the "apiVersion" field of the request to ensure correct deserialization. Additionally, the API Server must enable the imagepolicy.k8s.io/v1alpha1 API extensions group (`--runtime-config=imagepolicy.k8s.io/v1alpha1=true`).
An example request body:
@@ -151,7 +151,7 @@ An example request body:
}
```
-The remote service is expected to fill the ImageReviewStatus field of the request and respond to either allow or disallow access. The response body’s “spec” field is ignored and may be omitted. A permissive response would return:
+The remote service is expected to fill the ImageReviewStatus field of the request and respond to either allow or disallow access. The response body's "spec" field is ignored and may be omitted. A permissive response would return:
```
{
diff --git a/docs/admin/apparmor/index.md b/docs/admin/apparmor/index.md
index 9730c07953..224f0bbdeb 100644
--- a/docs/admin/apparmor/index.md
+++ b/docs/admin/apparmor/index.md
@@ -1,7 +1,7 @@
---
assignees:
- stclair
-
+title: AppArmor
---
AppArmor is a Linux kernel enhancement that can reduce the potential attack surface of an
@@ -384,7 +384,7 @@ Specifying the default profile to apply to containers when none is provided:
- **key**: `apparmor.security.beta.kubernetes.io/defaultProfileName`
- **value**: a profile reference, described above
-Specifying the list of profiles Pod containers are allowed to specify:
+Specifying the list of profiles Pod containers is allowed to specify:
- **key**: `apparmor.security.beta.kubernetes.io/allowedProfileNames`
- **value**: a comma-separated list of profile references (described above)
diff --git a/docs/admin/audit.md b/docs/admin/audit.md
index c3a6fda6da..ec4f7b2e95 100644
--- a/docs/admin/audit.md
+++ b/docs/admin/audit.md
@@ -2,14 +2,12 @@
assignees:
- soltysh
- sttts
-
+title: Audit in Kubernetes
---
* TOC
{:toc}
-## Audit in Kubernetes
-
Kubernetes Audit provides a security-relevant chronological set of records documenting
the sequence of activities that have affected system by individual users, administrators
or other components of the system. It allows cluster administrator to
@@ -23,7 +21,7 @@ answer the following questions:
- to where was it going?
NOTE: Currently, Kubernetes provides only basic audit capabilities, there is still a lot
-of work going on to provide fully featured auditing capabilities (see https://github.com/kubernetes/features/issues/22).
+of work going on to provide fully featured auditing capabilities (see [this issue](https://github.com/kubernetes/features/issues/22)).
Kubernetes audit is part of [kube-apiserver](/docs/admin/kube-apiserver) logging all requests
coming to the server. Each audit log contains two entries:
diff --git a/docs/admin/authentication.md b/docs/admin/authentication.md
index 3d73f527bf..4bbd0a4fee 100644
--- a/docs/admin/authentication.md
+++ b/docs/admin/authentication.md
@@ -4,8 +4,10 @@ assignees:
- lavalamp
- ericchiang
- deads2k
-
+- liggitt
+title: Authenticating
---
+
* TOC
{:toc}
@@ -29,14 +31,14 @@ to talk to the Kubernetes API.
API requests are tied to either a normal user or a service account, or are treated
as anonymous requests. This means every process inside or outside the cluster, from
a human user typing `kubectl` on a workstation, to `kubelets` on nodes, to members
-of the control plane, must authenticate when making requests to the the API server,
+of the control plane, must authenticate when making requests to the API server,
or be treated as an anonymous user.
## Authentication strategies
Kubernetes uses client certificates, bearer tokens, an authenticating proxy, or HTTP basic auth to
-authenticate API requests through authentication plugins. As HTTP request are
-made to the API server plugins attempts to associate the following attributes
+authenticate API requests through authentication plugins. As HTTP requests are
+made to the API server, plugins attempt to associate the following attributes
with the request:
* Username: a string which identifies the end user. Common values might be `kube-admin` or `jane@example.com`.
@@ -382,6 +384,13 @@ option to the API server during startup. The plugin is implemented in
`plugin/pkg/auth/authenticator/password/keystone/keystone.go` and currently uses
basic auth to verify used by username and password.
+If you have configured self-signed certificates for the Keystone server,
+you may need to set the `--experimental-keystone-ca-file=SOMEFILE` option when
+starting the Kubernetes API server. If you set the option, the Keystone
+server's certificate is verified by one of the authorities in the
+`experimental-keystone-ca-file`. Otherwise, the certificate is verified by
+the host's root Certificate Authority.
+
For details on how to use keystone to manage projects and users, refer to the
[Keystone documentation](http://docs.openstack.org/developer/keystone/). Please
note that this plugin is still experimental, under active development, and likely
@@ -420,7 +429,7 @@ enterprise directory, kerberos, etc.)
### Creating Certificates
When using client certificate authentication, you can generate certificates
-using an existing deployment script or manually through `easyrsa` or `openssl.``
+using an existing deployment script or manually through `easyrsa` or `openssl.`
#### Using an Existing Deployment Script
@@ -435,7 +444,7 @@ The script will generate three files: `ca.crt`, `server.crt`, and `server.key`.
Finally, add the following parameters into API server start parameters:
- `--client-ca-file=/srv/kubernetes/ca.crt`
-- `--tls-cert-file=/srv/kubernetes/server.cert`
+- `--tls-cert-file=/srv/kubernetes/server.crt`
- `--tls-private-key-file=/srv/kubernetes/server.key`
#### easyrsa
@@ -459,7 +468,7 @@ Finally, add the following parameters into API server start parameters:
1. Fill in and add the following parameters into the API server start parameters:
--client-ca-file=/yourdirectory/ca.crt
- --tls-cert-file=/yourdirectory/server.cert
+ --tls-cert-file=/yourdirectory/server.crt
--tls-private-key-file=/yourdirectory/server.key
#### openssl
diff --git a/docs/admin/authorization.md b/docs/admin/authorization.md
index 1a86359a92..c9dd662449 100644
--- a/docs/admin/authorization.md
+++ b/docs/admin/authorization.md
@@ -2,7 +2,9 @@
assignees:
- erictune
- lavalamp
-
+- deads2k
+- liggitt
+title: Using Authorization Plugins
---
In Kubernetes, authorization happens as a separate step from authentication.
@@ -53,7 +55,7 @@ A request has the following attributes that can be considered for authorization:
- what resource is being accessed (for resource requests only)
- what subresource is being accessed (for resource requests only)
- the namespace of the object being accessed (for namespaced resource requests only)
- - the API group being accessed (for resource requests only); an empty string designates the [core API group](../api.md#api-groups)
+ - the API group being accessed (for resource requests only); an empty string designates the [core API group](/docs/api/)
The request verb for a resource API endpoint can be determined by the HTTP verb used and whether or not the request acts on an individual resource or a collection of resources:
@@ -297,9 +299,8 @@ subjects:
name: jane
roleRef:
kind: Role
- namespace: default
name: pod-reader
- apiVersion: rbac.authorization.k8s.io/v1alpha1
+ apiGroup: rbac.authorization.k8s.io
```
`RoleBindings` may also refer to a `ClusterRole`. However, a `RoleBinding` that
@@ -324,26 +325,26 @@ subjects:
roleRef:
kind: ClusterRole
name: secret-reader
- apiVersion: rbac.authorization.k8s.io/v1alpha1
+ apiGroup: rbac.authorization.k8s.io
```
Finally a `ClusterRoleBinding` may be used to grant permissions in all
namespaces. The following `ClusterRoleBinding` allows any user in the group
-"manager" to read secrets in any namepsace.
+"manager" to read secrets in any namespace.
```yaml
# This cluster role binding allows anyone in the "manager" group to read secrets in any namespace.
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1alpha1
metadata:
- name: read-secrets
+ name: read-secrets-global
subjects:
- kind: Group # May be "User", "Group" or "ServiceAccount"
name: manager
roleRef:
kind: ClusterRole
- name: secret-reader
- apiVersion: rbac.authorization.k8s.io/v1alpha1
+ name: secret-reader
+ apiGroup: rbac.authorization.k8s.io
```
### Referring to Resources
@@ -380,7 +381,7 @@ Subjects can be groups, users or service accounts.
Users are represented by strings. These can be plain usernames, like
"alice", or email style names, like "bob@example.com", or numeric ids
as string. It is up to the Kubernetes admin to configure
-the [authentication modules](/doc/admin/authentication/) to produce
+the [authentication modules](/docs/admin/authentication/) to produce
usernames in the desired format. The RBAC authorization system does
not require any particular format. However, the prefix `system:` is
reserved for Kubernetes system use, and so the admin should ensure
@@ -565,10 +566,10 @@ Access to non-resource paths are sent as:
Non-resource paths include: `/api`, `/apis`, `/metrics`, `/resetMetrics`,
`/logs`, `/debug`, `/healthz`, `/swagger-ui/`, `/swaggerapi/`, `/ui`, and
-`/version.` Clients require access to `/api`, `/api/*/`, `/apis/`, `/apis/*`,
-`/apis/*/*`, and `/version` to discover what resources and versions are present
-on the server. Access to other non-resource paths can be disallowed without
-restricting access to the REST api.
+`/version.` Clients require access to `/api`, `/api/*`, `/apis`, `/apis/*`,
+and `/version` to discover what resources and versions are present on the server.
+Access to other non-resource paths can be disallowed without restricting access
+to the REST api.
For further documentation refer to the authorization.v1beta1 API objects and
plugin/pkg/auth/authorizer/webhook/webhook.go.
diff --git a/docs/admin/cluster-components.md b/docs/admin/cluster-components.md
index c1bcae8577..8519a199f4 100644
--- a/docs/admin/cluster-components.md
+++ b/docs/admin/cluster-components.md
@@ -1,7 +1,7 @@
---
assignees:
- lavalamp
-
+title: Kubernetes Components
---
This document outlines the various binary components that need to run to
@@ -61,12 +61,12 @@ selects a node for them to run on.
### addons
-Addons are pods and services that implement cluster features. They don't run on
-the master VM, but currently the default setup scripts that make the API calls
-to create these pods and services does run on the master VM. See:
-[kube-master-addons](http://releases.k8s.io/HEAD/cluster/saltbase/salt/kube-master-addons/kube-master-addons.sh)
+Addons are pods and services that implement cluster features. The pods may be managed
+by Deployments, ReplicationContollers, etc. Namespaced addon objects are created in
+the "kube-system" namespace.
-Addon objects are created in the "kube-system" namespace.
+Addon manager takes the responsibility for creating and maintaining addon resources.
+See [here](http://releases.k8s.io/HEAD/cluster/addons) for more details.
#### DNS
@@ -91,15 +91,8 @@ about containers in a central database, and provides a UI for browsing that data
#### Cluster-level Logging
-[Container Logging](/docs/user-guide/monitoring) saves container logs
-to a central log store with search/browsing interface. There are two
-implementations:
-
-* [Cluster-level logging to Google Cloud Logging](
-/docs/user-guide/logging/#cluster-level-logging-to-google-cloud-logging)
-
-* [Cluster-level Logging with Elasticsearch and Kibana](
-/docs/getting-started-guides/logging-elasticsearch/)
+A [Cluster-level logging](/docs/user-guide/logging/overview) mechanism is responsible for
+saving container logs to a central log store with search/browsing interface.
## Node components
diff --git a/docs/admin/cluster-large.md b/docs/admin/cluster-large.md
index d2285c3346..08d6d6c0d8 100644
--- a/docs/admin/cluster-large.md
+++ b/docs/admin/cluster-large.md
@@ -1,126 +1,127 @@
----
-assignees:
-- davidopp
-- lavalamp
-
----
-
-
-## Support
-
-At {{page.version}}, Kubernetes supports clusters with up to 1000 nodes. More specifically, we support configurations that meet *all* of the following criteria:
-
-* No more than 2000 nodes
-* No more than 60000 total pods
-* No more than 120000 total containers
-* No more than 100 pods per node
-
-* TOC
-{:toc}
-
-## Setup
-
-A cluster is a set of nodes (physical or virtual machines) running Kubernetes agents, managed by a "master" (the cluster-level control plane).
-
-Normally the number of nodes in a cluster is controlled by the the value `NUM_NODES` in the platform-specific `config-default.sh` file (for example, see [GCE's `config-default.sh`](http://releases.k8s.io/{{page.githubbranch}}/cluster/gce/config-default.sh)).
-
-Simply changing that value to something very large, however, may cause the setup script to fail for many cloud providers. A GCE deployment, for example, will run in to quota issues and fail to bring the cluster up.
-
-When setting up a large Kubernetes cluster, the following issues must be considered.
-
-### Quota Issues
-
-To avoid running into cloud provider quota issues, when creating a cluster with many nodes, consider:
-
-* Increase the quota for things like CPU, IPs, etc.
- * In [GCE, for example,](https://cloud.google.com/compute/docs/resource-quotas) you'll want to increase the quota for:
- * CPUs
- * VM instances
- * Total persistent disk reserved
- * In-use IP addresses
- * Firewall Rules
- * Forwarding rules
- * Routes
- * Target pools
-* Gating the setup script so that it brings up new node VMs in smaller batches with waits in between, because some cloud providers rate limit the creation of VMs.
-
-### Etcd storage
-
-To improve performance of large clusters, we store events in a separate dedicated etcd instance.
-
-When creating a cluster, existing salt scripts:
-
-* start and configure additional etcd instance
-* configure api-server to use it for storing events
-
-### Size of master and master components
-
-On GCE/GKE and AWS, `kube-up` automatically configures the proper VM size for your master depending on the number of nodes
-in your cluster. On other providers, you will need to configure it manually. For reference, the sizes we use on GCE are
-
-* 1-5 nodes: n1-standard-1
-* 6-10 nodes: n1-standard-2
-* 11-100 nodes: n1-standard-4
-* 101-250 nodes: n1-standard-8
-* 251-500 nodes: n1-standard-16
-* more than 500 nodes: n1-standard-32
-
-And the sizes we use on AWS are
-
-* 1-5 nodes: m3.medium
-* 6-10 nodes: m3.large
-* 11-100 nodes: m3.xlarge
-* 101-250 nodes: m3.2xlarge
-* 251-500 nodes: c4.4xlarge
-* more than 500 nodes: c4.8xlarge
-
-Note that these master node sizes are currently only set at cluster startup time, and are not adjusted if you later scale your cluster up or down (e.g. manually removing or adding nodes, or using a cluster autoscaler).
-
-### Addon Resources
-
-To prevent memory leaks or other resource issues in [cluster addons](https://releases.k8s.io/{{page.githubbranch}}/cluster/addons) from consuming all the resources available on a node, Kubernetes sets resource limits on addon containers to limit the CPU and Memory resources they can consume (See PR [#10653](http://pr.k8s.io/10653/files) and [#10778](http://pr.k8s.io/10778/files)).
-
-For [example](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml):
-
-```yaml
- containers:
- - name: fluentd-cloud-logging
- image: gcr.io/google_containers/fluentd-gcp:1.16
- resources:
- limits:
- cpu: 100m
- memory: 200Mi
-```
-
-Except for Heapster, these limits are static and are based on data we collected from addons running on 4-node clusters (see [#10335](http://issue.k8s.io/10335#issuecomment-117861225)). The addons consume a lot more resources when running on large deployment clusters (see [#5880](http://issue.k8s.io/5880#issuecomment-113984085)). So, if a large cluster is deployed without adjusting these values, the addons may continuously get killed because they keep hitting the limits.
-
-To avoid running into cluster addon resource issues, when creating a cluster with many nodes, consider the following:
-
-* Scale memory and CPU limits for each of the following addons, if used, as you scale up the size of cluster (there is one replica of each handling the entire cluster so memory and CPU usage tends to grow proportionally with size/load on cluster):
- * [InfluxDB and Grafana](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/cluster-monitoring/influxdb/influxdb-grafana-controller.yaml)
- * [skydns, kube2sky, and dns etcd](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/dns/skydns-rc.yaml.in)
- * [Kibana](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/fluentd-elasticsearch/kibana-controller.yaml)
-* Scale number of replicas for the following addons, if used, along with the size of cluster (there are multiple replicas of each so increasing replicas should help handle increased load, but, since load per replica also increases slightly, also consider increasing CPU/memory limits):
- * [elasticsearch](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/fluentd-elasticsearch/es-controller.yaml)
-* Increase memory and CPU limits slightly for each of the following addons, if used, along with the size of cluster (there is one replica per node but CPU/memory usage increases slightly along with cluster load/size as well):
- * [FluentD with ElasticSearch Plugin](http://releases.k8s.io/{{page.githubbranch}}/cluster/saltbase/salt/fluentd-es/fluentd-es.yaml)
- * [FluentD with GCP Plugin](http://releases.k8s.io/{{page.githubbranch}}/cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml)
-
-Heapster's resource limits are set dynamically based on the initial size of your cluster (see [#16185](http://issue.k8s.io/16185)
-and [#22940](http://issue.k8s.io/22940)). If you find that Heapster is running
-out of resources, you should adjust the formulas that compute heapster memory request (see those PRs for details).
-
-For directions on how to detect if addon containers are hitting resource limits, see the [Troubleshooting section of Compute Resources](/docs/user-guide/compute-resources/#troubleshooting).
-
-In the [future](http://issue.k8s.io/13048), we anticipate to set all cluster addon resource limits based on cluster size, and to dynamically adjust them if you grow or shrink your cluster.
-We welcome PRs that implement those features.
-
-### Allowing minor node failure at startup
-
-For various reasons (see [#18969](https://github.com/kubernetes/kubernetes/issues/18969) for more details) running
-`kube-up.sh` with a very large `NUM_NODES` may fail due to a very small number of nodes not coming up properly.
-Currently you have two choices: restart the cluster (`kube-down.sh` and then `kube-up.sh` again), or before
-running `kube-up.sh` set the environment variable `ALLOWED_NOTREADY_NODES` to whatever value you feel comfortable
-with. This will allow `kube-up.sh` to succeed with fewer than `NUM_NODES` coming up. Depending on the
-reason for the failure, those additional nodes may join later or the cluster may remain at a size of
-`NUM_NODES - ALLOWED_NOTREADY_NODES`.
+---
+assignees:
+- davidopp
+- lavalamp
+title: Building Large Clusters
+---
+
+## Support
+
+At {{page.version}}, Kubernetes supports clusters with up to 1000 nodes. More specifically, we support configurations that meet *all* of the following criteria:
+
+* No more than 2000 nodes
+* No more than 60000 total pods
+* No more than 120000 total containers
+* No more than 100 pods per node
+
+
+
+* TOC
+{:toc}
+
+## Setup
+
+A cluster is a set of nodes (physical or virtual machines) running Kubernetes agents, managed by a "master" (the cluster-level control plane).
+
+Normally the number of nodes in a cluster is controlled by the the value `NUM_NODES` in the platform-specific `config-default.sh` file (for example, see [GCE's `config-default.sh`](http://releases.k8s.io/{{page.githubbranch}}/cluster/gce/config-default.sh)).
+
+Simply changing that value to something very large, however, may cause the setup script to fail for many cloud providers. A GCE deployment, for example, will run in to quota issues and fail to bring the cluster up.
+
+When setting up a large Kubernetes cluster, the following issues must be considered.
+
+### Quota Issues
+
+To avoid running into cloud provider quota issues, when creating a cluster with many nodes, consider:
+
+* Increase the quota for things like CPU, IPs, etc.
+ * In [GCE, for example,](https://cloud.google.com/compute/docs/resource-quotas) you'll want to increase the quota for:
+ * CPUs
+ * VM instances
+ * Total persistent disk reserved
+ * In-use IP addresses
+ * Firewall Rules
+ * Forwarding rules
+ * Routes
+ * Target pools
+* Gating the setup script so that it brings up new node VMs in smaller batches with waits in between, because some cloud providers rate limit the creation of VMs.
+
+### Etcd storage
+
+To improve performance of large clusters, we store events in a separate dedicated etcd instance.
+
+When creating a cluster, existing salt scripts:
+
+* start and configure additional etcd instance
+* configure api-server to use it for storing events
+
+### Size of master and master components
+
+On GCE/GKE and AWS, `kube-up` automatically configures the proper VM size for your master depending on the number of nodes
+in your cluster. On other providers, you will need to configure it manually. For reference, the sizes we use on GCE are
+
+* 1-5 nodes: n1-standard-1
+* 6-10 nodes: n1-standard-2
+* 11-100 nodes: n1-standard-4
+* 101-250 nodes: n1-standard-8
+* 251-500 nodes: n1-standard-16
+* more than 500 nodes: n1-standard-32
+
+And the sizes we use on AWS are
+
+* 1-5 nodes: m3.medium
+* 6-10 nodes: m3.large
+* 11-100 nodes: m3.xlarge
+* 101-250 nodes: m3.2xlarge
+* 251-500 nodes: c4.4xlarge
+* more than 500 nodes: c4.8xlarge
+
+Note that these master node sizes are currently only set at cluster startup time, and are not adjusted if you later scale your cluster up or down (e.g. manually removing or adding nodes, or using a cluster autoscaler).
+
+### Addon Resources
+
+To prevent memory leaks or other resource issues in [cluster addons](https://releases.k8s.io/{{page.githubbranch}}/cluster/addons) from consuming all the resources available on a node, Kubernetes sets resource limits on addon containers to limit the CPU and Memory resources they can consume (See PR [#10653](http://pr.k8s.io/10653/files) and [#10778](http://pr.k8s.io/10778/files)).
+
+For [example](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml):
+
+```yaml
+ containers:
+ - name: fluentd-cloud-logging
+ image: gcr.io/google_containers/fluentd-gcp:1.16
+ resources:
+ limits:
+ cpu: 100m
+ memory: 200Mi
+```
+
+Except for Heapster, these limits are static and are based on data we collected from addons running on 4-node clusters (see [#10335](http://issue.k8s.io/10335#issuecomment-117861225)). The addons consume a lot more resources when running on large deployment clusters (see [#5880](http://issue.k8s.io/5880#issuecomment-113984085)). So, if a large cluster is deployed without adjusting these values, the addons may continuously get killed because they keep hitting the limits.
+
+To avoid running into cluster addon resource issues, when creating a cluster with many nodes, consider the following:
+
+* Scale memory and CPU limits for each of the following addons, if used, as you scale up the size of cluster (there is one replica of each handling the entire cluster so memory and CPU usage tends to grow proportionally with size/load on cluster):
+ * [InfluxDB and Grafana](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/cluster-monitoring/influxdb/influxdb-grafana-controller.yaml)
+ * [skydns, kube2sky, and dns etcd](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/dns/skydns-rc.yaml.in)
+ * [Kibana](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/fluentd-elasticsearch/kibana-controller.yaml)
+* Scale number of replicas for the following addons, if used, along with the size of cluster (there are multiple replicas of each so increasing replicas should help handle increased load, but, since load per replica also increases slightly, also consider increasing CPU/memory limits):
+ * [elasticsearch](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/fluentd-elasticsearch/es-controller.yaml)
+* Increase memory and CPU limits slightly for each of the following addons, if used, along with the size of cluster (there is one replica per node but CPU/memory usage increases slightly along with cluster load/size as well):
+ * [FluentD with ElasticSearch Plugin](http://releases.k8s.io/{{page.githubbranch}}/cluster/saltbase/salt/fluentd-es/fluentd-es.yaml)
+ * [FluentD with GCP Plugin](http://releases.k8s.io/{{page.githubbranch}}/cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml)
+
+Heapster's resource limits are set dynamically based on the initial size of your cluster (see [#16185](http://issue.k8s.io/16185)
+and [#22940](http://issue.k8s.io/22940)). If you find that Heapster is running
+out of resources, you should adjust the formulas that compute heapster memory request (see those PRs for details).
+
+For directions on how to detect if addon containers are hitting resource limits, see the [Troubleshooting section of Compute Resources](/docs/user-guide/compute-resources/#troubleshooting).
+
+In the [future](http://issue.k8s.io/13048), we anticipate to set all cluster addon resource limits based on cluster size, and to dynamically adjust them if you grow or shrink your cluster.
+We welcome PRs that implement those features.
+
+### Allowing minor node failure at startup
+
+For various reasons (see [#18969](https://github.com/kubernetes/kubernetes/issues/18969) for more details) running
+`kube-up.sh` with a very large `NUM_NODES` may fail due to a very small number of nodes not coming up properly.
+Currently you have two choices: restart the cluster (`kube-down.sh` and then `kube-up.sh` again), or before
+running `kube-up.sh` set the environment variable `ALLOWED_NOTREADY_NODES` to whatever value you feel comfortable
+with. This will allow `kube-up.sh` to succeed with fewer than `NUM_NODES` coming up. Depending on the
+reason for the failure, those additional nodes may join later or the cluster may remain at a size of
+`NUM_NODES - ALLOWED_NOTREADY_NODES`.
diff --git a/docs/admin/cluster-management.md b/docs/admin/cluster-management.md
index 97362c4bab..5bcdb8b8f3 100644
--- a/docs/admin/cluster-management.md
+++ b/docs/admin/cluster-management.md
@@ -2,7 +2,7 @@
assignees:
- lavalamp
- thockin
-
+title: Cluster Management Guide
---
* TOC
@@ -92,7 +92,7 @@ an extended period of time (10min but it may change in the future).
Cluster autoscaler is configured per instance group (GCE) or node pool (GKE).
If you are using GCE then you can either enable it while creating a cluster with kube-up.sh script.
-To configure cluser autoscaler you have to set 3 environment variables:
+To configure cluster autoscaler you have to set 3 environment variables:
* `KUBE_ENABLE_CLUSTER_AUTOSCALER` - it enables cluster autoscaler if set to true.
* `KUBE_AUTOSCALER_MIN_NODES` - minimum number of nodes in the cluster.
@@ -180,7 +180,7 @@ For the purposes of these flags, _legacy_ APIs are those APIs which have been ex
The objects that are stored to disk for a cluster's internal representation of the Kubernetes resources active in the cluster are written using a particular version of the API.
When the supported API changes, these objects may need to be rewritten in the newer API. Failure to do this will eventually result in resources that are no longer decodable or usable
-by the kubernetes API server.
+by the Kubernetes API server.
`KUBE_API_VERSIONS` environment variable for the `kube-apiserver` binary which controls the API versions that are supported in the cluster. The first version in the list is used as the cluster's storage version. Hence, to set a specific version as the storage version, bring it to the front of list of versions in the value of `KUBE_API_VERSIONS`. You need to restart the `kube-apiserver` binary
for changes to this variable to take effect.
diff --git a/docs/admin/cluster-troubleshooting.md b/docs/admin/cluster-troubleshooting.md
index 8bab089ce6..ff8358a7a9 100644
--- a/docs/admin/cluster-troubleshooting.md
+++ b/docs/admin/cluster-troubleshooting.md
@@ -1,7 +1,7 @@
---
assignees:
- davidopp
-
+title: Troubleshooting Clusters
---
This doc is about cluster troubleshooting; we assume you have already ruled out your application as the root cause of the
@@ -89,7 +89,7 @@ Mitigations:
- Mitigates: Apiserver VM shutdown or apiserver crashing
- Mitigates: Supporting services VM shutdown or crashes
-- Action use IaaS providers reliable storage (e.g GCE PD or AWS EBS volume) for VMs with apiserver+etcd
+- Action use IaaS providers reliable storage (e.g. GCE PD or AWS EBS volume) for VMs with apiserver+etcd
- Mitigates: Apiserver backing storage lost
- Action: Use (experimental) [high-availability](/docs/admin/high-availability) configuration
diff --git a/docs/admin/daemons.md b/docs/admin/daemons.md
index be3137bc93..4682a62b71 100644
--- a/docs/admin/daemons.md
+++ b/docs/admin/daemons.md
@@ -1,26 +1,26 @@
---
assignees:
- erictune
-
+title: Daemon Sets
---
* TOC
{:toc}
-## What is a _Daemon Set_?
+## What is a DaemonSet?
-A _Daemon Set_ ensures that all (or some) nodes run a copy of a pod. As nodes are added to the
+A _DaemonSet_ ensures that all (or some) nodes run a copy of a pod. As nodes are added to the
cluster, pods are added to them. As nodes are removed from the cluster, those pods are garbage
-collected. Deleting a Daemon Set will clean up the pods it created.
+collected. Deleting a DaemonSet will clean up the pods it created.
-Some typical uses of a Daemon Set are:
+Some typical uses of a DaemonSet are:
- running a cluster storage daemon, such as `glusterd`, `ceph`, on each node.
- running a logs collection daemon on every node, such as `fluentd` or `logstash`.
- running a node monitoring daemon on every node, such as [Prometheus Node Exporter](
https://github.com/prometheus/node_exporter), `collectd`, New Relic agent, or Ganglia `gmond`.
-In a simple case, one Daemon Set, covering all nodes, would be used for each type of daemon.
+In a simple case, one DaemonSet, covering all nodes, would be used for each type of daemon.
A more complex setup might use multiple DaemonSets would be used for a single type of daemon,
but with different flags and/or different memory and cpu requests for different hardware types.
@@ -74,7 +74,7 @@ a node for testing.
If you specify a `.spec.template.spec.nodeSelector`, then the DaemonSet controller will
create pods on nodes which match that [node
-selector](https://github.com/kubernetes/kubernetes.github.io/tree/{{page.docsbranch}}/docs/user-guide/node-selection).
+selector](/docs/user-guide/node-selection/).
If you specify a `scheduler.alpha.kubernetes.io/affinity` annotation in `.spec.template.metadata.annotations`,
then DaemonSet controller will create pods on nodes which match that [node affinity](../../user-guide/node-selection/#alpha-feature-in-kubernetes-v12-node-affinity).
@@ -88,18 +88,17 @@ created by the Daemon controller have the machine already selected (`.spec.nodeN
when the pod is created, so it is ignored by the scheduler). Therefore:
- the [`unschedulable`](/docs/admin/node/#manual-node-administration) field of a node is not respected
- by the daemon set controller.
- - daemon set controller can make pods even when the scheduler has not been started, which can help cluster
+ by the DaemonSet controller.
+ - DaemonSet controller can make pods even when the scheduler has not been started, which can help cluster
bootstrap.
## Communicating with DaemonSet Pods
Some possible patterns for communicating with pods in a DaemonSet are:
-- **Push**: Pods in the Daemon Set are configured to send updates to another service, such
+- **Push**: Pods in the DaemonSet are configured to send updates to another service, such
as a stats database. They do not have clients.
-- **NodeIP and Known Port**: Pods in the Daemon Set use a `hostPort`, so that the pods are reachable
- via the node IPs. Clients knows the the list of nodes ips somehow, and know the port by convention.
+- **NodeIP and Known Port**: Pods in the DaemonSet use a `hostPort`, so that the pods are reachable via the node IPs. Clients know the list of nodes ips somehow, and know the port by convention.
- **DNS**: Create a [headless service](/docs/user-guide/services/#headless-services) with the same pod selector,
and then discover DaemonSets using the `endpoints` resource or retrieve multiple A records from
DNS.
@@ -126,11 +125,11 @@ You cannot update a DaemonSet.
Support for updating DaemonSets and controlled updating of nodes is planned.
-## Alternatives to Daemon Set
+## Alternatives to DaemonSet
### Init Scripts
-It is certainly possible to run daemon processes by directly starting them on a node (e.g using
+It is certainly possible to run daemon processes by directly starting them on a node (e.g. using
`init`, `upstartd`, or `systemd`). This is perfectly fine. However, there are several advantages to
running such processes via a DaemonSet:
@@ -145,9 +144,9 @@ running such processes via a DaemonSet:
### Bare Pods
It is possible to create pods directly which specify a particular node to run on. However,
-a Daemon Set replaces pods that are deleted or terminated for any reason, such as in the case of
+a DaemonSet replaces pods that are deleted or terminated for any reason, such as in the case of
node failure or disruptive node maintenance, such as a kernel upgrade. For this reason, you should
-use a Daemon Set rather than creating individual pods.
+use a DaemonSet rather than creating individual pods.
### Static Pods
@@ -159,7 +158,7 @@ in cluster bootstrapping cases. Also, static pods may be deprecated in the futu
### Replication Controller
-Daemon Set are similar to [Replication Controllers](/docs/user-guide/replication-controller) in that
+DaemonSet are similar to [Replication Controllers](/docs/user-guide/replication-controller) in that
they both create pods, and those pods have processes which are not expected to terminate (e.g. web servers,
storage servers).
diff --git a/docs/admin/disruptions.md b/docs/admin/disruptions.md
index 0743b565e6..6c4ee7df4a 100644
--- a/docs/admin/disruptions.md
+++ b/docs/admin/disruptions.md
@@ -1,7 +1,7 @@
---
assignees:
-- mml
-
+- davidopp
+title: Pod Disruption Budget
---
This guide is for anyone wishing to specify safety constraints on pods or anyone
wishing to write software (typically automation software) that respects those
@@ -59,7 +59,7 @@ itself. To attempt an eviction (perhaps more REST-precisely, to attempt to
```json
{
- "apiVersion": "policy/v1alpha1",
+ "apiVersion": "policy/v1beta1",
"kind": "Eviction",
"metadata": {
"name": "quux",
diff --git a/docs/admin/dns.md b/docs/admin/dns.md
index d75acfa093..407c439b73 100644
--- a/docs/admin/dns.md
+++ b/docs/admin/dns.md
@@ -1,9 +1,8 @@
---
assignees:
-- ArtfulCoder
- davidopp
-- lavalamp
-
+- thockin
+title: Using DNS Pods and Services
---
## Introduction
@@ -60,7 +59,7 @@ of the form `auto-generated-name.my-svc.my-namespace.svc.cluster.local`.
### Backwards compatibility
-Previous versions of kube-dns made names of the for
+Previous versions of kube-dns made names of the form
`my-svc.my-namespace.cluster.local` (the 'svc' level was added later). This
is no longer supported.
@@ -70,14 +69,14 @@ is no longer supported.
When enabled, pods are assigned a DNS A record in the form of `pod-ip-address.my-namespace.pod.cluster.local`.
-For example, a pod with ip `1.2.3.4` in the namespace `default` with a dns name of `cluster.local` would have an entry: `1-2-3-4.default.pod.cluster.local`.
+For example, a pod with ip `1.2.3.4` in the namespace `default` with a DNS name of `cluster.local` would have an entry: `1-2-3-4.default.pod.cluster.local`.
#### A Records and hostname based on Pod's hostname and subdomain fields
Currently when a pod is created, its hostname is the Pod's `metadata.name` value.
With v1.2, users can specify a Pod annotation, `pod.beta.kubernetes.io/hostname`, to specify what the Pod's hostname should be.
-The Pod annotation, if specified, takes precendence over the Pod's name, to be the hostname of the pod.
+The Pod annotation, if specified, takes precedence over the Pod's name, to be the hostname of the pod.
For example, given a Pod with annotation `pod.beta.kubernetes.io/hostname: my-pod-name`, the Pod will have its hostname set to "my-pod-name".
With v1.3, the PodSpec has a `hostname` field, which can be used to specify the Pod's hostname. This field value takes precedence over the
@@ -94,13 +93,43 @@ Example:
```yaml
apiVersion: v1
+kind: Service
+metadata:
+ name: default-subdomain
+spec:
+ selector:
+ name: busybox
+ clusterIP: None
+ ports:
+ - name: foo # Actually, no port is needed.
+ port: 1234
+ targetPort: 1234
+---
+apiVersion: v1
kind: Pod
metadata:
- name: busybox
- namespace: default
+ name: busybox1
+ labels:
+ name: busybox
spec:
hostname: busybox-1
- subdomain: default
+ subdomain: default-subdomain
+ containers:
+ - image: busybox
+ command:
+ - sleep
+ - "3600"
+ name: busybox
+---
+apiVersion: v1
+kind: Pod
+metadata:
+ name: busybox2
+ labels:
+ name: busybox
+spec:
+ hostname: busybox-2
+ subdomain: default-subdomain
containers:
- image: busybox
command:
@@ -110,11 +139,11 @@ spec:
```
If there exists a headless service in the same namespace as the pod and with the same name as the subdomain, the cluster's KubeDNS Server also returns an A record for the Pod's fully qualified hostname.
-Given a Pod with the hostname set to "foo" and the subdomain set to "bar", and a headless Service named "bar" in the same namespace, the pod will see it's own FQDN as "foo.bar.my-namespace.svc.cluster.local". DNS serves an A record at that name, pointing to the Pod's IP.
+Given a Pod with the hostname set to "busybox-1" and the subdomain set to "default-subdomain", and a headless Service named "default-subdomain" in the same namespace, the pod will see it's own FQDN as "busybox-1.default-subdomain.my-namespace.svc.cluster.local". DNS serves an A record at that name, pointing to the Pod's IP. Both pods "busybox1" and "busybox2" can have their distinct A records.
-With v1.2, the Endpoints object also has a new annotation `endpoints.beta.kubernetes.io/hostnames-map`. Its value is the json representation of map[string(IP)][endpoints.HostRecord], for example: '{"10.245.1.6":{HostName: "my-webserver"}}'.
+As of Kubernetes v1.2, the Endpoints object also has the annotation `endpoints.beta.kubernetes.io/hostnames-map`. Its value is the json representation of map[string(IP)][endpoints.HostRecord], for example: '{"10.245.1.6":{HostName: "my-webserver"}}'.
If the Endpoints are for a headless service, an A record is created with the format ...svc.
-For the example json, if endpoints are for a headless service named "bar", and one of the endpoints has IP "10.245.1.6", an A is created with the name "my-webserver.bar.my-namespace.svc.cluster.local" and the A record lookup would return "10.245.1.6".
+For the example json, if endpoints are for a headless service named "bar", and one of the endpoints has IP "10.245.1.6", an A record is created with the name "my-webserver.bar.my-namespace.svc.cluster.local" and the A record lookup would return "10.245.1.6".
This endpoints annotation generally does not need to be specified by end-users, but can used by the internal service controller to deliver the aforementioned feature.
With v1.3, The Endpoints object can specify the `hostname` for any endpoint, along with its IP. The hostname field takes precedence over the hostname value
@@ -171,7 +200,7 @@ busybox 1/1 Running 0
Once that pod is running, you can exec nslookup in that environment:
```
-kubectl exec busybox -- nslookup kubernetes.default
+kubectl exec -ti busybox -- nslookup kubernetes.default
```
You should see something like:
@@ -194,10 +223,10 @@ If the nslookup command fails, check the following:
Take a look inside the resolv.conf file. (See "Inheriting DNS from the node" and "Known issues" below for more information)
```
-cat /etc/resolv.conf
+kubectl exec busybox cat /etc/resolv.conf
```
-Verify that the search path and name server are set up like the following (note that seach path may vary for different cloud providers):
+Verify that the search path and name server are set up like the following (note that search path may vary for different cloud providers):
```
search default.svc.cluster.local svc.cluster.local cluster.local google.internal c.gce_project_id.internal
@@ -210,7 +239,7 @@ options ndots:5
Errors such as the following indicate a problem with the kube-dns add-on or associated Services:
```
-$ kubectl exec busybox -- nslookup kubernetes.default
+$ kubectl exec -ti busybox -- nslookup kubernetes.default
Server: 10.0.0.10
Address 1: 10.0.0.10
@@ -220,7 +249,7 @@ nslookup: can't resolve 'kubernetes.default'
or
```
-$ kubectl exec busybox -- nslookup kubernetes.default
+$ kubectl exec -ti busybox -- nslookup kubernetes.default
Server: 10.0.0.10
Address 1: 10.0.0.10 kube-dns.kube-system.svc.cluster.local
@@ -244,21 +273,21 @@ kube-dns-v19-ezo1y 3/3 Running 0
...
```
-If you see that no pod is running or that the pod has failed/completed, the dns add-on may not be deployed by default in your current environment and you will have to deploy it manually.
+If you see that no pod is running or that the pod has failed/completed, the DNS add-on may not be deployed by default in your current environment and you will have to deploy it manually.
#### Check for Errors in the DNS pod
Use `kubectl logs` command to see logs for the DNS daemons.
```
-kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c kubedns
+kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c kube-dns
kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c dnsmasq
kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c healthz
```
See if there is any suspicious log. W, E, F letter at the beginning represent Warning, Error and Failure. Please search for entries that have these as the logging level and use [kubernetes issues](https://github.com/kubernetes/kubernetes/issues) to report unexpected errors.
-#### Is dns service up?
+#### Is DNS service up?
Verify that the DNS service is up by using the `kubectl get service` command.
@@ -277,7 +306,7 @@ kube-dns 10.0.0.10 53/UDP,53/TCP 1h
If you have created the service or in the case it should be created by default but it does not appear, see this [debugging services page](http://kubernetes.io/docs/user-guide/debugging-services/) for more information.
-#### Are dns endpoints exposed?
+#### Are DNS endpoints exposed?
You can verify that dns endpoints are exposed by using the `kubectl get endpoints` command.
@@ -348,11 +377,13 @@ some of those settings will be lost. As a partial workaround, the node can run
`dnsmasq` which will provide more `nameserver` entries, but not more `search`
entries. You can also use kubelet's `--resolv-conf` flag.
-If you are using Alpine version 3.3 or earlier as your base image, dns may not
+If you are using Alpine version 3.3 or earlier as your base image, DNS may not
work properly owing to a known issue with Alpine. Check [here](https://github.com/kubernetes/kubernetes/issues/30215)
for more information.
## References
-- [Docs for the DNS cluster addon](http://releases.k8s.io/{{page.githubbranch}}/build-tools/kube-dns/README.md)
+- [Docs for the DNS cluster addon](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/dns/README.md)
+## What's next
+- [Autoscaling the DNS Service in a Cluster](/docs/tasks/administer-cluster/dns-horizontal-autoscaling/).
diff --git a/docs/admin/etcd.md b/docs/admin/etcd.md
index 14b36a33be..41a3e35ddb 100644
--- a/docs/admin/etcd.md
+++ b/docs/admin/etcd.md
@@ -1,11 +1,10 @@
---
assignees:
- lavalamp
-
+title: Configuring Kubernetes Use of etcd
---
-
-[etcd](https://coreos.com/etcd/docs/2.2.1/) is a highly-available key value
+[etcd](https://coreos.com/etcd/docs/latest/) is a highly-available key value
store which Kubernetes uses for persistent storage of all of its REST API
objects.
diff --git a/docs/admin/federation-apiserver.md b/docs/admin/federation-apiserver.md
index 00fb08c1a0..9eb760d087 100644
--- a/docs/admin/federation-apiserver.md
+++ b/docs/admin/federation-apiserver.md
@@ -1,4 +1,6 @@
---
+title: federation-apiserver
+notitle: true
---
## federation-apiserver
@@ -20,10 +22,11 @@ federation-apiserver
### Options
```
- --admission-control string Ordered list of plug-ins to do admission control of resources into cluster. Comma-delimited list of: AlwaysAdmit, AlwaysDeny, NamespaceLifecycle. (default "AlwaysAdmit")
+ --admission-control string Ordered list of plug-ins to do admission control of resources into cluster. Comma-delimited list of: AlwaysAdmit, AlwaysDeny, NamespaceLifecycle, OwnerReferencesPermissionEnforcement. (default "AlwaysAdmit")
--admission-control-config-file string File with admission control configuration.
- --advertise-address value The IP address on which to advertise the apiserver to members of the cluster. This address must be reachable by the rest of the cluster. If blank, the --bind-address will be used. If --bind-address is unspecified, the host's default interface will be used.
- --apiserver-count int The number of apiservers running in the cluster. (default 1)
+ --advertise-address ip The IP address on which to advertise the apiserver to members of the cluster. This address must be reachable by the rest of the cluster. If blank, the --bind-address will be used. If --bind-address is unspecified, the host's default interface will be used.
+ --anonymous-auth Enables anonymous requests to the secure port of the API server. Requests that are not rejected by another authentication method are treated as anonymous requests. Anonymous requests have a username of system:anonymous, and a group name of system:unauthenticated. (default true)
+ --apiserver-count int The number of apiservers running in the cluster. Must be a positive number. (default 1)
--audit-log-maxage int The maximum number of days to retain old audit log files based on the timestamp encoded in their filename.
--audit-log-maxbackup int The maximum number of old audit log files to retain.
--audit-log-maxsize int The maximum size in megabytes of the audit log file before it gets rotated. Defaults to 100MB.
@@ -35,64 +38,71 @@ federation-apiserver
--authorization-webhook-cache-unauthorized-ttl duration The duration to cache 'unauthorized' responses from the webhook authorizer. Default is 30s. (default 30s)
--authorization-webhook-config-file string File with webhook configuration in kubeconfig format, used with --authorization-mode=Webhook. The API server will query the remote service to determine access on the API server's secure port.
--basic-auth-file string If set, the file that will be used to admit requests to the secure port of the API server via http basic authentication.
- --bind-address value The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0). (default 0.0.0.0)
+ --bind-address ip The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0). (default 0.0.0.0)
--cert-dir string The directory where the TLS certs are located (by default /var/run/kubernetes). If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored. (default "/var/run/kubernetes")
--client-ca-file string If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.
--cloud-config string The path to the cloud provider configuration file. Empty string for no configuration file.
--cloud-provider string The provider for cloud services. Empty string for no provider.
- --cors-allowed-origins value List of allowed origins for CORS, comma separated. An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled. (default [])
+ --contention-profiling Enable contention profiling. Requires --profiling to be set to work.
+ --cors-allowed-origins stringSlice List of allowed origins for CORS, comma separated. An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled.
--delete-collection-workers int Number of workers spawned for DeleteCollection call. These are used to speed up namespace cleanup. (default 1)
--deserialization-cache-size int Number of deserialized json objects to cache in memory.
+ --enable-garbage-collector Enables the generic garbage collector. MUST be synced with the corresponding flag of the kube-controller-manager. (default true)
--enable-swagger-ui Enables swagger ui on the apiserver at /swagger-ui
--etcd-cafile string SSL Certificate Authority file used to secure etcd communication.
--etcd-certfile string SSL certification file used to secure etcd communication.
--etcd-keyfile string SSL key file used to secure etcd communication.
--etcd-prefix string The prefix for all resource paths in etcd. (default "/registry")
--etcd-quorum-read If true, enable quorum read.
- --etcd-servers value List of etcd servers to connect with (http://ip:port), comma separated. (default [])
- --etcd-servers-overrides value Per-resource etcd servers overrides, comma separated. The individual override format: group/resource#servers, where servers are http://ip:port, semicolon separated. (default [])
+ --etcd-servers stringSlice List of etcd servers to connect with (scheme://ip:port), comma separated.
+ --etcd-servers-overrides stringSlice Per-resource etcd servers overrides, comma separated. The individual override format: group/resource#servers, where servers are http://ip:port, semicolon separated.
--event-ttl duration Amount of time to retain events. Default is 1h. (default 1h0m0s)
+ --experimental-keystone-ca-file string If set, the Keystone server's certificate will be verified by one of the authorities in the experimental-keystone-ca-file, otherwise the host's root CA set will be used.
--experimental-keystone-url string If passed, activates the keystone authentication plugin.
--external-hostname string The hostname to use when generating externalized URLs for this master (e.g. Swagger API Docs).
- --feature-gates value A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
+ --feature-gates mapStringBool A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
AllAlpha=true|false (ALPHA - default=false)
-AllowExtTrafficLocalEndpoints=true|false (ALPHA - default=false)
+AllowExtTrafficLocalEndpoints=true|false (BETA - default=true)
AppArmor=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
DynamicVolumeProvisioning=true|false (ALPHA - default=true)
- --insecure-bind-address value The IP address on which to serve the --insecure-port (set to 0.0.0.0 for all interfaces). Defaults to localhost. (default 127.0.0.1)
+ExperimentalHostUserNamespaceDefaulting=true|false (ALPHA - default=false)
+StreamingProxyRedirects=true|false (ALPHA - default=false)
+ --insecure-allow-any-token username/group1,group2 If set, your server will be INSECURE. Any token will be allowed and user information will be parsed from the token as username/group1,group2
+ --insecure-bind-address ip The IP address on which to serve the --insecure-port (set to 0.0.0.0 for all interfaces). Defaults to localhost. (default 127.0.0.1)
--insecure-port int The port on which to serve unsecured, unauthenticated access. Default 8080. It is assumed that firewall rules are set up such that this port is not reachable from outside of the cluster and that port 443 on the cluster's public address is proxied to this port. This is performed by nginx in the default setup. (default 8080)
--kubernetes-service-node-port int If non-zero, the Kubernetes master service (which apiserver creates/maintains) will be of type NodePort, using this as the value of the port. If zero, the Kubernetes master service will be of type ClusterIP.
--long-running-request-regexp string A regular expression matching long running requests which should be excluded from maximum inflight request handling. (default "(/|^)((watch|proxy)(/|$)|(logs?|portforward|exec|attach)/?$)")
- --master-service-namespace string The namespace from which the kubernetes master services should be injected into pods. (default "default")
+ --master-service-namespace string DEPRECATED: the namespace from which the kubernetes master services should be injected into pods. (default "default")
--max-requests-inflight int The maximum number of requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit. (default 400)
--min-request-timeout int An optional field indicating the minimum number of seconds a handler must keep a request open before timing it out. Currently only honored by the watch request handler, which picks a randomized value above this number as the connection timeout, to spread out load. (default 1800)
--oidc-ca-file string If set, the OpenID server's certificate will be verified by one of the authorities in the oidc-ca-file, otherwise the host's root CA set will be used.
--oidc-client-id string The client ID for the OpenID Connect client, must be set if oidc-issuer-url is set.
- --oidc-groups-claim string If provided, the name of a custom OpenID Connect claim for specifying user groups. The claim value is expected to be an array of strings. This flag is experimental, please see the authentication documentation for further details.
+ --oidc-groups-claim string If provided, the name of a custom OpenID Connect claim for specifying user groups. The claim value is expected to be a string or array of strings. This flag is experimental, please see the authentication documentation for further details.
--oidc-issuer-url string The URL of the OpenID issuer, only HTTPS scheme will be accepted. If set, it will be used to verify the OIDC JSON Web Token (JWT).
--oidc-username-claim string The OpenID claim to use as the user name. Note that claims other than the default ('sub') is not guaranteed to be unique and immutable. This flag is experimental, please see the authentication documentation for further details. (default "sub")
--profiling Enable profiling via web interface host:port/debug/pprof/ (default true)
- --runtime-config value A set of key=value pairs that describe runtime configuration that may be passed to apiserver. apis/ key can be used to turn on/off specific api versions. apis// can be used to turn on/off specific resources. api/all and api/legacy are special keys to control all and legacy api versions respectively.
+ --requestheader-allowed-names stringSlice List of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers. If empty, any client certificate validated by the authorities in --requestheader-client-ca-file is allowed.
+ --requestheader-client-ca-file string Root certificate bundle to use to verify client certificates on incoming requests before trusting usernames in headers specified by --requestheader-username-headers
+ --requestheader-username-headers stringSlice List of request headers to inspect for usernames. X-Remote-User is common.
+ --runtime-config mapStringString A set of key=value pairs that describe runtime configuration that may be passed to apiserver. apis/ key can be used to turn on/off specific api versions. apis// can be used to turn on/off specific resources. api/all and api/legacy are special keys to control all and legacy api versions respectively.
--secure-port int The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all. (default 6443)
- --service-cluster-ip-range value A CIDR notation IP range from which to assign service cluster IPs. This must not overlap with any IP ranges assigned to nodes for pods.
- --service-node-port-range value A port range to reserve for services with NodePort visibility. Example: '30000-32767'. Inclusive at both ends of the range. (default 30000-32767)
+ --service-cluster-ip-range ipNet A CIDR notation IP range from which to assign service cluster IPs. This must not overlap with any IP ranges assigned to nodes for pods.
+ --service-node-port-range portRange A port range to reserve for services with NodePort visibility. Example: '30000-32767'. Inclusive at both ends of the range. (default 30000-32767)
--storage-backend string The storage backend for persistence. Options: 'etcd2' (default), 'etcd3'.
--storage-media-type string The media type to use to store objects in storage. Defaults to application/json. Some resources may only support a specific media type and will ignore this setting. (default "application/json")
- --storage-versions string The per-group version to store resources in. Specified in the format "group1/version1,group2/version2,...". In the case where objects are moved from one group to the other, you may specify the format "group1=group2/v1beta1,group3/v1beta1,...". You only need to pass the groups you wish to change from the defaults. It defaults to a list of preferred versions of all registered groups, which is derived from the KUBE_API_VERSIONS environment variable. (default "apps/v1alpha1,authentication.k8s.io/v1beta1,authorization.k8s.io/v1beta1,autoscaling/v1,batch/v1,certificates.k8s.io/v1alpha1,componentconfig/v1alpha1,extensions/v1beta1,federation/v1beta1,policy/v1alpha1,rbac.authorization.k8s.io/v1alpha1,storage.k8s.io/v1beta1,v1")
+ --storage-versions string The per-group version to store resources in. Specified in the format "group1/version1,group2/version2,...". In the case where objects are moved from one group to the other, you may specify the format "group1=group2/v1beta1,group3/v1beta1,...". You only need to pass the groups you wish to change from the defaults. It defaults to a list of preferred versions of all registered groups, which is derived from the KUBE_API_VERSIONS environment variable. (default "apps/v1beta1,authentication.k8s.io/v1beta1,authorization.k8s.io/v1beta1,autoscaling/v1,batch/v1,certificates.k8s.io/v1alpha1,componentconfig/v1alpha1,extensions/v1beta1,federation/v1beta1,policy/v1beta1,rbac.authorization.k8s.io/v1alpha1,storage.k8s.io/v1beta1,v1")
--target-ram-mb int Memory limit for apiserver in MB (used to configure sizes of caches, etc.)
- --tls-cert-file string File containing x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to /var/run/kubernetes.
- --tls-private-key-file string File containing x509 private key matching --tls-cert-file.
+ --tls-ca-file string If set, this certificate authority will used for secure access from Admission Controllers. This must be a valid PEM-encoded CA bundle.
+ --tls-cert-file string File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to /var/run/kubernetes.
+ --tls-private-key-file string File containing the default x509 private key matching --tls-cert-file.
+ --tls-sni-cert-key namedCertKey A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.key,example.crt" or "*.foo.com,foo.com:foo.key,foo.crt". (default [])
--token-auth-file string If set, the file that will be used to secure the secure port of the API server via token authentication.
--watch-cache Enable watch caching in the apiserver (default true)
- --watch-cache-sizes value List of watch cache sizes for every resource (pods, nodes, etc.), comma separated. The individual override format: resource#size, where size is a number. It takes effect when watch-cache is enabled. (default [])
+ --watch-cache-sizes stringSlice List of watch cache sizes for every resource (pods, nodes, etc.), comma separated. The individual override format: resource#size, where size is a number. It takes effect when watch-cache is enabled.
```
-###### Auto generated by spf13/cobra on 24-Oct-2016
-
-
-
-
+###### Auto generated by spf13/cobra on 13-Dec-2016
diff --git a/docs/admin/federation-controller-manager.md b/docs/admin/federation-controller-manager.md
index d73dde0b9e..d3dca5bf06 100644
--- a/docs/admin/federation-controller-manager.md
+++ b/docs/admin/federation-controller-manager.md
@@ -1,4 +1,6 @@
---
+title: federation-controller-mananger
+notitle: true
---
## federation-controller-manager
@@ -23,14 +25,14 @@ federation-controller-manager
### Options
```
- --address value The IP address to serve on (set to 0.0.0.0 for all interfaces) (default 0.0.0.0)
+ --address ip The IP address to serve on (set to 0.0.0.0 for all interfaces) (default 0.0.0.0)
--cluster-monitor-period duration The period for syncing ClusterStatus in ClusterController. (default 40s)
--concurrent-replicaset-syncs int The number of ReplicaSets syncing operations that will be done concurrently. Larger number = faster endpoint updating, but more CPU (and network) load (default 10)
--concurrent-service-syncs int The number of service syncing operations that will be done concurrently. Larger number = faster endpoint updating, but more CPU (and network) load (default 10)
- --dns-provider string DNS provider. Valid values are: ["aws-route53" "google-clouddns"]
+ --dns-provider string DNS provider. Valid values are: ["google-clouddns" "aws-route53"]
--dns-provider-config string Path to config file for configuring DNS provider.
--federated-api-burst int Burst to use while talking with federation apiserver (default 30)
- --federated-api-qps value QPS to use while talking with federation apiserver (default 20)
+ --federated-api-qps float32 QPS to use while talking with federation apiserver (default 20)
--federation-name string Federation name.
--kube-api-content-type string ContentType of requests sent to apiserver. Passing application/vnd.kubernetes.protobuf is an experimental feature now.
--kubeconfig string Path to kubeconfig file with authorization and master location information.
@@ -41,14 +43,12 @@ federation-controller-manager
--master string The address of the federation API server (overrides any value in kubeconfig)
--port int The port that the controller-manager's http service runs on (default 10253)
--profiling Enable profiling via web interface host:port/debug/pprof/ (default true)
+ --service-dns-suffix string DNS Suffix to use when publishing federated service names. Defaults to zone-name
+ --zone-id string Zone ID, needed if the zone name is not unique.
--zone-name string Zone name, like example.com.
```
-###### Auto generated by spf13/cobra on 24-Oct-2016
-
-
-
-
+###### Auto generated by spf13/cobra on 13-Dec-2016
diff --git a/docs/admin/federation/index.md b/docs/admin/federation/index.md
index 41d43b9572..59a0199d7b 100644
--- a/docs/admin/federation/index.md
+++ b/docs/admin/federation/index.md
@@ -3,8 +3,9 @@ assignees:
- madhusudancs
- mml
- nikhiljindal
-
+title: Using `federation-up` and `deploy.sh`
---
+
This guide explains how to set up cluster federation that lets us control multiple Kubernetes clusters.
@@ -14,11 +15,11 @@ This guide explains how to set up cluster federation that lets us control multip
## Prerequisites
This guide assumes that you have a running Kubernetes cluster.
-If not, then head over to the [getting started guides](/docs/getting-started-guides/) to bring up a cluster.
+If you need to start a new cluster, see the [getting started guides](/docs/getting-started-guides/) for instructions on bringing a cluster up.
-This guide also assumes that you have a Kubernetes release
-[downloaded from here](/docs/getting-started-guides/binary_release/),
-extracted into a directory and all the commands in this guide are run from
+To use the commands in this guide, you must download a Kubernetes release from the
+[getting started binary releases](/docs/getting-started-guides/binary_release/) and
+extract into a directory; all the commands in this guide are run from
that directory.
```shell
@@ -26,8 +27,8 @@ $ curl -L https://github.com/kubernetes/kubernetes/releases/download/v1.4.0/kube
$ cd kubernetes
```
-This guide also assumes that you have an installation of Docker running
-locally, i.e. on the machine where you run the commands described in this
+You must also have a Docker installation running
+locally--meaning on the machine where you run the commands described in this
guide.
## Setting up a federation control plane
@@ -109,7 +110,7 @@ $ KUBE_REGISTRY="gcr.io/myrepository" federation/develop/develop.sh build_image
$ KUBE_REGISTRY="gcr.io/myrepository" federation/develop/develop.sh push
```
-Note: This is going to overwite the values you might have set for
+Note: This is going to overwrite the values you might have set for
`apiserverRegistry`, `apiserverVersion`, `controllerManagerRegistry` and
`controllerManagerVersion` in your `${FEDERATION_OUTPUT_ROOT}/values.yaml`
file. Hence, it is not recommend to customize these values in
@@ -212,47 +213,81 @@ cluster1 Ready 3m
## Updating KubeDNS
-Once the cluster is registered with the federation, you are all set to use it.
-But for the cluster to be able to route federation service requests, you need to restart
-KubeDNS and pass it a `--federations` flag which tells it about valid federation DNS hostnames.
-Format of the flag is like this:
+Once you've registered your cluster with the federation, you'll need to update KubeDNS so that your cluster can route federation service requests. The update method varies depending on your Kubernetes version; on Kubernetes 1.5 or later, you must pass the
+`--federations` flag to kube-dns via the kube-dns config map. In version 1.4 or earlier, you must set the `--federations` flag directly on kube-dns-rc on other clusters.
+
+### Kubernetes 1.5+: Passing federations flag via config map to kube-dns
+
+For Kubernetes clusters of version 1.5+, you can pass the
+`--federations` flag to kube-dns via the kube-dns config map.
+The flag uses the following format:
```
--federations=${FEDERATION_NAME}=${DNS_DOMAIN_NAME}
```
-To update KubeDNS with federations flag, you can edit the existing kubedns replication controller to
-include that flag in pod template spec and then delete the existing pod. Replication controller will
-recreate the pod with updated template.
+To pass this flag to KubeDNS, create a config-map with name `kube-dns` in
+namespace `kube-system`. The configmap should look like the following:
-To find the name of existing kubedns replication controller, run
+```yaml
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: kube-dns
+ namespace: kube-system
+data:
+ federations: =
+```
+
+where `` should be replaced by the name you want to give to your
+federation, and
+`federation-domain-name` should be replaced by the domain name you want to use
+in your federation DNS.
+
+You can find more details about config maps in general at
+http://kubernetes.io/docs/user-guide/configmap/.
+
+### Kubernetes 1.4 and earlier: Setting federations flag on kube-dns-rc
+
+If your cluster is running Kubernetes version 1.4 or earlier, you must to restart
+KubeDNS and pass it a `--federations` flag, which tells it about valid federation DNS hostnames.
+The flag uses the following format:
+
+```
+--federations=${FEDERATION_NAME}=${DNS_DOMAIN_NAME}
+```
+
+To update KubeDNS with the `--federations` flag, you can edit the existing kubedns replication controller to
+include that flag in pod template spec, and then delete the existing pod. The replication controller then
+recreates the pod with updated template.
+
+To find the name of existing kubedns replication controller, run the following command:
```shell
$ kubectl get rc --namespace=kube-system
```
-This will list all the replication controllers. Name of the kube-dns replication
-controller will look like `kube-dns-v18`. You can then edit it by running:
+You should see a list of all the replication controllers on the cluster. The kube-dns replication
+controller should have a name similar to `kube-dns-v18`. To edit the replication controller, specify it by name as follows:
```shell
$ kubectl edit rc --namespace=kube-system
```
-Add the `--federations` flag as args to kube-dns container in the YAML file that
-pops up after running the above command.
+In the resulting YAML file for the kube-dns replication controller, add the `--federations` flag as an argument to kube-dns container.
-To delete the existing kube dns pod, you can first find it by running:
+Then, you must delete the existing kube dns pod. You can find the pod by running:
```shell
$ kubectl get pods --namespace=kube-system
```
-And then delete it by running:
+And then delete the appropriate pod by running:
```shell
$ kubectl delete pods --namespace=kube-system
```
-You are now all set to start using federation.
+Once you've completed the kube-dns configuration, your federation is ready for use.
## Turn down
@@ -317,7 +352,7 @@ $ KUBERNETES_PROVIDER=gce FEDERATION_DNS_PROVIDER=google-clouddns FEDERATION_NAM
set appropriately if it is missing and `KUBERNETES_PROVIDER` is one of `gce`, `gke` and `aws`.
This is used to resolve DNS requests for federation services. The service
controller keeps DNS records with the provider updated as services/pods are
-updated in underlying kubernetes clusters.
+updated in underlying Kubernetes clusters.
`FEDERATION_NAME` is a name you can choose for your federation. This is the name that will appear in DNS routes.
diff --git a/docs/admin/federation/kubefed.md b/docs/admin/federation/kubefed.md
new file mode 100644
index 0000000000..1551c74213
--- /dev/null
+++ b/docs/admin/federation/kubefed.md
@@ -0,0 +1,194 @@
+---
+assignees:
+- madhusudancs
+title: Setting up Cluster Federation with Kubefed
+---
+
+* TOC
+{:toc}
+
+Kubernetes version 1.5 includes a new command line tool called
+`kubefed` to help you administrate your federated clusters.
+`kubefed` helps you to deploy a new Kubernetes cluster federation
+control plane, and to add clusters to or remove clusters from an
+existing federation control plane.
+
+This guide explains how to administer a Kubernetes Cluster Federation
+using `kubefed`.
+
+> Note: `kubefed` is an alpha feature in Kubernetes 1.5.
+
+## Prerequisites
+
+This guide assumes that you have a running Kubernetes cluster. Please
+see one of the [getting started](/docs/getting-started-guides/) guides
+for installation instructions for your platform.
+
+
+## Getting `kubefed`
+
+Download the client tarball corresponding to Kubernetes version 1.5
+or later
+[from the release page](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG.md),
+extract the binaries in the tarball to one of the directories
+in your `$PATH` and set the executable permission on those binaries.
+
+```shell
+curl -O https://storage.googleapis.com/kubernetes-release/release/v1.5.0/kubernetes-client-linux-amd64.tar.gz
+tar -xzvf kubernetes-client-linux-amd64.tar.gz
+sudo cp kubernetes/client/bin/kubefed /usr/local/bin
+sudo chmod +x /usr/local/bin/kubefed
+sudo cp kubernetes/client/bin/kubectl /usr/local/bin
+sudo chmod +x /usr/local/bin/kubectl
+```
+
+
+## Choosing a host cluster.
+
+You'll need to choose one of your Kubernetes clusters to be the
+*host cluster*. The host cluster hosts the components that make up
+your federation control plane. Ensure that you have a `kubeconfig`
+entry in your local `kubeconfig` that corresponds to the host cluster.
+You can verify that you have the required `kubeconfig` entry by
+running:
+
+```shell
+kubectl config get-contexts
+```
+
+The output should contain an entry corresponding to your host cluster,
+similar to the following:
+
+```
+CURRENT NAME CLUSTER AUTHINFO NAMESPACE
+ gke_myproject_asia-east1-b_gce-asia-east1 gke_myproject_asia-east1-b_gce-asia-east1 gke_myproject_asia-east1-b_gce-asia-east1
+```
+
+
+You'll need to provide the `kubeconfig` context (called name in the
+entry above) for your host cluster when you deploy your federation
+control plane.
+
+
+## Deploying a federation control plane.
+
+"To deploy a federation control plane on your host cluster, run
+`kubefed init` command. When you use `kubefed init`, you must provide
+the following:
+
+* Federation name
+* `--host-cluster-context`, the `kubeconfig` context for the host cluster
+* `--dns-zone-name`, a domain name suffix for your federated services
+
+The following example command deploys a federation control plane with
+the name `fellowship`, a host cluster context `rivendell`, and the
+domain suffix `example.com`:
+
+```shell
+kubefed init fellowship --host-cluster-context=rivendell --dns-zone-name="example.com"
+```
+
+The domain suffix you specify in `--dns-zone-name` must be an existing
+domain that you control, and that is programmable by your DNS provider.
+
+`kubefed init` sets up the federation control plane in the host
+cluster and also adds an entry for the federation API server in your
+local kubeconfig. Note that in the alpha release in Kubernetes 1.5,
+`kubefed init` does not automatically set the current context to the
+newly deployed federation. You can set the current context manually by
+running:
+
+```shell
+kubectl config use-context fellowship
+```
+
+where `fellowship` is the name of your federation.
+
+
+## Adding a cluster to a federation
+
+Once you've deployed a federation control plane, you'll need to make
+that control plane aware of the clusters it should manage. You can add
+a cluster to your federation by using the `kubefed join` command.
+
+To use `kubefed join`, you'll need to provide the name of the cluster
+you want to add to the federation, and the `--host-cluster-context`
+for the federation control plane's host cluster.
+
+The following example command adds the cluster `gondor` to the
+federation with host cluster `rivendell`:
+
+```
+kubefed join gondor --host-cluster-context=rivendell
+```
+
+> Note: Kubernetes requires that you manually join clusters to a
+federation because the federation control plane manages only those
+clusters that it is responsible for managing. Adding a cluster tells
+the federation control plane that it is responsible for managing that
+cluster.
+
+### Naming rules and customization
+
+The cluster name you supply to `kubefed join` must be a valid RFC 1035
+label.
+
+Furthermore, federation control plane requires credentials of the
+joined clusters to operate on them. These credentials are obtained
+from the local kubeconfig. `kubefed join` uses the cluster name
+specified as the argument to look for the cluster's context in the
+local kubeconfig. If it fails to find a matching context, it exits
+with an error.
+
+This might cause issues in cases where context names for each cluster
+in the federation don't follow RFC 1035 label naming rules. In such
+cases, you can specify a cluster name that conforms to the RFC 1035
+label naming rules and specify the cluster context using the
+`--cluster-context` flag. For example, if context of the cluster your
+are joining is `gondor_needs-no_king`, then you can
+join the cluster by running:
+
+```shell
+kubefed join gondor --host-cluster-context=rivendell --cluster-context=gondor_needs-no_king
+```
+
+#### Secret name
+
+Cluster credentials required by the federation control plane as
+described above are stored as a secret in the host cluster. The name
+of the secret is also derived from the cluster name.
+
+However, the name of a secret object in Kubernetes should conform
+to the subdomain name specification described in RFC 1123. If this
+isn't case, you can pass the secret name to `kubefed join` using the
+`--secret-name` flag. For example, if the cluster name is `noldor` and
+the secret name is `11kingdom`, you can join the cluster by
+running:
+
+```shell
+kubefed join noldor --host-cluster-context=rivendell --secret-name=11kingdom
+```
+
+## Removing a cluster from a federation
+
+To remove a cluster from a federation, run the `kubefed unjoin`
+command with the cluster name and the federation's
+`--host-cluster-context`:
+
+```
+kubefed unjoin gondor --host-cluster-context=rivendell
+```
+
+
+## Turning down the federation control plane:
+
+Proper cleanup of federation control plane is not fully implemented in
+this alpha release of `kubefed`. However, for the time being, deleting
+the federation system namespace should remove all the resources except
+the persistent storage volume dynamically provisioned for the
+federation control plane's etcd. You can delete the federation
+namespace by running the following command:
+
+```
+$ kubectl delete ns federation-system
+```
diff --git a/docs/admin/garbage-collection.md b/docs/admin/garbage-collection.md
index a3112a07f1..3a8ecda475 100644
--- a/docs/admin/garbage-collection.md
+++ b/docs/admin/garbage-collection.md
@@ -1,7 +1,7 @@
---
assignees:
- mikedanese
-
+title: Configuring kubelet Garbage Collection
---
* TOC
@@ -13,11 +13,11 @@ External garbage collection tools are not recommended as these tools can potenti
### Image Collection
-kubernetes manages lifecycle of all images through imageManager, with the cooperation
+Kubernetes manages lifecycle of all images through imageManager, with the cooperation
of cadvisor.
The policy for garbage collecting images takes two factors into consideration:
-`HighThresholdPercent` and `LowThresholdPercent`. Disk usage above the the high threshold
+`HighThresholdPercent` and `LowThresholdPercent`. Disk usage above the high threshold
will trigger garbage collection. The garbage collection will delete least recently used images until the low
threshold has been met.
diff --git a/docs/admin/ha-master-gce.md b/docs/admin/ha-master-gce.md
new file mode 100644
index 0000000000..91e0019272
--- /dev/null
+++ b/docs/admin/ha-master-gce.md
@@ -0,0 +1,158 @@
+---
+assignees:
+- jszczepkowski
+title: Setting up High-Availability Kubernetes Masters
+---
+
+* TOC
+{:toc}
+
+Kubernetes version 1.5 adds alpha support for replicating Kubernetes masters in `kube-up` or `kube-down` scripts for Google Compute Engine.
+This document describes how to use kube-up/down scripts to manage highly available (HA) masters and how HA masters are implemented for use with GCE.
+
+## Starting an HA-compatible cluster
+
+To create a new HA-compatible cluster, you must set the following flags in your `kube-up` script:
+
+* `MULTIZONE=true` - to prevent removal of master replicas kubelets from zones different than server's default zone.
+Required if you want to run master replicas in different zones, which is recommended.
+
+* `ENABLE_ETCD_QUORUM_READS=true` - to ensure that reads from all API servers will return most up-to-date data.
+If true, reads will be directed to leader etcd replica.
+Setting this value to true is optional: reads will be more reliable but will also be slower.
+
+Optionally, you can specify a GCE zone where the first master replica is to be created.
+Set the following flag:
+
+* `KUBE_GCE_ZONE=zone` - zone where the first master replica will run.
+
+The following sample command sets up a HA-compatible cluster in the GCE zone europe-west1-b:
+
+```shell
+$ MULTIZONE=true KUBE_GCE_ZONE=europe-west1-b ENABLE_ETCD_QUORUM_READS=true ./cluster/kube-up.sh
+```
+
+Note that the commands above create a cluster with one master;
+however, you can add new master replicas to the cluster with subsequent commands.
+
+## Adding a new master replica
+
+After you have created an HA-compatible cluster, you can add master replicas to it.
+You add master replicas by using a `kube-up` script with the following flags:
+
+* `KUBE_REPLICATE_EXISTING_MASTER=true` - to create a replica of an existing
+master.
+
+* `KUBE_GCE_ZONE=zone` - zone where the master replica will run.
+Must be in the same region as other replicas' zones.
+
+You don't need to set the `MULTIZONE` or `ENABLE_ETCD_QUORUM_READS` flags,
+as those are inherited from when you started your HA-compatible cluster.
+
+The following sample command replicates the master on an existing HA-compatible cluster:
+
+```shell
+$ KUBE_GCE_ZONE=europe-west1-c KUBE_REPLICATE_EXISTING_MASTER=true ./cluster/kube-up.sh
+```
+
+## Removing a master replica
+
+You can remove a master replica from an HA cluster by using a `kube-down` script with the following flags:
+
+* `KUBE_DELETE_NODES=false` - to restrain deletion of kubelets.
+
+* `KUBE_GCE_ZONE=zone` - the zone from where master replica will be removed.
+
+* `KUBE_REPLICA_NAME=replica_name` - (optional) the name of master replica to remove.
+If empty: any replica from the given zone will be removed.
+
+The following sample command removes a master replica from an existing HA cluster:
+
+```shell
+$ KUBE_DELETE_NODES=false KUBE_GCE_ZONE=europe-west1-c ./cluster/kube-down.sh
+```
+
+## Handling master replica failures
+
+If one of the master replicas in your HA cluster fails,
+the best practice is to remove the replica from your cluster and add a new replica in the same zone.
+The following sample commands demonstrate this process:
+
+1. Remove the broken replica:
+
+```shell
+$ KUBE_DELETE_NODES=false KUBE_GCE_ZONE=replica_zone KUBE_REPLICA_NAME=replica_name ./cluster/kube-down.sh
+```
+
+2. Add a new replica in place of the old one:
+
+```shell
+$ KUBE_GCE_ZONE=replica-zone KUBE_REPLICATE_EXISTING_MASTER=true ./cluster/kube-up.sh
+```
+
+## Best practices for replicating masters for HA clusters
+
+* Try to place masters replicas in different zones. During a zone failure, all master placed inside the zone will fail.
+To survive zone failure, also place nodes in multiple zones
+(see [multiple-zones](http://kubernetes.io/docs/admin/multiple-zones/) for details).
+
+* Do not use a cluster with two master replicas. Consensus on a two replica cluster requires both replicas running when changing persistent state.
+As a result, both replicas are needed and a failure of any replica turns cluster into majority failure state.
+A two-replica cluster is thus inferior, in terms of HA, to a single replica cluster.
+
+* When you add a master replica, cluster state (etcd) is copied to a new instance.
+If the cluster is large, it may take a long time to duplicate its state.
+This operation may be speed up by migrating etcd data directory, as described [here](https://coreos.com/etcd/docs/latest/admin_guide.html#member-migration) here
+(we are considering adding support for etcd data dir migration in future).
+
+## Implementation notes
+
+
+
+### Overview
+
+Each of master replicas will run the following components in the following mode:
+
+* etcd instance: all instances will be clustered together using consensus;
+
+* API server: each server will talk to local etcd - all API servers in the cluster will be available;
+
+* controllers, scheduler, and cluster auto-scaler: will use lease mechanism - only one instance of each of them will be active in the cluster;
+
+* add-on manager: each manager will work independently trying to keep add-ons in sync.
+
+In addition, there will be a load balancer in front of API servers that will route external and internal traffic to them.
+
+### Load balancing
+
+When starting the second master replica, a load balancer containing the two replicas will be created
+and the IP address of the first replica will be promoted to IP address of load balancer.
+Similarly, after removal of the penultimate master replica, the load balancer will be removed and its IP address will be assigned to the last remaining replica.
+Please note that creation and removal of load balancer are complex operations and it may take some time (~20 minutes) for them to propagate.
+
+### Master service & kubelets
+
+Instead of trying to keep an up-to-date list of Kubernetes apiserver in the Kubernetes service,
+the system directs all traffic to the external IP:
+
+* in one master cluster the IP points to the single master,
+
+* in multi-master cluster the IP points to the load balancer in-front of the masters.
+
+Similarly, the external IP will be used by kubelets to communicate with master.
+
+### Master certificates
+
+Kubernetes generates Master TLS certificates for the external public IP and local IP for each replica.
+There are no certificates for the ephemeral public IP for replicas;
+to access a replica via its ephemeral public IP, you must skip TLS verification.
+
+### Clustering etcd
+
+To allow etcd clustering, ports needed to communicate between etcd instances will be opened (for inside cluster communication).
+To make such deployment secure, communication between etcd instances is authorized using SSL.
+
+## Additional reading
+
+[Automated HA master deployment - design doc](https://github.com/kubernetes/kubernetes/blob/master/docs/design/ha_master.md)
+
diff --git a/docs/admin/ha-master-gce.png b/docs/admin/ha-master-gce.png
new file mode 100644
index 0000000000..a05e04a187
Binary files /dev/null and b/docs/admin/ha-master-gce.png differ
diff --git a/docs/admin/high-availability/index.md b/docs/admin/high-availability/index.md
index ad78270e4a..42e51d3d51 100644
--- a/docs/admin/high-availability/index.md
+++ b/docs/admin/high-availability/index.md
@@ -1,7 +1,7 @@
----
-
----
-
+---
+title: Building High-Availability Clusters
+---
+
## Introduction
This document describes how to build a high-availability (HA) Kubernetes cluster. This is a fairly advanced topic.
diff --git a/docs/admin/index.md b/docs/admin/index.md
index 47f47f8116..d4111691c6 100644
--- a/docs/admin/index.md
+++ b/docs/admin/index.md
@@ -2,7 +2,7 @@
assignees:
- davidopp
- lavalamp
-
+title: Admin Guide
---
The cluster admin guide is for anyone creating or administering a Kubernetes cluster.
@@ -13,7 +13,7 @@ It assumes some familiarity with concepts in the [User Guide](/docs/user-guide/)
## Planning a cluster
-There are many different examples of how to setup a kubernetes cluster. Many of them are listed in this
+There are many different examples of how to setup a Kubernetes cluster. Many of them are listed in this
[matrix](/docs/getting-started-guides/). We call each of the combinations in this matrix a *distro*.
Before choosing a particular guide, here are some things to consider:
@@ -25,12 +25,12 @@ Before choosing a particular guide, here are some things to consider:
- Will your cluster be on-premises, or in the cloud (IaaS)? Kubernetes does not directly support hybrid clusters. We
recommend setting up multiple clusters rather than spanning distant locations.
- Will you be running Kubernetes on "bare metal" or virtual machines? Kubernetes supports both, via different distros.
- - Do you just want to run a cluster, or do you expect to do active development of kubernetes project code? If the
+ - Do you just want to run a cluster, or do you expect to do active development of Kubernetes project code? If the
latter, it is better to pick a distro actively used by other developers. Some distros only use binary releases, but
offer is a greater variety of choices.
- Not all distros are maintained as actively. Prefer ones which are listed as tested on a more recent version of
Kubernetes.
- - If you are configuring kubernetes on-premises, you will need to consider what [networking
+ - If you are configuring Kubernetes on-premises, you will need to consider what [networking
model](/docs/admin/networking) fits best.
- If you are designing for very high-availability, you may want [clusters in multiple zones](/docs/admin/multi-cluster).
- You may want to familiarize yourself with the various
@@ -61,7 +61,8 @@ project](/docs/admin/salt).
* **DNS Integration with SkyDNS** ([dns.md](/docs/admin/dns)):
Resolving a DNS name directly to a Kubernetes service.
-* **Logging** with [Kibana](/docs/user-guide/logging)
+* [**Cluster-level logging**](/docs/user-guide/logging/overview)
+ Saving container logs to a central log store with search/browsing interface.
## Multi-tenant support
@@ -84,3 +85,8 @@ project](/docs/admin/salt).
* **Sysctls** [sysctls](/docs/admin/sysctls.md)
* **Audit** [audit](/docs/admin/audit)
+
+* **Securing the kubelet**
+ * [Master-Node communication](/docs/admin/master-node-communication/)
+ * [TLS bootstrapping](/docs/admin/kubelet-tls-bootstrapping/)
+ * [Kubelet authentication/authorization](/docs/admin/kubelet-authentication-authorization/)
diff --git a/docs/admin/kube-apiserver.md b/docs/admin/kube-apiserver.md
index 4e24cd2d89..1e2c8a602e 100644
--- a/docs/admin/kube-apiserver.md
+++ b/docs/admin/kube-apiserver.md
@@ -1,4 +1,6 @@
---
+title: kube-apiserver
+notitle: true
---
## kube-apiserver
@@ -20,11 +22,12 @@ kube-apiserver
### Options
```
- --admission-control string Ordered list of plug-ins to do admission control of resources into cluster. Comma-delimited list of: AlwaysAdmit, AlwaysDeny, AlwaysPullImages, DefaultStorageClass, DenyEscalatingExec, DenyExecOnPrivileged, ImagePolicyWebhook, InitialResources, LimitPodHardAntiAffinityTopology, LimitRanger, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, PersistentVolumeLabel, PodSecurityPolicy, ResourceQuota, SecurityContextDeny, ServiceAccount. (default "AlwaysAdmit")
+ --admission-control string Ordered list of plug-ins to do admission control of resources into cluster. Comma-delimited list of: AlwaysAdmit, AlwaysDeny, AlwaysPullImages, DefaultStorageClass, DenyEscalatingExec, DenyExecOnPrivileged, ImagePolicyWebhook, InitialResources, LimitPodHardAntiAffinityTopology, LimitRanger, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, OwnerReferencesPermissionEnforcement, PersistentVolumeLabel, PodNodeSelector, PodSecurityPolicy, ResourceQuota, SecurityContextDeny, ServiceAccount. (default "AlwaysAdmit")
--admission-control-config-file string File with admission control configuration.
- --advertise-address value The IP address on which to advertise the apiserver to members of the cluster. This address must be reachable by the rest of the cluster. If blank, the --bind-address will be used. If --bind-address is unspecified, the host's default interface will be used.
+ --advertise-address ip The IP address on which to advertise the apiserver to members of the cluster. This address must be reachable by the rest of the cluster. If blank, the --bind-address will be used. If --bind-address is unspecified, the host's default interface will be used.
--allow-privileged If true, allow privileged containers.
- --apiserver-count int The number of apiservers running in the cluster. (default 1)
+ --anonymous-auth Enables anonymous requests to the secure port of the API server. Requests that are not rejected by another authentication method are treated as anonymous requests. Anonymous requests have a username of system:anonymous, and a group name of system:unauthenticated. (default true)
+ --apiserver-count int The number of apiservers running in the cluster. Must be a positive number. (default 1)
--audit-log-maxage int The maximum number of days to retain old audit log files based on the timestamp encoded in their filename.
--audit-log-maxbackup int The maximum number of old audit log files to retain.
--audit-log-maxsize int The maximum size in megabytes of the audit log file before it gets rotated. Defaults to 100MB.
@@ -38,12 +41,13 @@ kube-apiserver
--authorization-webhook-cache-unauthorized-ttl duration The duration to cache 'unauthorized' responses from the webhook authorizer. Default is 30s. (default 30s)
--authorization-webhook-config-file string File with webhook configuration in kubeconfig format, used with --authorization-mode=Webhook. The API server will query the remote service to determine access on the API server's secure port.
--basic-auth-file string If set, the file that will be used to admit requests to the secure port of the API server via http basic authentication.
- --bind-address value The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0). (default 0.0.0.0)
+ --bind-address ip The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0). (default 0.0.0.0)
--cert-dir string The directory where the TLS certs are located (by default /var/run/kubernetes). If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored. (default "/var/run/kubernetes")
--client-ca-file string If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.
--cloud-config string The path to the cloud provider configuration file. Empty string for no configuration file.
--cloud-provider string The provider for cloud services. Empty string for no provider.
- --cors-allowed-origins value List of allowed origins for CORS, comma separated. An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled. (default [])
+ --contention-profiling Enable contention profiling. Requires --profiling to be set to work.
+ --cors-allowed-origins stringSlice List of allowed origins for CORS, comma separated. An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled.
--delete-collection-workers int Number of workers spawned for DeleteCollection call. These are used to speed up namespace cleanup. (default 1)
--deserialization-cache-size int Number of deserialized json objects to cache in memory.
--enable-garbage-collector Enables the generic garbage collector. MUST be synced with the corresponding flag of the kube-controller-manager. (default true)
@@ -53,62 +57,68 @@ kube-apiserver
--etcd-keyfile string SSL key file used to secure etcd communication.
--etcd-prefix string The prefix for all resource paths in etcd. (default "/registry")
--etcd-quorum-read If true, enable quorum read.
- --etcd-servers value List of etcd servers to connect with (http://ip:port), comma separated. (default [])
- --etcd-servers-overrides value Per-resource etcd servers overrides, comma separated. The individual override format: group/resource#servers, where servers are http://ip:port, semicolon separated. (default [])
+ --etcd-servers stringSlice List of etcd servers to connect with (scheme://ip:port), comma separated.
+ --etcd-servers-overrides stringSlice Per-resource etcd servers overrides, comma separated. The individual override format: group/resource#servers, where servers are http://ip:port, semicolon separated.
--event-ttl duration Amount of time to retain events. Default is 1h. (default 1h0m0s)
+ --experimental-keystone-ca-file string If set, the Keystone server's certificate will be verified by one of the authorities in the experimental-keystone-ca-file, otherwise the host's root CA set will be used.
--experimental-keystone-url string If passed, activates the keystone authentication plugin.
--external-hostname string The hostname to use when generating externalized URLs for this master (e.g. Swagger API Docs).
- --feature-gates value A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
+ --feature-gates mapStringBool A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
AllAlpha=true|false (ALPHA - default=false)
-AllowExtTrafficLocalEndpoints=true|false (ALPHA - default=false)
+AllowExtTrafficLocalEndpoints=true|false (BETA - default=true)
AppArmor=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
DynamicVolumeProvisioning=true|false (ALPHA - default=true)
+ExperimentalHostUserNamespaceDefaulting=true|false (ALPHA - default=false)
+StreamingProxyRedirects=true|false (ALPHA - default=false)
--google-json-key string The Google Cloud Platform Service Account JSON Key to use for authentication.
- --insecure-bind-address value The IP address on which to serve the --insecure-port (set to 0.0.0.0 for all interfaces). Defaults to localhost. (default 127.0.0.1)
+ --insecure-allow-any-token username/group1,group2 If set, your server will be INSECURE. Any token will be allowed and user information will be parsed from the token as username/group1,group2
+ --insecure-bind-address ip The IP address on which to serve the --insecure-port (set to 0.0.0.0 for all interfaces). Defaults to localhost. (default 127.0.0.1)
--insecure-port int The port on which to serve unsecured, unauthenticated access. Default 8080. It is assumed that firewall rules are set up such that this port is not reachable from outside of the cluster and that port 443 on the cluster's public address is proxied to this port. This is performed by nginx in the default setup. (default 8080)
--kubelet-certificate-authority string Path to a cert file for the certificate authority.
--kubelet-client-certificate string Path to a client cert file for TLS.
--kubelet-client-key string Path to a client key file for TLS.
--kubelet-https Use https for kubelet connections. (default true)
+ --kubelet-preferred-address-types stringSlice List of the preferred NodeAddressTypes to use for kubelet connections. (default [Hostname,InternalIP,ExternalIP,LegacyHostIP])
--kubelet-timeout duration Timeout for kubelet operations. (default 5s)
--kubernetes-service-node-port int If non-zero, the Kubernetes master service (which apiserver creates/maintains) will be of type NodePort, using this as the value of the port. If zero, the Kubernetes master service will be of type ClusterIP.
--long-running-request-regexp string A regular expression matching long running requests which should be excluded from maximum inflight request handling. (default "(/|^)((watch|proxy)(/|$)|(logs?|portforward|exec|attach)/?$)")
- --master-service-namespace string The namespace from which the kubernetes master services should be injected into pods. (default "default")
+ --master-service-namespace string DEPRECATED: the namespace from which the kubernetes master services should be injected into pods. (default "default")
--max-connection-bytes-per-sec int If non-zero, throttle each user connection to this number of bytes/sec. Currently only applies to long-running requests.
--max-requests-inflight int The maximum number of requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit. (default 400)
--min-request-timeout int An optional field indicating the minimum number of seconds a handler must keep a request open before timing it out. Currently only honored by the watch request handler, which picks a randomized value above this number as the connection timeout, to spread out load. (default 1800)
--oidc-ca-file string If set, the OpenID server's certificate will be verified by one of the authorities in the oidc-ca-file, otherwise the host's root CA set will be used.
--oidc-client-id string The client ID for the OpenID Connect client, must be set if oidc-issuer-url is set.
- --oidc-groups-claim string If provided, the name of a custom OpenID Connect claim for specifying user groups. The claim value is expected to be an array of strings. This flag is experimental, please see the authentication documentation for further details.
+ --oidc-groups-claim string If provided, the name of a custom OpenID Connect claim for specifying user groups. The claim value is expected to be a string or array of strings. This flag is experimental, please see the authentication documentation for further details.
--oidc-issuer-url string The URL of the OpenID issuer, only HTTPS scheme will be accepted. If set, it will be used to verify the OIDC JSON Web Token (JWT).
--oidc-username-claim string The OpenID claim to use as the user name. Note that claims other than the default ('sub') is not guaranteed to be unique and immutable. This flag is experimental, please see the authentication documentation for further details. (default "sub")
--profiling Enable profiling via web interface host:port/debug/pprof/ (default true)
--repair-malformed-updates If true, server will do its best to fix the update request to pass the validation, e.g., setting empty UID in update request to its existing value. This flag can be turned off after we fix all the clients that send malformed updates. (default true)
- --runtime-config value A set of key=value pairs that describe runtime configuration that may be passed to apiserver. apis/ key can be used to turn on/off specific api versions. apis// can be used to turn on/off specific resources. api/all and api/legacy are special keys to control all and legacy api versions respectively.
+ --requestheader-allowed-names stringSlice List of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers. If empty, any client certificate validated by the authorities in --requestheader-client-ca-file is allowed.
+ --requestheader-client-ca-file string Root certificate bundle to use to verify client certificates on incoming requests before trusting usernames in headers specified by --requestheader-username-headers
+ --requestheader-username-headers stringSlice List of request headers to inspect for usernames. X-Remote-User is common.
+ --runtime-config mapStringString A set of key=value pairs that describe runtime configuration that may be passed to apiserver. apis/ key can be used to turn on/off specific api versions. apis// can be used to turn on/off specific resources. api/all and api/legacy are special keys to control all and legacy api versions respectively.
--secure-port int The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all. (default 6443)
- --service-account-key-file string File containing PEM-encoded x509 RSA private or public key, used to verify ServiceAccount tokens. If unspecified, --tls-private-key-file is used.
+ --service-account-key-file stringArray File containing PEM-encoded x509 RSA or ECDSA private or public keys, used to verify ServiceAccount tokens. If unspecified, --tls-private-key-file is used. The specified file can contain multiple keys, and the flag can be specified multiple times with different files.
--service-account-lookup If true, validate ServiceAccount tokens exist in etcd as part of authentication.
- --service-cluster-ip-range value A CIDR notation IP range from which to assign service cluster IPs. This must not overlap with any IP ranges assigned to nodes for pods.
- --service-node-port-range value A port range to reserve for services with NodePort visibility. Example: '30000-32767'. Inclusive at both ends of the range. (default 30000-32767)
+ --service-cluster-ip-range ipNet A CIDR notation IP range from which to assign service cluster IPs. This must not overlap with any IP ranges assigned to nodes for pods.
+ --service-node-port-range portRange A port range to reserve for services with NodePort visibility. Example: '30000-32767'. Inclusive at both ends of the range. (default 30000-32767)
--ssh-keyfile string If non-empty, use secure SSH proxy to the nodes, using this user keyfile
--ssh-user string If non-empty, use secure SSH proxy to the nodes, using this user name
--storage-backend string The storage backend for persistence. Options: 'etcd2' (default), 'etcd3'.
--storage-media-type string The media type to use to store objects in storage. Defaults to application/json. Some resources may only support a specific media type and will ignore this setting. (default "application/json")
- --storage-versions string The per-group version to store resources in. Specified in the format "group1/version1,group2/version2,...". In the case where objects are moved from one group to the other, you may specify the format "group1=group2/v1beta1,group3/v1beta1,...". You only need to pass the groups you wish to change from the defaults. It defaults to a list of preferred versions of all registered groups, which is derived from the KUBE_API_VERSIONS environment variable. (default "apps/v1alpha1,authentication.k8s.io/v1beta1,authorization.k8s.io/v1beta1,autoscaling/v1,batch/v1,certificates.k8s.io/v1alpha1,componentconfig/v1alpha1,extensions/v1beta1,imagepolicy.k8s.io/v1alpha1,policy/v1alpha1,rbac.authorization.k8s.io/v1alpha1,storage.k8s.io/v1beta1,v1")
+ --storage-versions string The per-group version to store resources in. Specified in the format "group1/version1,group2/version2,...". In the case where objects are moved from one group to the other, you may specify the format "group1=group2/v1beta1,group3/v1beta1,...". You only need to pass the groups you wish to change from the defaults. It defaults to a list of preferred versions of all registered groups, which is derived from the KUBE_API_VERSIONS environment variable. (default "apps/v1beta1,authentication.k8s.io/v1beta1,authorization.k8s.io/v1beta1,autoscaling/v1,batch/v1,certificates.k8s.io/v1alpha1,componentconfig/v1alpha1,extensions/v1beta1,imagepolicy.k8s.io/v1alpha1,policy/v1beta1,rbac.authorization.k8s.io/v1alpha1,storage.k8s.io/v1beta1,v1")
--target-ram-mb int Memory limit for apiserver in MB (used to configure sizes of caches, etc.)
- --tls-cert-file string File containing x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to /var/run/kubernetes.
- --tls-private-key-file string File containing x509 private key matching --tls-cert-file.
+ --tls-ca-file string If set, this certificate authority will used for secure access from Admission Controllers. This must be a valid PEM-encoded CA bundle.
+ --tls-cert-file string File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to /var/run/kubernetes.
+ --tls-private-key-file string File containing the default x509 private key matching --tls-cert-file.
+ --tls-sni-cert-key namedCertKey A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.key,example.crt" or "*.foo.com,foo.com:foo.key,foo.crt". (default [])
--token-auth-file string If set, the file that will be used to secure the secure port of the API server via token authentication.
--watch-cache Enable watch caching in the apiserver (default true)
- --watch-cache-sizes value List of watch cache sizes for every resource (pods, nodes, etc.), comma separated. The individual override format: resource#size, where size is a number. It takes effect when watch-cache is enabled. (default [])
+ --watch-cache-sizes stringSlice List of watch cache sizes for every resource (pods, nodes, etc.), comma separated. The individual override format: resource#size, where size is a number. It takes effect when watch-cache is enabled.
```
-###### Auto generated by spf13/cobra on 24-Oct-2016
-
-
-
-
+###### Auto generated by spf13/cobra on 13-Dec-2016
diff --git a/docs/admin/kube-controller-manager.md b/docs/admin/kube-controller-manager.md
index c6db5ea858..82dd43cbcd 100644
--- a/docs/admin/kube-controller-manager.md
+++ b/docs/admin/kube-controller-manager.md
@@ -1,4 +1,6 @@
---
+title: kube-controller-manager
+notitle: true
---
## kube-controller-manager
@@ -24,7 +26,7 @@ kube-controller-manager
### Options
```
- --address value The IP address to serve on (set to 0.0.0.0 for all interfaces) (default 0.0.0.0)
+ --address ip The IP address to serve on (set to 0.0.0.0 for all interfaces) (default 0.0.0.0)
--allocate-node-cidrs Should CIDRs for Pods be allocated and set on the cloud provider.
--cloud-config string The path to the cloud provider configuration file. Empty string for no configuration file.
--cloud-provider string The provider for cloud services. Empty string for no provider.
@@ -32,37 +34,39 @@ kube-controller-manager
--cluster-name string The instance prefix for the cluster (default "kubernetes")
--cluster-signing-cert-file string Filename containing a PEM-encoded X509 CA certificate used to issue cluster-scoped certificates (default "/etc/kubernetes/ca/ca.pem")
--cluster-signing-key-file string Filename containing a PEM-encoded RSA or ECDSA private key used to sign cluster-scoped certificates (default "/etc/kubernetes/ca/ca.key")
- --concurrent-deployment-syncs value The number of deployment objects that are allowed to sync concurrently. Larger number = more responsive deployments, but more CPU (and network) load (default 5)
- --concurrent-endpoint-syncs value The number of endpoint syncing operations that will be done concurrently. Larger number = faster endpoint updating, but more CPU (and network) load (default 5)
- --concurrent-gc-syncs value The number of garbage collector workers that are allowed to sync concurrently. (default 20)
- --concurrent-namespace-syncs value The number of namespace objects that are allowed to sync concurrently. Larger number = more responsive namespace termination, but more CPU (and network) load (default 2)
- --concurrent-replicaset-syncs value The number of replica sets that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) load (default 5)
- --concurrent-resource-quota-syncs value The number of resource quotas that are allowed to sync concurrently. Larger number = more responsive quota management, but more CPU (and network) load (default 5)
- --concurrent-service-syncs value The number of services that are allowed to sync concurrently. Larger number = more responsive service management, but more CPU (and network) load (default 1)
- --concurrent-serviceaccount-token-syncs value The number of service account token objects that are allowed to sync concurrently. Larger number = more responsive token generation, but more CPU (and network) load (default 5)
- --concurrent_rc_syncs value The number of replication controllers that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) load (default 5)
+ --concurrent-deployment-syncs int32 The number of deployment objects that are allowed to sync concurrently. Larger number = more responsive deployments, but more CPU (and network) load (default 5)
+ --concurrent-endpoint-syncs int32 The number of endpoint syncing operations that will be done concurrently. Larger number = faster endpoint updating, but more CPU (and network) load (default 5)
+ --concurrent-gc-syncs int32 The number of garbage collector workers that are allowed to sync concurrently. (default 20)
+ --concurrent-namespace-syncs int32 The number of namespace objects that are allowed to sync concurrently. Larger number = more responsive namespace termination, but more CPU (and network) load (default 2)
+ --concurrent-replicaset-syncs int32 The number of replica sets that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) load (default 5)
+ --concurrent-resource-quota-syncs int32 The number of resource quotas that are allowed to sync concurrently. Larger number = more responsive quota management, but more CPU (and network) load (default 5)
+ --concurrent-service-syncs int32 The number of services that are allowed to sync concurrently. Larger number = more responsive service management, but more CPU (and network) load (default 1)
+ --concurrent-serviceaccount-token-syncs int32 The number of service account token objects that are allowed to sync concurrently. Larger number = more responsive token generation, but more CPU (and network) load (default 5)
+ --concurrent_rc_syncs int32 The number of replication controllers that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) load (default 5)
--configure-cloud-routes Should CIDRs allocated by allocate-node-cidrs be configured on the cloud provider. (default true)
- --controller-start-interval duration Interval between starting controller managers. (default 0s)
- --daemonset-lookup-cache-size value The the size of lookup cache for daemonsets. Larger number = more responsive daemonsets, but more MEM load. (default 1024)
+ --controller-start-interval duration Interval between starting controller managers.
+ --daemonset-lookup-cache-size int32 The size of lookup cache for daemonsets. Larger number = more responsive daemonsets, but more MEM load. (default 1024)
--deployment-controller-sync-period duration Period for syncing the deployments. (default 30s)
--enable-dynamic-provisioning Enable dynamic provisioning for environments that support it. (default true)
--enable-garbage-collector Enables the generic garbage collector. MUST be synced with the corresponding flag of the kube-apiserver. (default true)
--enable-hostpath-provisioner Enable HostPath PV provisioning when running without a cloud provider. This allows testing and development of provisioning features. HostPath provisioning is not supported in any way, won't work in a multi-node cluster, and should not be used for anything other than testing or development.
- --feature-gates value A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
+ --feature-gates mapStringBool A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
AllAlpha=true|false (ALPHA - default=false)
-AllowExtTrafficLocalEndpoints=true|false (ALPHA - default=false)
+AllowExtTrafficLocalEndpoints=true|false (BETA - default=true)
AppArmor=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
DynamicVolumeProvisioning=true|false (ALPHA - default=true)
+ExperimentalHostUserNamespaceDefaulting=true|false (ALPHA - default=false)
+StreamingProxyRedirects=true|false (ALPHA - default=false)
--flex-volume-plugin-dir string Full path of the directory in which the flex volume plugin should search for additional third party volume plugins. (default "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/")
--google-json-key string The Google Cloud Platform Service Account JSON Key to use for authentication.
--horizontal-pod-autoscaler-sync-period duration The period for syncing the number of pods in horizontal pod autoscaler. (default 30s)
--insecure-experimental-approve-all-kubelet-csrs-for-group string The group for which the controller-manager will auto approve all CSRs for kubelet client certificates.
- --kube-api-burst value Burst to use while talking with kubernetes apiserver (default 30)
+ --kube-api-burst int32 Burst to use while talking with Kubernetes apiserver (default 30)
--kube-api-content-type string Content type of requests sent to apiserver. (default "application/vnd.kubernetes.protobuf")
- --kube-api-qps value QPS to use while talking with kubernetes apiserver (default 20)
+ --kube-api-qps float32 QPS to use while talking with Kubernetes apiserver (default 20)
--kubeconfig string Path to kubeconfig file with authorization and master location information.
- --large-cluster-size-threshold value Number of nodes from which NodeController treats the cluster as large for the eviction logic purposes. --secondary-node-eviction-rate is implicitly overridden to 0 for clusters this size or smaller. (default 50)
+ --large-cluster-size-threshold int32 Number of nodes from which NodeController treats the cluster as large for the eviction logic purposes. --secondary-node-eviction-rate is implicitly overridden to 0 for clusters this size or smaller. (default 50)
--leader-elect Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability. (default true)
--leader-elect-lease-duration duration The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled. (default 15s)
--leader-elect-renew-deadline duration The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled. (default 10s)
@@ -70,39 +74,36 @@ DynamicVolumeProvisioning=true|false (ALPHA - default=true)
--master string The address of the Kubernetes API server (overrides any value in kubeconfig)
--min-resync-period duration The resync period in reflectors will be random between MinResyncPeriod and 2*MinResyncPeriod (default 12h0m0s)
--namespace-sync-period duration The period for syncing namespace life-cycle updates (default 5m0s)
- --node-cidr-mask-size value Mask size for node cidr in cluster. (default 24)
- --node-eviction-rate value Number of nodes per second on which pods are deleted in case of node failure when a zone is healthy (see --unhealthy-zone-threshold for definition of healthy/unhealthy). Zone refers to entire cluster in non-multizone clusters. (default 0.1)
+ --node-cidr-mask-size int32 Mask size for node cidr in cluster. (default 24)
+ --node-eviction-rate float32 Number of nodes per second on which pods are deleted in case of node failure when a zone is healthy (see --unhealthy-zone-threshold for definition of healthy/unhealthy). Zone refers to entire cluster in non-multizone clusters. (default 0.1)
--node-monitor-grace-period duration Amount of time which we allow running Node to be unresponsive before marking it unhealthy. Must be N times more than kubelet's nodeStatusUpdateFrequency, where N means number of retries allowed for kubelet to post node status. (default 40s)
--node-monitor-period duration The period for syncing NodeStatus in NodeController. (default 5s)
--node-startup-grace-period duration Amount of time which we allow starting Node to be unresponsive before marking it unhealthy. (default 1m0s)
- --node-sync-period duration The period for syncing nodes from cloudprovider. Longer periods will result in fewer calls to cloud provider, but may delay addition of new nodes to cluster. (default 10s)
--pod-eviction-timeout duration The grace period for deleting pods on failed nodes. (default 5m0s)
- --port value The port that the controller-manager's http service runs on (default 10252)
+ --port int32 The port that the controller-manager's http service runs on (default 10252)
--profiling Enable profiling via web interface host:port/debug/pprof/ (default true)
- --pv-recycler-increment-timeout-nfs value the increment of time added per Gi to ActiveDeadlineSeconds for an NFS scrubber pod (default 30)
- --pv-recycler-minimum-timeout-hostpath value The minimum ActiveDeadlineSeconds to use for a HostPath Recycler pod. This is for development and testing only and will not work in a multi-node cluster. (default 60)
- --pv-recycler-minimum-timeout-nfs value The minimum ActiveDeadlineSeconds to use for an NFS Recycler pod (default 300)
+ --pv-recycler-increment-timeout-nfs int32 the increment of time added per Gi to ActiveDeadlineSeconds for an NFS scrubber pod (default 30)
+ --pv-recycler-minimum-timeout-hostpath int32 The minimum ActiveDeadlineSeconds to use for a HostPath Recycler pod. This is for development and testing only and will not work in a multi-node cluster. (default 60)
+ --pv-recycler-minimum-timeout-nfs int32 The minimum ActiveDeadlineSeconds to use for an NFS Recycler pod (default 300)
--pv-recycler-pod-template-filepath-hostpath string The file path to a pod definition used as a template for HostPath persistent volume recycling. This is for development and testing only and will not work in a multi-node cluster.
--pv-recycler-pod-template-filepath-nfs string The file path to a pod definition used as a template for NFS persistent volume recycling
- --pv-recycler-timeout-increment-hostpath value the increment of time added per Gi to ActiveDeadlineSeconds for a HostPath scrubber pod. This is for development and testing only and will not work in a multi-node cluster. (default 30)
+ --pv-recycler-timeout-increment-hostpath int32 the increment of time added per Gi to ActiveDeadlineSeconds for a HostPath scrubber pod. This is for development and testing only and will not work in a multi-node cluster. (default 30)
--pvclaimbinder-sync-period duration The period for syncing persistent volumes and persistent volume claims (default 15s)
- --replicaset-lookup-cache-size value The the size of lookup cache for replicatsets. Larger number = more responsive replica management, but more MEM load. (default 4096)
- --replication-controller-lookup-cache-size value The the size of lookup cache for replication controllers. Larger number = more responsive replica management, but more MEM load. (default 4096)
+ --replicaset-lookup-cache-size int32 The size of lookup cache for replicatsets. Larger number = more responsive replica management, but more MEM load. (default 4096)
+ --replication-controller-lookup-cache-size int32 The size of lookup cache for replication controllers. Larger number = more responsive replica management, but more MEM load. (default 4096)
--resource-quota-sync-period duration The period for syncing quota usage status in the system (default 5m0s)
--root-ca-file string If set, this root certificate authority will be included in service account's token secret. This must be a valid PEM-encoded CA bundle.
- --secondary-node-eviction-rate value Number of nodes per second on which pods are deleted in case of node failure when a zone is unhealthy (see --unhealthy-zone-threshold for definition of healthy/unhealthy). Zone refers to entire cluster in non-multizone clusters. This value is implicitly overridden to 0 if the cluster size is smaller than --large-cluster-size-threshold. (default 0.01)
- --service-account-private-key-file string Filename containing a PEM-encoded private RSA key used to sign service account tokens.
+ --route-reconciliation-period duration The period for reconciling routes created for Nodes by cloud provider. (default 10s)
+ --secondary-node-eviction-rate float32 Number of nodes per second on which pods are deleted in case of node failure when a zone is unhealthy (see --unhealthy-zone-threshold for definition of healthy/unhealthy). Zone refers to entire cluster in non-multizone clusters. This value is implicitly overridden to 0 if the cluster size is smaller than --large-cluster-size-threshold. (default 0.01)
+ --service-account-private-key-file string Filename containing a PEM-encoded private RSA or ECDSA key used to sign service account tokens.
--service-cluster-ip-range string CIDR Range for Services in cluster.
--service-sync-period duration The period for syncing services with their external load balancers (default 5m0s)
- --terminated-pod-gc-threshold value Number of terminated pods that can exist before the terminated pod garbage collector starts deleting terminated pods. If <= 0, the terminated pod garbage collector is disabled. (default 12500)
- --unhealthy-zone-threshold value Fraction of Nodes in a zone which needs to be not Ready (minimum 3) for zone to be treated as unhealthy. (default 0.55)
+ --terminated-pod-gc-threshold int32 Number of terminated pods that can exist before the terminated pod garbage collector starts deleting terminated pods. If <= 0, the terminated pod garbage collector is disabled. (default 12500)
+ --unhealthy-zone-threshold float32 Fraction of Nodes in a zone which needs to be not Ready (minimum 3) for zone to be treated as unhealthy. (default 0.55)
+ --use-service-account-credentials If true, use individual service account credentials for each controller.
```
-###### Auto generated by spf13/cobra on 24-Oct-2016
-
-
-
-
+###### Auto generated by spf13/cobra on 13-Dec-2016
diff --git a/docs/admin/kube-proxy.md b/docs/admin/kube-proxy.md
index 98480612cb..ea13d528e3 100644
--- a/docs/admin/kube-proxy.md
+++ b/docs/admin/kube-proxy.md
@@ -1,4 +1,6 @@
---
+title: kube-proxy
+notitle: true
---
## kube-proxy
@@ -23,42 +25,42 @@ kube-proxy
### Options
```
- --bind-address value The IP address for the proxy server to serve on (set to 0.0.0.0 for all interfaces) (default 0.0.0.0)
+ --bind-address ip The IP address for the proxy server to serve on (set to 0.0.0.0 for all interfaces) (default 0.0.0.0)
--cleanup-iptables If true cleanup iptables rules and exit.
--cluster-cidr string The CIDR range of pods in the cluster. It is used to bridge traffic coming from outside of the cluster. If not provided, no off-cluster bridging will be performed.
--config-sync-period duration How often configuration from the apiserver is refreshed. Must be greater than 0. (default 15m0s)
- --conntrack-max-per-core value Maximum number of NAT connections to track per CPU core (0 to leave the limit as-is and ignore conntrack-min). (default 32768)
- --conntrack-min value Minimum number of conntrack entries to allocate, regardless of conntrack-max-per-core (set conntrack-max-per-core=0 to leave the limit as-is). (default 131072)
+ --conntrack-max-per-core int32 Maximum number of NAT connections to track per CPU core (0 to leave the limit as-is and ignore conntrack-min). (default 32768)
+ --conntrack-min int32 Minimum number of conntrack entries to allocate, regardless of conntrack-max-per-core (set conntrack-max-per-core=0 to leave the limit as-is). (default 131072)
+ --conntrack-tcp-timeout-close-wait duration NAT timeout for TCP connections in the CLOSE_WAIT state (default 1h0m0s)
--conntrack-tcp-timeout-established duration Idle timeout for established TCP connections (0 to leave as-is) (default 24h0m0s)
- --feature-gates value A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
+ --feature-gates mapStringBool A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
AllAlpha=true|false (ALPHA - default=false)
-AllowExtTrafficLocalEndpoints=true|false (ALPHA - default=false)
+AllowExtTrafficLocalEndpoints=true|false (BETA - default=true)
AppArmor=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
DynamicVolumeProvisioning=true|false (ALPHA - default=true)
+ExperimentalHostUserNamespaceDefaulting=true|false (ALPHA - default=false)
+StreamingProxyRedirects=true|false (ALPHA - default=false)
--google-json-key string The Google Cloud Platform Service Account JSON Key to use for authentication.
- --healthz-bind-address value The IP address for the health check server to serve on, defaulting to 127.0.0.1 (set to 0.0.0.0 for all interfaces) (default 127.0.0.1)
- --healthz-port value The port to bind the health check server. Use 0 to disable. (default 10249)
+ --healthz-bind-address ip The IP address for the health check server to serve on, defaulting to 127.0.0.1 (set to 0.0.0.0 for all interfaces) (default 127.0.0.1)
+ --healthz-port int32 The port to bind the health check server. Use 0 to disable. (default 10249)
--hostname-override string If non-empty, will use this string as identification instead of the actual hostname.
- --iptables-masquerade-bit value If using the pure iptables proxy, the bit of the fwmark space to mark packets requiring SNAT with. Must be within the range [0, 31]. (default 14)
- --iptables-sync-period duration How often iptables rules are refreshed (e.g. '5s', '1m', '2h22m'). Must be greater than 0. (default 30s)
- --kube-api-burst value Burst to use while talking with kubernetes apiserver (default 10)
+ --iptables-masquerade-bit int32 If using the pure iptables proxy, the bit of the fwmark space to mark packets requiring SNAT with. Must be within the range [0, 31]. (default 14)
+ --iptables-min-sync-period duration The minimum interval of how often the iptables rules can be refreshed as endpoints and services change (e.g. '5s', '1m', '2h22m').
+ --iptables-sync-period duration The maximum interval of how often iptables rules are refreshed (e.g. '5s', '1m', '2h22m'). Must be greater than 0. (default 30s)
+ --kube-api-burst int32 Burst to use while talking with Kubernetes apiserver (default 10)
--kube-api-content-type string Content type of requests sent to apiserver. (default "application/vnd.kubernetes.protobuf")
- --kube-api-qps value QPS to use while talking with kubernetes apiserver (default 5)
+ --kube-api-qps float32 QPS to use while talking with Kubernetes apiserver (default 5)
--kubeconfig string Path to kubeconfig file with authorization information (the master location is set by the master flag).
--masquerade-all If using the pure iptables proxy, SNAT everything
--master string The address of the Kubernetes API server (overrides any value in kubeconfig)
- --oom-score-adj value The oom-score-adj value for kube-proxy process. Values must be within the range [-1000, 1000] (default -999)
- --proxy-mode value Which proxy mode to use: 'userspace' (older) or 'iptables' (faster). If blank, look at the Node object on the Kubernetes API and respect the 'net.experimental.kubernetes.io/proxy-mode' annotation if provided. Otherwise use the best-available proxy (currently iptables). If the iptables proxy is selected, regardless of how, but the system's kernel or iptables versions are insufficient, this always falls back to the userspace proxy.
- --proxy-port-range value Range of host ports (beginPort-endPort, inclusive) that may be consumed in order to proxy service traffic. If unspecified (0-0) then ports will be randomly chosen.
+ --oom-score-adj int32 The oom-score-adj value for kube-proxy process. Values must be within the range [-1000, 1000] (default -999)
+ --proxy-mode ProxyMode Which proxy mode to use: 'userspace' (older) or 'iptables' (faster). If blank, look at the Node object on the Kubernetes API and respect the 'net.experimental.kubernetes.io/proxy-mode' annotation if provided. Otherwise use the best-available proxy (currently iptables). If the iptables proxy is selected, regardless of how, but the system's kernel or iptables versions are insufficient, this always falls back to the userspace proxy.
+ --proxy-port-range port-range Range of host ports (beginPort-endPort, inclusive) that may be consumed in order to proxy service traffic. If unspecified (0-0) then ports will be randomly chosen.
--udp-timeout duration How long an idle UDP connection will be kept open (e.g. '250ms', '2s'). Must be greater than 0. Only applicable for proxy-mode=userspace (default 250ms)
```
-###### Auto generated by spf13/cobra on 24-Oct-2016
-
-
-
-
+###### Auto generated by spf13/cobra on 13-Dec-2016
diff --git a/docs/admin/kube-scheduler.md b/docs/admin/kube-scheduler.md
index 3316d7e10d..15e47d2f46 100644
--- a/docs/admin/kube-scheduler.md
+++ b/docs/admin/kube-scheduler.md
@@ -1,4 +1,6 @@
---
+title: kube-scheduler
+notitle: true
---
## kube-scheduler
@@ -24,19 +26,21 @@ kube-scheduler
```
--address string The IP address to serve on (set to 0.0.0.0 for all interfaces) (default "0.0.0.0")
- --algorithm-provider string The scheduling algorithm provider to use, one of: DefaultProvider | ClusterAutoscalerProvider (default "DefaultProvider")
+ --algorithm-provider string The scheduling algorithm provider to use, one of: ClusterAutoscalerProvider | DefaultProvider (default "DefaultProvider")
--failure-domains string Indicate the "all topologies" set for an empty topologyKey when it's used for PreferredDuringScheduling pod anti-affinity. (default "kubernetes.io/hostname,failure-domain.beta.kubernetes.io/zone,failure-domain.beta.kubernetes.io/region")
- --feature-gates value A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
+ --feature-gates mapStringBool A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
AllAlpha=true|false (ALPHA - default=false)
-AllowExtTrafficLocalEndpoints=true|false (ALPHA - default=false)
+AllowExtTrafficLocalEndpoints=true|false (BETA - default=true)
AppArmor=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
DynamicVolumeProvisioning=true|false (ALPHA - default=true)
+ExperimentalHostUserNamespaceDefaulting=true|false (ALPHA - default=false)
+StreamingProxyRedirects=true|false (ALPHA - default=false)
--google-json-key string The Google Cloud Platform Service Account JSON Key to use for authentication.
--hard-pod-affinity-symmetric-weight int RequiredDuringScheduling affinity is not symmetric, but there is an implicit PreferredDuringScheduling affinity rule corresponding to every RequiredDuringScheduling affinity rule. --hard-pod-affinity-symmetric-weight represents the weight of implicit PreferredDuringScheduling affinity rule. (default 1)
- --kube-api-burst value Burst to use while talking with kubernetes apiserver (default 100)
+ --kube-api-burst int32 Burst to use while talking with Kubernetes apiserver (default 100)
--kube-api-content-type string Content type of requests sent to apiserver. (default "application/vnd.kubernetes.protobuf")
- --kube-api-qps value QPS to use while talking with kubernetes apiserver (default 50)
+ --kube-api-qps float32 QPS to use while talking with Kubernetes apiserver (default 50)
--kubeconfig string Path to kubeconfig file with authorization and master location information.
--leader-elect Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability. (default true)
--leader-elect-lease-duration duration The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled. (default 15s)
@@ -44,16 +48,12 @@ DynamicVolumeProvisioning=true|false (ALPHA - default=true)
--leader-elect-retry-period duration The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled. (default 2s)
--master string The address of the Kubernetes API server (overrides any value in kubeconfig)
--policy-config-file string File with scheduler policy configuration
- --port value The port that the scheduler's http service runs on (default 10251)
+ --port int32 The port that the scheduler's http service runs on (default 10251)
--profiling Enable profiling via web interface host:port/debug/pprof/ (default true)
--scheduler-name string Name of the scheduler, used to select which pods will be processed by this scheduler, based on pod's annotation with key 'scheduler.alpha.kubernetes.io/name' (default "default-scheduler")
```
-###### Auto generated by spf13/cobra on 24-Oct-2016
-
-
-
-
+###### Auto generated by spf13/cobra on 13-Dec-2016
diff --git a/docs/admin/kubeadm.md b/docs/admin/kubeadm.md
index e1c8537149..1014ee1ab6 100644
--- a/docs/admin/kubeadm.md
+++ b/docs/admin/kubeadm.md
@@ -4,10 +4,9 @@ assignees:
- luxas
- errordeveloper
- jbeda
-
+title: kubeadm reference
---
-
This document provides information on how to use kubeadm's advanced options.
Running `kubeadm init` bootstraps a Kubernetes cluster. This consists of the
@@ -82,9 +81,12 @@ of the box. You can specify a cloud provider using `--cloud-provider`.
Valid values are the ones supported by `controller-manager`, namely `"aws"`,
`"azure"`, `"cloudstack"`, `"gce"`, `"mesos"`, `"openstack"`, `"ovirt"`,
`"rackspace"`, `"vsphere"`. In order to provide additional configuration for
-the cloud provider, you should create a `/etc/kubernetes/cloud-config.json`
+the cloud provider, you should create a `/etc/kubernetes/cloud-config`
file manually, before running `kubeadm init`. `kubeadm` automatically
picks those settings up and ensures other nodes are configured correctly.
+The exact format and content of the file `/etc/kubernetes/cloud-config` depends
+on the type you specified for `--cloud-provider`; see the appropriate documentation
+for your cloud provider for details.
You must also set the `--cloud-provider` and `--cloud-config` parameters
yourself by editing the `/etc/systemd/system/kubelet.service.d/10-kubeadm.conf`
file appropriately.
@@ -141,10 +143,10 @@ By default, `kubeadm init` automatically generates the token used to initialise
each new node. If you would like to manually specify this token, you can use the
`--token` flag. The token must be of the format `<6 character string>.<16 character string>`.
-- `--use-kubernetes-version` (default 'v1.4.4') the kubernetes version to initialise
+- `--use-kubernetes-version` (default 'v1.5.1') the kubernetes version to initialise
`kubeadm` was originally built for Kubernetes version **v1.4.0**, older versions are not
-supported. With this flag you can try any future version, e.g. **v1.5.0-beta.1**
+supported. With this flag you can try any future version, e.g. **v1.6.0-beta.1**
whenever it comes out (check [releases page](https://github.com/kubernetes/kubernetes/releases)
for a full list of available versions).
@@ -168,6 +170,59 @@ necessary.
By default, when `kubeadm init` runs, a token is generated and revealed in the output.
That's the token you should use here.
+
+## Using kubeadm with a configuration file
+
+WARNING: kubeadm is in alpha and the configuration API syntax will likely change before GA.
+
+It's possible to configure kubeadm with a configuration file instead of command line flags, and some more advanced features may only be
+available as configuration file options.
+
+### Sample Master Configuration
+
+ ```yaml
+ apiVersion: kubeadm.k8s.io/v1alpha1
+ kind: MasterConfiguration
+ api:
+ advertiseAddresses:
+ -
+ -
+ bindPort:
+ externalDNSNames:
+ -
+ -
+ cloudProvider:
+ discovery:
+ bindPort:
+ etcd:
+ endpoints:
+ -
+ -
+ caFile:
+ certFile:
+ keyFile:
+ kubernetesVersion:
+ networking:
+ dnsDomain:
+ serviceSubnet:
+ podSubnet:
+ secrets:
+ givenToken:
+ ```
+
+### Sample Node Configuration
+
+ ```yaml
+ apiVersion: kubeadm.k8s.io/v1alpha1
+ kind: NodeConfiguration
+ apiPort:
+ discoveryPort:
+ masterAddresses:
+ -
+ secrets:
+ givenToken:
+ ```
+
## Automating kubeadm
Rather than copying the token you obtained from `kubeadm init` to each node, as
@@ -175,13 +230,12 @@ in the basic `kubeadm` tutorials, you can parallelize the token distribution for
easier automation. To implement this automation, you must know the IP address
that the master will have after it is started.
-1. Generate a token. This token must have the form `<6 character string>.<16
-character string>`
+1. Generate a token. This token must have the form `<6 character string>.<16 character string>`.
- Here is a simple python one-liner for this:
+ Kubeadm can pre-generate a token for you:
- ```
- python -c 'import random; print "%0x.%0x" % (random.SystemRandom().getrandbits(3*8), random.SystemRandom().getrandbits(8*8))'
+ ```console
+ $ kubeadm token generate
```
1. Start both the master node and the worker nodes concurrently with this token. As they come up they should find each other and form the cluster.
@@ -191,6 +245,7 @@ Once the cluster is up, you can grab the admin credentials from the master node
## Environment variables
There are some environment variables that modify the way that `kubeadm` works. Most users will have no need to set these.
+These environment variables are a short-term solution, eventually they will be integrated in the kubeadm configuration file.
| Variable | Default | Description |
| --- | --- | --- |
@@ -200,36 +255,10 @@ There are some environment variables that modify the way that `kubeadm` works.
| `KUBE_HYPERKUBE_IMAGE` | `` | If set, use a single hyperkube image with this name. If not set, individual images per server component will be used. |
| `KUBE_DISCOVERY_IMAGE` | `gcr.io/google_containers/kube-discovery-:1.0` | The bootstrap discovery helper image to use. |
| `KUBE_ETCD_IMAGE` | `gcr.io/google_containers/etcd-:2.2.5` | The etcd container image to use. |
-| `KUBE_COMPONENT_LOGLEVEL` | `--v=4` | Logging configuration for all Kubernetes components |
-
+| `KUBE_REPO_PREFIX` | `gcr.io/google_containers` | The image prefix for all images that are used. |
## Releases and release notes
If you already have kubeadm installed and want to upgrade, run `apt-get update && apt-get upgrade` or `yum update` to get the latest version of kubeadm.
- - Second release between v1.4 and v1.5: `v1.5.0-alpha.2.421+a6bea3d79b8bba`
- - Switch to the 10.96.0.0/12 subnet: [#35290](https://github.com/kubernetes/kubernetes/pull/35290)
- - Fix kubeadm on AWS by including /etc/ssl/certs in the controller-manager [#33681](https://github.com/kubernetes/kubernetes/pull/33681)
- - The API was refactored and is now componentconfig: [#33728](https://github.com/kubernetes/kubernetes/pull/33728), [#34147](https://github.com/kubernetes/kubernetes/pull/34147) and [#34555](https://github.com/kubernetes/kubernetes/pull/34555)
- - Allow kubeadm to get config options from a file: [#34501](https://github.com/kubernetes/kubernetes/pull/34501), [#34885](https://github.com/kubernetes/kubernetes/pull/34885) and [#34891](https://github.com/kubernetes/kubernetes/pull/34891)
- - Implement preflight checks: [#34341](https://github.com/kubernetes/kubernetes/pull/34341) and [#35843](https://github.com/kubernetes/kubernetes/pull/35843)
- - Using kubernetes v1.4.4 by default: [#34419](https://github.com/kubernetes/kubernetes/pull/34419) and [#35270](https://github.com/kubernetes/kubernetes/pull/35270)
- - Make api and discovery ports configurable and default to 6443: [#34719](https://github.com/kubernetes/kubernetes/pull/34719)
- - Implement kubeadm reset: [#34807](https://github.com/kubernetes/kubernetes/pull/34807)
- - Make kubeadm poll/wait for endpoints instead of directly fail when the master isn't available [#34703](https://github.com/kubernetes/kubernetes/pull/34703) and [#34718](https://github.com/kubernetes/kubernetes/pull/34718)
- - Allow empty directories in the directory preflight check: [#35632](https://github.com/kubernetes/kubernetes/pull/35632)
- - Started adding unit tests: [#35231](https://github.com/kubernetes/kubernetes/pull/35231), [#35326](https://github.com/kubernetes/kubernetes/pull/35326) and [#35332](https://github.com/kubernetes/kubernetes/pull/35332)
- - Various enhancements: [#35075](https://github.com/kubernetes/kubernetes/pull/35075), [#35111](https://github.com/kubernetes/kubernetes/pull/35111), [#35119](https://github.com/kubernetes/kubernetes/pull/35119), [#35124](https://github.com/kubernetes/kubernetes/pull/35124), [#35265](https://github.com/kubernetes/kubernetes/pull/35265) and [#35777](https://github.com/kubernetes/kubernetes/pull/35777)
- - Bug fixes: [#34352](https://github.com/kubernetes/kubernetes/pull/34352), [#34558](https://github.com/kubernetes/kubernetes/pull/34558), [#34573](https://github.com/kubernetes/kubernetes/pull/34573), [#34834](https://github.com/kubernetes/kubernetes/pull/34834), [#34607](https://github.com/kubernetes/kubernetes/pull/34607), [#34907](https://github.com/kubernetes/kubernetes/pull/34907) and [#35796](https://github.com/kubernetes/kubernetes/pull/35796)
- - Initial v1.4 release: `v1.5.0-alpha.0.1534+cf7301f16c0363`
-
-
-## Troubleshooting
-
-* Some users on RHEL/CentOS 7 have reported issues with traffic being routed incorrectly due to iptables being bypassed. You should ensure `net.bridge.bridge-nf-call-iptables` is set to 1 in your sysctl config, eg.
-
-```
-# cat /etc/sysctl.d/k8s.conf
-net.bridge.bridge-nf-call-ip6tables = 1
-net.bridge.bridge-nf-call-iptables = 1
-```
+Refer to the [CHANGELOG.md](https://github.com/kubernetes/kubeadm/blob/master/CHANGELOG.md) for more information.
diff --git a/docs/admin/kubelet-authentication-authorization.md b/docs/admin/kubelet-authentication-authorization.md
new file mode 100644
index 0000000000..aa8abf85df
--- /dev/null
+++ b/docs/admin/kubelet-authentication-authorization.md
@@ -0,0 +1,87 @@
+---
+assignees:
+- liggitt
+title: Kubelet authentication/authorization
+---
+
+* TOC
+{:toc}
+
+## Overview
+
+A kubelet's HTTPS endpoint exposes APIs which give access to data of varying sensitivity,
+and allow you to perform operations with varying levels of power on the node and within containers.
+
+This document describes how to authenticate and authorize access to the kubelet's HTTPS endpoint.
+
+## Kubelet authentication
+
+By default, requests to the kubelet's HTTPS endpoint that are not rejected by other configured
+authentication methods are treated as anonymous requests, and given a username of `system:anonymous`
+and a group of `system:unauthenticated`.
+
+To disable anonymous access and send `401 Unauthorized` responses to unauthenticated requests:
+
+* start the kubelet with the `--anonymous-auth=false` flag
+
+To enable X509 client certificate authentication to the kubelet's HTTPS endpoint:
+
+* start the kubelet with the `--client-ca-file` flag, providing a CA bundle to verify client certificates with
+* start the apiserver with `--kubelet-client-certificate` and `--kubelet-client-key` flags
+* see the [apiserver authentication documentation](/docs/admin/authentication/#x509-client-certs) for more details
+
+To enable API bearer tokens (including service account tokens) to be used to authenticate to the kubelet's HTTPS endpoint:
+
+* ensure the `authentication.k8s.io/v1beta1` API group is enabled in the API server
+* start the kubelet with the `--authentication-token-webhook`, `--kubeconfig`, and `--require-kubeconfig` flags
+* the kubelet calls the `TokenReview` API on the configured API server to determine user information from bearer tokens
+
+## Kubelet authorization
+
+Any request that is successfully authenticated (including an anonymous request) is then authorized. The default authorization mode is `AlwaysAllow`, which allows all requests.
+
+There are many possible reasons to subdivide access to the kubelet API:
+
+* anonymous auth is enabled, but anonymous users' ability to call the kubelet API should be limited
+* bearer token auth is enabled, but arbitrary API users' (like service accounts) ability to call the kubelet API should be limited
+* client certificate auth is enabled, but only some of the client certificates signed by the configured CA should be allowed to use the kubelet API
+
+To subdivide access to the kubelet API, delegate authorization to the API server:
+
+* ensure the `authorization.k8s.io/v1beta1` API group is enabled in the API server
+* start the kubelet with the `--authorization-mode=Webhook`, `--kubeconfig`, and `--require-kubeconfig` flags
+* the kubelet calls the `SubjectAccessReview` API on the configured API server to determine whether each request is authorized
+
+The kubelet authorizes API requests using the same [request attributes](/docs/admin/authorization/#request-attributes) approach as the apiserver.
+
+The verb is determined from the incoming request's HTTP verb:
+
+HTTP verb | request verb
+----------|---------------
+POST | create
+GET, HEAD | get
+PUT | update
+PATCH | patch
+DELETE | delete
+
+The resource and subresource is determined from the incoming request's path:
+
+Kubelet API | resource | subresource
+-------------|----------|------------
+/stats/\* | nodes | stats
+/metrics/\* | nodes | metrics
+/logs/\* | nodes | log
+/spec/\* | nodes | spec
+*all others* | nodes | proxy
+
+The namespace and API group attributes are always an empty string, and
+the resource name is always the name of the kubelet's `Node` API object.
+
+When running in this mode, ensure the user identified by the `--kubelet-client-certificate` and `--kubelet-client-key`
+flags passed to the apiserver is authorized for the following attributes:
+
+* verb=\*, resource=nodes, subresource=proxy
+* verb=\*, resource=nodes, subresource=stats
+* verb=\*, resource=nodes, subresource=log
+* verb=\*, resource=nodes, subresource=spec
+* verb=\*, resource=nodes, subresource=metrics
diff --git a/docs/admin/kubelet-tls-bootstrapping.md b/docs/admin/kubelet-tls-bootstrapping.md
new file mode 100644
index 0000000000..0dfc4bbf55
--- /dev/null
+++ b/docs/admin/kubelet-tls-bootstrapping.md
@@ -0,0 +1,96 @@
+---
+assignees:
+- mikedanese
+title: TLS bootstrapping
+---
+
+* TOC
+{:toc}
+
+## Overview
+
+This document describes how to set up TLS client certificate bootstrapping for kubelets.
+Kubernetes 1.4 introduces an experimental API for requesting certificates from a cluster-level
+Certificate Authority (CA). The first supported use of this API is the provisioning of TLS client
+certificates for kubelets. The proposal can be found [here](https://github.com/kubernetes/kubernetes/pull/20439)
+and progress on the feature is being tracked as [feature #43](https://github.com/kubernetes/features/issues/43).
+
+## apiserver configuration
+
+You must provide a token file which specifies at least one "bootstrap token" assigned to a kubelet bootstrap-specific group.
+This group will later be used in the controller-manager configuration to scope approvals in the default approval
+controller. As this feature matures, you should ensure tokens are bound to an RBAC policy which limits requests
+using the bootstrap token to only be able to make requests related to certificate provisioning. When RBAC policy
+is in place, scoping the tokens to a group will allow great flexibility (e.g. you could disable a particular
+bootstrap group's access when you are done provisioning the nodes).
+
+### Token auth file
+Tokens are arbitrary but should represent at least 128 bits of entropy derived from a secure random number
+generator (such as /dev/urandom on most modern systems). There are multiple ways you can generate a token. For example:
+
+`head -c 16 /dev/urandom | od -An -t x | tr -d ' '`
+
+will generate tokens that look like `02b50b05283e98dd0fd71db496ef01e8`
+
+The token file will look like the following example, where the first three values can be anything and the quoted group
+name should be as depicted:
+
+```
+02b50b05283e98dd0fd71db496ef01e8,kubelet-bootstrap,10001,"system:kubelet-bootstrap"
+```
+
+Add the `--token-auth-file=FILENAME` flag to the apiserver command to enable the token file.
+See docs at http://kubernetes.io/docs/admin/authentication/#static-token-file for further details.
+
+### Client certificate CA bundle
+
+Add the `--client-ca-file=FILENAME` flag to the apiserver command to enable client certificate authentication,
+referencing a certificate authority bundle containing the signing certificate.
+
+## controller-manager configuration
+The API for requesting certificates adds a certificate-issuing control loop to the KCM. This takes the form of a
+[cfssl](https://blog.cloudflare.com/introducing-cfssl/) local signer using assets on disk.
+Currently, all certificates issued have one year validity and a default set of key usages.
+
+### Signing assets
+You must provide a Certificate Authority in order to provide the cryptographic materials necessary to issue certificates.
+This CA should be trusted by the apiserver for authentication with the `--client-ca-file=SOMEFILE` flag. The management
+of the CA is beyond the scope of this document but it is recommended that you generate a dedicated CA for Kubernetes.
+Both certificate and key are assumed to be PEM-encoded.
+
+The new controller-manager flags are:
+```
+--cluster-signing-cert-file="/etc/path/to/kubernetes/ca/ca.crt" --cluster-signing-key-file="/etc/path/to/kubernetes/ca/ca.key"
+```
+
+### Auto-approval
+To ease deployment and testing, the alpha version of the certificate request API includes a flag to approve all certificate
+requests made by users in a certain group. The intended use of this is to whitelist only the group corresponding to the bootstrap
+token in the token file above. Use of this flag circumvents makes the "approval" process described below and is not recommended
+for production use.
+
+The flag is:
+```
+--insecure-experimental-approve-all-kubelet-csrs-for-group="system:kubelet-bootstrap"
+```
+
+## kubelet configuration
+To use request a client cert from the certificate request API, the kubelet needs a path to a kubeconfig file that contains the
+bootstrap auth token. If the file specified by `--kubeconfig` does not exist, the bootstrap kubeconfig is used to request a
+client certificate from the API server. On success, a kubeconfig file referencing the generated key and obtained certificate
+is written to the path specified by `--kubeconfig`. The certificate and key file will be stored in the directory pointed
+by `--cert-dir`. The new flag is:
+
+```
+--experimental-bootstrap-kubeconfig="/path/to/bootstrap/kubeconfig"
+```
+
+## kubectl approval
+The signing controller does not immediately sign all certificate requests. Instead, it waits until they have been flagged with an
+"Approved" status by an appropriately-privileged user. This is intended to eventually be an automated process handled by an external
+approval controller, but for the alpha version of the API it can be done manually by a cluster administrator using kubectl.
+An administrator can list CSRs with `kubectl get csr`, describe one in detail with `kubectl describe `. There are
+[currently no direct approve/deny commands](https://github.com/kubernetes/kubernetes/issues/30163) so an approver will need to update
+the Status field directly. A rough example of how to do this in bash which should only be used until the porcelain merges is available
+at [https://github.com/gtank/csrctl](https://github.com/gtank/csrctl).
+
diff --git a/docs/admin/kubelet.md b/docs/admin/kubelet.md
index 88842eab14..258db1e3aa 100644
--- a/docs/admin/kubelet.md
+++ b/docs/admin/kubelet.md
@@ -1,4 +1,6 @@
---
+title: Overview
+notitle: true
---
## kubelet
@@ -15,7 +17,7 @@ various mechanisms (primarily through the apiserver) and ensures that the contai
described in those PodSpecs are running and healthy. The kubelet doesn't manage
containers which were not created by Kubernetes.
-Other than from an PodSpec from the apiserver, there are three ways that a container
+Other than from a PodSpec from the apiserver, there are three ways that a container
manifest can be provided to the Kubelet.
File: Path passed as a flag on the command line. This file is rechecked every 20
@@ -34,123 +36,134 @@ kubelet
### Options
```
- --address value The IP address for the Kubelet to serve on (set to 0.0.0.0 for all interfaces) (default 0.0.0.0)
- --allow-privileged If true, allow containers to request privileged mode. [default=false]
- --cadvisor-port value The port of the localhost cAdvisor endpoint (default 4194)
- --cert-dir string The directory where the TLS certs are located (by default /var/run/kubernetes). If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored. (default "/var/run/kubernetes")
- --cgroup-root string Optional root cgroup to use for pods. This is handled by the container runtime on a best effort basis. Default: '', which means use the container runtime default.
- --chaos-chance float If > 0.0, introduce random client errors and latency. Intended for testing. [default=0.0]
- --cloud-config string The path to the cloud provider configuration file. Empty string for no configuration file.
- --cloud-provider string The provider for cloud services. By default, kubelet will attempt to auto-detect the cloud provider. Specify empty string for running with no cloud provider. [default=auto-detect] (default "auto-detect")
- --cluster-dns string IP address for a cluster DNS server. This value is used for containers' DNS server in case of Pods with "dnsPolicy=ClusterFirst"
- --cluster-domain string Domain for this cluster. If set, kubelet will configure all containers to search this domain in addition to the host's search domains
- --cni-bin-dir string The full path of the directory in which to search for CNI plugin binaries. Default: /opt/cni/bin
- --cni-conf-dir string The full path of the directory in which to search for CNI config files. Default: /etc/cni/net.d
- --container-runtime string The container runtime to use. Possible values: 'docker', 'rkt'. Default: 'docker'. (default "docker")
- --container-runtime-endpoint string The unix socket endpoint of remote runtime service. If not empty, this option will override --container-runtime. This is an experimental feature. Intended for testing only.
- --containerized Experimental support for running kubelet in a container. Intended for testing. [default=false]
- --cpu-cfs-quota Enable CPU CFS quota enforcement for containers that specify CPU limits (default true)
- --docker-endpoint string Use this for the docker endpoint to communicate with (default "unix:///var/run/docker.sock")
- --docker-exec-handler string Handler to use when executing a command in a container. Valid values are 'native' and 'nsenter'. Defaults to 'native'. (default "native")
- --enable-controller-attach-detach Enables the Attach/Detach controller to manage attachment/detachment of volumes scheduled to this node, and disables kubelet from executing any attach/detach operations (default true)
- --enable-custom-metrics Support for gathering custom metrics.
- --enable-debugging-handlers Enables server endpoints for log collection and local running of containers and commands (default true)
- --enable-server Enable the Kubelet's server (default true)
- --event-burst value Maximum size of a bursty event records, temporarily allows event records to burst to this number, while still not exceeding event-qps. Only used if --event-qps > 0 (default 10)
- --event-qps value If > 0, limit event creations per second to this value. If 0, unlimited. (default 5)
- --eviction-hard string A set of eviction thresholds (e.g. memory.available<1Gi) that if met would trigger a pod eviction. (default "memory.available<100Mi")
- --eviction-max-pod-grace-period value Maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met. If negative, defer to pod specified value.
- --eviction-minimum-reclaim string A set of minimum reclaims (e.g. imagefs.available=2Gi) that describes the minimum amount of resource the kubelet will reclaim when performing a pod eviction if that resource is under pressure.
- --eviction-pressure-transition-period duration Duration for which the kubelet has to wait before transitioning out of an eviction pressure condition. (default 5m0s)
- --eviction-soft string A set of eviction thresholds (e.g. memory.available<1.5Gi) that if met over a corresponding grace period would trigger a pod eviction.
- --eviction-soft-grace-period string A set of eviction grace periods (e.g. memory.available=1m30s) that correspond to how long a soft eviction threshold must hold before triggering a pod eviction.
- --exit-on-lock-contention Whether kubelet should exit upon lock-file contention.
- --experimental-allowed-unsafe-sysctls value Comma-separated whitelist of unsafe sysctls or unsafe sysctl patterns (ending in *). Use these at your own risk. (default [])
- --experimental-bootstrap-kubeconfig string Path to a kubeconfig file that will be used to get client certificate for kubelet. If the file specified by --kubeconfig does not exist, the bootstrap kubeconfig is used to request a client certificate from the API server. On success, a kubeconfig file referencing the generated key and obtained certificate is written to the path specified by --kubeconfig. The certificate and key file will be stored in the directory pointed by --cert-dir.
- --experimental-nvidia-gpus value Number of NVIDIA GPU devices on this node. Only 0 (default) and 1 are currently supported.
- --feature-gates value A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
+ --address ip The IP address for the Kubelet to serve on (set to 0.0.0.0 for all interfaces) (default 0.0.0.0)
+ --allow-privileged If true, allow containers to request privileged mode. [default=false]
+ --anonymous-auth Enables anonymous requests to the Kubelet server. Requests that are not rejected by another authentication method are treated as anonymous requests. Anonymous requests have a username of system:anonymous, and a group name of system:unauthenticated. (default true)
+ --authentication-token-webhook Use the TokenReview API to determine authentication for bearer tokens.
+ --authentication-token-webhook-cache-ttl duration The duration to cache responses from the webhook token authenticator. (default 2m0s)
+ --authorization-mode string Authorization mode for Kubelet server. Valid options are AlwaysAllow or Webhook. Webhook mode uses the SubjectAccessReview API to determine authorization. (default "AlwaysAllow")
+ --authorization-webhook-cache-authorized-ttl duration The duration to cache 'authorized' responses from the webhook authorizer. (default 5m0s)
+ --authorization-webhook-cache-unauthorized-ttl duration The duration to cache 'unauthorized' responses from the webhook authorizer. (default 30s)
+ --cadvisor-port int32 The port of the localhost cAdvisor endpoint (default 4194)
+ --cert-dir string The directory where the TLS certs are located (by default /var/run/kubernetes). If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored. (default "/var/run/kubernetes")
+ --cgroup-driver string Driver that the kubelet uses to manipulate cgroups on the host. Possible values: 'cgroupfs', 'systemd' (default "cgroupfs")
+ --cgroup-root string Optional root cgroup to use for pods. This is handled by the container runtime on a best effort basis. Default: '', which means use the container runtime default.
+ --chaos-chance float If > 0.0, introduce random client errors and latency. Intended for testing. [default=0.0]
+ --client-ca-file string If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.
+ --cloud-config string The path to the cloud provider configuration file. Empty string for no configuration file.
+ --cloud-provider string The provider for cloud services. By default, kubelet will attempt to auto-detect the cloud provider. Specify empty string for running with no cloud provider. [default=auto-detect] (default "auto-detect")
+ --cluster-dns string IP address for a cluster DNS server. This value is used for containers' DNS server in case of Pods with "dnsPolicy=ClusterFirst"
+ --cluster-domain string Domain for this cluster. If set, kubelet will configure all containers to search this domain in addition to the host's search domains
+ --cni-bin-dir string The full path of the directory in which to search for CNI plugin binaries. Default: /opt/cni/bin
+ --cni-conf-dir string The full path of the directory in which to search for CNI config files. Default: /etc/cni/net.d
+ --container-runtime string The container runtime to use. Possible values: 'docker', 'rkt'. Default: 'docker'. (default "docker")
+ --container-runtime-endpoint string [Experimental] The unix socket endpoint of remote runtime service. The endpoint is used only when CRI integration is enabled (--experimental-cri)
+ --containerized Experimental support for running kubelet in a container. Intended for testing. [default=false]
+ --cpu-cfs-quota Enable CPU CFS quota enforcement for containers that specify CPU limits (default true)
+ --docker-endpoint string Use this for the docker endpoint to communicate with (default "unix:///var/run/docker.sock")
+ --docker-exec-handler string Handler to use when executing a command in a container. Valid values are 'native' and 'nsenter'. Defaults to 'native'. (default "native")
+ --enable-controller-attach-detach Enables the Attach/Detach controller to manage attachment/detachment of volumes scheduled to this node, and disables kubelet from executing any attach/detach operations (default true)
+ --enable-custom-metrics Support for gathering custom metrics.
+ --enable-debugging-handlers Enables server endpoints for log collection and local running of containers and commands (default true)
+ --enable-server Enable the Kubelet's server (default true)
+ --event-burst int32 Maximum size of a bursty event records, temporarily allows event records to burst to this number, while still not exceeding event-qps. Only used if --event-qps > 0 (default 10)
+ --event-qps int32 If > 0, limit event creations per second to this value. If 0, unlimited. (default 5)
+ --eviction-hard string A set of eviction thresholds (e.g. memory.available<1Gi) that if met would trigger a pod eviction. (default "memory.available<100Mi")
+ --eviction-max-pod-grace-period int32 Maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met. If negative, defer to pod specified value.
+ --eviction-minimum-reclaim string A set of minimum reclaims (e.g. imagefs.available=2Gi) that describes the minimum amount of resource the kubelet will reclaim when performing a pod eviction if that resource is under pressure.
+ --eviction-pressure-transition-period duration Duration for which the kubelet has to wait before transitioning out of an eviction pressure condition. (default 5m0s)
+ --eviction-soft string A set of eviction thresholds (e.g. memory.available<1.5Gi) that if met over a corresponding grace period would trigger a pod eviction.
+ --eviction-soft-grace-period string A set of eviction grace periods (e.g. memory.available=1m30s) that correspond to how long a soft eviction threshold must hold before triggering a pod eviction.
+ --exit-on-lock-contention Whether kubelet should exit upon lock-file contention.
+ --experimental-allowed-unsafe-sysctls stringSlice Comma-separated whitelist of unsafe sysctls or unsafe sysctl patterns (ending in *). Use these at your own risk.
+ --experimental-bootstrap-kubeconfig string Path to a kubeconfig file that will be used to get client certificate for kubelet. If the file specified by --kubeconfig does not exist, the bootstrap kubeconfig is used to request a client certificate from the API server. On success, a kubeconfig file referencing the generated key and obtained certificate is written to the path specified by --kubeconfig. The certificate and key file will be stored in the directory pointed by --cert-dir.
+ --experimental-cgroups-per-qos Enable creation of QoS cgroup hierarchy, if true top level QoS and pod cgroups are created.
+ --experimental-check-node-capabilities-before-mount [Experimental] if set true, the kubelet will check the underlying node for required components (binaries, etc.) before performing the mount
+ --experimental-cri [Experimental] Enable the Container Runtime Interface (CRI) integration. If --container-runtime is set to "remote", Kubelet will communicate with the runtime/image CRI server listening on the endpoint specified by --remote-runtime-endpoint/--remote-image-endpoint. If --container-runtime is set to "docker", Kubelet will launch a in-process CRI server on behalf of docker, and communicate over a default endpoint.
+ --experimental-fail-swap-on Makes the Kubelet fail to start if swap is enabled on the node. This is a temporary option to maintain legacy behavior, failing due to swap enabled will happen by default in v1.6.
+ --experimental-kernel-memcg-notification If enabled, the kubelet will integrate with the kernel memcg notification to determine if memory eviction thresholds are crossed rather than polling.
+ --experimental-mounter-path string [Experimental] Path of mounter binary. Leave empty to use the default mount.
+ --experimental-nvidia-gpus int32 Number of NVIDIA GPU devices on this node. Only 0 (default) and 1 are currently supported.
+ --feature-gates string A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
AllAlpha=true|false (ALPHA - default=false)
-AllowExtTrafficLocalEndpoints=true|false (ALPHA - default=false)
+AllowExtTrafficLocalEndpoints=true|false (BETA - default=true)
AppArmor=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
DynamicVolumeProvisioning=true|false (ALPHA - default=true)
- --file-check-frequency duration Duration between checking config files for new data (default 20s)
- --google-json-key string The Google Cloud Platform Service Account JSON Key to use for authentication.
- --hairpin-mode string How should the kubelet setup hairpin NAT. This allows endpoints of a Service to loadbalance back to themselves if they should try to access their own Service. Valid values are "promiscuous-bridge", "hairpin-veth" and "none". (default "promiscuous-bridge")
- --healthz-bind-address value The IP address for the healthz server to serve on, defaulting to 127.0.0.1 (set to 0.0.0.0 for all interfaces) (default 127.0.0.1)
- --healthz-port value The port of the localhost healthz endpoint (default 10248)
- --host-ipc-sources value Comma-separated list of sources from which the Kubelet allows pods to use the host ipc namespace. [default="*"] (default [*])
- --host-network-sources value Comma-separated list of sources from which the Kubelet allows pods to use of host network. [default="*"] (default [*])
- --host-pid-sources value Comma-separated list of sources from which the Kubelet allows pods to use the host pid namespace. [default="*"] (default [*])
- --hostname-override string If non-empty, will use this string as identification instead of the actual hostname.
- --http-check-frequency duration Duration between checking http for new data (default 20s)
- --image-gc-high-threshold value The percent of disk usage after which image garbage collection is always run. Default: 90% (default 90)
- --image-gc-low-threshold value The percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to. Default: 80% (default 80)
- --image-service-endpoint string The unix socket endpoint of remote image service. If not specified, it will be the same with container-runtime-endpoint by default. This is an experimental feature. Intended for testing only.
- --iptables-drop-bit value The bit of the fwmark space to mark packets for dropping. Must be within the range [0, 31]. (default 15)
- --iptables-masquerade-bit value The bit of the fwmark space to mark packets for SNAT. Must be within the range [0, 31]. Please match this parameter with corresponding parameter in kube-proxy. (default 14)
- --kube-api-burst value Burst to use while talking with kubernetes apiserver (default 10)
- --kube-api-content-type string Content type of requests sent to apiserver. (default "application/vnd.kubernetes.protobuf")
- --kube-api-qps value QPS to use while talking with kubernetes apiserver (default 5)
- --kube-reserved value A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for kubernetes system components. Currently only cpu and memory are supported. See http://releases.k8s.io/release-1.4/docs/user-guide/compute-resources.md for more detail. [default=none]
- --kubeconfig value Path to a kubeconfig file, specifying how to connect to the API server. --api-servers will be used for the location unless --require-kubeconfig is set. (default "/var/lib/kubelet/kubeconfig")
- --kubelet-cgroups string Optional absolute name of cgroups to create and run the Kubelet in.
- --lock-file string The path to file for kubelet to use as a lock file.
- --low-diskspace-threshold-mb value The absolute free disk space, in MB, to maintain. When disk space falls below this threshold, new pods would be rejected. Default: 256 (default 256)
- --make-iptables-util-chains If true, kubelet will ensure iptables utility rules are present on host. (default true)
- --manifest-url string URL for accessing the container manifest
- --manifest-url-header string HTTP header to use when accessing the manifest URL, with the key separated from the value with a ':', as in 'key:value'
- --master-service-namespace string The namespace from which the kubernetes master services should be injected into pods (default "default")
- --max-open-files int Number of files that can be opened by Kubelet process. [default=1000000] (default 1000000)
- --max-pods value Number of Pods that can run on this Kubelet. (default 110)
- --minimum-image-ttl-duration duration Minimum age for an unused image before it is garbage collected. Examples: '300ms', '10s' or '2h45m'. Default: '2m' (default 2m0s)
- --network-plugin string The name of the network plugin to be invoked for various events in kubelet/pod lifecycle
- --network-plugin-dir string The full path of the directory in which to search for network plugins or CNI config
- --network-plugin-mtu value The MTU to be passed to the network plugin, to override the default. Set to 0 to use the default 1460 MTU.
- --node-ip string IP address of the node. If set, kubelet will use this IP address for the node
- --node-labels value Labels to add when registering the node in the cluster. Labels must be key=value pairs separated by ','.
- --node-status-update-frequency duration Specifies how often kubelet posts node status to master. Note: be cautious when changing the constant, it must work with nodeMonitorGracePeriod in nodecontroller. Default: 10s (default 10s)
- --non-masquerade-cidr string Traffic to IPs outside this range will use IP masquerade. (default "10.0.0.0/8")
- --oom-score-adj value The oom-score-adj value for kubelet process. Values must be within the range [-1000, 1000] (default -999)
- --outofdisk-transition-frequency duration Duration for which the kubelet has to wait before transitioning out of out-of-disk node condition status. Default: 5m0s (default 5m0s)
- --pod-cidr string The CIDR to use for pod IP addresses, only used in standalone mode. In cluster mode, this is obtained from the master.
- --pod-infra-container-image string The image whose network/ipc namespaces containers in each pod will use. (default "gcr.io/google_containers/pause-amd64:3.0")
- --pod-manifest-path string Path to to the directory containing pod manifest files to run, or the path to a single pod manifest file.
- --pods-per-core value Number of Pods per core that can run on this Kubelet. The total number of Pods on this Kubelet cannot exceed max-pods, so max-pods will be used if this calculation results in a larger number of Pods allowed on the Kubelet. A value of 0 disables this limit.
- --port value The port for the Kubelet to serve on. (default 10250)
- --protect-kernel-defaults Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults.
- --read-only-port value The read-only port for the Kubelet to serve on with no authentication/authorization (set to 0 to disable) (default 10255)
- --really-crash-for-testing If true, when panics occur crash. Intended for testing.
- --reconcile-cidr Reconcile node CIDR with the CIDR specified by the API server. No-op if register-node or configure-cbr0 is false. [default=true] (default true)
- --register-node Register the node with the apiserver (defaults to true if --api-servers is set) (default true)
- --register-schedulable Register the node as schedulable. No-op if register-node is false. [default=true] (default true)
- --registry-burst value Maximum size of a bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry-qps. Only used if --registry-qps > 0 (default 10)
- --registry-qps value If > 0, limit registry pull QPS to this value. If 0, unlimited. [default=5.0] (default 5)
- --require-kubeconfig If true the Kubelet will exit if there are configuration errors, and will ignore the value of --api-servers in favor of the server defined in the kubeconfig file.
- --resolv-conf string Resolver configuration file used as the basis for the container DNS resolution configuration. (default "/etc/resolv.conf")
- --rkt-api-endpoint string The endpoint of the rkt API service to communicate with. Only used if --container-runtime='rkt'. (default "localhost:15441")
- --rkt-path string Path of rkt binary. Leave empty to use the first rkt in $PATH. Only used if --container-runtime='rkt'.
- --root-dir string Directory path for managing kubelet files (volume mounts,etc). (default "/var/lib/kubelet")
- --runonce If true, exit after spawning pods from local manifests or remote urls. Exclusive with --api-servers, and --enable-server
- --runtime-cgroups string Optional absolute name of cgroups to create and run the runtime in.
- --runtime-request-timeout duration Timeout of all runtime requests except long running request - pull, logs, exec and attach. When timeout exceeded, kubelet will cancel the request, throw out an error and retry later. Default: 2m0s (default 2m0s)
- --seccomp-profile-root string Directory path for seccomp profiles.
- --serialize-image-pulls Pull images one at a time. We recommend *not* changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Issue #10959 has more details. [default=true] (default true)
- --streaming-connection-idle-timeout duration Maximum time a streaming connection can be idle before the connection is automatically closed. 0 indicates no timeout. Example: '5m' (default 4h0m0s)
- --sync-frequency duration Max period between synchronizing running containers and config (default 1m0s)
- --system-cgroups / Optional absolute name of cgroups in which to place all non-kernel processes that are not already inside a cgroup under /. Empty for no container. Rolling back the flag requires a reboot. (Default: "").
- --system-reserved value A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently only cpu and memory are supported. See http://releases.k8s.io/release-1.4/docs/user-guide/compute-resources.md for more detail. [default=none]
- --tls-cert-file string File containing x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory passed to --cert-dir.
- --tls-private-key-file string File containing x509 private key matching --tls-cert-file.
- --volume-plugin-dir string The full path of the directory in which to search for additional third party volume plugins (default "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/")
- --volume-stats-agg-period duration Specifies interval for kubelet to calculate and cache the volume disk usage for all pods and volumes. To disable volume calculations, set to 0. Default: '1m' (default 1m0s)
+ExperimentalHostUserNamespaceDefaulting=true|false (ALPHA - default=false)
+StreamingProxyRedirects=true|false (ALPHA - default=false)
+ --file-check-frequency duration Duration between checking config files for new data (default 20s)
+ --google-json-key string The Google Cloud Platform Service Account JSON Key to use for authentication.
+ --hairpin-mode string How should the kubelet setup hairpin NAT. This allows endpoints of a Service to loadbalance back to themselves if they should try to access their own Service. Valid values are "promiscuous-bridge", "hairpin-veth" and "none". (default "promiscuous-bridge")
+ --healthz-bind-address ip The IP address for the healthz server to serve on, defaulting to 127.0.0.1 (set to 0.0.0.0 for all interfaces) (default 127.0.0.1)
+ --healthz-port int32 The port of the localhost healthz endpoint (default 10248)
+ --host-ipc-sources stringSlice Comma-separated list of sources from which the Kubelet allows pods to use the host ipc namespace. [default="*"] (default [*])
+ --host-network-sources stringSlice Comma-separated list of sources from which the Kubelet allows pods to use of host network. [default="*"] (default [*])
+ --host-pid-sources stringSlice Comma-separated list of sources from which the Kubelet allows pods to use the host pid namespace. [default="*"] (default [*])
+ --hostname-override string If non-empty, will use this string as identification instead of the actual hostname.
+ --http-check-frequency duration Duration between checking http for new data (default 20s)
+ --image-gc-high-threshold int32 The percent of disk usage after which image garbage collection is always run. Default: 90% (default 90)
+ --image-gc-low-threshold int32 The percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to. Default: 80% (default 80)
+ --image-service-endpoint string [Experimental] The unix socket endpoint of remote image service. If not specified, it will be the same with container-runtime-endpoint by default. The endpoint is used only when CRI integration is enabled (--experimental-cri)
+ --iptables-drop-bit int32 The bit of the fwmark space to mark packets for dropping. Must be within the range [0, 31]. (default 15)
+ --iptables-masquerade-bit int32 The bit of the fwmark space to mark packets for SNAT. Must be within the range [0, 31]. Please match this parameter with corresponding parameter in kube-proxy. (default 14)
+ --kube-api-burst int32 Burst to use while talking with Kubernetes apiserver (default 10)
+ --kube-api-content-type string Content type of requests sent to apiserver. (default "application/vnd.kubernetes.protobuf")
+ --kube-api-qps int32 QPS to use while talking with Kubernetes apiserver (default 5)
+ --kube-reserved mapStringString A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for kubernetes system components. Currently only cpu and memory are supported. See http://kubernetes.io/docs/user-guide/compute-resources for more detail. [default=none]
+ --kubeconfig string Path to a kubeconfig file, specifying how to connect to the API server. --api-servers will be used for the location unless --require-kubeconfig is set. (default "/var/lib/kubelet/kubeconfig")
+ --kubelet-cgroups string Optional absolute name of cgroups to create and run the Kubelet in.
+ --lock-file string The path to file for kubelet to use as a lock file.
+ --low-diskspace-threshold-mb int32 The absolute free disk space, in MB, to maintain. When disk space falls below this threshold, new pods would be rejected. Default: 256 (default 256)
+ --make-iptables-util-chains If true, kubelet will ensure iptables utility rules are present on host. (default true)
+ --manifest-url string URL for accessing the container manifest
+ --manifest-url-header string HTTP header to use when accessing the manifest URL, with the key separated from the value with a ':', as in 'key:value'
+ --master-service-namespace string The namespace from which the Kubernetes master services should be injected into pods (default "default")
+ --max-open-files int Number of files that can be opened by Kubelet process. [default=1000000] (default 1000000)
+ --max-pods int32 Number of Pods that can run on this Kubelet. (default 110)
+ --minimum-image-ttl-duration duration Minimum age for an unused image before it is garbage collected. Examples: '300ms', '10s' or '2h45m'. Default: '2m' (default 2m0s)
+ --network-plugin string The name of the network plugin to be invoked for various events in kubelet/pod lifecycle
+ --network-plugin-dir string The full path of the directory in which to search for network plugins or CNI config
+ --network-plugin-mtu int32 The MTU to be passed to the network plugin, to override the default. Set to 0 to use the default 1460 MTU.
+ --node-ip string IP address of the node. If set, kubelet will use this IP address for the node
+ --node-labels mapStringString Labels to add when registering the node in the cluster. Labels must be key=value pairs separated by ','.
+ --node-status-update-frequency duration Specifies how often kubelet posts node status to master. Note: be cautious when changing the constant, it must work with nodeMonitorGracePeriod in nodecontroller. Default: 10s (default 10s)
+ --non-masquerade-cidr string Traffic to IPs outside this range will use IP masquerade. (default "10.0.0.0/8")
+ --oom-score-adj int32 The oom-score-adj value for kubelet process. Values must be within the range [-1000, 1000] (default -999)
+ --outofdisk-transition-frequency duration Duration for which the kubelet has to wait before transitioning out of out-of-disk node condition status. Default: 5m0s (default 5m0s)
+ --pod-cidr string The CIDR to use for pod IP addresses, only used in standalone mode. In cluster mode, this is obtained from the master.
+ --pod-infra-container-image string The image whose network/ipc namespaces containers in each pod will use. (default "gcr.io/google_containers/pause-amd64:3.0")
+ --pod-manifest-path string Path to to the directory containing pod manifest files to run, or the path to a single pod manifest file.
+ --pods-per-core int32 Number of Pods per core that can run on this Kubelet. The total number of Pods on this Kubelet cannot exceed max-pods, so max-pods will be used if this calculation results in a larger number of Pods allowed on the Kubelet. A value of 0 disables this limit.
+ --port int32 The port for the Kubelet to serve on. (default 10250)
+ --protect-kernel-defaults Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults.
+ --read-only-port int32 The read-only port for the Kubelet to serve on with no authentication/authorization (set to 0 to disable) (default 10255)
+ --really-crash-for-testing If true, when panics occur crash. Intended for testing.
+ --register-node Register the node with the apiserver (defaults to true if --api-servers is set) (default true)
+ --register-schedulable Register the node as schedulable. Won't have any effect if register-node is false. [default=true] (default true)
+ --registry-burst int32 Maximum size of a bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry-qps. Only used if --registry-qps > 0 (default 10)
+ --registry-qps int32 If > 0, limit registry pull QPS to this value. If 0, unlimited. [default=5.0] (default 5)
+ --require-kubeconfig If true the Kubelet will exit if there are configuration errors, and will ignore the value of --api-servers in favor of the server defined in the kubeconfig file.
+ --resolv-conf string Resolver configuration file used as the basis for the container DNS resolution configuration. (default "/etc/resolv.conf")
+ --rkt-api-endpoint string The endpoint of the rkt API service to communicate with. Only used if --container-runtime='rkt'. (default "localhost:15441")
+ --rkt-path string Path of rkt binary. Leave empty to use the first rkt in $PATH. Only used if --container-runtime='rkt'.
+ --root-dir string Directory path for managing kubelet files (volume mounts,etc). (default "/var/lib/kubelet")
+ --runonce If true, exit after spawning pods from local manifests or remote urls. Exclusive with --api-servers, and --enable-server
+ --runtime-cgroups string Optional absolute name of cgroups to create and run the runtime in.
+ --runtime-request-timeout duration Timeout of all runtime requests except long running request - pull, logs, exec and attach. When timeout exceeded, kubelet will cancel the request, throw out an error and retry later. Default: 2m0s (default 2m0s)
+ --seccomp-profile-root string Directory path for seccomp profiles. (default "/var/lib/kubelet/seccomp")
+ --serialize-image-pulls Pull images one at a time. We recommend *not* changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Issue #10959 has more details. [default=true] (default true)
+ --streaming-connection-idle-timeout duration Maximum time a streaming connection can be idle before the connection is automatically closed. 0 indicates no timeout. Example: '5m' (default 4h0m0s)
+ --sync-frequency duration Max period between synchronizing running containers and config (default 1m0s)
+ --system-cgroups / Optional absolute name of cgroups in which to place all non-kernel processes that are not already inside a cgroup under /. Empty for no container. Rolling back the flag requires a reboot. (Default: "").
+ --system-reserved mapStringString A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently only cpu and memory are supported. See http://kubernetes.io/docs/user-guide/compute-resources for more detail. [default=none]
+ --tls-cert-file string File containing x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory passed to --cert-dir.
+ --tls-private-key-file string File containing x509 private key matching --tls-cert-file.
+ --volume-plugin-dir string The full path of the directory in which to search for additional third party volume plugins (default "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/")
+ --volume-stats-agg-period duration Specifies interval for kubelet to calculate and cache the volume disk usage for all pods and volumes. To disable volume calculations, set to 0. Default: '1m' (default 1m0s)
```
-###### Auto generated by spf13/cobra on 24-Oct-2016
-
-
-
-
+###### Auto generated by spf13/cobra on 13-Dec-2016
diff --git a/docs/admin/limitrange/index.md b/docs/admin/limitrange/index.md
index 0336264bc3..2241cbb140 100644
--- a/docs/admin/limitrange/index.md
+++ b/docs/admin/limitrange/index.md
@@ -2,7 +2,7 @@
assignees:
- derekwaynecarr
- janetkuo
-
+title: Setting Pod CPU and Memory Limits
---
By default, pods run with unbounded CPU and memory limits. This means that any pod in the
@@ -184,7 +184,7 @@ Note that this pod specifies explicit resource *limits* and *requests* so it did
default values.
Note: The *limits* for CPU resource are enforced in the default Kubernetes setup on the physical node
-that runs the container unless the administrator deploys the kubelet with the folllowing flag:
+that runs the container unless the administrator deploys the kubelet with the following flag:
```shell
$ kubelet --help
diff --git a/docs/admin/master-node-communication.md b/docs/admin/master-node-communication.md
index 3860c33475..91ecff7ef9 100644
--- a/docs/admin/master-node-communication.md
+++ b/docs/admin/master-node-communication.md
@@ -2,13 +2,14 @@
assignees:
- dchen1107
- roberthbailey
-
+- liggitt
+title: Master-Node communication
---
* TOC
{:toc}
-## Summary
+## Overview
This document catalogs the communication paths between the master (really the
apiserver) and the Kubernetes cluster. The intent is to allow users to
@@ -22,14 +23,21 @@ All communication paths from the cluster to the master terminate at the
apiserver (none of the other master components are designed to expose remote
services). In a typical deployment, the apiserver is configured to listen for
remote connections on a secure HTTPS port (443) with one or more forms of
-client [authentication](/docs/admin/authentication/) enabled.
+client [authentication](/docs/admin/authentication/) enabled. One or more forms
+of [authorization](/docs/admin/authorization/) should be enabled, especially
+if [anonymous requests](/docs/admin/authentication/#anonymous-requests) or
+[service account tokens](/docs/admin/authentication/#service-account-tokens)
+are allowed.
Nodes should be provisioned with the public root certificate for the cluster
such that they can connect securely to the apiserver along with valid client
credentials. For example, on a default GCE deployment, the client credentials
-provided to the kubelet are in the form of a client certificate. Pods that
-wish to connect to the apiserver can do so securely by leveraging a service
-account so that Kubernetes will automatically inject the public root
+provided to the kubelet are in the form of a client certificate. See
+[kubelet TLS bootstrapping](/docs/admin/kubelet-tls-bootstrapping/) for
+automated provisioning of kubelet client certificates.
+
+Pods that wish to connect to the apiserver can do so securely by leveraging a
+service account so that Kubernetes will automatically inject the public root
certificate and a valid bearer token into the pod when it is instantiated.
The `kubernetes` service (in all namespaces) is configured with a virtual IP
address that is redirected (via kube-proxy) to the HTTPS endpoint on the
@@ -54,16 +62,29 @@ cluster. The first is from the apiserver to the kubelet process which runs on
each node in the cluster. The second is from the apiserver to any node, pod,
or service through the apiserver's proxy functionality.
+### apiserver -> kubelet
+
The connections from the apiserver to the kubelet are used for fetching logs
for pods, attaching (through kubectl) to running pods, and using the kubelet's
-port-forwarding functionality. These connections terminate at the kubelet's
-HTTPS endpoint, which is typically using a self-signed certificate, and
-ignore the certificate presented by the kubelet (although you can override this
-behavior by specifying the `--kubelet-certificate-authority`,
-`--kubelet-client-certificate`, and `--kubelet-client-key` flags when starting
-the cluster apiserver). By default, these connections **are not currently safe**
-to run over untrusted and/or public networks as they are subject to
-man-in-the-middle attacks.
+port-forwarding functionality. These connections terminate at the kubelet's
+HTTPS endpoint.
+
+By default, the apiserver does not verify the kubelet's serving certificate,
+which makes the connection subject to man-in-the-middle attacks, and
+**unsafe** to run over untrusted and/or public networks.
+
+To verify this connection, use the `--kubelet-certificate-authority` flag to
+provide the apiserver with a root certificates bundle to use to verify the
+kubelet's serving certificate.
+
+If that is not possible, use [SSH tunneling](/docs/admin/master-node-communication/#ssh-tunnels)
+between the apiserver and kubelet if required to avoid connecting over an
+untrusted or public network.
+
+Finally, [Kubelet authentication and/or authorization](/docs/admin/kubelet-authentication-authorization/)
+should be enabled to secure the kubelet API.
+
+### apiserver -> nodes, pods, and services
The connections from the apiserver to a node, pod, or service default to plain
HTTP connections and are therefore neither authenticated nor encrypted. They
@@ -83,83 +104,3 @@ cluster (connecting to the ssh server listening on port 22) and passes all
traffic destined for a kubelet, node, pod, or service through the tunnel.
This tunnel ensures that the traffic is not exposed outside of the private
GCE network in which the cluster is running.
-
-### Kubelet TLS Bootstrap
-
-Kubernetes 1.4 introduces an experimental API for requesting certificates from a cluster-level
-Certificate Authority (CA). The first supported use of this API is the provisioning of TLS client
-certificates for kubelets. The proposal can be found [here](https://github.com/kubernetes/kubernetes/pull/20439)
-and progress on the feature is being tracked as [feature #43](https://github.com/kubernetes/features/issues/43).
-
-##### apiserver configuration
-You must provide a token file which specifies at least one "bootstrap token" assigned to a kubelet boostrap-specific group.
-This group will later be used in the controller-manager configuration to scope approvals in the default approval
-controller. As this feature matures, you should ensure tokens are bound to an RBAC policy which limits requests
-using the bootstrap token to only be able to make requests related to certificate provisioning. When RBAC policy
-is in place, scoping the tokens to a group will allow great flexibility (e.g. you could disable a particular
-bootstrap group's access when you are done provisioning the nodes).
-
-##### Token auth file
-Tokens are arbitrary but should represent at least 128 bits of entropy derived from a secure random number
-generator (such as /dev/urandom on most modern systems). There are multiple ways you can generate a token. For example:
-
-`head -c 16 /dev/urandom | od -An -t x | tr -d ' '`
-
-will generate tokens that look like `02b50b05283e98dd0fd71db496ef01e8`
-
-The token file will look like the following example, where the first three values can be anything and the quoted group
-name should be as depicted:
-
-```
-02b50b05283e98dd0fd71db496ef01e8,kubelet-bootstrap,10001,"system:kubelet-bootstrap"
-```
-
-Add the `--token-auth-file=FILENAME` flag to the apiserver command to enable the token file.
-See docs at http://kubernetes.io/docs/admin/authentication/#static-token-file for further details.
-
-#### controller-manager configuration
-The API for requesting certificates adds a certificate-issuing control loop to the KCM. This takes the form of a
-[cfssl](https://blog.cloudflare.com/introducing-cfssl/) local signer using assets on disk.
-Currently, all certificates issued have one year validity and a default set of key usages.
-
-##### Signing assets
-You must provide a Certificate Authority in order to provide the cryptographic materials necessary to issue certificates.
-This CA should be trusted by the apiserver for authentication with the `--client-ca-file=SOMEFILE` flag. The management
-of the CA is beyond the scope of this document but it is recommended that you generate a dedicated CA for Kubernetes.
-Both certificate and key are assumed to be PEM-encoded.
-
-The new controller-manager flags are:
-```
---cluster-signing-cert-file="/etc/path/to/kubernetes/ca/ca.crt" --cluster-signing-key-file="/etc/path/to/kubernetes/ca/ca.key"
-```
-
-##### Auto-approval
-To ease deployment and testing, the alpha version of the certificate request API includes a flag to approve all certificate
-requests made by users in a certain group. The intended use of this is to whitelist only the group corresponding to the bootstrap
-token in the token file above. Use of this flag circumvents makes the "approval" process described below and is not recommended
-for production use.
-
-The flag is:
-```
---insecure-experimental-approve-all-kubelet-csrs-for-group="system:kubelet-bootstrap"
-```
-
-#### kubelet configuration
-To use request a client cert from the certificate request API, the kubelet needs a path to a kubeconfig file that contains the
-bootstrap auth token. If the file specified by `--kubeconfig` does not exist, the bootstrap kubeconfig is used to request a
-client certificate from the API server. On success, a kubeconfig file referencing the generated key and obtained certificate
-is written to the path specified by `--kubeconfig`. The certificate and key file will be stored in the directory pointed
-by `--cert-dir`. The new flag is:
-
-```
---experimental-bootstrap-kubeconfig="/path/to/bootstrap/kubeconfig"
-```
-
-#### kubectl approval
-The signing controller does not immediately sign all certificate requests. Instead, it waits until they have been flagged with an
-"Approved" status by an appropriately-privileged user. This is intended to eventually be an automated process handled by an external
-approval controller, but for the alpha version of the API it can be done manually by a cluster administrator using kubectl.
-An administrator can list CSRs with `kubectl get csr`, describe one in detail with `kubectl describe `. There are
-[currently no direct approve/deny commands](https://github.com/kubernetes/kubernetes/issues/30163) so an approver will need to update
-the Status field directly. A rough example of how to do this in bash which should only be used until the porcelain merges is available
-at https://github.com/gtank/csrctl.
diff --git a/docs/admin/multi-cluster.md b/docs/admin/multi-cluster.md
index 6359782409..67a2589d40 100644
--- a/docs/admin/multi-cluster.md
+++ b/docs/admin/multi-cluster.md
@@ -1,14 +1,14 @@
---
assignees:
- davidopp
-
+title: Using Multiple Clusters
---
You may want to set up multiple Kubernetes clusters, both to
have clusters in different regions to be nearer to your users, and to tolerate failures and/or invasive maintenance.
This document describes some of the issues to consider when making a decision about doing so.
-If you decide to have multiple clusters, kubernetes provides a way to [federate them](/docs/admin/federation/)
+If you decide to have multiple clusters, Kubernetes provides a way to [federate them](/docs/admin/federation/)
## Scope of a single cluster
@@ -52,7 +52,7 @@ Second, decide how many clusters should be able to be unavailable at the same ti
the number that can be unavailable `U`. If you are not sure, then 1 is a fine choice.
If it is allowable for load-balancing to direct traffic to any region in the event of a cluster failure, then
-you need at least the larger of `R` or `U + 1` clusters. If it is not (e.g you want to ensure low latency for all
+you need at least the larger of `R` or `U + 1` clusters. If it is not (e.g. you want to ensure low latency for all
users in the event of a cluster failure), then you need to have `R * (U + 1)` clusters
(`U + 1` in each of `R` regions). In any case, try to put each cluster in a different zone.
diff --git a/docs/admin/multiple-schedulers.md b/docs/admin/multiple-schedulers.md
index 8ba152ac04..eb1c4c44f9 100644
--- a/docs/admin/multiple-schedulers.md
+++ b/docs/admin/multiple-schedulers.md
@@ -2,7 +2,7 @@
assignees:
- davidopp
- madhusudancs
-
+title: Configuring Multiple Schedulers
---
Kubernetes ships with a default scheduler that is described [here](/docs/admin/kube-scheduler/).
diff --git a/docs/admin/multiple-zones.md b/docs/admin/multiple-zones.md
index bfde54213e..e215b31716 100644
--- a/docs/admin/multiple-zones.md
+++ b/docs/admin/multiple-zones.md
@@ -3,7 +3,7 @@ assignees:
- jlowdermilk
- justinsb
- quinton-hoole
-
+title: Running in Multiple Zones
---
## Introduction
diff --git a/docs/admin/namespaces/index.md b/docs/admin/namespaces/index.md
index 574f41b10a..b723a9c361 100644
--- a/docs/admin/namespaces/index.md
+++ b/docs/admin/namespaces/index.md
@@ -2,7 +2,7 @@
assignees:
- derekwaynecarr
- janetkuo
-
+title: Sharing a Cluster with Namespaces
---
A Namespace is a mechanism to partition resources created by users into
diff --git a/docs/admin/namespaces/walkthrough.md b/docs/admin/namespaces/walkthrough.md
index 2a3e6298ea..b9c509697c 100644
--- a/docs/admin/namespaces/walkthrough.md
+++ b/docs/admin/namespaces/walkthrough.md
@@ -2,7 +2,7 @@
assignees:
- derekwaynecarr
- janetkuo
-
+title: Namespaces Walkthrough
---
Kubernetes _namespaces_ help different projects, teams, or customers to share a Kubernetes cluster.
@@ -151,7 +151,7 @@ Let's create some content.
$ kubectl run snowflake --image=kubernetes/serve_hostname --replicas=2
```
We have just created a deployment whose replica size is 2 that is running the pod called snowflake with a basic container that just serves the hostname.
-Note that `kubectl run` creates deployments only on kubernetes cluster >= v1.2. If you are running older versions, it creates replication controllers instead.
+Note that `kubectl run` creates deployments only on Kubernetes cluster >= v1.2. If you are running older versions, it creates replication controllers instead.
If you want to obtain the old behavior, use `--generator=run/v1` to create replication controllers. See [`kubectl run`](/docs/user-guide/kubectl/kubectl_run/) for more details.
```shell
diff --git a/docs/admin/network-plugins.md b/docs/admin/network-plugins.md
index 6c5f354423..dd51a11b86 100644
--- a/docs/admin/network-plugins.md
+++ b/docs/admin/network-plugins.md
@@ -3,7 +3,7 @@ assignees:
- dcbw
- freehan
- thockin
-
+title: Network Plugins
---
* TOC
@@ -26,13 +26,13 @@ The kubelet has a single default network plugin, and a default network common to
## Network Plugin Requirements
-Besides providing the [`NetworkPlugin` interface](https://github.com/kubernetes/kubernetes/tree/{{page.version}}.0/pkg/kubelet/network/plugins.go) to configure and clean up pod networking, the plugin may also need specific support for kube-proxy. The iptables proxy obviously depends on iptables, and the plugin may need to ensure that container traffic is made available to iptables. For example, if the plugin connects containers to a Linux bridge, the plugin must set the `net/bridge/bridge-nf-call-iptables` sysctl to `1` to ensure that the iptables proxy functions correctly. If the plugin does not use a Linux bridge (but instead something like Open vSwitch or some other mechanism) it should ensure container traffic is appropriately routed for the proxy.
+Besides providing the [`NetworkPlugin` interface](https://github.com/kubernetes/kubernetes/tree/{{page.version}}/pkg/kubelet/network/plugins.go) to configure and clean up pod networking, the plugin may also need specific support for kube-proxy. The iptables proxy obviously depends on iptables, and the plugin may need to ensure that container traffic is made available to iptables. For example, if the plugin connects containers to a Linux bridge, the plugin must set the `net/bridge/bridge-nf-call-iptables` sysctl to `1` to ensure that the iptables proxy functions correctly. If the plugin does not use a Linux bridge (but instead something like Open vSwitch or some other mechanism) it should ensure container traffic is appropriately routed for the proxy.
By default if no kubelet network plugin is specified, the `noop` plugin is used, which sets `net/bridge/bridge-nf-call-iptables=1` to ensure simple configurations (like docker with a bridge) work correctly with the iptables proxy.
### Exec
-Place plugins in `network-plugin-dir/plugin-name/plugin-name`, i.e if you have a bridge plugin and `network-plugin-dir` is `/usr/lib/kubernetes`, you'd place the bridge plugin executable at `/usr/lib/kubernetes/bridge/bridge`. See [this comment](https://github.com/kubernetes/kubernetes/tree/{{page.version}}.0/pkg/kubelet/network/exec/exec.go) for more details.
+Place plugins in `network-plugin-dir/plugin-name/plugin-name`, i.e. if you have a bridge plugin and `network-plugin-dir` is `/usr/lib/kubernetes`, you'd place the bridge plugin executable at `/usr/lib/kubernetes/bridge/bridge`. See [this comment](https://github.com/kubernetes/kubernetes/tree/{{page.version}}/pkg/kubelet/network/exec/exec.go) for more details.
### CNI
@@ -50,13 +50,11 @@ Kubenet is a very basic, simple network plugin, on Linux only. It does not, of
Kubenet creates a Linux bridge named `cbr0` and creates a veth pair for each pod with the host end of each pair connected to `cbr0`. The pod end of the pair is assigned an IP address allocated from a range assigned to the node either through configuration or by the controller-manager. `cbr0` is assigned an MTU matching the smallest MTU of an enabled normal interface on the host.
-The kubenet plugin is mutually exclusive with the --configure-cbr0 option.
-
The plugin requires a few things:
* The standard CNI `bridge`, `lo` and `host-local` plugins are required, at minimum version 0.2.0. Kubenet will first search for them in `/opt/cni/bin`. Specify `network-plugin-dir` to supply additional search path. The first found match will take effect.
* Kubelet must be run with the `--network-plugin=kubenet` argument to enable the plugin
-* Kubelet must also be run with the `--reconcile-cidr` argument to ensure the IP subnet assigned to the node by configuration or the controller-manager is propagated to the plugin
+* Kubelet should also be run with the `--non-masquerade-cidr=` argumment to ensure traffic to IPs outside this range will use IP masquerade.
* The node must be assigned an IP subnet through either the `--pod-cidr` kubelet command-line option or the `--allocate-node-cidrs=true --cluster-cidr=` controller-manager command-line options.
### Customizing the MTU (with kubenet)
diff --git a/docs/admin/networking.md b/docs/admin/networking.md
index 28c259a5f7..08b3d1442e 100644
--- a/docs/admin/networking.md
+++ b/docs/admin/networking.md
@@ -1,8 +1,7 @@
---
assignees:
-- lavalamp
- thockin
-
+title: Networking in Kubernetes
---
Kubernetes approaches networking somewhat differently than Docker does by
@@ -169,12 +168,26 @@ Follow the "With Linux Bridge devices" section of [this very nice
tutorial](http://blog.oddbit.com/2014/08/11/four-ways-to-connect-a-docker/) from
Lars Kellogg-Stedman.
+### Nuage Networks VCS (Virtualized Cloud Services)
+
+[Nuage](http://www.nuagenetworks.net) provides a highly scalable policy-based Software-Defined Networking (SDN) platform. Nuage uses the open source Open vSwitch for the data plane along with a feature rich SDN Controller built on open standards.
+
+The Nuage platform uses overlays to provide seamless policy-based networking between Kubernetes Pods and non-Kubernetes environments (VMs and bare metal servers). Nuage's policy abstraction model is designed with applications in mind and makes it easy to declare fine-grained policies for applications.The platform's real-time analytics engine enables visibility and security monitoring for Kubernetes applications.
+
### OpenVSwitch
[OpenVSwitch](/docs/admin/ovs-networking) is a somewhat more mature but also
complicated way to build an overlay network. This is endorsed by several of the
"Big Shops" for networking.
+### OVN (Open Virtual Networking)
+
+OVN is an opensource network virtualization solution developed by the
+Open vSwitch community. It lets one create logical switches, logical routers,
+stateful ACLs, load-balancers etc to build different virtual networking
+topologies. The project has a specific Kubernetes plugin and documentation
+at [ovn-kubernetes](https://github.com/openvswitch/ovn-kubernetes).
+
### Project Calico
[Project Calico](http://docs.projectcalico.org/) is an open source container networking provider and network policy engine.
diff --git a/docs/admin/node-conformance.md b/docs/admin/node-conformance.md
index 2adb159c5c..f53ba858b1 100644
--- a/docs/admin/node-conformance.md
+++ b/docs/admin/node-conformance.md
@@ -1,7 +1,7 @@
---
assignees:
- Random-Liu
-
+title: Validate Node Setup
---
* TOC
@@ -9,54 +9,52 @@ assignees:
## Node Conformance Test
-*Node conformance test* is a test framework validating whether a node meets the
-minimum requirement of Kubernetes with a set of system verification and
-functionality test. A node which passes the tests is qualified to join a
-Kubernetes cluster.
+*Node conformance test* is a containerized test framework that provides a system
+verification and functionality test for a node. The test validates whether the
+node meets the minimum requirements for Kubernetes; a node that passes the test
+is qualified to join a Kubernetes cluster.
## Limitations
-There are following limitations in the current implementation of node
-conformance test. They'll be improved in future version.
+In Kubernetes version 1.5, node conformance test has the following limitations:
* Node conformance test only supports Docker as the container runtime.
-* Node conformance test doesn't validate network related system configurations
- and functionalities.
-## Prerequisite
+## Node Prerequisite
-Node conformance test is used to test whether a node is ready to join a
-Kubernetes cluster, so the prerequisite is the same with a standard Kubernetes
-node. At least, the node should have properly installed:
+To run node conformance test, a node must satisfy the same prerequisites as a
+standard Kubernetes node. At a minimum, the node should have the following
+daemons installed:
* Container Runtime (Docker)
* Kubelet
-Node conformance test validates kernel configurations. If the kenrel module
-`configs` is built as module in your environment, it must be loaded before the
-test. (See [Caveats #3](#caveats) for more information)
+## Running Node Conformance Test
-## Usage
+To run the node conformance test, perform the following steps:
-### Run Node Conformance Test
+1. Point your Kubelet to localhost `--api-servers="http://localhost:8080"`,
+because the test framework starts a local master to test Kubelet. There are some
+other Kubelet flags you may care:
+ * `--pod-cidr`: If you are using `kubenet`, you should specify an arbitrary CIDR
+ to Kubelet, for example `--pod-cidr=10.180.0.0/24`.
+ * `--cloud-provider`: If you are using `--cloud-provider=gce`, you should
+ remove the flag to run the test.
-* **Step 1:** Point your Kubelet to localhost `--api-servers="http://localhost:8080"`,
-because the test framework starts a local master to test Kubelet.
-
-* **Step 2:** Run the node conformance test with command:
+2. Run the node conformance test with command:
```shell
-# $CONFIG_DIR is the pod manifest path of your kubelet.
+# $CONFIG_DIR is the pod manifest path of your Kubelet.
# $LOG_DIR is the test output path.
sudo docker run -it --rm --privileged --net=host \
- -v /:/rootfs:ro -v /var/run:/var/run \
- -v $CONFIG_DIR:/etc/manifest -v $LOG_DIR:/var/result \
- gcr.io/google_containers/node-test-amd64:v0.1
+ -v /:/rootfs -v $CONFIG_DIR:$CONFIG_DIR -v $LOG_DIR:/var/result \
+ gcr.io/google_containers/node-test:0.2
```
-### Run Node Conformance Test for Other Architectures
+## Running Node Conformance Test for Other Architectures
-We also build node conformance test docker images for other architectures:
+Kubernetes also provides node conformance test docker images for other
+architectures:
Arch | Image |
--------|:-----------------:|
@@ -64,25 +62,16 @@ We also build node conformance test docker images for other architectures:
arm | node-test-arm |
arm64 | node-test-arm64 |
-### Run Selected Test
-
-In fact, Node conformance test is a containerized version of [node e2e
-test](https://github.com/kubernetes/kubernetes/blob/release-1.4/docs/devel/e2e-node-tests.md).
-By default, it runs all conformance test.
-
-Theoretically, you can run any node e2e test if you configure the container and
-mount required volumes properly. But **it is strongly recommended to only run conformance
-test**, because the non-conformance test needs much more complex framework configuration.
+## Running Selected Test
To run specific tests, overwrite the environment variable `FOCUS` with the
regular expression of tests you want to run.
```shell
sudo docker run -it --rm --privileged --net=host \
- -v /:/rootfs:ro -v /var/run:/var/run \
- -v $CONFIG_DIR:/etc/manifest -v $LOG_DIR:/var/result \
+ -v /:/rootfs:ro -v $CONFIG_DIR:$CONFIG_DIR -v $LOG_DIR:/var/result \
-e FOCUS=MirrorPod \ # Only run MirrorPod test
- gcr.io/google_containers/node-test-amd64:v0.1
+ gcr.io/google_containers/node-test:0.2
```
To skip specific tests, overwrite the environment variable `SKIP` with the
@@ -90,25 +79,22 @@ regular expression of tests you want to skip.
```shell
sudo docker run -it --rm --privileged --net=host \
- -v /:/rootfs:ro -v /var/run:/var/run \
- -v $CONFIG_DIR:/etc/manifest -v $LOG_DIR:/var/result \
- -e SKIP=MirrorPod \ # Run all conformance test and skip MirrorPod test
- gcr.io/google_containers/node-test-amd64:v0.1
+ -v /:/rootfs:ro -v $CONFIG_DIR:$CONFIG_DIR -v $LOG_DIR:/var/result \
+ -e SKIP=MirrorPod \ # Run all conformance tests but skip MirrorPod test
+ gcr.io/google_containers/node-test:0.2
```
-### Caveats
+Node conformance test is a containerized version of [node e2e test](https://github.com/kubernetes/kubernetes/blob/release-1.5/docs/devel/e2e-node-tests.md).
+By default, it runs all conformance tests.
-* The test will leave some docker images on the node, including the node
- conformance test image and images of containers used in the functionality
+Theoretically, you can run any node e2e test if you configure the container and
+mount required volumes properly. But **it is strongly recommended to only run conformance
+test**, because it requires much more complex configuration to run non-conformance test.
+
+## Caveats
+
+* The test leaves some docker images on the node, including the node conformance
+ test image and images of containers used in the functionality
test.
-* The test will leave dead containers on the node, these containers are created
+* The test leaves dead containers on the node. These containers are created
during the functionality test.
-* Node conformance test validates kernel configuration. However, in some os
- distro the kernel module `configs` may not be loaded by default, and you will get
- the error `no config path in [POSSIBLE KERNEL CONFIG FILE PATHS] is
- available`. In that case please do either of the followings:
- * Manually load/unload `configs` kernel module: run `sudo modprobe configs` to
- load the kernel module, and `sudo modprobe -r configs` to unload it after the test.
- * Mount `modprobe` into the container: Add option `-v /bin/kmod:/bin/kmod
- -v /sbin/modprobe:/sbin/modprobe -v /lib/modules:/lib/modules` when starting
- the test container.
diff --git a/docs/admin/node-problem.md b/docs/admin/node-problem.md
index b6926ba15b..b4f3e6ee31 100644
--- a/docs/admin/node-problem.md
+++ b/docs/admin/node-problem.md
@@ -2,7 +2,7 @@
assignees:
- Random-Liu
- dchen1107
-
+title: Monitoring Node Health
---
* TOC
@@ -49,7 +49,7 @@ either `kubectl` or addon pod.
### Kubectl
-This is the recommanded way to start node problem detector outside of GCE. It
+This is the recommended way to start node problem detector outside of GCE. It
provides more flexible management, such as overwriting the default
configuration to fit it into your environment or detect
customized node problems.
@@ -238,7 +238,7 @@ implement a new translator for a new log format.
## Caveats
-It is recommanded to run the node problem detector in your cluster to monitor
+It is recommended to run the node problem detector in your cluster to monitor
the node health. However, you should be aware that this will introduce extra
resource overhead on each node. Usually this is fine, because:
diff --git a/docs/admin/node.md b/docs/admin/node.md
index 78ef3c4b2e..0923169256 100644
--- a/docs/admin/node.md
+++ b/docs/admin/node.md
@@ -2,8 +2,7 @@
assignees:
- caesarxuchao
- dchen1107
-- lavalamp
-
+title: Nodes
---
* TOC
@@ -11,44 +10,47 @@ assignees:
## What is a node?
-`Node` is a worker machine in Kubernetes, previously known as `Minion`. Node
+A `node` is a worker machine in Kubernetes, previously known as a `minion`. A node
may be a VM or physical machine, depending on the cluster. Each node has
-the services necessary to run [Pods](/docs/user-guide/pods) and is managed by the master
-components. The services on a node include docker, kubelet and network proxy. See
+the services necessary to run [pods](/docs/user-guide/pods) and is managed by the master
+components. The services on a node include Docker, kubelet and kube-proxy. See
[The Kubernetes Node](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/architecture.md#the-kubernetes-node) section in the
architecture design doc for more details.
## Node Status
-Node status describes current status of a node. For now, there are the following
-pieces of information:
+A node's status contains the following information:
-### Node Addresses
+* [Addresses](#Addresses)
+* ~~[Phase](#Phase)~~ **deprecated**
+* [Condition](#Condition)
+* [Capacity](#Capacity)
+* [Info](#Info)
+
+Each section is described in detail below.
+
+### Addresses
The usage of these fields varies depending on your cloud provider or bare metal configuration.
* HostName: The hostname as reported by the node's kernel. Can be overridden via the kubelet `--hostname-override` parameter.
+* ExternalIP: Typically the IP address of the node that is externally routable (available from outside the cluster).
+* InternalIP: Typically the IP address of the node that is routable only within the cluster.
-* ExternalIP: Generally the IP address of the node that is externally routable (available from outside the cluster)
+### Phase
-* InternalIP: Generally the IP address of the node that is routable only within the cluster
+Deprecated: node phase is no longer used.
-
-### Node Phase
-
-Deprecated: Node Phase is no longer used
-
-### Node Condition
+### Condition
The `conditions` field describes the status of all `Running` nodes.
| Node Condition | Description |
|----------------|-------------|
-| `OutOfDisk` | `True` if insufficient free space on the node for adding new pods, otherwise `False` |
-| `Ready` | `True` if the node is healthy ready to accept pods, `False` if the node is not healthy and is not accepting pods, and `Unknown` if the Node Controller has not heard from the node in the last 40 seconds |
+| `OutOfDisk` | `True` if there is insufficient free space on the node for adding new pods, otherwise `False` |
+| `Ready` | `True` if the node is healthy and ready to accept pods, `False` if the node is not healthy and is not accepting pods, and `Unknown` if the node controller has not heard from the node in the last 40 seconds |
-Node condition is represented as a JSON object. For example, the following response describes a healthy node:
-conditions mean the node is in sane state:
+The node condition is represented as a JSON object. For example, the following response describes a healthy node.
```json
"conditions": [
@@ -59,28 +61,30 @@ conditions mean the node is in sane state:
]
```
-If the Status of the Ready condition
-is Unknown or False for more than five minutes, then all of the Pods on the node are terminated by the Node Controller.
+If the Status of the Ready condition is "Unknown" or "False" for longer than the `pod-eviction-timeout`, an argument passed to the [kube-controller-manager](docs/admin/kube-controller-manager/), all of the Pods on the node are scheduled for deletion by the Node Controller. The default eviction timeout duration is **five minutes**. In some cases when the node is unreachable, the apiserver is unable to communicate with the kubelet on it. The decision to delete the pods cannot be communicated to the kubelet until it re-establishes communication with the apiserver. In the meantime, the pods which are scheduled for deletion may continue to run on the partitioned node.
-### Node Capacity
+In versions of Kubernetes prior to 1.5, the node controller would [force delete](/docs/user-guide/pods/#force-deletion-of-pods) these unreachable pods from the apiserver. However, in 1.5 and higher, the node controller does not force delete pods until it is confirmed that they have stopped running in the cluster. One can see these pods which may be running on an unreachable node as being in the "Terminating" or "Unknown" states. In cases where Kubernetes cannot deduce from the underlying infrastructure if a node has permanently left a cluster, the cluster administrator may need to delete the node object by hand. Deleting the node object from Kubernetes causes all the Pod objects running on it to be deleted from the apiserver, freeing up their names.
-Describes the resources available on the node: CPUs, memory and the maximum
+### Capacity
+
+Describes the resources available on the node: CPU, memory and the maximum
number of pods that can be scheduled onto the node.
-### Node Info
+### Info
-General information about the node, for instance kernel version, Kubernetes version
-(kubelet version, kube-proxy version), docker version (if used), OS name.
+General information about the node, such as kernel version, Kubernetes version
+(kubelet and kube-proxy version), Docker version (if used), OS name.
The information is gathered by Kubelet from the node.
-## Node Management
+## Management
-Unlike [Pods](/docs/user-guide/pods) and [Services](/docs/user-guide/services), a Node is not inherently
-created by Kubernetes: it is either taken from cloud providers like Google Compute Engine,
-or from your pool of physical or virtual machines. What this means is that when
-Kubernetes creates a node, it is really just creating an object that represents the node in its internal state.
-After creation, Kubernetes will check whether the node is valid or not.
-For example, if you try to create a node from the following content:
+Unlike [pods](/docs/user-guide/pods) and [services](/docs/user-guide/services),
+a node is not inherently created by Kubernetes: it is created externally by cloud
+providers like Google Compute Engine, or exists in your pool of physical or virtual
+machines. What this means is that when Kubernetes creates a node, it is really
+just creating an object that represents the node. After creation, Kubernetes
+will check whether the node is valid or not. For example, if you try to create
+a node from the following content:
```json
{
@@ -95,117 +99,127 @@ For example, if you try to create a node from the following content:
}
```
-Kubernetes will create a Node object internally (the representation), and
-validate the node by health checking based on the `metadata.name` field: we
-assume `metadata.name` can be resolved. If the node is valid, i.e. all necessary
-services are running, it is eligible to run a Pod; otherwise, it will be
-ignored for any cluster activity, until it becomes valid. Note that Kubernetes
-will keep the object for the invalid node unless it is explicitly deleted by the client, and it will keep
-checking to see if it becomes valid.
+Kubernetes will create a node object internally (the representation), and
+validate the node by health checking based on the `metadata.name` field (we
+assume `metadata.name` can be resolved). If the node is valid, i.e. all necessary
+services are running, it is eligible to run a pod; otherwise, it will be
+ignored for any cluster activity until it becomes valid. Note that Kubernetes
+will keep the object for the invalid node unless it is explicitly deleted by
+the client, and it will keep checking to see if it becomes valid.
-Currently, there are three components that interact with the Kubernetes node interface: Node Controller, Kubelet, and kubectl.
+Currently, there are three components that interact with the Kubernetes node
+interface: node controller, kubelet, and kubectl.
### Node Controller
-Node controller is a component in Kubernetes master which manages Node
-objects.
+The node controller is a Kubernetes master component which manages various
+aspects of nodes.
-Node controller has mutliple roles in Node's life. First is assigning a CIDR block to
-the Node when it is registered (if CIDR assignment is turned on). Second is keeping the
-node controller's list of nodes up to date with the cloud provider's list of available
-machines. When running in cloud environment whenever a node is unhealthy node controller
-asks cloud provider if the VM for that node is still available. If not, the node
+The node controller has multiple roles in a node's life. The first is assigning a
+CIDR block to the node when it is registered (if CIDR assignment is turned on).
+
+The second is keeping the node controller's internal list of nodes up to date with
+the cloud provider's list of available machines. When running in a cloud
+environment, whenever a node is unhealthy the node controller asks the cloud
+provider if the VM for that node is still available. If not, the node
controller deletes the node from its list of nodes.
-Third responsibiliy is monitoring Node's health. Node controller is responsible for updating
-the NodeReady condition of NodeStatus to ConditionUnknown when a node becomes unreachable
-(i.e. node controller stops receiving heartbeats e.g. due to the node being down), and then
-later evicting all the pods from the node (using graceful termination) if the node continues
-to be unreachable (the current timeouts are 40s to start reporting ConditionUnknown and 5m
-after that to start evicting pods). Node controller checks the state of each node every
-`--node-monitor-period` seconds.
+The third is monitoring the nodes' health. The node controller is
+responsible for updating the NodeReady condition of NodeStatus to
+ConditionUnknown when a node becomes unreachable (i.e. the node controller stops
+receiving heartbeats for some reason, e.g. due to the node being down), and then later evicting
+all the pods from the node (using graceful termination) if the node continues
+to be unreachable. (The default timeouts are 40s to start reporting
+ConditionUnknown and 5m after that to start evicting pods.) The node controller
+checks the state of each node every `--node-monitor-period` seconds.
-In 1.4 release we updated the logic of node controller to better handle cases when a
-big number of Nodes have problems with reaching the master machine (e.g. because
-master machine has networking problem). Starting with 1.4 node controller will look at the
-state of all Nodes in the cluster when making a decision about pod eviction.
+In Kubernetes 1.4, we updated the logic of the node controller to better handle
+cases when a big number of nodes have problems with reaching the master
+(e.g. because the master has networking problem). Starting with 1.4, the node
+controller will look at the state of all nodes in the cluster when making a
+decision about pod eviction.
-In most cases, node controller limits the eviction rate to `--node-eviction-rate` (default 0.1)
-per second, meaning it won't evict pods from more than 1 node per 10 seconds.
+In most cases, node controller limits the eviction rate to
+`--node-eviction-rate` (default 0.1) per second, meaning it won't evict pods
+from more than 1 node per 10 seconds.
-The node eviction behavior changes when a node in a given availability zone becomes unhealthy,
-node controller checks what percentage of nodes in the zone are unhealthy (NodeReady condition
-is ConditionUnknown or ConditionFalse) at the same time. If the fraction of unhealthy nodes is
-at least `--unhealthy-zone-threshold` (default 0.55) then the eviction rate is reduced: if
-the cluster is small (i.e. has less than or equal to `--large-cluster-size-threshold`
-nodes - default 50) then evictions are stopped, otherwise the eviction rate is reduced to
-`--secondary-node-eviction-rate` (default 0.01) per second. The reason these policies are
-implemented per availability zone is because one availability zone might become partitioned
-from the master while the others remain connected. If your cluster does not span multiple cloud
-provider availability zones, then there is only one availability zone, namely the whole cluster.
+The node eviction behavior changes when a node in a given availability zone
+becomes unhealthy. The node controller checks what percentage of nodes in the zone
+are unhealthy (NodeReady condition is ConditionUnknown or ConditionFalse) at
+the same time. If the fraction of unhealthy nodes is at least
+`--unhealthy-zone-threshold` (default 0.55) then the eviction rate is reduced:
+if the cluster is small (i.e. has less than or equal to
+`--large-cluster-size-threshold` nodes - default 50) then evictions are
+stopped, otherwise the eviction rate is reduced to
+`--secondary-node-eviction-rate` (default 0.01) per second. The reason these
+policies are implemented per availability zone is because one availability zone
+might become partitioned from the master while the others remain connected. If
+your cluster does not span multiple cloud provider availability zones, then
+there is only one availability zone (the whole cluster).
-A key reason for spreading your nodes across availability zones is so that workload can be
-shifted to healthy zones when one entire zone goes down. To enable this behavior, if all
-nodes in a zone are unhealthy then node controller evicts at the normal rate `--node-eviction-rate`.
-The corner case for that is when all zones are completely unhealthy (i.e. there's no healthy node in
-the cluster). In such case node controller assumes that there's some problem with master machine
-connectivity and stops all evictions until any connectivity is restored.
+A key reason for spreading your nodes across availability zones is so that the
+workload can be shifted to healthy zones when one entire zone goes down.
+Therefore, if all nodes in a zone are unhealthy then node controller evicts at
+the normal rate `--node-eviction-rate`. The corner case is when all zones are
+completely unhealthy (i.e. there are no healthy nodes in the cluster). In such
+case, the node controller assumes that there's some problem with master
+connectivity and stops all evictions until some connectivity is restored.
### Self-Registration of Nodes
-When kubelet flag `--register-node` is true (the default), the kubelet will attempt to
+When the kubelet flag `--register-node` is true (the default), the kubelet will attempt to
register itself with the API server. This is the preferred pattern, used by most distros.
For self-registration, the kubelet is started with the following options:
- - `--api-servers=` tells the kubelet the location of the apiserver.
- - `--kubeconfig` tells kubelet where to find credentials to authenticate itself to the apiserver.
- - `--cloud-provider=` tells the kubelet how to talk to a cloud provider to read metadata about itself.
- - `--register-node` tells the kubelet to create its own node resource.
+ - `--api-servers=` - Location of the apiservers.
+ - `--kubeconfig=` - Path to credentials to authenticate itself to the apiserver.
+ - `--cloud-provider=` - How to talk to a cloud provider to read metadata about itself.
+ - `--register-node` - Automatically register with the API server.
Currently, any kubelet is authorized to create/modify any node resource, but in practice it only creates/modifies
-its own. (In the future, we plan to limit authorization to only allow a kubelet to modify its own Node resource.)
+its own. (In the future, we plan to only allow a kubelet to modify its own node resource.)
#### Manual Node Administration
-A cluster administrator can create and modify Node objects.
+A cluster administrator can create and modify node objects.
-If the administrator wishes to create node objects manually, set kubelet flag
+If the administrator wishes to create node objects manually, set the kubelet flag
`--register-node=false`.
-The administrator can modify Node resources (regardless of the setting of `--register-node`).
-Modifications include setting labels on the Node, and marking it unschedulable.
+The administrator can modify node resources (regardless of the setting of `--register-node`).
+Modifications include setting labels on the node and marking it unschedulable.
Labels on nodes can be used in conjunction with node selectors on pods to control scheduling,
-e.g. to constrain a Pod to only be eligible to run on a subset of the nodes.
+e.g. to constrain a pod to only be eligible to run on a subset of the nodes.
-Making a node unscheduleable will prevent new pods from being scheduled to that
-node, but will not affect any existing pods on the node. This is useful as a
-preparatory step before a node reboot, etc. For example, to mark a node
+Marking a node as unschedulable will prevent new pods from being scheduled to that
+node, but will not affect any existing pods on the node. This is useful as a
+preparatory step before a node reboot, etc. For example, to mark a node
unschedulable, run this command:
```shell
-kubectl patch nodes $NODENAME -p '{"spec": {"unschedulable": true}}'
+kubectl cordon $NODENAME
```
Note that pods which are created by a daemonSet controller bypass the Kubernetes scheduler,
-and do not respect the unschedulable attribute on a node. The assumption is that daemons belong on
+and do not respect the unschedulable attribute on a node. The assumption is that daemons belong on
the machine even if it is being drained of applications in preparation for a reboot.
### Node capacity
-The capacity of the node (number of cpus and amount of memory) is part of the node resource.
-Normally, nodes register themselves and report their capacity when creating the node resource. If
+The capacity of the node (number of cpus and amount of memory) is part of the node object.
+Normally, nodes register themselves and report their capacity when creating the node object. If
you are doing [manual node administration](#manual-node-administration), then you need to set node
capacity when adding a node.
The Kubernetes scheduler ensures that there are enough resources for all the pods on a node. It
checks that the sum of the limits of containers on the node is no greater than the node capacity. It
-includes all containers started by kubelet, but not containers started directly by docker, nor
+includes all containers started by the kubelet, but not containers started directly by Docker nor
processes not in containers.
-If you want to explicitly reserve resources for non-Pod processes, you can create a placeholder
-pod. Use the following template:
+If you want to explicitly reserve resources for non-pod processes, you can create a placeholder
+pod. Use the following template:
```yaml
apiVersion: v1
@@ -229,6 +243,6 @@ on each kubelet where you want to reserve resources.
## API Object
-Node is a top-level resource in the kubernetes REST API. More details about the
+Node is a top-level resource in the Kubernetes REST API. More details about the
API object can be found at: [Node API
object](/docs/api-reference/v1/definitions/#_v1_node).
diff --git a/docs/admin/out-of-resource.md b/docs/admin/out-of-resource.md
index 8af7114ed6..30b8744624 100644
--- a/docs/admin/out-of-resource.md
+++ b/docs/admin/out-of-resource.md
@@ -3,7 +3,7 @@ assignees:
- derekwaynecarr
- vishh
- timstclair
-
+title: Configuring Out Of Resource Handling
---
* TOC
@@ -330,7 +330,7 @@ for eviction. Instead `DaemonSet` should ideally launch `Guaranteed` pods.
`kubelet` has been freeing up disk space on demand to keep the node stable.
As disk based eviction matures, the following `kubelet` flags will be marked for deprecation
-in favor of the simpler configuation supported around eviction.
+in favor of the simpler configuration supported around eviction.
| Existing Flag | New Flag |
| ------------- | -------- |
@@ -349,7 +349,7 @@ in favor of the simpler configuation supported around eviction.
The `kubelet` currently polls `cAdvisor` to collect memory usage stats at a regular interval. If memory usage
increases within that window rapidly, the `kubelet` may not observe `MemoryPressure` fast enough, and the `OOMKiller`
will still be invoked. We intend to integrate with the `memcg` notification API in a future release to reduce this
-latency, and instead have the kernel tell us when a threshold has been crossed immmediately.
+latency, and instead have the kernel tell us when a threshold has been crossed immediately.
If you are not trying to achieve extreme utilization, but a sensible measure of overcommit, a viable workaround for
this issue is to set eviction thresholds at approximately 75% capacity. This increases the ability of this feature
diff --git a/docs/admin/ovs-networking.md b/docs/admin/ovs-networking.md
index 7a8f89506c..8ae71cc186 100644
--- a/docs/admin/ovs-networking.md
+++ b/docs/admin/ovs-networking.md
@@ -1,8 +1,7 @@
---
assignees:
-- lavalamp
- thockin
-
+title: Kubernetes OpenVSwitch GRE/VxLAN networking
---
This document describes how OpenVSwitch is used to setup networking between pods across nodes.
diff --git a/docs/admin/rescheduler.md b/docs/admin/rescheduler.md
index f32c185c81..1d81ac63f2 100644
--- a/docs/admin/rescheduler.md
+++ b/docs/admin/rescheduler.md
@@ -3,15 +3,13 @@ assignees:
- davidopp
- filipg
- piosz
-
+title: Guaranteed Scheduling For Critical Add-On Pods
---
* TOC
{:toc}
-# "Guaranteed" scheduling of critical add-on pods
-
-## Critical add-ons
+## Overview
In addition to Kubernetes core components like api-server, scheduler, controller-manager running on a master machine
there are a number of add-ons which, for various reasons, must run on a regular cluster node (rather than the Kubernetes master).
@@ -30,29 +28,30 @@ given the pods that are already running in the cluster
the rescheduler tries to free up space for the add-on by evicting some pods; then the scheduler will schedule the add-on pod.
To avoid situation when another pod is scheduled into the space prepared for the critical add-on,
-the chosen node gets a temporary taint “CriticalAddonsOnly” before the eviction(s)
+the chosen node gets a temporary taint "CriticalAddonsOnly" before the eviction(s)
(see [more details](https://github.com/kubernetes/kubernetes/blob/master/docs/design/taint-toleration-dedicated.md)).
Each critical add-on has to tolerate it,
the other pods shouldn't tolerate the taint. The tain is removed once the add-on is successfully scheduled.
*Warning:* currently there is no guarantee which node is chosen and which pods are being killed
-in order to schedule crical pod, so if rescheduler is enabled you pods might be occasionally
+in order to schedule critical pods, so if rescheduler is enabled you pods might be occasionally
killed for this purpose.
## Config
Rescheduler doesn't have any user facing configuration (component config) or API.
It's enabled by default. It can be disabled:
+
* during cluster setup by setting `ENABLE_RESCHEDULER` flag to `false`
* on running cluster by deleting its manifest from master node
(default path `/etc/kubernetes/manifests/rescheduler.manifest`)
### Marking add-on as critical
-To be critical an add-on has to run in `kube-system` namespace (cofigurable via flag)
+To be critical an add-on has to run in `kube-system` namespace (configurable via flag)
and have the following annotations specified:
+
* `scheduler.alpha.kubernetes.io/critical-pod` set to empty string
* `scheduler.alpha.kubernetes.io/tolerations` set to `[{"key":"CriticalAddonsOnly", "operator":"Exists"}]`
The first one marks a pod a critical. The second one is required by Rescheduler algorithm.
-
diff --git a/docs/admin/resourcequota/index.md b/docs/admin/resourcequota/index.md
index ff76942702..24d7a09246 100644
--- a/docs/admin/resourcequota/index.md
+++ b/docs/admin/resourcequota/index.md
@@ -1,7 +1,7 @@
---
assignees:
- derekwaynecarr
-
+title: Resource Quotas
---
When several users or teams share a cluster with a fixed number of nodes,
@@ -52,8 +52,7 @@ Resource Quota is enforced in a particular namespace when there is a
## Compute Resource Quota
-You can limit the total sum of [compute resources](/docs/user-guide/compute-resources) and [storage resources](/docs/user-guide/persistent-volumes)
-that can be requested in a given namespace.
+You can limit the total sum of [compute resources](/docs/user-guide/compute-resources) that can be requested in a given namespace.
The following resource types are supported:
@@ -65,7 +64,25 @@ The following resource types are supported:
| `memory` | Across all pods in a non-terminal state, the sum of memory requests cannot exceed this value. |
| `requests.cpu` | Across all pods in a non-terminal state, the sum of CPU requests cannot exceed this value. |
| `requests.memory` | Across all pods in a non-terminal state, the sum of memory requests cannot exceed this value. |
+
+## Storage Resource Quota
+
+You can limit the total sum of [storage resources](/docs/user-guide/persistent-volumes) that can be requested in a given namespace.
+
+In addition, you can limit consumption of storage resources based on associated storage-class.
+
+| Resource Name | Description |
+| --------------------- | ----------------------------------------------------------- |
| `requests.storage` | Across all persistent volume claims, the sum of storage requests cannot exceed this value. |
+| `persistentvolumeclaims` | The total number of [persistent volume claims](/docs/user-guide/persistent-volumes/#persistentvolumeclaims) that can exist in the namespace. |
+| `.storageclass.storage.k8s.io/requests.storage` | Across all persistent volume claims associated with the storage-class-name, the sum of storage requests cannot exceed this value. |
+| `.storageclass.storage.k8s.io/persistentvolumeclaims` | Across all persistent volume claims associated with the storage-class-name, the total number of [persistent volume claims](/docs/user-guide/persistent-volumes/#persistentvolumeclaims) that can exist in the namespace. |
+
+For example, if an operator wants to quota storage with `gold` storage class separate from `bronze` storage class, the operator can
+define a quota as follows:
+
+* `gold.storageclass.storage.k8s.io/requests.storage: 500Gi`
+* `bronze.storageclass.storage.k8s.io/requests.storage: 100Gi`
## Object Count Quota
@@ -125,7 +142,7 @@ The quota can be configured to quota either value.
If the quota has a value specified for `requests.cpu` or `requests.memory`, then it requires that every incoming
container makes an explicit request for those resources. If the quota has a value specified for `limits.cpu` or `limits.memory`,
-then it requires that every incoming container specifies an explict limit for those resources.
+then it requires that every incoming container specifies an explicit limit for those resources.
## Viewing and Setting Quotas
diff --git a/docs/admin/resourcequota/walkthrough.md b/docs/admin/resourcequota/walkthrough.md
index 7422f2abcf..1120e7550d 100644
--- a/docs/admin/resourcequota/walkthrough.md
+++ b/docs/admin/resourcequota/walkthrough.md
@@ -2,7 +2,7 @@
assignees:
- derekwaynecarr
- janetkuo
-
+title: Applying Resource Quotas and Limits
---
This example demonstrates a typical setup to control for resource usage in a namespace.
@@ -232,7 +232,7 @@ services.loadbalancers 0 2
services.nodeports 0 0
```
-As you can see, the pod that was created is consuming explict amounts of compute resources, and the usage is being
+As you can see, the pod that was created is consuming explicit amounts of compute resources, and the usage is being
tracked by Kubernetes properly.
## Step 5: Advanced quota scopes
diff --git a/docs/admin/salt.md b/docs/admin/salt.md
index 5d82b54d39..d2479ffff2 100644
--- a/docs/admin/salt.md
+++ b/docs/admin/salt.md
@@ -1,8 +1,7 @@
---
assignees:
- davidopp
-- lavalamp
-
+title: Configuring Kubernetes with Salt
---
The Kubernetes cluster can be configured using Salt.
diff --git a/docs/admin/service-accounts-admin.md b/docs/admin/service-accounts-admin.md
index 810f4d7515..4a31fbeced 100644
--- a/docs/admin/service-accounts-admin.md
+++ b/docs/admin/service-accounts-admin.md
@@ -4,7 +4,7 @@ assignees:
- davidopp
- lavalamp
- liggitt
-
+title: Managing Service Accounts
---
*This is a Cluster Administrator guide to service accounts. It assumes knowledge of
diff --git a/docs/admin/static-pods.md b/docs/admin/static-pods.md
index 531494fb04..4766002917 100644
--- a/docs/admin/static-pods.md
+++ b/docs/admin/static-pods.md
@@ -1,7 +1,7 @@
---
assignees:
- jsafrane
-
+title: Static Pods
---
**If you are running clustered Kubernetes and are using static pods to run a pod on every node, you should probably be using a [DaemonSet](/docs/admin/daemons/)!**
@@ -16,7 +16,7 @@ Static pod can be created in two ways: either by using configuration file(s) or
### Configuration files
-The configuration files are just standard pod definition in json or yaml format in specific directory. Use `kubelet --config=` to start kubelet daemon, which periodically scans the directory and creates/deletes static pods as yaml/json files appear/disappear there.
+The configuration files are just standard pod definition in json or yaml format in specific directory. Use `kubelet --pod-manifest-path=` to start kubelet daemon, which periodically scans the directory and creates/deletes static pods as yaml/json files appear/disappear there.
For example, this is how to start a simple web server as a static pod:
@@ -48,10 +48,10 @@ For example, this is how to start a simple web server as a static pod:
EOF
```
-2. Configure your kubelet daemon on the node to use this directory by running it with `--config=/etc/kubelet.d/` argument. On Fedora edit `/etc/kubernetes/kubelet` to include this line:
+2. Configure your kubelet daemon on the node to use this directory by running it with `--pod-manifest-path=/etc/kubelet.d/` argument. On Fedora edit `/etc/kubernetes/kubelet` to include this line:
```conf
- KUBELET_ARGS="--cluster-dns=10.254.0.10 --cluster-domain=kube.local --config=/etc/kubelet.d/"
+ KUBELET_ARGS="--cluster-dns=10.254.0.10 --cluster-domain=kube.local --pod-manifest-path=/etc/kubelet.d/"
```
Instructions for other distributions or Kubernetes installations may vary.
@@ -64,11 +64,11 @@ For example, this is how to start a simple web server as a static pod:
## Pods created via HTTP
-Kubelet periodically downloads a file specified by `--manifest-url=` argument and interprets it as a json/yaml file with a pod definition. It works the same as `--config=`, i.e. it's reloaded every now and then and changes are applied to running static pods (see below).
+Kubelet periodically downloads a file specified by `--manifest-url=` argument and interprets it as a json/yaml file with a pod definition. It works the same as `--pod-manifest-path=`, i.e. it's reloaded every now and then and changes are applied to running static pods (see below).
## Behavior of static pods
-When kubelet starts, it automatically starts all pods defined in directory specified in `--config=` or `--manifest-url=` arguments, i.e. our static-web. (It may take some time to pull nginx image, be patient…):
+When kubelet starts, it automatically starts all pods defined in directory specified in `--pod-manifest-path=` or `--manifest-url=` arguments, i.e. our static-web. (It may take some time to pull nginx image, be patient…):
```shell
[joe@my-node1 ~] $ docker ps
diff --git a/docs/admin/sysctls.md b/docs/admin/sysctls.md
index dc62b8c3d1..aa75c4df2a 100644
--- a/docs/admin/sysctls.md
+++ b/docs/admin/sysctls.md
@@ -1,7 +1,7 @@
---
assignees:
- sttts
-
+title: Using Sysctls in a Kubernetes Cluster
---
* TOC
@@ -9,7 +9,7 @@ assignees:
This document describes how sysctls are used within a Kubernetes cluster.
-## What is a _Sysctl_?
+## What is a Sysctl?
In Linux, the sysctl interface allows an administrator to modify kernel
parameters at runtime. Parameters are available via the `/proc/sys/` virtual
diff --git a/docs/api-reference/README.md b/docs/api-reference/README.md
deleted file mode 100644
index 905b267947..0000000000
--- a/docs/api-reference/README.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
----
-
-# API Reference
-
-Use the following reference docs to understand the kubernetes REST API for various API group versions:
-
-* v1: [operations](/docs/api-reference/v1/operations.html), [model definitions](/docs/api-reference/v1/definitions.html)
-* extensions/v1beta1: [operations](/docs/api-reference/extensions/v1beta1/operations.html), [model definitions](/docs/api-reference/extensions/v1beta1/definitions.html)
-* batch/v1: [operations](/docs/api-reference/batch/v1/operations.html), [model definitions](/docs/api-reference/batch/v1/definitions.html)
-* autoscaling/v1: [operations](/docs/api-reference/autoscaling/v1/operations.html), [model definitions](/docs/api-reference/autoscaling/v1/definitions.html)
-
-
-
-
-
-
-
-[]()
-
diff --git a/docs/api-reference/apps/v1alpha1/definitions.html b/docs/api-reference/apps/v1beta1/definitions.html
similarity index 89%
rename from docs/api-reference/apps/v1alpha1/definitions.html
rename to docs/api-reference/apps/v1beta1/definitions.html
index 0dfdf27a56..77ef25e10c 100755
--- a/docs/api-reference/apps/v1alpha1/definitions.html
+++ b/docs/api-reference/apps/v1beta1/definitions.html
@@ -18,10 +18,10 @@
Represents a Photon Controller persistent disk resource.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
pdID
+
ID that identifies Photon Controller persistent disk
+
true
+
string
+
+
+
+
fsType
+
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+
false
+
string
+
+
+
+
+
+
+
+
versioned.Event
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
type
+
+
true
+
string
+
+
+
+
object
+
+
true
+
string
+
+
+
+
+
+
+
v1.Preconditions
Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk
false
string
partition
-
The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#gcepersistentdisk
+
The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk
Entrypoint array. Not executed within a shell. The docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/containers.md#containers-and-commands
+
Entrypoint array. Not executed within a shell. The docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers#containers-and-commands
false
string array
args
-
Arguments to the entrypoint. The docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/containers.md#containers-and-commands
+
Arguments to the entrypoint. The docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers#containers-and-commands
A StatefulSetSpec is the specification of a StatefulSet.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
replicas
+
Replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1.
Template is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet.
VolumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.
ServiceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where "pod-specific-string" is managed by the StatefulSet controller.
+
true
+
string
+
+
+
+
+
v1.ObjectMeta
@@ -1232,7 +1410,7 @@ Examples:
-
+
@@ -1246,7 +1424,7 @@ Examples:
name
-
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/identifiers.md#names
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
false
string
@@ -1257,7 +1435,7 @@ Examples:
If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
@@ -1307,16 +1485,16 @@ Populated by the system. Read-only. Value must be treated as opaque by clients a
creationTimestamp
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
false
object
annotations
-
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.4/docs/user-guide/annotations.md
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
false
object
@@ -1378,7 +1556,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -1399,21 +1577,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -1478,7 +1656,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -1526,7 +1704,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -1568,7 +1746,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
fsType
-
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#iscsi
+
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#iscsi
false
string
@@ -1583,68 +1761,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
-
-
v1alpha1.PetSetSpec
-
-
A PetSetSpec is the specification of a PetSet.
-
-
-
-
-
-
-
-
-
-
-
-
Name
-
Description
-
Required
-
Schema
-
Default
-
-
-
-
-
replicas
-
Replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1.
Template is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the PetSet will fulfill this Template, but have a unique identity from the rest of the PetSet.
VolumeClaimTemplates is a list of claims that pets are allowed to reference. The PetSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pet. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.
ServiceName is the name of the service that governs this PetSet. This service must exist before the PetSet, and is responsible for the network identity of the set. Pets get DNS/hostnames that follow the pattern: pet-specific-string.serviceName.default.svc.cluster.local where "pet-specific-string" is managed by the PetSet controller.
-
true
-
string
-
-
-
-
-
v1.EmptyDirVolumeSource
@@ -1657,7 +1773,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -1671,7 +1787,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
What type of storage medium should back this directory. The default is "" which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir
false
string
@@ -1697,7 +1813,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -1711,21 +1827,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#awselasticblockstore
false
string
@@ -1955,7 +2071,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -1967,7 +2083,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
v1.FlockerVolumeSource
-
Represents a Flocker volume mounted by the Flocker agent. Flocker volumes do not support ownership management or SELinux relabeling.
+
Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.
@@ -1975,7 +2091,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -1989,8 +2105,15 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
datasetName
-
Required: the volume name. This is going to be store on metadata → name on the payload for Flocker
-
true
+
Name of the dataset stored as metadata → name on the dataset for Flocker should be considered as deprecated
+
false
+
string
+
+
+
+
datasetUUID
+
UUID of the dataset. This is unique identifier of a Flocker dataset
+
false
string
@@ -2009,7 +2132,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -2030,7 +2153,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -2098,7 +2221,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -2148,71 +2271,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
-
-
v1alpha1.PetSet
-
-
PetSet represents a set of pods with consistent identities. Identities are defined as:
- - Network: A single stable DNS and hostname.
- - Storage: As many VolumeClaims as requested.
-The PetSet guarantees that a given network identity will always map to the same storage identity. PetSet is currently in alpha and subject to change without notice.
@@ -2810,6 +2827,71 @@ The PetSet guarantees that a given network identity will always map to the same
+
+
+
v1beta1.StatefulSet
+
+
StatefulSet represents a set of pods with consistent identities. Identities are defined as:
+ - Network: A single stable DNS and hostname.
+ - Storage: As many VolumeClaims as requested.
+The StatefulSet guarantees that a given network identity will always map to the same storage identity.
HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#hostpath
+
HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://kubernetes.io/docs/user-guide/volumes#hostpath
List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers
@@ -3587,7 +3676,7 @@ The PetSet guarantees that a given network identity will always map to the same
imagePullSecrets
-
ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://releases.k8s.io/release-1.4/docs/user-guide/images.md#specifying-imagepullsecrets-on-a-pod
+
ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details
PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/release-1.4/docs/user-guide/container-environment.md#hook-details
+
PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#rbd
+
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#rbd
@@ -4003,7 +4092,7 @@ The PetSet guarantees that a given network identity will always map to the same
diff --git a/docs/api-reference/apps/v1alpha1/operations.html b/docs/api-reference/apps/v1beta1/operations.html
similarity index 91%
rename from docs/api-reference/apps/v1alpha1/operations.html
rename to docs/api-reference/apps/v1beta1/operations.html
index b46e335e91..8bcd4a2a08 100755
--- a/docs/api-reference/apps/v1alpha1/operations.html
+++ b/docs/api-reference/apps/v1beta1/operations.html
@@ -19,7 +19,7 @@
get available resources
-
GET /apis/apps/v1alpha1
+
GET /apis/apps/v1beta1
@@ -28,7 +28,7 @@
-
+
@@ -84,17 +84,17 @@
-
apisappsv1alpha1
+
apisappsv1beta1
-
list or watch objects of kind PetSet
+
list or watch objects of kind StatefulSet
-
GET /apis/apps/v1alpha1/namespaces/{namespace}/petsets
+
GET /apis/apps/v1beta1/namespaces/{namespace}/statefulsets
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/identifiers.md#names
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
false
string
@@ -180,7 +180,7 @@
If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
@@ -230,16 +230,16 @@ Populated by the system. Read-only. Value must be treated as opaque by clients a
creationTimestamp
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
false
object
annotations
-
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.4/docs/user-guide/annotations.md
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
false
object
@@ -301,7 +301,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -349,7 +349,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -383,7 +383,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -397,14 +397,14 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -500,7 +500,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -548,7 +548,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
diff --git a/docs/api-reference/authentication.k8s.io/v1beta1/operations.html b/docs/api-reference/authentication.k8s.io/v1beta1/operations.html
index 2934b11a6f..9a234b46fc 100755
--- a/docs/api-reference/authentication.k8s.io/v1beta1/operations.html
+++ b/docs/api-reference/authentication.k8s.io/v1beta1/operations.html
@@ -28,7 +28,7 @@
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/identifiers.md#names
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
false
string
@@ -125,7 +131,7 @@
If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
@@ -175,16 +181,16 @@ Populated by the system. Read-only. Value must be treated as opaque by clients a
creationTimestamp
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
false
object
annotations
-
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.4/docs/user-guide/annotations.md
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
false
object
@@ -236,9 +242,9 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
v1beta1.SubjectAccessReview
+
v1beta1.SelfSubjectAccessReview
-
SubjectAccessReview checks whether or not a user or group can perform an action.
+
SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a spec.namespace means "in all namespaces". Self is a special case, because users should always be able to check whether they can perform an action
@@ -246,7 +252,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -260,14 +266,76 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -298,9 +366,9 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
unversioned.APIResourceList
+
v1beta1.LocalSubjectAccessReview
-
APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.
+
LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.
@@ -308,7 +376,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -322,14 +390,76 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted.
APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.
@@ -363,7 +493,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -439,7 +569,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -468,6 +598,47 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
+
+
+
v1beta1.SelfSubjectAccessReviewSpec
+
+
SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
resourceAttributes
+
ResourceAuthorizationAttributes describes information for a resource access request
@@ -480,7 +651,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -542,7 +713,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -590,7 +761,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -638,7 +809,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
diff --git a/docs/api-reference/authorization.k8s.io/v1beta1/operations.html b/docs/api-reference/authorization.k8s.io/v1beta1/operations.html
index fb0c129910..bb75407034 100755
--- a/docs/api-reference/authorization.k8s.io/v1beta1/operations.html
+++ b/docs/api-reference/authorization.k8s.io/v1beta1/operations.html
@@ -28,7 +28,7 @@
-
+
@@ -91,10 +91,10 @@
-
create a SubjectAccessReview
+
create a LocalSubjectAccessReview
-
POST /apis/authorization.k8s.io/v1beta1/subjectaccessreviews
+
POST /apis/authorization.k8s.io/v1beta1/namespaces/{namespace}/localsubjectaccessreviews
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/identifiers.md#names
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
false
string
@@ -743,7 +779,7 @@
If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
@@ -793,16 +829,16 @@ Populated by the system. Read-only. Value must be treated as opaque by clients a
creationTimestamp
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
false
object
annotations
-
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.4/docs/user-guide/annotations.md
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
false
object
@@ -885,21 +921,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
Represents a Photon Controller persistent disk resource.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
pdID
+
ID that identifies Photon Controller persistent disk
+
true
+
string
+
+
+
+
fsType
+
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+
false
+
string
+
+
+
+
+
+
+
+
versioned.Event
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
type
+
+
true
+
string
+
+
+
+
object
+
+
true
+
string
+
+
+
+
+
+
+
v1.Preconditions
Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
-
-
-
-
-
-
-
-
-
-
-
-
Name
-
Description
-
Required
-
Schema
-
Default
-
-
-
-
-
matchLabels
-
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
-
false
-
object
-
-
-
-
matchExpressions
-
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk
false
string
partition
-
The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#gcepersistentdisk
+
The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk
Entrypoint array. Not executed within a shell. The docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/containers.md#containers-and-commands
+
Entrypoint array. Not executed within a shell. The docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers#containers-and-commands
false
string array
args
-
Arguments to the entrypoint. The docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/containers.md#containers-and-commands
+
Arguments to the entrypoint. The docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers#containers-and-commands
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/identifiers.md#names
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
false
string
@@ -1312,7 +1348,7 @@ Examples:
If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
@@ -1362,16 +1398,16 @@ Populated by the system. Read-only. Value must be treated as opaque by clients a
creationTimestamp
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
false
object
annotations
-
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.4/docs/user-guide/annotations.md
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
false
object
@@ -1454,21 +1490,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -1623,7 +1659,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
fsType
-
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#iscsi
+
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#iscsi
false
string
@@ -1664,7 +1700,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
What type of storage medium should back this directory. The default is "" which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir
false
string
@@ -1704,21 +1740,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#awselasticblockstore
false
string
@@ -1886,7 +1922,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -1898,7 +1934,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
v1.FlockerVolumeSource
-
Represents a Flocker volume mounted by the Flocker agent. Flocker volumes do not support ownership management or SELinux relabeling.
+
Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.
@@ -1920,8 +1956,15 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
datasetName
-
Required: the volume name. This is going to be store on metadata → name on the payload for Flocker
-
true
+
Name of the dataset stored as metadata → name on the dataset for Flocker should be considered as deprecated
+
false
+
string
+
+
+
+
datasetUUID
+
UUID of the dataset. This is unique identifier of a Flocker dataset
+
false
string
@@ -1961,7 +2004,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -2093,6 +2136,47 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
+
+
+
unversioned.LabelSelector
+
+
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
matchLabels
+
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
+
false
+
object
+
+
+
+
matchExpressions
+
matchExpressions is a list of label selector requirements. The requirements are ANDed.
@@ -2268,54 +2352,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
-
-
v1.LabelSelectorRequirement
-
-
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
-
-
-
-
-
-
-
-
-
-
-
-
Name
-
Description
-
Required
-
Schema
-
Default
-
-
-
-
-
key
-
key is the label key that the selector applies to.
-
true
-
string
-
-
-
-
operator
-
operator represents a key’s relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
-
true
-
string
-
-
-
-
values
-
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
-
false
-
string array
-
-
-
-
-
v1.EnvVar
@@ -2548,14 +2584,14 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -2740,14 +2776,14 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
parallelism
-
Parallelism specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: http://releases.k8s.io/release-1.4/docs/user-guide/jobs.md
+
Parallelism specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: http://kubernetes.io/docs/user-guide/jobs
false
integer (int32)
completions
-
Completions specifies the desired number of successfully finished pods the job should be run with. Setting to nil means that the success of any pod signals the success of all pods, and allows parallelism to have any positive value. Setting to 1 means that parallelism is limited to 1 and the success of that pod signals the success of the job. More info: http://releases.k8s.io/release-1.4/docs/user-guide/jobs.md
+
Completions specifies the desired number of successfully finished pods the job should be run with. Setting to nil means that the success of any pod signals the success of all pods, and allows parallelism to have any positive value. Setting to 1 means that parallelism is limited to 1 and the success of that pod signals the success of the job. More info: http://kubernetes.io/docs/user-guide/jobs
false
integer (int32)
@@ -2761,21 +2797,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
ManualSelector controls generation of pod labels and pod selectors. Leave manualSelector unset unless you are certain what you are doing. When false or unset, the system pick labels unique to this job and appends those labels to the pod template. When true, the user is responsible for picking unique labels and specifying the selector. Failure to pick a unique label may cause this and other jobs to not function correctly. However, You may see manualSelector=true in jobs that were created with the old extensions/v1beta1 API. More info: http://releases.k8s.io/release-1.4/docs/design/selector-generation.md
+
ManualSelector controls generation of pod labels and pod selectors. Leave manualSelector unset unless you are certain what you are doing. When false or unset, the system pick labels unique to this job and appends those labels to the pod template. When true, the user is responsible for picking unique labels and specifying the selector. Failure to pick a unique label may cause this and other jobs to not function correctly. However, You may see manualSelector=true in jobs that were created with the old extensions/v1beta1 API. More info: http://releases.k8s.io/HEAD/docs/design/selector-generation.md
HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#hostpath
+
HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://kubernetes.io/docs/user-guide/volumes#hostpath
@@ -3164,6 +3207,54 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
+
+
+
unversioned.LabelSelectorRequirement
+
+
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
key
+
key is the label key that the selector applies to.
+
true
+
string
+
+
+
+
operator
+
operator represents a key’s relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
+
true
+
string
+
+
+
+
values
+
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
+
false
+
string array
+
+
+
+
+
unversioned.APIResourceList
@@ -3190,14 +3281,14 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers
@@ -3574,7 +3665,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
imagePullSecrets
-
ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://releases.k8s.io/release-1.4/docs/user-guide/images.md#specifying-imagepullsecrets-on-a-pod
+
ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details
PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/release-1.4/docs/user-guide/container-environment.md#hook-details
+
PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#rbd
+
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#rbd
@@ -3935,7 +4026,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
diff --git a/docs/api-reference/batch/v1/operations.html b/docs/api-reference/batch/v1/operations.html
index 3883aca7d9..5be3ce0b60 100755
--- a/docs/api-reference/batch/v1/operations.html
+++ b/docs/api-reference/batch/v1/operations.html
@@ -1,5 +1,7 @@
---
+title: Batch API Operations
---
+
@@ -219,6 +221,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -370,6 +378,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -962,6 +976,22 @@
+
QueryParameter
+
gracePeriodSeconds
+
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/identifiers.md#names
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
false
string
@@ -720,7 +754,7 @@
If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
@@ -770,16 +804,16 @@ Populated by the system. Read-only. Value must be treated as opaque by clients a
creationTimestamp
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
false
object
annotations
-
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.4/docs/user-guide/annotations.md
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
false
object
@@ -841,7 +875,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -862,21 +896,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
DesiredNumberScheduled is the total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md
+
true
+
integer (int32)
+
+
+
+
numberReady
+
NumberReady is the number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.
true
integer (int32)
@@ -191,7 +207,7 @@
v1beta1.Job
-
Job represents the configuration of a single job.
+
Job represents the configuration of a single job. DEPRECATED: extensions/v1beta1.Job is deprecated, use batch/v1.Job instead.
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk
false
string
partition
-
The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#gcepersistentdisk
+
The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/identifiers.md#names
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
false
string
@@ -1280,7 +1354,7 @@ Examples:
If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
@@ -1330,16 +1404,16 @@ Populated by the system. Read-only. Value must be treated as opaque by clients a
creationTimestamp
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
false
object
annotations
-
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.4/docs/user-guide/annotations.md
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
false
object
@@ -1415,21 +1489,28 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)
false
integer (int32)
selector
-
Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://releases.k8s.io/release-1.4/docs/user-guide/labels.md#label-selectors
+
Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
Template is the object that describes the pod that will be created. The DaemonSet will create exactly one copy of this pod on every node that matches the template’s node selector (or on every node if no node selector is specified). More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template
@@ -1646,7 +1727,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
fsType
-
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#iscsi
+
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#iscsi
false
string
@@ -1687,7 +1768,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
What type of storage medium should back this directory. The default is "" which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir
false
string
@@ -1721,21 +1802,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -1794,7 +1875,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
v1.FlockerVolumeSource
-
Represents a Flocker volume mounted by the Flocker agent. Flocker volumes do not support ownership management or SELinux relabeling.
+
Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.
@@ -1816,8 +1897,15 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
datasetName
-
Required: the volume name. This is going to be store on metadata → name on the payload for Flocker
-
true
+
Name of the dataset stored as metadata → name on the dataset for Flocker should be considered as deprecated
+
false
+
string
+
+
+
+
datasetUUID
+
UUID of the dataset. This is unique identifier of a Flocker dataset
+
false
string
@@ -1850,7 +1938,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -1968,6 +2056,47 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
+
+
+
unversioned.LabelSelector
+
+
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
matchLabels
+
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
+
false
+
object
+
+
+
+
matchExpressions
+
matchExpressions is a list of label selector requirements. The requirements are ANDed.
HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#hostpath
+
HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://kubernetes.io/docs/user-guide/volumes#hostpath
The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Once autoRollback is implemented, the deployment controller will automatically rollback failed deployments. Note that progress will not be estimated during the time a deployment is paused. This is not set by default.
+
false
+
integer (int32)
+
+
@@ -3007,14 +3150,14 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers
@@ -3370,7 +3513,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
imagePullSecrets
-
ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://releases.k8s.io/release-1.4/docs/user-guide/images.md#specifying-imagepullsecrets-on-a-pod
+
ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details
PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/release-1.4/docs/user-guide/container-environment.md#hook-details
+
PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.4/docs/user-guide/volumes.md#rbd
+
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#rbd
@@ -3770,6 +3913,47 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
+
+
+
v1.PhotonPersistentDiskVolumeSource
+
+
Represents a Photon Controller persistent disk resource.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
pdID
+
ID that identifies Photon Controller persistent disk
+
true
+
string
+
+
+
+
fsType
+
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+
false
+
string
+
+
+
+
+
v1beta1.NetworkPolicy
@@ -3793,21 +3977,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
label selector for pods that should match the replicas count. This is a serializated version of both map-based and more expressive set-based selectors. This is done to avoid introspection in the clients. The string will be in the same format as the query-param syntax. If the target type only supports map-based selectors, both this field and map-based selector field are populated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/labels.md#label-selectors
+
label selector for pods that should match the replicas count. This is a serializated version of both map-based and more expressive set-based selectors. This is done to avoid introspection in the clients. The string will be in the same format as the query-param syntax. If the target type only supports map-based selectors, both this field and map-based selector field are populated. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
false
string
@@ -3895,7 +4117,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
podSelector
Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.
@@ -4494,14 +4716,14 @@ Both these may change in the future. Incoming requests are matched against the h
podSelector
This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace.
Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces.
Entrypoint array. Not executed within a shell. The docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/containers.md#containers-and-commands
+
Entrypoint array. Not executed within a shell. The docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers#containers-and-commands
false
string array
args
-
Arguments to the entrypoint. The docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/containers.md#containers-and-commands
+
Arguments to the entrypoint. The docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers#containers-and-commands
false
string array
@@ -4771,7 +4993,7 @@ Both these may change in the future. Incoming requests are matched against the h
@@ -5062,51 +5284,24 @@ Both these may change in the future. Incoming requests are matched against the h
+
availableReplicas
+
The number of available replicas (ready for at least minReadySeconds) for this replica set.
+
false
+
integer (int32)
+
+
+
observedGeneration
ObservedGeneration reflects the generation of the most recently observed ReplicaSet.
false
integer (int64)
-
-
-
-
-
-
v1beta1.LabelSelector
-
-
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
-
-
-
-
-
-
-
-
-
-
-
Name
-
Description
-
Required
-
Schema
-
Default
-
-
-
-
-
matchLabels
-
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
+
conditions
+
Represents the latest available observations of a replica set’s current state.
false
-
object
-
-
-
-
matchExpressions
-
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#awselasticblockstore
false
string
@@ -5441,7 +5636,7 @@ Both these may change in the future. Incoming requests are matched against the h
@@ -5566,54 +5761,6 @@ Both these may change in the future. Incoming requests are matched against the h
-
-
-
v1beta1.LabelSelectorRequirement
-
-
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
-
-
-
-
-
-
-
-
-
-
-
-
Name
-
Description
-
Required
-
Schema
-
Default
-
-
-
-
-
key
-
key is the label key that the selector applies to.
-
true
-
string
-
-
-
-
operator
-
operator represents a key’s relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
-
true
-
string
-
-
-
-
values
-
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
-
false
-
string array
-
-
-
-
-
v1.EnvVar
@@ -5729,14 +5876,14 @@ Both these may change in the future. Incoming requests are matched against the h
@@ -5782,6 +5929,75 @@ Both these may change in the future. Incoming requests are matched against the h
+
+
+
v1beta1.DeploymentCondition
+
+
DeploymentCondition describes the state of a deployment at a certain point.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
type
+
Type of deployment condition.
+
true
+
string
+
+
+
+
status
+
Status of the condition, one of True, False, Unknown.
+
true
+
string
+
+
+
+
lastUpdateTime
+
The last time this condition was updated.
+
false
+
string (date-time)
+
+
+
+
lastTransitionTime
+
Last time the condition transitioned from one status to another.
+
false
+
string (date-time)
+
+
+
+
reason
+
The reason for the condition’s last transition.
+
false
+
string
+
+
+
+
message
+
A human readable message indicating details about the transition.
+
false
+
string
+
+
+
+
+
v1beta1.JobSpec
@@ -5808,14 +6024,14 @@ Both these may change in the future. Incoming requests are matched against the h
parallelism
-
Parallelism specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: http://releases.k8s.io/release-1.4/docs/user-guide/jobs.md
+
Parallelism specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: http://kubernetes.io/docs/user-guide/jobs
false
integer (int32)
completions
-
Completions specifies the desired number of successfully finished pods the job should be run with. Setting to nil means that the success of any pod signals the success of all pods, and allows parallelism to have any positive value. Setting to 1 means that parallelism is limited to 1 and the success of that pod signals the success of the job. More info: http://releases.k8s.io/release-1.4/docs/user-guide/jobs.md
+
Completions specifies the desired number of successfully finished pods the job should be run with. Setting to nil means that the success of any pod signals the success of all pods, and allows parallelism to have any positive value. Setting to 1 means that parallelism is limited to 1 and the success of that pod signals the success of the job. More info: http://kubernetes.io/docs/user-guide/jobs
false
integer (int32)
@@ -5829,21 +6045,21 @@ Both these may change in the future. Incoming requests are matched against the h
AutoSelector controls generation of pod labels and pod selectors. It was not present in the original extensions/v1beta1 Job definition, but exists to allow conversion from batch/v1 Jobs, where it corresponds to, but has the opposite meaning as, ManualSelector. More info: http://releases.k8s.io/release-1.4/docs/design/selector-generation.md
+
AutoSelector controls generation of pod labels and pod selectors. It was not present in the original extensions/v1beta1 Job definition, but exists to allow conversion from batch/v1 Jobs, where it corresponds to, but has the opposite meaning as, ManualSelector. More info: http://releases.k8s.io/HEAD/docs/design/selector-generation.md
@@ -5851,6 +6067,54 @@ Both these may change in the future. Incoming requests are matched against the h
+
+
+
unversioned.LabelSelectorRequirement
+
+
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
key
+
key is the label key that the selector applies to.
+
true
+
string
+
+
+
+
operator
+
operator represents a key’s relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
+
true
+
string
+
+
+
+
values
+
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
+
false
+
string array
+
+
+
+
+
unversioned.Status
@@ -5877,28 +6141,28 @@ Both these may change in the future. Incoming requests are matched against the h
@@ -6056,7 +6320,7 @@ Both these may change in the future. Incoming requests are matched against the h
path
-
Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a /. If unspecified, the path defaults to a catch all sending traffic to the backend.
+
Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e. this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a /. If unspecified, the path defaults to a catch all sending traffic to the backend.
false
string
@@ -6097,35 +6361,35 @@ Both these may change in the future. Incoming requests are matched against the h
@@ -6204,7 +6468,7 @@ Both these may change in the future. Incoming requests are matched against the h
diff --git a/docs/api-reference/extensions/v1beta1/definitions.md b/docs/api-reference/extensions/v1beta1/definitions.md
index c7cdbb0908..f5c5208e1b 100644
--- a/docs/api-reference/extensions/v1beta1/definitions.md
+++ b/docs/api-reference/extensions/v1beta1/definitions.md
@@ -1,11 +1,7 @@
---
---
-{% include v1.4/extensions-v1beta1-definitions.html %}
-
-
-
-
+{% include v1.5/extensions-v1beta1-definitions.html %}
diff --git a/docs/api-reference/extensions/v1beta1/operations.html b/docs/api-reference/extensions/v1beta1/operations.html
index 78a0f60bf6..a97f64b789 100755
--- a/docs/api-reference/extensions/v1beta1/operations.html
+++ b/docs/api-reference/extensions/v1beta1/operations.html
@@ -1,5 +1,7 @@
---
+title: Extensions API Operations
---
+
@@ -219,6 +221,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -362,6 +370,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -505,6 +519,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -648,6 +668,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -791,6 +817,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -942,6 +974,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -1534,6 +1572,22 @@
+
QueryParameter
+
gracePeriodSeconds
+
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
@@ -2264,6 +2318,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -2856,6 +2916,22 @@
+
QueryParameter
+
gracePeriodSeconds
+
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
@@ -4092,6 +4168,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -4684,6 +4766,22 @@
+
QueryParameter
+
gracePeriodSeconds
+
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
@@ -5414,6 +5512,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -5580,7 +5684,7 @@
-
create a Ingress
+
create an Ingress
POST /apis/extensions/v1beta1/namespaces/{namespace}/ingresses
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
@@ -6736,6 +6856,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -7328,6 +7454,22 @@
+
QueryParameter
+
gracePeriodSeconds
+
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
@@ -8058,6 +8200,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -8650,6 +8798,22 @@
+
QueryParameter
+
gracePeriodSeconds
+
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
@@ -9001,6 +9165,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -9593,6 +9763,22 @@
+
QueryParameter
+
gracePeriodSeconds
+
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
@@ -11073,6 +11259,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -11216,6 +11408,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -11359,6 +11557,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -11919,6 +12123,22 @@
+
QueryParameter
+
gracePeriodSeconds
+
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
diff --git a/docs/api-reference/extensions/v1beta1/operations.md b/docs/api-reference/extensions/v1beta1/operations.md
index 3aedba68c8..dab4b1d5b7 100644
--- a/docs/api-reference/extensions/v1beta1/operations.md
+++ b/docs/api-reference/extensions/v1beta1/operations.md
@@ -1,11 +1,7 @@
---
---
-{% include v1.4/extensions-v1beta1-operations.html %}
-
-
-
-
+{% include v1.5/extensions-v1beta1-operations.html %}
diff --git a/docs/api-reference/labels-annotations-taints.md b/docs/api-reference/labels-annotations-taints.md
new file mode 100644
index 0000000000..e159fbf818
--- /dev/null
+++ b/docs/api-reference/labels-annotations-taints.md
@@ -0,0 +1,113 @@
+---
+title: Well-Known Labels, Annotations and Taints
+---
+
+Kubernetes reserves all labels and annotations in the kubernetes.io namespace. This document describes
+the well-known kubernetes.io labels and annotations.
+
+This document serves both as a reference to the values, and as a coordination point for assigning values.
+
+**Table of contents:**
+
+
+- [Well-Known Labels, Annotations and Taints](#well-known-labels-annotations-and-taints)
+ - [beta.kubernetes.io/arch](#betakubernetesioarch)
+ - [beta.kubernetes.io/os](#betakubernetesioos)
+ - [kubernetes.io/hostname](#kubernetesiohostname)
+ - [beta.kubernetes.io/instance-type](#betakubernetesioinstance-type)
+ - [failure-domain.beta.kubernetes.io/region](#failure-domainbetakubernetesioregion)
+ - [failure-domain.beta.kubernetes.io/zone](#failure-domainbetakubernetesiozone)
+
+
+
+
+## beta.kubernetes.io/arch
+
+Example: `beta.kubernetes.io/arch=amd64`
+
+Used on: Node
+
+Kubelet populates this with `runtime.GOARCH` as defined by Go. This can be handy if you are mixing arm and x86 nodes,
+for example.
+
+## beta.kubernetes.io/os
+
+Example: `beta.kubernetes.io/os=linux`
+
+Used on: Node
+
+Kubelet populates this with `runtime.GOOS` as defined by Go. This can be handy if you are mixing operating systems
+in your cluster (although currently Linux is the only OS supported by Kubernetes).
+
+## kubernetes.io/hostname
+
+Example: `kubernetes.io/hostname=ip-172-20-114-199.ec2.internal`
+
+Used on: Node
+
+Kubelet populates this with the hostname. Note that the hostname can be changed from the "actual" hostname
+by passing the `--hostname-override` flag to kubelet.
+
+## beta.kubernetes.io/instance-type
+
+Example: `beta.kubernetes.io/instance-type=m3.medium`
+
+Used on: Node
+
+Kubelet populates this with the instance type as defined by the `cloudprovider`. It will not be set if
+not using a cloudprovider. This can be handy if you want to target certain workloads to certain instance
+types, but typically you want to rely on the Kubernetes scheduler to perform resource-based scheduling,
+and you should aim to schedule based on properties rather than on instance types (e.g. require a GPU, instead
+of requiring a `g2.2xlarge`)
+
+
+## failure-domain.beta.kubernetes.io/region
+
+See [failure-domain.beta.kubernetes.io/zone](#failure-domainbetakubernetesiozone)
+
+## failure-domain.beta.kubernetes.io/zone
+
+Example:
+
+`failure-domain.beta.kubernetes.io/region=us-east-1`
+
+`failure-domain.beta.kubernetes.io/zone=us-east-1c`
+
+Used on: Node, PersistentVolume
+
+On the Node: Kubelet populates this with the zone information as defined by the `cloudprovider`. It will not be set if
+not using a `cloudprovider`, but you should consider setting it on the nodes if it makes sense in your topology.
+
+On the PersistentVolume: The `PersistentVolumeLabel` admission controller will automatically add zone labels to PersistentVolumes,
+on GCE and AWS.
+
+Kubernetes will automatically spread the pods in a replication controller or service across nodes in a single-zone
+cluster (to reduce the impact of failures.) With multiple-zone clusters, this spreading behaviour is extended
+across zones (to reduce the impact of zone failures.) This is achieved via SelectorSpreadPriority.
+
+This is a best-effort placement, and so if the zones in your cluster are heterogeneous (e.g. different numbers of nodes,
+different types of nodes, or different pod resource requirements), this might prevent equal spreading of
+your pods across zones. If desired, you can use homogenous zones (same number and types of nodes) to reduce
+the probability of unequal spreading.
+
+The scheduler (via the VolumeZonePredicate predicate) will also ensure that pods that claim a given volume
+are only placed into the same zone as that volume, as volumes cannot be attached across zones.
+
+
+The actual values of zone and region don't matter, and nor is the meaning of the hierarchy rigidly defined. The expectation
+is that failures of nodes in different zones should be uncorrelated unless the entire region has failed. For example,
+zones should typically avoid sharing a single network switch. The exact mapping depends on your particular
+infrastructure - a three-rack installation will choose a very different setup to a multi-datacenter configuration.
+
+If `PersistentVolumeLabel` does not support automatic labeling of your PersistentVolumes, you should consider
+adding the labels manually (or adding support to `PersistentVolumeLabel`), if you want the scheduler to prevent
+pods from mounting volumes in a different zone. If your infrastructure doesn't have this constraint, you don't
+need to add the zone labels to the volumes at all.
+
+
+
+
+
+
+[]()
+
diff --git a/docs/api-reference/policy/v1alpha1/definitions.html b/docs/api-reference/policy/v1beta1/definitions.html
similarity index 84%
rename from docs/api-reference/policy/v1alpha1/definitions.html
rename to docs/api-reference/policy/v1beta1/definitions.html
index d5c2c1124a..844e66c00a 100755
--- a/docs/api-reference/policy/v1alpha1/definitions.html
+++ b/docs/api-reference/policy/v1beta1/definitions.html
@@ -18,10 +18,10 @@
PodDisruptionBudgetStatus represents information about the status of a PodDisruptionBudget. Status may trail the actual state of a system.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
observedGeneration
+
Most recent generation observed when updating this PDB status. PodDisruptionsAllowed and other status informatio is valid only if observedGeneration equals to PDB’s object generation.
+
false
+
integer (int64)
+
+
+
+
disruptedPods
+
DisruptedPods contains information about pods whose eviction was processed by the API server eviction subresource handler but has not yet been observed by the PodDisruptionBudget controller. A pod will be in this map from the time when the API server processed the eviction request to the time when the pod is seen by PDB controller as having been marked for deletion (or after a timeout). The key in the map is the name of the pod and the value is the time when the API server processed the eviction request. If the deletion didn’t occur and a pod is still there it will be removed from the list automatically by PodDisruptionBudget controller after some time. If everything goes smooth this map should be empty for the most of the time. Large number of entries in the map may indicate problems with pod deletions.
+
true
+
object
+
+
+
+
disruptionsAllowed
+
Number of pod disruptions that are currently allowed.
+
true
+
integer (int32)
+
+
+
+
currentHealthy
+
current number of healthy pods
+
true
+
integer (int32)
+
+
+
+
desiredHealthy
+
minimum desired number of healthy pods
+
true
+
integer (int32)
+
+
+
+
expectedPods
+
total number of pods counted by this disruption budget
+
true
+
integer (int32)
+
+
+
+
+
unversioned.LabelSelector
@@ -463,7 +518,7 @@
-
+
@@ -494,9 +549,9 @@
-
unversioned.Status
+
v1beta1.PodDisruptionBudgetList
-
Status is a return value for calls that don’t return other objects.
+
PodDisruptionBudgetList is a collection of PodDisruptionBudgets.
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/identifiers.md#names
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
false
string
@@ -660,7 +770,7 @@
If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
@@ -710,16 +820,16 @@ Populated by the system. Read-only. Value must be treated as opaque by clients a
creationTimestamp
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
false
object
annotations
-
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.4/docs/user-guide/annotations.md
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
false
object
@@ -781,7 +891,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -802,21 +912,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -950,7 +957,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -990,6 +997,47 @@ Examples:
+
+
+
v1beta1.PodDisruptionBudgetSpec
+
+
PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.
+
+
+
+
+
+
+
+
+
+
+
+
Name
+
Description
+
Required
+
Schema
+
Default
+
+
+
+
+
minAvailable
+
An eviction is allowed if at least "minAvailable" pods selected by "selector" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying "100%".
+
false
+
string
+
+
+
+
selector
+
Label query over pods whose evictions are managed by the disruption budget.
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
@@ -844,7 +866,7 @@
-
+
@@ -894,7 +916,7 @@
-
apispolicyv1alpha1
+
apispolicyv1beta1
@@ -904,7 +926,7 @@
partially update the specified PodDisruptionBudget
If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/identifiers.md#names
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
false
string
@@ -885,7 +843,7 @@
If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
@@ -935,16 +893,16 @@ Populated by the system. Read-only. Value must be treated as opaque by clients a
creationTimestamp
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
false
object
annotations
-
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.4/docs/user-guide/annotations.md
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
false
object
@@ -1006,7 +964,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -1027,21 +985,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
@@ -1174,7 +1132,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
roleRef
RoleRef can reference a Role in the current namespace or a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
name
name of the ClusterRoleBinding
@@ -780,7 +802,7 @@
-
+
@@ -852,7 +874,7 @@
-
+
@@ -899,7 +921,7 @@
-
+
@@ -977,7 +999,7 @@
-
+
@@ -1048,7 +1070,7 @@
-
+
@@ -1090,6 +1112,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -1120,7 +1148,7 @@
-
+
@@ -1191,7 +1219,7 @@
-
+
@@ -1263,7 +1291,7 @@
-
+
@@ -1302,7 +1330,7 @@
-
+
@@ -1374,7 +1402,7 @@
-
+
@@ -1413,7 +1441,7 @@
-
+
@@ -1485,7 +1513,7 @@
-
+
@@ -1532,7 +1560,7 @@
-
+
@@ -1604,7 +1632,7 @@
-
+
@@ -1634,6 +1662,22 @@
+
QueryParameter
+
gracePeriodSeconds
+
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
name
name of the ClusterRole
@@ -1651,7 +1695,7 @@
-
+
@@ -1723,7 +1767,7 @@
-
+
@@ -1770,7 +1814,7 @@
-
+
@@ -1848,7 +1892,7 @@
-
+
@@ -1927,7 +1971,7 @@
-
+
@@ -1969,6 +2013,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -1999,7 +2049,7 @@
-
+
@@ -2078,7 +2128,7 @@
-
+
@@ -2150,7 +2200,7 @@
-
+
@@ -2197,7 +2247,7 @@
-
+
@@ -2269,7 +2319,7 @@
-
+
@@ -2316,7 +2366,7 @@
-
+
@@ -2388,7 +2438,7 @@
-
+
@@ -2443,7 +2493,7 @@
-
+
@@ -2515,7 +2565,7 @@
-
+
@@ -2545,6 +2595,22 @@
+
QueryParameter
+
gracePeriodSeconds
+
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
@@ -2570,7 +2636,7 @@
-
+
@@ -2642,7 +2708,7 @@
-
+
@@ -2697,7 +2763,7 @@
-
+
@@ -2775,7 +2841,7 @@
-
+
@@ -2854,7 +2920,7 @@
-
+
@@ -2896,6 +2962,12 @@
application/vnd.kubernetes.protobuf
+
+
application/json;stream=watch
+
+
+
application/vnd.kubernetes.protobuf;stream=watch
+
@@ -2926,7 +2998,7 @@
-
+
@@ -3005,7 +3077,7 @@
-
+
@@ -3077,7 +3149,7 @@
-
+
@@ -3124,7 +3196,7 @@
-
+
@@ -3196,7 +3268,7 @@
-
+
@@ -3243,7 +3315,7 @@
-
+
@@ -3315,7 +3387,7 @@
-
+
@@ -3370,7 +3442,7 @@
-
+
@@ -3442,7 +3514,7 @@
-
+
@@ -3472,6 +3544,22 @@
+
QueryParameter
+
gracePeriodSeconds
+
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
+
false
+
boolean
+
+
+
PathParameter
namespace
object name and auth scope, such as for teams and projects
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.4/docs/user-guide/identifiers.md#names
+
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
false
string
@@ -581,7 +615,7 @@
If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
@@ -631,16 +665,16 @@ Populated by the system. Read-only. Value must be treated as opaque by clients a
creationTimestamp
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
+
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
false
object
annotations
-
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.4/docs/user-guide/annotations.md
+
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
false
object
@@ -702,7 +736,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-
+
@@ -723,21 +757,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
+
false
+
integer (int32)
+
+
+
+
QueryParameter
+
orphanDependents
+
Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list.
diff --git a/docs/api-reference/v1.5/LICENSE b/docs/api-reference/v1.5/LICENSE
new file mode 100644
index 0000000000..8dada3edaf
--- /dev/null
+++ b/docs/api-reference/v1.5/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/docs/api-reference/v1.5/README.md b/docs/api-reference/v1.5/README.md
new file mode 100644
index 0000000000..f6799c18b9
--- /dev/null
+++ b/docs/api-reference/v1.5/README.md
@@ -0,0 +1,69 @@
+## Synopsis
+
+Static compilation of html from markdown including processing for grouping code snippets into arbitrary tabs.
+
+## Code Example
+
+\> bdocs-tab:kubectl Deployment Config to run 3 nginx instances (max rollback set to 10 revisions).
+
+bdocs-tab:tab will be stripped during rendering and utilized to with CSS to show or hide the prefered tab. kubectl indicates the desired tab, since blockquotes have no specific syntax highlighting.
+
+\`\`\`bdocs-tab:kubectl_yaml
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: deployment-example
+spec:
+ replicas: 3
+ revisionHistoryLimit: 10
+ template:
+ metadata:
+ labels:
+ app: nginx
+ spec:
+ containers:
+ - name: nginx
+ image: nginx:1.10
+\`\`\`
+
+bdocs-tab:tab_lang will be used to indicate which tab these code snippets belong to. The tab section of the string indicates the tab, while, the language is pushed beyond the underscore. During rendering, the language will be properly highlighted as if the bdoc token was omitted.
+
+## Motivation
+
+This is a project to extend markdown documents and render them in html with a table of contents and code snippet pane. Most projects of this variety lean heavily on front end parsing with JavaScript/jQuery. This project uses NodeJS, Marked, and highlight.js to output syntax highlighted code blocks.
+
+With specific tokens on blockquotes and code blocks, the chunks can be placed according to their relevance. Ex: Multiple language code blocks that should be grouped under an arbitrary tab.
+
+## Installation
+
+Clone the repository, then add documents into documents directory. Modify the manifest.json to contain the document filenames in the order desired. The docs field is an array of objects with a filename key.
+
+As a NodeJS program, a valid installation of node is required. Once node is installed, verify it can be run from command line.
+```
+node --version
+```
+Next, depedencies need to be installed via npm from the root of the project directory.
+```
+npm install
+```
+
+Once dependencies are installed, run
+```
+node brodoc.js
+```
+
+This will generate the index.html file, which can be opened in a browser or served.
+
+The included node-static server can be run from the project root via
+```
+npm start
+```
+
+## License
+
+Apache License Version 2.0
+
+## FAQ
+
+Q: Why is it named brodocs?
+A: This project was born out of a collaboration with my brother to create a suitable docs app for his purposes. It was a fun name for the the two of us to use as actual brothers.
\ No newline at end of file
diff --git a/docs/api-reference/v1.5/actions.js b/docs/api-reference/v1.5/actions.js
new file mode 100644
index 0000000000..ce2b504b9e
--- /dev/null
+++ b/docs/api-reference/v1.5/actions.js
@@ -0,0 +1,58 @@
+// https://jsfiddle.net/upqwhou2/
+
+$(document).ready(function() {
+ var navigationLinks = $('#sidebar-wrapper > ul li a');
+ var navigationSections = $('#sidebar-wrapper > ul > ul');
+ var sectionIdTonavigationLink = {};
+ var sections = $('#page-content-wrapper').find('h1, h2').map(function(index, node) {
+ if (node.id) {
+ sectionIdTonavigationLink[node.id] = $('#sidebar-wrapper > ul li a[href="#' + node.id + '"]');
+ return node;
+ }
+ });
+ var sectionIdToNavContainerLink = {};
+ var topLevelSections = $('#page-content-wrapper').find('h1').map(function(index, node) {
+ if (node.id) {
+ sectionIdToNavContainerLink[node.id] = $('#sidebar-wrapper > ul > ul[id="' + node.id + '-nav' +'"]');
+ return node;
+ }
+ });
+
+ var firstLevelNavs = $('#sidebar-wrapper > li');
+ var secondLevelNavs = $('#sidebar-wrapper > ul > ul');
+ var secondLevelNavContents = $('#sidebar-wrapper > ul > ul > li');
+ var thirdLevelNavs = null; // TODO: When compile provides 3 level nav, implement
+
+ var sectionsReversed = $(sections.get().reverse());
+
+ function checkScroll(event) {
+ var scrollPosition = $(window).scrollTop();
+ var offset = 50;
+ scrollPosition += offset;
+ sections.each(function() {
+ var currentSection = $(this);
+ var sectionTop = $(this).offset().top;
+ var id = $(this).attr('id');
+ if (scrollPosition >= sectionTop) {
+ navigationLinks.removeClass('selected');
+ sectionIdTonavigationLink[id].addClass('selected');
+ var sectionNavContainer = sectionIdToNavContainerLink[id];
+ var sectionNavContainerDisplay;
+ if (sectionNavContainer) {
+ sectionNavContainerDisplay = sectionNavContainer.css('display');
+ }
+ if (sectionNavContainer && sectionNavContainerDisplay === 'none') {
+ navigationSections.toggle(false);
+ sectionNavContainer.toggle(true);
+ }
+ }
+ if (($(this).offset().top < window.pageYOffset + 50) && $(this).offset().top + $(this).height() > window.pageYOffset) {
+ window.location.hash = id;
+ }
+ });
+ }
+ checkScroll();
+ $(window).on('scroll', function(event) {
+ checkScroll(event);
+ });
+});
\ No newline at end of file
diff --git a/docs/api-reference/v1.5/brodoc.js b/docs/api-reference/v1.5/brodoc.js
new file mode 100644
index 0000000000..da3507af76
--- /dev/null
+++ b/docs/api-reference/v1.5/brodoc.js
@@ -0,0 +1,211 @@
+const docFolder = './documents/';
+const fs = require('fs');
+const marked = require('marked');
+const highlight = require('highlight.js');
+const renderer = new marked.Renderer();
+const brodocDec = require('./markedDecorations.js');
+
+
+marked.setOptions({
+ renderer: renderer,
+ gfm: true,
+ tables: true,
+ breaks: false,
+ pedantic: false,
+ sanitize: false,
+ smartLists: true,
+ smartypants: false,
+ highlight: function (code, lang) {
+ return highlight.highlightAuto(code).value;
+ }
+});
+brodocDec.decorateMarked(renderer);
+
+var config = require('./manifest');
+var docs = config.docs;
+
+var files = [];
+var fileArray = [];
+docs.forEach(file => {
+ files.push(file.filename);
+ fileArray.push(file);
+});
+
+var bodyContent = '';
+var navIds = brodocDec.navIds;
+var codeTabs = brodocDec.codeTabs;
+
+
+// const lexer = new marked.Lexer();
+// lexer.rules.bdoc = /^(\/{4} )(\w+).*$/;
+
+var path = docFolder;
+var fIndex = 0;
+var rIndex = 0;
+var fileObj = {toc: [], content: [], tabs: []};
+fileArray.forEach((file, index) => {
+ fs.readFile(path + file.filename, 'utf8', (err, data) => {
+ rIndex++;
+ file.content = data;
+
+ if (rIndex >= files.length) {
+ // do the things
+ parseFileContent(fileArray);
+ var navData = generateNavItems(navIds);
+ var navContent = navData.content;
+ var navDataArray = navData.navDataArray;
+ var codeTabContent = generateCodeTabItems(codeTabs);
+ var bodyContent = flattenContent(parsedContentArray);
+ generateDoc(navContent, bodyContent, codeTabContent);
+ generateNavJson(navDataArray);
+ }
+ });
+});
+
+function flattenContent(content) {
+ var flattenedContent = content.reduce(function(accum, val) {
+ return accum + val;
+ });
+ return flattenedContent;
+}
+
+var parsedContentArray = [];
+function parseFileContent(files) {
+ files.forEach((file, index) => {
+ parsedContentArray[index] = parseDoc(file.content);
+ });
+}
+function parseDoc(doc) {
+ return marked(doc, { renderer: renderer });
+}
+
+function generateNavItems(navObjs) {
+ var reversedNavs = navObjs.reverse();
+ var currentNestArray = [];
+ var currentStrongArray = [];
+ var flattenedNest = '';
+ var nestedNavArray = []; // Array containing generated html menu items - is flattened into a string.
+ var navArrayInvert = []; // Deals with data layer of navigation;
+ var navSectionArray = [];
+ var navStrongSectionArray = [];
+ var navSectionArrayClone;
+ var flatNavArrayInvert = [];
+ reversedNavs.forEach(obj => {
+ flatNavArrayInvert.push(obj.id);
+ var strong = (obj.id.indexOf('-strong-') !== -1);
+ if (obj.level !== 1) {
+ if (strong && currentNestArray.length !== 0) {
+ flattenedNest = flattenContent(currentNestArray.reverse());
+ currentStrongArray.push(generateNestedNav(obj, flattenedNest));
+ currentNestArray.length = 0;
+
+ navSectionArrayClone = Object.assign([], navSectionArray);
+ navStrongSectionArray.push({section: obj.id, subsections: navSectionArrayClone});
+ navSectionArray.length = 0;
+ } else {
+ currentNestArray.push(generateNav(obj));
+ navSectionArray.push({section: obj.id});
+ }
+ } else if (obj.level === 1) {
+ if (currentStrongArray.length !== 0) {
+ currentNestArray.forEach(obj => {
+ currentStrongArray.push(obj);
+ });
+ flattenedNest = flattenContent(currentStrongArray.reverse());
+ } else if (currentNestArray.length !== 0) {
+ flattenedNest = flattenContent(currentNestArray.reverse());
+ }
+ nestedNavArray.push(generateNestedNav(obj, flattenedNest));
+ currentNestArray.length = 0;
+ currentStrongArray.length = 0;
+ flattenedNest = '';
+
+ navSectionArray.forEach(obj => {
+ navStrongSectionArray.push(obj);
+ });
+ navSectionArrayClone = Object.assign([], navStrongSectionArray);
+ navStrongSectionArray.length = 0;
+ navArrayInvert.push({section: obj.id, subsections: navSectionArrayClone});
+ navSectionArray.length = 0;
+ }
+ });
+
+ var navContent = flattenContent(nestedNavArray.reverse());
+ return {content: navContent, navDataArray: {toc: navArrayInvert, flatToc: flatNavArrayInvert}};
+}
+
+function generateNav(obj) {
+ var classString = 'nav-level-' + obj.level;
+ var isStrong = obj.id.indexOf('-strong-') !== -1;
+ if (isStrong) {
+ classString += ' strong-nav';
+ }
+ return '