mirror of https://github.com/kubernetes/kops.git
Update kubernetes to master branch
This commit is contained in:
parent
11c18cc20b
commit
3214a24b71
|
|
@ -1 +1 @@
|
|||
Subproject commit fa96ff3bb45eb37d516b2d9163c99fc76a5cc91a
|
||||
Subproject commit 99939d360a807451ec26f32da23c226acb018feb
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"GoPrefix": "k8s.io/kubernetes",
|
||||
"SrcDirs": [
|
||||
"./pkg",
|
||||
"./cmd",
|
||||
"./third_party",
|
||||
"./plugin",
|
||||
"./test",
|
||||
"./federation",
|
||||
"./examples"
|
||||
]
|
||||
}
|
||||
|
|
@ -37,15 +37,19 @@ docs/man/man1/kubectl-config.1
|
|||
docs/man/man1/kubectl-convert.1
|
||||
docs/man/man1/kubectl-cordon.1
|
||||
docs/man/man1/kubectl-cp.1
|
||||
docs/man/man1/kubectl-create-clusterrolebinding.1
|
||||
docs/man/man1/kubectl-create-configmap.1
|
||||
docs/man/man1/kubectl-create-deployment.1
|
||||
docs/man/man1/kubectl-create-namespace.1
|
||||
docs/man/man1/kubectl-create-poddisruptionbudget.1
|
||||
docs/man/man1/kubectl-create-quota.1
|
||||
docs/man/man1/kubectl-create-rolebinding.1
|
||||
docs/man/man1/kubectl-create-secret-docker-registry.1
|
||||
docs/man/man1/kubectl-create-secret-generic.1
|
||||
docs/man/man1/kubectl-create-secret-tls.1
|
||||
docs/man/man1/kubectl-create-secret.1
|
||||
docs/man/man1/kubectl-create-service-clusterip.1
|
||||
docs/man/man1/kubectl-create-service-externalname.1
|
||||
docs/man/man1/kubectl-create-service-loadbalancer.1
|
||||
docs/man/man1/kubectl-create-service-nodeport.1
|
||||
docs/man/man1/kubectl-create-service.1
|
||||
|
|
@ -77,6 +81,7 @@ docs/man/man1/kubectl-run.1
|
|||
docs/man/man1/kubectl-scale.1
|
||||
docs/man/man1/kubectl-set-image.1
|
||||
docs/man/man1/kubectl-set-resources.1
|
||||
docs/man/man1/kubectl-set-selector.1
|
||||
docs/man/man1/kubectl-set.1
|
||||
docs/man/man1/kubectl-stop.1
|
||||
docs/man/man1/kubectl-taint.1
|
||||
|
|
@ -116,16 +121,20 @@ 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_clusterrolebinding.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_poddisruptionbudget.md
|
||||
docs/user-guide/kubectl/kubectl_create_quota.md
|
||||
docs/user-guide/kubectl/kubectl_create_rolebinding.md
|
||||
docs/user-guide/kubectl/kubectl_create_secret.md
|
||||
docs/user-guide/kubectl/kubectl_create_secret_docker-registry.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_service.md
|
||||
docs/user-guide/kubectl/kubectl_create_service_clusterip.md
|
||||
docs/user-guide/kubectl/kubectl_create_service_externalname.md
|
||||
docs/user-guide/kubectl/kubectl_create_service_loadbalancer.md
|
||||
docs/user-guide/kubectl/kubectl_create_service_nodeport.md
|
||||
docs/user-guide/kubectl/kubectl_create_serviceaccount.md
|
||||
|
|
@ -156,6 +165,7 @@ 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_set_selector.md
|
||||
docs/user-guide/kubectl/kubectl_taint.md
|
||||
docs/user-guide/kubectl/kubectl_top.md
|
||||
docs/user-guide/kubectl/kubectl_top_node.md
|
||||
|
|
|
|||
|
|
@ -3,5 +3,13 @@ package(default_visibility = ["//visibility:public"])
|
|||
licenses(["notice"])
|
||||
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_prefix")
|
||||
load("@io_kubernetes_build//defs:build.bzl", "gcs_upload")
|
||||
|
||||
go_prefix("k8s.io/kubernetes")
|
||||
|
||||
gcs_upload(
|
||||
name = "ci-artifacts",
|
||||
data = [
|
||||
"//build/debs",
|
||||
],
|
||||
)
|
||||
|
|
@ -1,86 +1,132 @@
|
|||
<!-- BEGIN MUNGE: GENERATED_TOC -->
|
||||
|
||||
- [v1.4.6](#v146)
|
||||
- [Downloads for v1.4.6](#downloads-for-v146)
|
||||
- [v1.5.1](#v151)
|
||||
- [Downloads for v1.5.1](#downloads-for-v151)
|
||||
- [Client Binaries](#client-binaries)
|
||||
- [Server Binaries](#server-binaries)
|
||||
- [Changelog since v1.4.5](#changelog-since-v145)
|
||||
- [Changelog since v1.5.0](#changelog-since-v150)
|
||||
- [Other notable changes](#other-notable-changes)
|
||||
- [v1.3.10](#v1310)
|
||||
- [Downloads for v1.3.10](#downloads-for-v1310)
|
||||
- [Known Issues for v1.5.1](#known-issues-for-v151)
|
||||
- [v1.5.0](#v150)
|
||||
- [Downloads for v1.5.0](#downloads-for-v150)
|
||||
- [Client Binaries](#client-binaries-1)
|
||||
- [Server Binaries](#server-binaries-1)
|
||||
- [Changelog since v1.3.9](#changelog-since-v139)
|
||||
- [Major Themes](#major-themes)
|
||||
- [Features](#features)
|
||||
- [Known Issues](#known-issues)
|
||||
- [Notable Changes to Existing Behavior](#notable-changes-to-existing-behavior)
|
||||
- [Deprecations](#deprecations)
|
||||
- [Action Required Before Upgrading](#action-required-before-upgrading)
|
||||
- [External Dependency Version Information](#external-dependency-version-information)
|
||||
- [Changelog since v1.5.0-beta.3](#changelog-since-v150-beta3)
|
||||
- [Other notable changes](#other-notable-changes-1)
|
||||
- [v1.4.5](#v145)
|
||||
- [Downloads for v1.4.5](#downloads-for-v145)
|
||||
- [Previous Releases Included in v1.5.0](#previous-releases-included-in-v150)
|
||||
- [v1.4.7](#v147)
|
||||
- [Downloads for v1.4.7](#downloads-for-v147)
|
||||
- [Client Binaries](#client-binaries-2)
|
||||
- [Server Binaries](#server-binaries-2)
|
||||
- [Changelog since v1.4.4](#changelog-since-v144)
|
||||
- [Changelog since v1.4.6](#changelog-since-v146)
|
||||
- [Other notable changes](#other-notable-changes-2)
|
||||
- [v1.5.0-alpha.2](#v150-alpha2)
|
||||
- [Downloads for v1.5.0-alpha.2](#downloads-for-v150-alpha2)
|
||||
- [v1.5.0-beta.3](#v150-beta3)
|
||||
- [Downloads for v1.5.0-beta.3](#downloads-for-v150-beta3)
|
||||
- [Client Binaries](#client-binaries-3)
|
||||
- [Server Binaries](#server-binaries-3)
|
||||
- [Changelog since v1.5.0-alpha.1](#changelog-since-v150-alpha1)
|
||||
- [Action Required](#action-required)
|
||||
- [Changelog since v1.5.0-beta.2](#changelog-since-v150-beta2)
|
||||
- [Other notable changes](#other-notable-changes-3)
|
||||
- [v1.2.7](#v127)
|
||||
- [Downloads for v1.2.7](#downloads-for-v127)
|
||||
- [v1.5.0-beta.2](#v150-beta2)
|
||||
- [Downloads for v1.5.0-beta.2](#downloads-for-v150-beta2)
|
||||
- [Client Binaries](#client-binaries-4)
|
||||
- [Server Binaries](#server-binaries-4)
|
||||
- [Changelog since v1.2.6](#changelog-since-v126)
|
||||
- [Changelog since v1.5.0-beta.1](#changelog-since-v150-beta1)
|
||||
- [Other notable changes](#other-notable-changes-4)
|
||||
- [v1.4.4](#v144)
|
||||
- [Downloads for v1.4.4](#downloads-for-v144)
|
||||
- [v1.5.0-beta.1](#v150-beta1)
|
||||
- [Downloads for v1.5.0-beta.1](#downloads-for-v150-beta1)
|
||||
- [Client Binaries](#client-binaries-5)
|
||||
- [Server Binaries](#server-binaries-5)
|
||||
- [Changelog since v1.4.3](#changelog-since-v143)
|
||||
- [Changelog since v1.5.0-alpha.2](#changelog-since-v150-alpha2)
|
||||
- [Action Required](#action-required)
|
||||
- [Other notable changes](#other-notable-changes-5)
|
||||
- [v1.4.6](#v146)
|
||||
- [Downloads for v1.4.6](#downloads-for-v146)
|
||||
- [Client Binaries](#client-binaries-6)
|
||||
- [Server Binaries](#server-binaries-6)
|
||||
- [Changelog since v1.4.5](#changelog-since-v145)
|
||||
- [Other notable changes](#other-notable-changes-6)
|
||||
- [v1.3.10](#v1310)
|
||||
- [Downloads for v1.3.10](#downloads-for-v1310)
|
||||
- [Client Binaries](#client-binaries-7)
|
||||
- [Server Binaries](#server-binaries-7)
|
||||
- [Changelog since v1.3.9](#changelog-since-v139)
|
||||
- [Other notable changes](#other-notable-changes-7)
|
||||
- [v1.4.5](#v145)
|
||||
- [Downloads for v1.4.5](#downloads-for-v145)
|
||||
- [Client Binaries](#client-binaries-8)
|
||||
- [Server Binaries](#server-binaries-8)
|
||||
- [Changelog since v1.4.4](#changelog-since-v144)
|
||||
- [Other notable changes](#other-notable-changes-8)
|
||||
- [v1.5.0-alpha.2](#v150-alpha2)
|
||||
- [Downloads for v1.5.0-alpha.2](#downloads-for-v150-alpha2)
|
||||
- [Client Binaries](#client-binaries-9)
|
||||
- [Server Binaries](#server-binaries-9)
|
||||
- [Changelog since v1.5.0-alpha.1](#changelog-since-v150-alpha1)
|
||||
- [Action Required](#action-required-1)
|
||||
- [Other notable changes](#other-notable-changes-9)
|
||||
- [v1.2.7](#v127)
|
||||
- [Downloads for v1.2.7](#downloads-for-v127)
|
||||
- [Client Binaries](#client-binaries-10)
|
||||
- [Server Binaries](#server-binaries-10)
|
||||
- [Changelog since v1.2.6](#changelog-since-v126)
|
||||
- [Other notable changes](#other-notable-changes-10)
|
||||
- [v1.4.4](#v144)
|
||||
- [Downloads for v1.4.4](#downloads-for-v144)
|
||||
- [Client Binaries](#client-binaries-11)
|
||||
- [Server Binaries](#server-binaries-11)
|
||||
- [Changelog since v1.4.3](#changelog-since-v143)
|
||||
- [Other notable changes](#other-notable-changes-11)
|
||||
- [v1.3.9](#v139)
|
||||
- [Downloads](#downloads)
|
||||
- [Changelog since v1.3.8](#changelog-since-v138)
|
||||
- [Other notable changes](#other-notable-changes-6)
|
||||
- [Other notable changes](#other-notable-changes-12)
|
||||
- [v1.4.3](#v143)
|
||||
- [Downloads](#downloads-1)
|
||||
- [Changelog since v1.4.2-beta.1](#changelog-since-v142-beta1)
|
||||
- [Other notable changes](#other-notable-changes-7)
|
||||
- [Other notable changes](#other-notable-changes-13)
|
||||
- [v1.4.2](#v142)
|
||||
- [Downloads](#downloads-2)
|
||||
- [Changelog since v1.4.2-beta.1](#changelog-since-v142-beta1-1)
|
||||
- [Other notable changes](#other-notable-changes-8)
|
||||
- [Other notable changes](#other-notable-changes-14)
|
||||
- [v1.5.0-alpha.1](#v150-alpha1)
|
||||
- [Downloads](#downloads-3)
|
||||
- [Changelog since v1.4.0-alpha.3](#changelog-since-v140-alpha3)
|
||||
- [Experimental Features](#experimental-features)
|
||||
- [Action Required](#action-required-1)
|
||||
- [Other notable changes](#other-notable-changes-9)
|
||||
- [Action Required](#action-required-2)
|
||||
- [Other notable changes](#other-notable-changes-15)
|
||||
- [v1.4.2-beta.1](#v142-beta1)
|
||||
- [Downloads](#downloads-4)
|
||||
- [Changelog since v1.4.1](#changelog-since-v141)
|
||||
- [Other notable changes](#other-notable-changes-10)
|
||||
- [Other notable changes](#other-notable-changes-16)
|
||||
- [v1.4.1](#v141)
|
||||
- [Downloads](#downloads-5)
|
||||
- [Changelog since v1.4.1-beta.2](#changelog-since-v141-beta2)
|
||||
- [v1.4.1-beta.2](#v141-beta2)
|
||||
- [Downloads](#downloads-6)
|
||||
- [Changelog since v1.4.0](#changelog-since-v140)
|
||||
- [Other notable changes](#other-notable-changes-11)
|
||||
- [Other notable changes](#other-notable-changes-17)
|
||||
- [v1.3.8](#v138)
|
||||
- [Downloads](#downloads-7)
|
||||
- [Changelog since v1.3.7](#changelog-since-v137)
|
||||
- [Other notable changes](#other-notable-changes-12)
|
||||
- [Other notable changes](#other-notable-changes-18)
|
||||
- [v1.4.0](#v140)
|
||||
- [Downloads](#downloads-8)
|
||||
- [Major Themes](#major-themes)
|
||||
- [Features](#features)
|
||||
- [Known Issues](#known-issues)
|
||||
- [Notable Changes to Existing Behavior](#notable-changes-to-existing-behavior)
|
||||
- [Major Themes](#major-themes-1)
|
||||
- [Features](#features-1)
|
||||
- [Known Issues](#known-issues-1)
|
||||
- [Notable Changes to Existing Behavior](#notable-changes-to-existing-behavior-1)
|
||||
- [Deployments](#deployments)
|
||||
- [kubectl rolling-update: < v1.4.0 client vs >=v1.4.0 cluster](#kubectl-rolling-update--v140-client-vs-v140-cluster)
|
||||
- [kubectl delete: < v1.4.0 client vs >=v1.4.0 cluster](#kubectl-delete--v140-client-vs-v140-cluster)
|
||||
- [DELETE operation in REST API](#delete-operation-in-rest-api)
|
||||
- [Action Required Before Upgrading](#action-required-before-upgrading)
|
||||
- [Action Required Before Upgrading](#action-required-before-upgrading-1)
|
||||
- [Previous Releases Included in v1.4.0](#previous-releases-included-in-v140)
|
||||
- [v1.4.0-beta.11](#v140-beta11)
|
||||
- [Downloads](#downloads-9)
|
||||
|
|
@ -88,26 +134,26 @@
|
|||
- [v1.4.0-beta.10](#v140-beta10)
|
||||
- [Downloads](#downloads-10)
|
||||
- [Changelog since v1.4.0-beta.8](#changelog-since-v140-beta8)
|
||||
- [Other notable changes](#other-notable-changes-13)
|
||||
- [Other notable changes](#other-notable-changes-19)
|
||||
- [v1.4.0-beta.8](#v140-beta8)
|
||||
- [Downloads](#downloads-11)
|
||||
- [Changelog since v1.4.0-beta.7](#changelog-since-v140-beta7)
|
||||
- [v1.4.0-beta.7](#v140-beta7)
|
||||
- [Downloads](#downloads-12)
|
||||
- [Changelog since v1.4.0-beta.6](#changelog-since-v140-beta6)
|
||||
- [Other notable changes](#other-notable-changes-14)
|
||||
- [Other notable changes](#other-notable-changes-20)
|
||||
- [v1.4.0-beta.6](#v140-beta6)
|
||||
- [Downloads](#downloads-13)
|
||||
- [Changelog since v1.4.0-beta.5](#changelog-since-v140-beta5)
|
||||
- [Other notable changes](#other-notable-changes-15)
|
||||
- [Other notable changes](#other-notable-changes-21)
|
||||
- [v1.4.0-beta.5](#v140-beta5)
|
||||
- [Downloads](#downloads-14)
|
||||
- [Changelog since v1.4.0-beta.3](#changelog-since-v140-beta3)
|
||||
- [Other notable changes](#other-notable-changes-16)
|
||||
- [Other notable changes](#other-notable-changes-22)
|
||||
- [v1.3.7](#v137)
|
||||
- [Downloads](#downloads-15)
|
||||
- [Changelog since v1.3.6](#changelog-since-v136)
|
||||
- [Other notable changes](#other-notable-changes-17)
|
||||
- [Other notable changes](#other-notable-changes-23)
|
||||
- [v1.4.0-beta.3](#v140-beta3)
|
||||
- [Downloads](#downloads-16)
|
||||
- [Changelog since v1.4.0-beta.2](#changelog-since-v140-beta2)
|
||||
|
|
@ -118,57 +164,57 @@
|
|||
- [v1.4.0-beta.2](#v140-beta2)
|
||||
- [Downloads](#downloads-17)
|
||||
- [Changelog since v1.4.0-beta.1](#changelog-since-v140-beta1)
|
||||
- [Other notable changes](#other-notable-changes-18)
|
||||
- [Other notable changes](#other-notable-changes-24)
|
||||
- [v1.4.0-beta.1](#v140-beta1)
|
||||
- [Downloads](#downloads-18)
|
||||
- [Changelog since v1.4.0-alpha.3](#changelog-since-v140-alpha3-1)
|
||||
- [Action Required](#action-required-2)
|
||||
- [Other notable changes](#other-notable-changes-19)
|
||||
- [Action Required](#action-required-3)
|
||||
- [Other notable changes](#other-notable-changes-25)
|
||||
- [v1.3.6](#v136)
|
||||
- [Downloads](#downloads-19)
|
||||
- [Changelog since v1.3.5](#changelog-since-v135)
|
||||
- [Other notable changes](#other-notable-changes-20)
|
||||
- [Other notable changes](#other-notable-changes-26)
|
||||
- [v1.4.0-alpha.3](#v140-alpha3)
|
||||
- [Downloads](#downloads-20)
|
||||
- [Changelog since v1.4.0-alpha.2](#changelog-since-v140-alpha2)
|
||||
- [Action Required](#action-required-3)
|
||||
- [Other notable changes](#other-notable-changes-21)
|
||||
- [Action Required](#action-required-4)
|
||||
- [Other notable changes](#other-notable-changes-27)
|
||||
- [v1.3.5](#v135)
|
||||
- [Downloads](#downloads-21)
|
||||
- [Changelog since v1.3.4](#changelog-since-v134)
|
||||
- [Other notable changes](#other-notable-changes-22)
|
||||
- [Other notable changes](#other-notable-changes-28)
|
||||
- [v1.3.4](#v134)
|
||||
- [Downloads](#downloads-22)
|
||||
- [Changelog since v1.3.3](#changelog-since-v133)
|
||||
- [Other notable changes](#other-notable-changes-23)
|
||||
- [Other notable changes](#other-notable-changes-29)
|
||||
- [v1.4.0-alpha.2](#v140-alpha2)
|
||||
- [Downloads](#downloads-23)
|
||||
- [Changelog since v1.4.0-alpha.1](#changelog-since-v140-alpha1)
|
||||
- [Action Required](#action-required-4)
|
||||
- [Other notable changes](#other-notable-changes-24)
|
||||
- [Action Required](#action-required-5)
|
||||
- [Other notable changes](#other-notable-changes-30)
|
||||
- [v1.3.3](#v133)
|
||||
- [Downloads](#downloads-24)
|
||||
- [Changelog since v1.3.2](#changelog-since-v132)
|
||||
- [Other notable changes](#other-notable-changes-25)
|
||||
- [Known Issues](#known-issues-1)
|
||||
- [Other notable changes](#other-notable-changes-31)
|
||||
- [Known Issues](#known-issues-2)
|
||||
- [v1.3.2](#v132)
|
||||
- [Downloads](#downloads-25)
|
||||
- [Changelog since v1.3.1](#changelog-since-v131)
|
||||
- [Other notable changes](#other-notable-changes-26)
|
||||
- [Other notable changes](#other-notable-changes-32)
|
||||
- [v1.3.1](#v131)
|
||||
- [Downloads](#downloads-26)
|
||||
- [Changelog since v1.3.0](#changelog-since-v130)
|
||||
- [Other notable changes](#other-notable-changes-27)
|
||||
- [Other notable changes](#other-notable-changes-33)
|
||||
- [v1.2.6](#v126)
|
||||
- [Downloads](#downloads-27)
|
||||
- [Changelog since v1.2.5](#changelog-since-v125)
|
||||
- [Other notable changes](#other-notable-changes-28)
|
||||
- [Other notable changes](#other-notable-changes-34)
|
||||
- [v1.4.0-alpha.1](#v140-alpha1)
|
||||
- [Downloads](#downloads-28)
|
||||
- [Changelog since v1.3.0](#changelog-since-v130-1)
|
||||
- [Experimental Features](#experimental-features-1)
|
||||
- [Action Required](#action-required-5)
|
||||
- [Other notable changes](#other-notable-changes-29)
|
||||
- [Action Required](#action-required-6)
|
||||
- [Other notable changes](#other-notable-changes-35)
|
||||
- [v1.3.0](#v130)
|
||||
- [Downloads](#downloads-29)
|
||||
- [Highlights](#highlights)
|
||||
|
|
@ -183,71 +229,71 @@
|
|||
- [v1.3.0-beta.3](#v130-beta3)
|
||||
- [Downloads](#downloads-30)
|
||||
- [Changelog since v1.3.0-beta.2](#changelog-since-v130-beta2)
|
||||
- [Action Required](#action-required-6)
|
||||
- [Other notable changes](#other-notable-changes-30)
|
||||
- [Action Required](#action-required-7)
|
||||
- [Other notable changes](#other-notable-changes-36)
|
||||
- [v1.2.5](#v125)
|
||||
- [Downloads](#downloads-31)
|
||||
- [Changes since v1.2.4](#changes-since-v124)
|
||||
- [Other notable changes](#other-notable-changes-31)
|
||||
- [Other notable changes](#other-notable-changes-37)
|
||||
- [v1.3.0-beta.2](#v130-beta2)
|
||||
- [Downloads](#downloads-32)
|
||||
- [Changes since v1.3.0-beta.1](#changes-since-v130-beta1)
|
||||
- [Experimental Features](#experimental-features-2)
|
||||
- [Other notable changes](#other-notable-changes-32)
|
||||
- [Other notable changes](#other-notable-changes-38)
|
||||
- [v1.3.0-beta.1](#v130-beta1)
|
||||
- [Downloads](#downloads-33)
|
||||
- [Changes since v1.3.0-alpha.5](#changes-since-v130-alpha5)
|
||||
- [Action Required](#action-required-7)
|
||||
- [Other notable changes](#other-notable-changes-33)
|
||||
- [Action Required](#action-required-8)
|
||||
- [Other notable changes](#other-notable-changes-39)
|
||||
- [v1.3.0-alpha.5](#v130-alpha5)
|
||||
- [Downloads](#downloads-34)
|
||||
- [Changes since v1.3.0-alpha.4](#changes-since-v130-alpha4)
|
||||
- [Action Required](#action-required-8)
|
||||
- [Other notable changes](#other-notable-changes-34)
|
||||
- [Action Required](#action-required-9)
|
||||
- [Other notable changes](#other-notable-changes-40)
|
||||
- [v1.3.0-alpha.4](#v130-alpha4)
|
||||
- [Downloads](#downloads-35)
|
||||
- [Changes since v1.3.0-alpha.3](#changes-since-v130-alpha3)
|
||||
- [Action Required](#action-required-9)
|
||||
- [Other notable changes](#other-notable-changes-35)
|
||||
- [Action Required](#action-required-10)
|
||||
- [Other notable changes](#other-notable-changes-41)
|
||||
- [v1.2.4](#v124)
|
||||
- [Downloads](#downloads-36)
|
||||
- [Changes since v1.2.3](#changes-since-v123)
|
||||
- [Other notable changes](#other-notable-changes-36)
|
||||
- [Other notable changes](#other-notable-changes-42)
|
||||
- [v1.3.0-alpha.3](#v130-alpha3)
|
||||
- [Downloads](#downloads-37)
|
||||
- [Changes since v1.3.0-alpha.2](#changes-since-v130-alpha2)
|
||||
- [Action Required](#action-required-10)
|
||||
- [Other notable changes](#other-notable-changes-37)
|
||||
- [Action Required](#action-required-11)
|
||||
- [Other notable changes](#other-notable-changes-43)
|
||||
- [v1.2.3](#v123)
|
||||
- [Downloads](#downloads-38)
|
||||
- [Changes since v1.2.2](#changes-since-v122)
|
||||
- [Action Required](#action-required-11)
|
||||
- [Other notable changes](#other-notable-changes-38)
|
||||
- [Action Required](#action-required-12)
|
||||
- [Other notable changes](#other-notable-changes-44)
|
||||
- [v1.3.0-alpha.2](#v130-alpha2)
|
||||
- [Downloads](#downloads-39)
|
||||
- [Changes since v1.3.0-alpha.1](#changes-since-v130-alpha1)
|
||||
- [Other notable changes](#other-notable-changes-39)
|
||||
- [Other notable changes](#other-notable-changes-45)
|
||||
- [v1.2.2](#v122)
|
||||
- [Downloads](#downloads-40)
|
||||
- [Changes since v1.2.1](#changes-since-v121)
|
||||
- [Other notable changes](#other-notable-changes-40)
|
||||
- [Other notable changes](#other-notable-changes-46)
|
||||
- [v1.2.1](#v121)
|
||||
- [Downloads](#downloads-41)
|
||||
- [Changes since v1.2.0](#changes-since-v120)
|
||||
- [Other notable changes](#other-notable-changes-41)
|
||||
- [Other notable changes](#other-notable-changes-47)
|
||||
- [v1.3.0-alpha.1](#v130-alpha1)
|
||||
- [Downloads](#downloads-42)
|
||||
- [Changes since v1.2.0](#changes-since-v120-1)
|
||||
- [Action Required](#action-required-12)
|
||||
- [Other notable changes](#other-notable-changes-42)
|
||||
- [Action Required](#action-required-13)
|
||||
- [Other notable changes](#other-notable-changes-48)
|
||||
- [v1.2.0](#v120)
|
||||
- [Downloads](#downloads-43)
|
||||
- [Changes since v1.1.1](#changes-since-v111)
|
||||
- [Major Themes](#major-themes-1)
|
||||
- [Major Themes](#major-themes-2)
|
||||
- [Other notable improvements](#other-notable-improvements)
|
||||
- [Experimental Features](#experimental-features-3)
|
||||
- [Action required](#action-required-13)
|
||||
- [Known Issues](#known-issues-2)
|
||||
- [Action required](#action-required-14)
|
||||
- [Known Issues](#known-issues-3)
|
||||
- [Docker Known Issues](#docker-known-issues)
|
||||
- [1.9.1](#191)
|
||||
- [Provider-specific Notes](#provider-specific-notes-1)
|
||||
|
|
@ -260,6 +306,595 @@
|
|||
<!-- NEW RELEASE NOTES ENTRY -->
|
||||
|
||||
|
||||
# v1.5.1
|
||||
|
||||
[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.5/examples)
|
||||
|
||||
## Downloads for v1.5.1
|
||||
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes.tar.gz) | `adc4f6ec1fc8f97ed19f474ffcc0af2d050f92dc20ecec2799741802019205ec`
|
||||
[kubernetes-src.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-src.tar.gz) | `27e5009b906b9f233a7be1efcf51140be945446d828c006c171d03fe07e43565`
|
||||
|
||||
### Client Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-client-darwin-386.tar.gz) | `06f8155f0df381bca3b4e27bbd28834f7601e32cbe3d0c1f24be90516c5b8a3b`
|
||||
[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-client-darwin-amd64.tar.gz) | `3ede7d74c5f2f918547bca4d813901e33580c8b8f19828da21a5c2296ff4b8be`
|
||||
[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-client-linux-386.tar.gz) | `b96c3c359146e4fc4d8ff4cf09216bbbb9dbaf3f405488d4aaa45ac741c98f99`
|
||||
[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-client-linux-amd64.tar.gz) | `662fc57057290deb38ec49dd7daf4a4a5b91def2dbdb7ee7a4494dec611379a5`
|
||||
[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-client-linux-arm64.tar.gz) | `c33936b7a27f296c7b85bbfac1fe303573580a948dd1f3174916da9a5a954d49`
|
||||
[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-client-linux-arm.tar.gz) | `31ea3e4cbcc9574a37566a2cc3c809105d56a739e9cbd387bf878acacedf9ec8`
|
||||
[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-client-windows-386.tar.gz) | `95420d0d49e2875703ac09a1b6021252644ba162349c6c506b06f2677852de5d`
|
||||
[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-client-windows-amd64.tar.gz) | `534a3c5bdde989c7339df05c4e7793c6c50e5ebc0a663b1a9cdd25bce43a5a74`
|
||||
|
||||
### Server Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-server-linux-amd64.tar.gz) | `871a9f35e1c73f571b7113e01a91d7bfc5bfe3501e910c921a18313774b25fd1`
|
||||
[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-server-linux-arm64.tar.gz) | `e13b070ef70d2cea512a839095dbf95249d2f7b5dcbfb378539548c888efe196`
|
||||
[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.5.1/kubernetes-server-linux-arm.tar.gz) | `c54cf106e919149731a23da60ad354eadc53b3bf544ab91d4d48ff0c87fdaa7e`
|
||||
|
||||
## Changelog since v1.5.0
|
||||
|
||||
### Other notable changes
|
||||
|
||||
* Changes the default value of the "anonymous-auth" flag to a safer default value of false. This affects kube apiserver and federation apiserver. See https://groups.google.com/forum/#!topic/kubernetes-announce/iclRj-6Nfsg for more details. ([#38708](https://github.com/kubernetes/kubernetes/pull/38708), [@erictune](https://github.com/erictune))
|
||||
* Fixes issue where if the audit log is enabled and anonymous authentication is disabled, then an unauthenticated user request will cause a panic and crash the `kube-apiserver`. ([#38717](https://github.com/kubernetes/kubernetes/pull/38717), [@deads2k](https://github.com/deads2k))
|
||||
|
||||
## Known Issues for v1.5.1
|
||||
|
||||
- `hack/local-up-cluster.sh` script times out waiting for apiserver to answer, see [#38847](https://github.com/kubernetes/kubernetes/issues/38847).
|
||||
To workaround this, modify the script to pass `--anonymous-auth=true` to `sudo -E "${GO_OUT}/hyperkube" apiserver ...` when starting `kube-apiserver`.
|
||||
|
||||
# v1.5.0
|
||||
|
||||
[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.5/examples)
|
||||
|
||||
## Downloads for v1.5.0
|
||||
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes.tar.gz) | `52b7df98ea05fb3ebbababf1ccb7f6d4e6f4cad00b8d09350f270aa7e3ad7e85`
|
||||
[kubernetes-src.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-src.tar.gz) | `fbefb2544667f96045c346cee595b0f315282dfdbd41a8f2d5ccc74054a4078e`
|
||||
|
||||
### Client Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-client-darwin-386.tar.gz) | `27d71bb6b16a26387ee30272bd4ee5758deccafafdc91b38f3d0dc19a34e129e`
|
||||
[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-client-darwin-amd64.tar.gz) | `5fa8550235919568d7d839b19de00e9bdd72a97cfde21dbdbe07fefd6d6290dc`
|
||||
[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-client-linux-386.tar.gz) | `032a17701c014b8bbbb83c7da1046d8992a41031628cf7e1959a94378f5f195b`
|
||||
[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-client-linux-amd64.tar.gz) | `afae4fadb7bbb1532967f88fef1de6458abda17219f634cc2c41608fd83ae7f6`
|
||||
[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-client-linux-arm64.tar.gz) | `acca7607dae678a0165b7e10685e0eff0d418beebe7c25eaffe18c85717b5cc4`
|
||||
[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-client-linux-arm.tar.gz) | `fbc182b6d9ae476c7c509486d773074fd1007032886a8177735e08010c43f89d`
|
||||
[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-client-windows-386.tar.gz) | `a8ddea329bc8d57267294464c163d8c2f7837f6353f8c685271864ed8b8bc54d`
|
||||
[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-client-windows-amd64.tar.gz) | `bc3a76f1414fa1f4b2fb92732de2100d346edb7b870ed5414ea062bb401a8ebd`
|
||||
|
||||
### Server Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-server-linux-amd64.tar.gz) | `b9c122d709c0556c1e19d31d98bf26ee530f91c0119f4454fb930cef5a0c1aa7`
|
||||
[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-server-linux-arm64.tar.gz) | `3bbba5c8dedc47db8f9ebdfac5468398cce2470617de9d550affef9702b724c9`
|
||||
[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.5.0/kubernetes-server-linux-arm.tar.gz) | `3ff9ccdd641690fd1c8878408cd369beca1f9f8b212198e251862d40cf2dadc0`
|
||||
|
||||
## Major Themes
|
||||
|
||||
- StatefulSets (ex-PetSets)
|
||||
- StatefulSets are beta now (fixes and stabilization)
|
||||
- Improved Federation Support
|
||||
- New command: `kubefed`
|
||||
- DaemonSets
|
||||
- Deployments
|
||||
- ConfigMaps
|
||||
- Simplified Cluster Deployment
|
||||
- Improvements to `kubeadm`
|
||||
- HA Setup for Master
|
||||
- Node Robustness and Extensibility
|
||||
- Windows Server Container support
|
||||
- CRI for pluggable container runtimes
|
||||
- `kubelet` API supports authentication and authorization
|
||||
|
||||
## Features
|
||||
|
||||
Features for this release were tracked via the use of the [kubernetes/features](https://github.com/kubernetes/features) issues repo. Each Feature issue is owned by a Special Interest Group from [kubernetes/community](https://github.com/kubernetes/community)
|
||||
|
||||
- **API Machinery**
|
||||
- [beta] `kube-apiserver` support for the OpenAPI spec is moving from alpha to beta. The first [non-go client](https://github.com/kubernetes-incubator/client-python) is based on it ([kubernetes/features#53](https://github.com/kubernetes/features/issues/53))
|
||||
- **Apps**
|
||||
- [stable] When replica sets cannot create pods, they will now report detail via the API about the underlying reason ([kubernetes/features#120](https://github.com/kubernetes/features/issues/120))
|
||||
- [stable] `kubectl apply` is now able to delete resources you no longer need with `--prune` ([kubernetes/features#128](https://github.com/kubernetes/features/issues/128))
|
||||
- [beta] Deployments that cannot make progress in rolling out the newest version will now indicate via the API they are blocked ([docs](http://kubernetes.io/docs/user-guide/deployments/#failed-deployment)) ([kubernetes/features#122](https://github.com/kubernetes/features/issues/122))
|
||||
- [beta] StatefulSets allow workloads that require persistent identity or per-instance storage to be created and managed on Kubernetes. ([docs](http://kubernetes.io/docs/concepts/abstractions/controllers/statefulsets/)) ([kubernetes/features#137](https://github.com/kubernetes/features/issues/137))
|
||||
- [beta] In order to preserve safety guarantees the cluster no longer force deletes pods on un-responsive nodes and users are now warned if they try to force delete pods via the CLI. ([docs](http://kubernetes.io/docs/tasks/manage-stateful-set/scale-stateful-set/)) ([kubernetes/features#119](https://github.com/kubernetes/features/issues/119))
|
||||
- **Auth**
|
||||
- [alpha] Further polishing of the Role-based access control alpha API including a default set of cluster roles. ([docs](http://kubernetes.io/docs/admin/authorization/)) ([kubernetes/features#2](https://github.com/kubernetes/features/issues/2))
|
||||
- [beta] Added ability to authenticate/authorize access to the Kubelet API ([docs](http://kubernetes.io/docs/admin/kubelet-authentication-authorization/)) ([kubernetes/features#89](https://github.com/kubernetes/features/issues/89))
|
||||
- **AWS**
|
||||
- [stable] Roles should appear in kubectl get nodes ([kubernetes/features#113](https://github.com/kubernetes/features/issues/113))
|
||||
- **Cluster Lifecycle**
|
||||
- [alpha] Improved UX and usability for the kubeadm binary that makes it easy to get a new cluster running. ([docs](http://kubernetes.io/docs/getting-started-guides/kubeadm/)) ([changelog](https://github.com/kubernetes/kubeadm/blob/master/CHANGELOG.md)) ([kubernetes/features#11](https://github.com/kubernetes/features/issues/11))
|
||||
- **Cluster Ops**
|
||||
- [alpha] Added ability to create/remove clusters w/highly available (replicated) masters on GCE using kube-up/kube-down scripts. ([docs](http://kubernetes.io/docs/admin/ha-master-gce/)) ([kubernetes/features#48](https://github.com/kubernetes/features/issues/48))
|
||||
- **Federation**
|
||||
- [alpha] Support for ConfigMaps in federation. ([docs](http://kubernetes.io/docs/user-guide/federation/configmap/)) ([kubernetes/features#105](https://github.com/kubernetes/features/issues/105))
|
||||
- [alpha] Alpha level support for DaemonSets in federation. ([docs](http://kubernetes.io/docs/user-guide/federation/daemonsets/)) ([kubernetes/features#101](https://github.com/kubernetes/features/issues/101))
|
||||
- [alpha] Alpha level support for Deployments in federation. ([docs](http://kubernetes.io/docs/user-guide/federation/deployment/)) ([kubernetes/features#100](https://github.com/kubernetes/features/issues/100))
|
||||
- [alpha] Cluster federation: Added support for DeleteOptions.OrphanDependents for federation resources. ([docs](http://kubernetes.io/docs/user-guide/federation/#cascading-deletion)) ([kubernetes/features#99](https://github.com/kubernetes/features/issues/99))
|
||||
- [alpha] Introducing `kubefed`, a new command line tool to simplify federation control plane. ([docs](http://kubernetes.io/docs/admin/federation/kubefed/)) ([kubernetes/features#97](https://github.com/kubernetes/features/issues/97))
|
||||
- **Network**
|
||||
- [stable] Services can reference another service by DNS name, rather than being hosted in pods ([kubernetes/features#33](https://github.com/kubernetes/features/issues/33))
|
||||
- [beta] Opt in source ip preservation for Services with Type NodePort or LoadBalancer ([docs](http://kubernetes.io/docs/tutorials/services/source-ip/)) ([kubernetes/features#27](https://github.com/kubernetes/features/issues/27))
|
||||
- [stable] Enable DNS Horizontal Autoscaling with beta ConfigMap parameters support ([docs](http://kubernetes.io/docs/tasks/administer-cluster/dns-horizontal-autoscaling/))
|
||||
- **Node**
|
||||
- [alpha] Added ability to preserve access to host userns when userns remapping is enabled in container runtime ([kubernetes/features#127](https://github.com/kubernetes/features/issues/127))
|
||||
- [alpha] Introducing the v1alpha1 CRI API to allow pluggable container runtimes; an experimental docker-CRI integration is ready for testing and feedback. ([docs](https://github.com/kubernetes/community/blob/master/contributors/devel/container-runtime-interface.md)) ([kubernetes/features#54](https://github.com/kubernetes/features/issues/54))
|
||||
- [alpha] Kubelet launches container in a per pod cgroup hiearchy based on quality of service tier ([kubernetes/features#126](https://github.com/kubernetes/features/issues/126))
|
||||
- [beta] Kubelet integrates with memcg notification API to detect when a hard eviction threshold is crossed ([kubernetes/features#125](https://github.com/kubernetes/features/issues/125))
|
||||
- [beta] Introducing the beta version containerized node conformance test gcr.io/google_containers/node-test:0.2 for users to verify node setup. ([docs](http://kubernetes.io/docs/admin/node-conformance/)) ([kubernetes/features#84](https://github.com/kubernetes/features/issues/84))
|
||||
- **Scheduling**
|
||||
- [alpha] Added support for accounting opaque integer resources. ([docs](http://kubernetes.io/docs/user-guide/compute-resources/#opaque-integer-resources-alpha-feature)) ([kubernetes/features#76](https://github.com/kubernetes/features/issues/76))
|
||||
- [beta] PodDisruptionBudget has been promoted to beta, can be used to safely drain nodes while respecting application SLO's ([docs](http://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/)) ([kubernetes/features#85](https://github.com/kubernetes/features/issues/85))
|
||||
- **UI**
|
||||
- [stable] Dashboard UI now shows all user facing objects and their resource usage. ([docs](http://kubernetes.io/docs/user-guide/ui/)) ([kubernetes/features#136](https://github.com/kubernetes/features/issues/136))
|
||||
- **Windows**
|
||||
- [alpha] Added support for Windows Server 2016 nodes and scheduling Windows Server Containers ([docs](http://kubernetes.io/docs/getting-started-guides/windows/)) ([kubernetes/features#116](https://github.com/kubernetes/features/issues/116))
|
||||
|
||||
## Known Issues
|
||||
|
||||
Populated via [v1.5.0 known issues / FAQ accumulator](https://github.com/kubernetes/kubernetes/issues/37134)
|
||||
|
||||
* CRI [known issues and
|
||||
limitations](https://github.com/kubernetes/community/blob/master/contributors/devel/container-runtime-interface.md#kubernetes-v15-release-cri-v1alpha1)
|
||||
* getDeviceNameFromMount() function doesn't return the volume path correctly when the volume path contains spaces [[#37712](https://github.com/kubernetes/kubernetes/pull/37712)](https://github.com/kubernetes/kubernetes/issues/37712)
|
||||
* Federation alpha features do not have feature gates defined and
|
||||
are hence enabled by default. This will be fixed in a future release.
|
||||
[[#38593](https://github.com/kubernetes/kubernetes/pull/38593)](https://github.com/kubernetes/kubernetes/issues/38593)
|
||||
* Federation control plane can be upgraded by updating the image
|
||||
fields in the `Deployment` specs of the control plane components.
|
||||
However, federation control plane upgrades were not tested in this
|
||||
release [38537](https://github.com/kubernetes/kubernetes/issues/38537)
|
||||
|
||||
## Notable Changes to Existing Behavior
|
||||
|
||||
* Node controller no longer force-deletes pods from the api-server. ([[#35235](https://github.com/kubernetes/kubernetes/pull/35235)](https://github.com/kubernetes/kubernetes/pull/35235), [[@foxish](https://github.com/foxish)](https://github.com/foxish))
|
||||
* For StatefulSet (previously PetSet), this change means creation of
|
||||
replacement pods is blocked until old pods are definitely not running
|
||||
(indicated either by the kubelet returning from partitioned state,
|
||||
deletion of the Node object, deletion of the instance in the cloud provider,
|
||||
or force deletion of the pod from the api-server).
|
||||
This helps prevent "split brain" scenarios in clustered applications by
|
||||
ensuring that unreachable pods will not be presumed dead unless some
|
||||
"fencing" operation has provided one of the above indications.
|
||||
* For all other existing controllers except StatefulSet, this has no effect on
|
||||
the ability of the controller to replace pods because the controllers do not
|
||||
reuse pod names (they use generate-name).
|
||||
* User-written controllers that reuse names of pod objects should evaluate this change.
|
||||
* When deleting an object with `kubectl delete ... --grace-period=0`, the client will
|
||||
begin a graceful deletion and wait until the resource is fully deleted. To force
|
||||
deletion immediately, use the `--force` flag. This prevents users from accidentally
|
||||
allowing two Stateful Set pods to share the same persistent volume which could lead to data
|
||||
corruption [[#37263](https://github.com/kubernetes/kubernetes/pull/37263)](https://github.com/kubernetes/kubernetes/pull/37263)
|
||||
|
||||
|
||||
* Allow anonymous API server access, decorate authenticated users with system:authenticated group ([[#32386](https://github.com/kubernetes/kubernetes/pull/32386)](https://github.com/kubernetes/kubernetes/pull/32386), [[@liggitt](https://github.com/liggitt)](https://github.com/liggitt))
|
||||
* kube-apiserver learned the '--anonymous-auth' flag, which defaults to true. When enabled, requests to the secure port 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'.
|
||||
* Authenticated users are decorated with a 'system:authenticated' group.
|
||||
* **IMPORTANT**: See Action Required for important actions related to this change.
|
||||
|
||||
* kubectl get -o jsonpath=... will now throw an error if the path is to a field not present in the json, even if the path is for a field valid for the type. This is a change from the pre-1.5 behavior, which would return the default value for some fields even if they were not present in the json. ([[#37991](https://github.com/kubernetes/kubernetes/pull/37991)](https://github.com/kubernetes/kubernetes/issues/37991), [[@pwittrock](https://github.com/pwittrock)](http://github.com/pwittrock))
|
||||
|
||||
* The strategicmerge patchMergeKey for VolumeMounts was changed from "name" to "mountPath". This was necessary because the name field refers to the name of the Volume, and is not a unique key for the VolumeMount. Multiple VolumeMounts will have the same Volume name if mounting the same volume more than once. The "mountPath" is verified to be unique and can act as the mergekey. ([[#35071](https://github.com/kubernetes/kubernetes/pull/35071)](https://github.coma/kubernetes/kubernetes/pull/35071), [[@pwittrock](https://github.com/pwittrock)](http://github.com/pwittrock))
|
||||
|
||||
## Deprecations
|
||||
|
||||
* extensions/v1beta1.Jobs is deprecated, use batch/v1.Job instead ([[#36355](https://github.com/kubernetes/kubernetes/pull/36355)](https://github.com/kubernetes/kubernetes/pull/36355), [[@soltysh](https://github.com/soltysh)](https://github.com/soltysh))
|
||||
* The kubelet --reconcile-cdir flag is deprecated because it has no function anymore. ([[#35523](https://github.com/kubernetes/kubernetes/pull/35523)](https://github.com/kubernetes/kubernetes/pull/35523), [[@luxas](https://github.com/luxas)](https://github.com/luxas))
|
||||
* Notice of deprecation for recycler [[#36760](https://github.com/kubernetes/kubernetes/pull/36760)](https://github.com/kubernetes/kubernetes/pull/36760)
|
||||
* The init-container (pod.beta.kubernetes.io/init-containers) annotations used to accept capitalized field names that could be accidently generated by the k8s.io/kubernetes/pkg/api package. Using an upper case field name will now return an error and all users should use the versioned API types from `pkg/api/v1` when serializing from Golang.
|
||||
|
||||
## Action Required Before Upgrading
|
||||
|
||||
* **Important Security-related changes before upgrading
|
||||
* You *MUST* set `--anonymous-auth=false` flag on your kube-apiserver unless you are a developer testing this feature and understand it.
|
||||
If you do not, you risk allowing unauthorized users to access your apiserver.
|
||||
* You *MUST* set `--anonymous-auth=false` flag on your federation apiserver unless you are a developer testing this feature and understand it.
|
||||
If you do not, you risk allowing unauthorized users to access your federation apiserver.
|
||||
* You do not need to adjust this flag on Kubelet: there was no authorization for the Kubelet APIs in 1.4.
|
||||
* batch/v2alpha1.ScheduledJob has been renamed, use batch/v2alpha1.CronJob instead ([[#36021](https://github.com/kubernetes/kubernetes/pull/36021)](https://github.com/kubernetes/kubernetes/pull/36021), [[@soltysh](https://github.com/soltysh)](https://github.com/soltysh))
|
||||
* PetSet has been renamed to StatefulSet.
|
||||
If you have existing PetSets, **you must perform extra migration steps** both
|
||||
before and after upgrading to convert them to StatefulSets. ([docs](http://kubernetes.io/docs/tasks/manage-stateful-set/upgrade-pet-set-to-stateful-set/)) ([[#35663](https://github.com/kubernetes/kubernetes/pull/35663)](https://github.com/kubernetes/kubernetes/pull/35663), [[@janetkuo](https://github.com/janetkuo)](https://github.com/janetkuo))
|
||||
* If you are upgrading your Cluster Federation components from v1.4.x, please update your `federation-apiserver` and `federation-controller-manager` manifests to the new version ([[#30601](https://github.com/kubernetes/kubernetes/pull/30601)](https://github.com/kubernetes/kubernetes/pull/30601), [[@madhusudancs](https://github.com/madhusudancs)](https://github.com/madhusudancs))
|
||||
* The deprecated kubelet --configure-cbr0 flag has been removed, and with that the "classic" networking mode as well. If you depend on this mode, please investigate whether the other network plugins `kubenet` or `cni` meet your needs. ([[#34906](https://github.com/kubernetes/kubernetes/pull/34906)](https://github.com/kubernetes/kubernetes/pull/34906), [[@luxas](https://github.com/luxas)](https://github.com/luxas))
|
||||
* New client-go structure, refer to kubernetes/client-go for versioning policy ([[#34989](https://github.com/kubernetes/kubernetes/pull/34989)](https://github.com/kubernetes/kubernetes/pull/34989), [[@caesarxuchao](https://github.com/caesarxuchao)](https://github.com/caesarxuchao))
|
||||
* The deprecated kube-scheduler --bind-pods-qps and --bind-pods burst flags have been removed, use --kube-api-qps and --kube-api-burst instead ([[#34471](https://github.com/kubernetes/kubernetes/pull/34471)](https://github.com/kubernetes/kubernetes/pull/34471), [[@timothysc](https://github.com/timothysc)](https://github.com/timothysc))
|
||||
* If you used the [PodDisruptionBudget](http://kubernetes.io/docs/admin/disruptions/) feature in 1.4 (i.e. created `PodDisruptionBudget` objects), then **BEFORE** upgrading from 1.4 to 1.5, you must delete all `PodDisruptionBudget` objects (`policy/v1alpha1/PodDisruptionBudget`) that you have created. It is not possible to delete these objects after you upgrade, and their presence will prevent you from using the beta PodDisruptionBudget feature in 1.5 (which uses `policy/v1beta1/PodDisruptionBudget`). If you have already upgraded, you will need to downgrade the master to 1.4 to delete the `policy/v1alpha1/PodDisruptionBudget` objects.
|
||||
|
||||
## External Dependency Version Information
|
||||
|
||||
Continuous integration builds have used the following versions of external dependencies, however, this is not a strong recommendation and users should consult an appropriate installation or upgrade guide before deciding what versions of etcd, docker or rkt to use.
|
||||
|
||||
* Docker versions 1.10.3 - 1.12.3
|
||||
* Docker version 1.11.2 known issues
|
||||
- Kernel crash with Aufs storage driver on Debian Jessie ([[#27885](https://github.com/kubernetes/kubernetes/pull/27885)](https://github.com/kubernetes/kubernetes/issues/27885))
|
||||
which can be identified by the [node problem detector](http://kubernetes.io/docs/admin/node-problem/)
|
||||
- Leaked File descriptors ([#275](https://github.com/docker/containerd/issues/275))
|
||||
- Additional memory overhead per container ([[#21737](https://github.com/kubernetes/kubernetes/pull/21737)](https://github.com/docker/docker/issues/21737))
|
||||
* Docker version 1.12.1 [has been validated](https://github.com/kubernetes/kubernetes/issues/28698) through the Kubernetes docker automated validation framework as has Docker version 1.12.3
|
||||
* Docker 1.10.3 contains [backports provided by RedHat](https://github.com/docker/docker/compare/v1.10.3...runcom:docker-1.10.3-stable) for known issues
|
||||
* Docker versions as old as may 1.9.1 work with [known issues](CHANGELOG.md#191) but this is not guaranteed
|
||||
* rkt version 1.21.0
|
||||
* known issues with the rkt runtime are [listed here](http://kubernetes.io/docs/getting-started-guides/rkt/notes/)
|
||||
* etcd version 2.2.1
|
||||
* etcd version 3.0.14 [has also been validated](https://k8s-gubernator.appspot.com/builds/kubernetes-jenkins/logs/ci-kubernetes-e2e-gce-etcd3/) but does require [specific configuration steps](https://coreos.com/blog/migrating-applications-etcd-v3.html)
|
||||
|
||||
## Changelog since v1.5.0-beta.3
|
||||
|
||||
### Other notable changes
|
||||
|
||||
* Bump GCE debian image to container-vm-v20161208 ([release notes](https://cloud.google.com/compute/docs/containers/container_vms#changelog)) ([#38444](https://github.com/kubernetes/kubernetes/pull/38444), [@timstclair](https://github.com/timstclair))
|
||||
* Fix unmountDevice issue caused by shared mount in GCI ([#38411](https://github.com/kubernetes/kubernetes/pull/38411), [@jingxu97](https://github.com/jingxu97))
|
||||
|
||||
### Previous Releases Included in v1.5.0
|
||||
|
||||
- [v1.5.0-beta.3](CHANGELOG.md#v150-beta3)
|
||||
- [v1.5.0-beta.2](CHANGELOG.md#v150-beta2)
|
||||
- [v1.5.0-beta.1](CHANGELOG.md#v150-beta1)
|
||||
- [v1.5.0-alpha.2](CHANGELOG.md#v150-alpha2)
|
||||
- [v1.5.0-alpha.1](CHANGELOG.md#v150-alpha1)
|
||||
|
||||
|
||||
|
||||
# v1.4.7
|
||||
|
||||
[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.4/examples)
|
||||
|
||||
## Downloads for v1.4.7
|
||||
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes.tar.gz) | `d193f76e70322010b3e86ac61c7a893175f9e62d37bece87cfd14ea068c8d187`
|
||||
[kubernetes-src.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-src.tar.gz) | `7c7ef45e903ed2691c73bb2752805f190b4042ba233a6260f2cdeab7d0ac9bd3`
|
||||
|
||||
### Client Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-client-darwin-386.tar.gz) | `a5a3ec9f5270156cf507b4c6bf2d08da67062a2ed9cb5f21e8891f2fd83f438a`
|
||||
[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-client-darwin-amd64.tar.gz) | `e5328781640b19e86b59aa8afd665dd21999c6740acbee8332cfa20745d6a5ce`
|
||||
[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-client-linux-386.tar.gz) | `61082afc6aee2dc5bbd35bfda2e5991bd9f9730192f1c9396b6db500fc64e121`
|
||||
[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-client-linux-amd64.tar.gz) | `36232c9e21298f5f53dbf4851520a8cc53a2d6b6d2be8810cf5258a067570314`
|
||||
[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-client-linux-arm64.tar.gz) | `802d0c5e7bb55dacdd19afe73ed71d0726960ec9933c49e77051df7e2594790b`
|
||||
[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-client-linux-arm.tar.gz) | `f42d8d2d918b31564d12d742bce2263df0c93807619bd03194028ff2714f1a17`
|
||||
[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-client-windows-386.tar.gz) | `b45dcdfe0ba0177fad5419b4fd6b5b80bf9bca0e56e7fe19d2bc217c9aae1f9d`
|
||||
[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-client-windows-amd64.tar.gz) | `ae4666aea8fa74ef1cce746d1d90cbadc972850560b65a8eeff4417fdede6b4e`
|
||||
|
||||
### Server Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-server-linux-amd64.tar.gz) | `56e01e9788d1ef0499b1783768022cb188b5bb840d1499a62e9f0a18c2bd2bd5`
|
||||
[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-server-linux-arm64.tar.gz) | `6654ef3c142694a79ec2596929ceec36a399407e1fb74b09be1a67c59b30ca42`
|
||||
[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.4.7/kubernetes-server-linux-arm.tar.gz) | `b10e78286dea804d69311e3805c35f5414b0669094edec7a2e0ba99170a5d04a`
|
||||
|
||||
## Changelog since v1.4.6
|
||||
|
||||
### Other notable changes
|
||||
|
||||
* Exit with error if <version number or publication> is not the final parameter. ([#37723](https://github.com/kubernetes/kubernetes/pull/37723), [@mtaufen](https://github.com/mtaufen))
|
||||
* Fix GCI mounter issue ([#38124](https://github.com/kubernetes/kubernetes/pull/38124), [@jingxu97](https://github.com/jingxu97))
|
||||
* Fix space issue in volumePath with vSphere Cloud Provider ([#38338](https://github.com/kubernetes/kubernetes/pull/38338), [@BaluDontu](https://github.com/BaluDontu))
|
||||
* Fix panic in vSphere cloud provider ([#38423](https://github.com/kubernetes/kubernetes/pull/38423), [@BaluDontu](https://github.com/BaluDontu))
|
||||
* Changed default scsi controller type in vSphere Cloud Provider ([#38426](https://github.com/kubernetes/kubernetes/pull/38426), [@abrarshivani](https://github.com/abrarshivani))
|
||||
* Fix unmountDevice issue caused by shared mount in GCI ([#38411](https://github.com/kubernetes/kubernetes/pull/38411), [@jingxu97](https://github.com/jingxu97))
|
||||
* Implement CanMount() for gfsMounter for linux ([#36686](https://github.com/kubernetes/kubernetes/pull/36686), [@rkouj](https://github.com/rkouj))
|
||||
* Better messaging for missing volume binaries on host ([#36280](https://github.com/kubernetes/kubernetes/pull/36280), [@rkouj](https://github.com/rkouj))
|
||||
* fix mesos unit tests ([#38196](https://github.com/kubernetes/kubernetes/pull/38196), [@deads2k](https://github.com/deads2k))
|
||||
* Fix Service Update on LoadBalancerSourceRanges Field ([#37720](https://github.com/kubernetes/kubernetes/pull/37720), [@freehan](https://github.com/freehan))
|
||||
* Include serial port output in GCP log-dump ([#37248](https://github.com/kubernetes/kubernetes/pull/37248), [@mtaufen](https://github.com/mtaufen))
|
||||
* Collect installation and configuration service logs for tests ([#37401](https://github.com/kubernetes/kubernetes/pull/37401), [@mtaufen](https://github.com/mtaufen))
|
||||
* Use shasum if sha1sum doesn't exist in the path ([#37362](https://github.com/kubernetes/kubernetes/pull/37362), [@roberthbailey](https://github.com/roberthbailey))
|
||||
* Guard the ready replica checking by server version ([#37303](https://github.com/kubernetes/kubernetes/pull/37303), [@krousey](https://github.com/krousey))
|
||||
* Fix issue when attempting to unmount a wrong vSphere volume ([#37413](https://github.com/kubernetes/kubernetes/pull/37413), [@BaluDontu](https://github.com/BaluDontu))
|
||||
* Fix issue in converting AWS volume ID from mount paths ([#36840](https://github.com/kubernetes/kubernetes/pull/36840), [@jingxu97](https://github.com/jingxu97))
|
||||
* Correct env var name in configure-helper ([#33848](https://github.com/kubernetes/kubernetes/pull/33848), [@mtaufen](https://github.com/mtaufen))
|
||||
* wait until the pods are deleted completely ([#34778](https://github.com/kubernetes/kubernetes/pull/34778), [@ymqytw](https://github.com/ymqytw))
|
||||
* AWS: recognize us-east-2 region ([#35013](https://github.com/kubernetes/kubernetes/pull/35013), [@justinsb](https://github.com/justinsb))
|
||||
* Replace controller presence checking logic ([#36924](https://github.com/kubernetes/kubernetes/pull/36924), [@krousey](https://github.com/krousey))
|
||||
* Fix a bug in scheduler happening after retrying unsuccessful bindings ([#37293](https://github.com/kubernetes/kubernetes/pull/37293), [@wojtek-t](https://github.com/wojtek-t))
|
||||
* Try self-repair scheduler cache or panic ([#37379](https://github.com/kubernetes/kubernetes/pull/37379), [@wojtek-t](https://github.com/wojtek-t))
|
||||
* Ignore mirror pods with RestartPolicy == Never in restart tests ([#34462](https://github.com/kubernetes/kubernetes/pull/34462), [@yujuhong](https://github.com/yujuhong))
|
||||
* Change image-puller restart policy to OnFailure ([#37070](https://github.com/kubernetes/kubernetes/pull/37070), [@gmarek](https://github.com/gmarek))
|
||||
* Filter out non-RestartAlways mirror pod in restart test. ([#37203](https://github.com/kubernetes/kubernetes/pull/37203), [@Random-Liu](https://github.com/Random-Liu))
|
||||
* Validate volume spec before returning azure mounter ([#37018](https://github.com/kubernetes/kubernetes/pull/37018), [@rootfs](https://github.com/rootfs))
|
||||
* Networking test rewrite ([#31559](https://github.com/kubernetes/kubernetes/pull/31559), [@bprashanth](https://github.com/bprashanth))
|
||||
* Fix the equality checks for numeric values in cluster/gce/util.sh. ([#37638](https://github.com/kubernetes/kubernetes/pull/37638), [@roberthbailey](https://github.com/roberthbailey))
|
||||
* Use gsed on the Mac ([#37562](https://github.com/kubernetes/kubernetes/pull/37562), [@roberthbailey](https://github.com/roberthbailey))
|
||||
* Fix TestServiceAlloc flakes ([#37487](https://github.com/kubernetes/kubernetes/pull/37487), [@wojtek-t](https://github.com/wojtek-t))
|
||||
* Change ScheduledJob POD name suffix from hash to Unix Epoch ([#36883](https://github.com/kubernetes/kubernetes/pull/36883), [@jakub-d](https://github.com/jakub-d))
|
||||
* Add support for NFSv4 and GlusterFS in GCI base image ([#37336](https://github.com/kubernetes/kubernetes/pull/37336), [@jingxu97](https://github.com/jingxu97))
|
||||
* Use generous limits in the resource usage tracking tests ([#36623](https://github.com/kubernetes/kubernetes/pull/36623), [@yujuhong](https://github.com/yujuhong))
|
||||
|
||||
|
||||
|
||||
# v1.5.0-beta.3
|
||||
|
||||
[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.5/examples)
|
||||
|
||||
## Downloads for v1.5.0-beta.3
|
||||
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes.tar.gz) | `c2b29b38d29829b7b2591559d0d36495d463de0e18a2611bd1d66f2baea6352c`
|
||||
[kubernetes-src.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-src.tar.gz) | `0b3327b6f0b024c989aba1e546d50d56fc89ed6df74c09fc55b9f9c4a667b771`
|
||||
|
||||
### Client Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-client-darwin-386.tar.gz) | `82a7144ae1371c3320019c8e6a76e95242d85aae9dedccc4884b677cda544c0e`
|
||||
[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-client-darwin-amd64.tar.gz) | `3aeea90acfbaf776e2c812e34df4c11a44720e4c5b86c4c0e9a8aaf221149335`
|
||||
[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-client-linux-386.tar.gz) | `d55fb1dfe64e62bffbf03f1a7c8bd666562014ad0d438049f0f801f5fa583914`
|
||||
[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-client-linux-amd64.tar.gz) | `779b2f1c0eb3eca7dd60332972ccfc79e557e34f080c210dfb6aa6e18e71bbf4`
|
||||
[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-client-linux-arm64.tar.gz) | `b5f0a3b23d7082eaefe7090d7a8f9952fd8b00d44a90137200bc5a91001b6e95`
|
||||
[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-client-linux-arm.tar.gz) | `ccadbef7ce7c89fc48988c57585c0ccb7488d2dcc7e96f4e43c5bb64e44b9e29`
|
||||
[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-client-windows-386.tar.gz) | `da1428b6ed138134358c72af570a65565c5188a1c6e50cee42becb1a48441d91`
|
||||
[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-client-windows-amd64.tar.gz) | `7b74aeb215b0f0ff86bae262af5bafe7083a44293e1ab2545f5de3ac42deda0b`
|
||||
|
||||
### Server Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-server-linux-amd64.tar.gz) | `c56aa39fd4e732c86a2729aa427ca2fc95130bd788053aa8e8f6a8efd9e1310e`
|
||||
[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-server-linux-arm64.tar.gz) | `9f55082ca5face2db2d6d54bed2a831622e747e1aa527ee8adc61d0ed3fcfab8`
|
||||
[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.5.0-beta.3/kubernetes-server-linux-arm.tar.gz) | `4a7c037ac221531eee4e47b66a2aa12fce4044d2d4acbef0e48b09e0a8fe950b`
|
||||
|
||||
## Changelog since v1.5.0-beta.2
|
||||
|
||||
### Other notable changes
|
||||
|
||||
* Better compat with very old iptables (e.g. CentOS 6) ([#37594](https://github.com/kubernetes/kubernetes/pull/37594), [@thockin](https://github.com/thockin))
|
||||
* fix permissions when using fsGroup ([#37009](https://github.com/kubernetes/kubernetes/pull/37009), [@sjenning](https://github.com/sjenning))
|
||||
* Fix GCI mounter issue ([#38124](https://github.com/kubernetes/kubernetes/pull/38124), [@jingxu97](https://github.com/jingxu97))
|
||||
* fix mesos unit tests ([#38196](https://github.com/kubernetes/kubernetes/pull/38196), [@deads2k](https://github.com/deads2k))
|
||||
* Fix Service Update on LoadBalancerSourceRanges Field ([#37720](https://github.com/kubernetes/kubernetes/pull/37720), [@freehan](https://github.com/freehan))
|
||||
* Fix Service Update on LoadBalancerSourceRanges Field ([#37720](https://github.com/kubernetes/kubernetes/pull/37720), [@freehan](https://github.com/freehan))
|
||||
* Set kernel.softlockup_panic =1 based on the flag. ([#38001](https://github.com/kubernetes/kubernetes/pull/38001), [@dchen1107](https://github.com/dchen1107))
|
||||
* Fix logic error in graceful deletion ([#37721](https://github.com/kubernetes/kubernetes/pull/37721), [@derekwaynecarr](https://github.com/derekwaynecarr))
|
||||
* Enable containerized mounter only for nfs and glusterfs types ([#37990](https://github.com/kubernetes/kubernetes/pull/37990), [@jingxu97](https://github.com/jingxu97))
|
||||
* GCI: Remove /var/lib/docker/network ([#37593](https://github.com/kubernetes/kubernetes/pull/37593), [@yujuhong](https://github.com/yujuhong))
|
||||
* kubelet: don't reject pods without adding them to the pod manager ([#37661](https://github.com/kubernetes/kubernetes/pull/37661), [@yujuhong](https://github.com/yujuhong))
|
||||
* Fix photon controller plugin to construct with correct PdID ([#37167](https://github.com/kubernetes/kubernetes/pull/37167), [@luomiao](https://github.com/luomiao))
|
||||
* Fix the equality checks for numeric values in cluster/gce/util.sh. ([#37638](https://github.com/kubernetes/kubernetes/pull/37638), [@roberthbailey](https://github.com/roberthbailey))
|
||||
* federation service controller: stop deleting services from underlying clusters when federated service is deleted. ([#37353](https://github.com/kubernetes/kubernetes/pull/37353), [@nikhiljindal](https://github.com/nikhiljindal))
|
||||
* Set Dashboard UI version to v1.5.0 ([#37684](https://github.com/kubernetes/kubernetes/pull/37684), [@rf232](https://github.com/rf232))
|
||||
* When deleting an object with `--grace-period=0`, the client will begin a graceful deletion and wait until the resource is fully deleted. To force deletion, use the `--force` flag. ([#37263](https://github.com/kubernetes/kubernetes/pull/37263), [@smarterclayton](https://github.com/smarterclayton))
|
||||
* Removes shorthand flag -w from kubectl apply ([#37345](https://github.com/kubernetes/kubernetes/pull/37345), [@MrHohn](https://github.com/MrHohn))
|
||||
* Update doc for kubectl apply ([#37397](https://github.com/kubernetes/kubernetes/pull/37397), [@ymqytw](https://github.com/ymqytw))
|
||||
* Try self-repair scheduler cache or panic ([#37379](https://github.com/kubernetes/kubernetes/pull/37379), [@wojtek-t](https://github.com/wojtek-t))
|
||||
* Use gsed on the Mac ([#37562](https://github.com/kubernetes/kubernetes/pull/37562), [@roberthbailey](https://github.com/roberthbailey))
|
||||
* Fix TestServiceAlloc flakes ([#37487](https://github.com/kubernetes/kubernetes/pull/37487), [@wojtek-t](https://github.com/wojtek-t))
|
||||
|
||||
|
||||
|
||||
# v1.5.0-beta.2
|
||||
|
||||
[Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.5/examples)
|
||||
|
||||
## Downloads for v1.5.0-beta.2
|
||||
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes.tar.gz) | `4a6cb512dee2312ffe291f4209759309576ca477cf51fb8447b30a7cb2a887ed`
|
||||
[kubernetes-src.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-src.tar.gz) | `fe71f19b607183da4abf5f537e7ccbe72ac3306b0933ee1f519253c78bf9252f`
|
||||
|
||||
### Client Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-client-darwin-386.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-client-darwin-386.tar.gz) | `37bcd12754a28ba6b4d030c68526bc6369f1fa3b7b0e405277bb13989ed0f9da`
|
||||
[kubernetes-client-darwin-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-client-darwin-amd64.tar.gz) | `760817040ca040dd4ba8929cfb714b8bf6704c6ac2ec9985b56fa77b4da03d2c`
|
||||
[kubernetes-client-linux-386.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-client-linux-386.tar.gz) | `87d694445a3e532748d07e0d0da05c1ae8b84b46c54ec1415c9603533747a465`
|
||||
[kubernetes-client-linux-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-client-linux-amd64.tar.gz) | `b2bcd07a525428fe24da628afca22b019b8f2847d1999da8fce72b7342cf64ed`
|
||||
[kubernetes-client-linux-arm64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-client-linux-arm64.tar.gz) | `262c4fa70039389aa5d5b73a0def325471bd24b858157d60c0389fbee5ca671e`
|
||||
[kubernetes-client-linux-arm.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-client-linux-arm.tar.gz) | `52c9341c1e6aa923aed4497c061121c192f209c90fcf31135edc45241a684bfa`
|
||||
[kubernetes-client-windows-386.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-client-windows-386.tar.gz) | `7d8e3bcdfa9dc3d5fde70c60a37e543cc59d23b25e2b0a2274e672d0bae013c2`
|
||||
[kubernetes-client-windows-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-client-windows-amd64.tar.gz) | `75143c176bc817fc49a79229dfae8c7429d0a3deeaba54a397dddce3e37e8550`
|
||||
|
||||
### Server Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-server-linux-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-server-linux-amd64.tar.gz) | `61c209048da1612796a30b880076b7f9b59038821da63bbecac4c56f24216312`
|
||||
[kubernetes-server-linux-arm64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-server-linux-arm64.tar.gz) | `2c6952e16c0b0c153ca3d424b3deca9b43a8e421b1a59359bc10260309bf470c`
|
||||
[kubernetes-server-linux-arm.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.2/kubernetes-server-linux-arm.tar.gz) | `cf3e37a89358cae1d2d36aaad10f3e906269bc3df611279dbed9f50e81449fad`
|
||||
|
||||
## Changelog since v1.5.0-beta.1
|
||||
|
||||
### Other notable changes
|
||||
|
||||
* Modify GCI mounter to enable NFSv3 ([#36610](https://github.com/kubernetes/kubernetes/pull/36610), [@jingxu97](https://github.com/jingxu97))
|
||||
* Third party resources are now deleted when a namespace is deleted. ([#35947](https://github.com/kubernetes/kubernetes/pull/35947), [@brendandburns](https://github.com/brendandburns))
|
||||
* kube-dns ([#36775](https://github.com/kubernetes/kubernetes/pull/36775), [@bowei](https://github.com/bowei))
|
||||
* Added --config-map and --config-map-namespace command line options.
|
||||
* If --config-map is set, kube-dns will load dynamic configuration from the config map
|
||||
* referenced by --config-map-namespace, --config-map. The config-map supports
|
||||
* the following properties: "federations".
|
||||
* --federations flag is now deprecated. Prefer to set federations via the config-map.
|
||||
* Federations can be configured by settings the "federations" field to the value currently
|
||||
* set in the command line.
|
||||
* Example:
|
||||
* kind: ConfigMap
|
||||
* apiVersion: v1
|
||||
* metadata:
|
||||
* name: kube-dns
|
||||
* namespace: kube-system
|
||||
* data:
|
||||
* federations: abc=def
|
||||
* azure: support multiple ipconfigs on a NIC ([#36841](https://github.com/kubernetes/kubernetes/pull/36841), [@colemickens](https://github.com/colemickens))
|
||||
* Fix issue in converting AWS volume ID from mount paths ([#36840](https://github.com/kubernetes/kubernetes/pull/36840), [@jingxu97](https://github.com/jingxu97))
|
||||
* fix leaking memory backed volumes of terminated pods ([#36779](https://github.com/kubernetes/kubernetes/pull/36779), [@sjenning](https://github.com/sjenning))
|
||||
* Default logging subsystem's resiliency was greatly improved, fluentd memory consumption and OOM error probability was reduced. ([#37021](https://github.com/kubernetes/kubernetes/pull/37021), [@Crassirostris](https://github.com/Crassirostris))
|
||||
|
||||
|
||||
|
||||
# v1.5.0-beta.1
|
||||
|
||||
[Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.5/examples)
|
||||
|
||||
## Downloads for v1.5.0-beta.1
|
||||
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes.tar.gz) | `62c51bcee460794cda30e720c65509b679b51015c62c075e6e735fe29d089e2b`
|
||||
[kubernetes-src.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-src.tar.gz) | `8c950c7377eb40670d0438ccb68bbeaf1100ed2e919e012bc98479ff07ddd393`
|
||||
|
||||
### Client Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-client-darwin-386.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-client-darwin-386.tar.gz) | `e71af85542837842ff3b0fb8137332f4e1ce4c453d225da292e1fa781f1c74d7`
|
||||
[kubernetes-client-darwin-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-client-darwin-amd64.tar.gz) | `033d02c1382553f977057827b6a5b82f1b69aecd44b649c937781d1cccb763d1`
|
||||
[kubernetes-client-linux-386.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-client-linux-386.tar.gz) | `1e7a435f2f7d06e3de9bd8c8d0457b6548aa15ad5cdab4241391f290a28b804f`
|
||||
[kubernetes-client-linux-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-client-linux-amd64.tar.gz) | `3c07a89e8eb785a7b37842d4b0bc0471fcc7b4e3a4bd973e6f8936cbc6030d76`
|
||||
[kubernetes-client-linux-arm64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-client-linux-arm64.tar.gz) | `680a2786d9782395b613e27509df2d0f671a2471a43533ccdbc6b71cfb332072`
|
||||
[kubernetes-client-linux-arm.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-client-linux-arm.tar.gz) | `2a5b10fbd69ce9b1da0403a80d71684ee2cf4d75298a5ec19e069ae826da81ed`
|
||||
[kubernetes-client-windows-386.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-client-windows-386.tar.gz) | `10acbf09ffbc04f549d1cffff98a533b456562d5c09a2d0f315523b70072c35d`
|
||||
[kubernetes-client-windows-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-client-windows-amd64.tar.gz) | `3317f90da242b0fb95a3cbc669fc4941d7b56b5ff90ac528c166e915bee31fdf`
|
||||
|
||||
### Server Binaries
|
||||
|
||||
filename | sha256 hash
|
||||
-------- | -----------
|
||||
[kubernetes-server-linux-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-server-linux-amd64.tar.gz) | `fdb257c0bbf64304441fd377a5ee330de10696aa0b5c1b6c27fa73a6c00121ae`
|
||||
[kubernetes-server-linux-arm64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-server-linux-arm64.tar.gz) | `a174cf6c9351da786b8780f5edca158a4e021d4af597bcc66f238601fb37c2b1`
|
||||
[kubernetes-server-linux-arm.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.5.0-beta.1/kubernetes-server-linux-arm.tar.gz) | `1dc520b9a4428321225ba6cfa0f79b702965d7f6994357c15e0195c5af1528ff`
|
||||
|
||||
## Changelog since v1.5.0-alpha.2
|
||||
|
||||
### Action Required
|
||||
|
||||
* Deprecate extensions/v1beta1.Jobs ([#36355](https://github.com/kubernetes/kubernetes/pull/36355), [@soltysh](https://github.com/soltysh))
|
||||
* Rename ScheduledJobs to CronJobs. ([#36021](https://github.com/kubernetes/kubernetes/pull/36021), [@soltysh](https://github.com/soltysh))
|
||||
* Read the federation controller manager kubeconfig from a filesystem path ([#30601](https://github.com/kubernetes/kubernetes/pull/30601), [@madhusudancs](https://github.com/madhusudancs))
|
||||
* Node controller to not force delete pods ([#35235](https://github.com/kubernetes/kubernetes/pull/35235), [@foxish](https://github.com/foxish))
|
||||
* Add perma-failed deployments API ([#19343](https://github.com/kubernetes/kubernetes/pull/19343), [@kargakis](https://github.com/kargakis))
|
||||
|
||||
### Other notable changes
|
||||
|
||||
* Federation: allow specification of dns zone by ID ([#36336](https://github.com/kubernetes/kubernetes/pull/36336), [@justinsb](https://github.com/justinsb))
|
||||
* K8s 1.5 keeps container-vm as the default node image on GCE for backwards compatibility reasons. Please beware that container-vm is officially deprecated (supported with security patches only) and you should replace it with GCI if at all possible. You can review the migration guide here for more detail: https://cloud.google.com/container-engine/docs/node-image-migration ([#36822](https://github.com/kubernetes/kubernetes/pull/36822), [@mtaufen](https://github.com/mtaufen))
|
||||
* Add a flag allowing contention profiling of the API server ([#36756](https://github.com/kubernetes/kubernetes/pull/36756), [@gmarek](https://github.com/gmarek))
|
||||
* Rename `--cgroups-per-qos` to `--experimental-cgroups-per-qos` in Kubelet ([#36767](https://github.com/kubernetes/kubernetes/pull/36767), [@vishh](https://github.com/vishh))
|
||||
* Implement CanMount() for gfsMounter for linux ([#36686](https://github.com/kubernetes/kubernetes/pull/36686), [@rkouj](https://github.com/rkouj))
|
||||
* Default host user namespace via experimental flag ([#31169](https://github.com/kubernetes/kubernetes/pull/31169), [@pweil-](https://github.com/pweil-))
|
||||
* Use generous limits in the resource usage tracking tests ([#36623](https://github.com/kubernetes/kubernetes/pull/36623), [@yujuhong](https://github.com/yujuhong))
|
||||
* Update Dashboard UI version to 1.4.2 ([#35895](https://github.com/kubernetes/kubernetes/pull/35895), [@rf232](https://github.com/rf232))
|
||||
* Add support for service load balancer source ranges to Azure load balancers. ([#36696](https://github.com/kubernetes/kubernetes/pull/36696), [@brendandburns](https://github.com/brendandburns))
|
||||
* gci-dev-56-8977-0-0: ([#36681](https://github.com/kubernetes/kubernetes/pull/36681), [@mtaufen](https://github.com/mtaufen))
|
||||
* Date: Nov 03, 2016
|
||||
* Kernel: ChromiumOS-4.4
|
||||
* Kubernetes: v1.4.5
|
||||
* Docker: v1.11.2
|
||||
* Changelog (vs 55-8872-18-0)
|
||||
* Updated kubernetes to v1.4.5
|
||||
* Fixed a bug in e2fsprogs that caused mke2fs to take a very long time. Upstream fix: http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/commit/?h=next&id=d33e690fe7a6cbeb51349d9f2c7fb16a6ebec9c2
|
||||
* Fix strategic patch for list of primitive type with merge sementic ([#35647](https://github.com/kubernetes/kubernetes/pull/35647), [@ymqytw](https://github.com/ymqytw))
|
||||
* Fix issue in reconstruct volume data when kubelet restarts ([#36616](https://github.com/kubernetes/kubernetes/pull/36616), [@jingxu97](https://github.com/jingxu97))
|
||||
* Ensure proper serialization of updates and creates in federation test watcher ([#36613](https://github.com/kubernetes/kubernetes/pull/36613), [@mwielgus](https://github.com/mwielgus))
|
||||
* Add support for SourceIP preservation in Azure LBs ([#36557](https://github.com/kubernetes/kubernetes/pull/36557), [@brendandburns](https://github.com/brendandburns))
|
||||
* Fix fetching pids running in a cgroup, which caused problems with OOM score adjustments & setting the /system cgroup ("misc" in the summary API). ([#36551](https://github.com/kubernetes/kubernetes/pull/36551), [@timstclair](https://github.com/timstclair))
|
||||
* federation: Adding support for DeleteOptions.OrphanDependents for federated replicasets and deployments. Setting it to false while deleting a federated replicaset or deployment also deletes the corresponding resource from all registered clusters. ([#36476](https://github.com/kubernetes/kubernetes/pull/36476), [@nikhiljindal](https://github.com/nikhiljindal))
|
||||
* kubectl: show node label if defined ([#35901](https://github.com/kubernetes/kubernetes/pull/35901), [@justinsb](https://github.com/justinsb))
|
||||
* Migrates addons from RCs to Deployments ([#36008](https://github.com/kubernetes/kubernetes/pull/36008), [@MrHohn](https://github.com/MrHohn))
|
||||
* Avoid setting S_ISGID on files in volumes ([#36386](https://github.com/kubernetes/kubernetes/pull/36386), [@sjenning](https://github.com/sjenning))
|
||||
* federation: Adding support for DeleteOptions.OrphanDependents for federated daemonsets and ingresses. Setting it to false while deleting a federated daemonset or ingress also deletes the corresponding resource from all registered clusters. ([#36330](https://github.com/kubernetes/kubernetes/pull/36330), [@nikhiljindal](https://github.com/nikhiljindal))
|
||||
* Add authz to psp admission ([#33080](https://github.com/kubernetes/kubernetes/pull/33080), [@pweil-](https://github.com/pweil-))
|
||||
* Better messaging for missing volume binaries on host ([#36280](https://github.com/kubernetes/kubernetes/pull/36280), [@rkouj](https://github.com/rkouj))
|
||||
* Add Windows support to kube-proxy ([#36079](https://github.com/kubernetes/kubernetes/pull/36079), [@jbhurat](https://github.com/jbhurat))
|
||||
* Support persistent volume usage for kubernetes running on Photon Controller platform ([#36133](https://github.com/kubernetes/kubernetes/pull/36133), [@luomiao](https://github.com/luomiao))
|
||||
* GCI nodes use an external mounter script to mount NFS & GlusterFS storage volumes ([#36267](https://github.com/kubernetes/kubernetes/pull/36267), [@vishh](https://github.com/vishh))
|
||||
* Add retry to node scheduability marking. ([#36211](https://github.com/kubernetes/kubernetes/pull/36211), [@brendandburns](https://github.com/brendandburns))
|
||||
* specify custom ca file to verify the keystone server ([#35488](https://github.com/kubernetes/kubernetes/pull/35488), [@dixudx](https://github.com/dixudx))
|
||||
* AWS: Support default value for ExternalHost ([#33568](https://github.com/kubernetes/kubernetes/pull/33568), [@justinsb](https://github.com/justinsb))
|
||||
* HPA: Consider unready pods separately ([#33593](https://github.com/kubernetes/kubernetes/pull/33593), [@DirectXMan12](https://github.com/DirectXMan12))
|
||||
* Node Conformance Test: Containerize the node e2e test ([#31093](https://github.com/kubernetes/kubernetes/pull/31093), [@Random-Liu](https://github.com/Random-Liu))
|
||||
* federation: Adding support for DeleteOptions.OrphanDependents for federated secrets. Setting it to false while deleting a federated secret also deletes the corresponding secrets from all registered clusters. ([#36296](https://github.com/kubernetes/kubernetes/pull/36296), [@nikhiljindal](https://github.com/nikhiljindal))
|
||||
* Deploy kube-dns with cluster-proportional-autoscaler ([#33239](https://github.com/kubernetes/kubernetes/pull/33239), [@MrHohn](https://github.com/MrHohn))
|
||||
* Adds support for StatefulSets in kubectl drain. ([#35483](https://github.com/kubernetes/kubernetes/pull/35483), [@ymqytw](https://github.com/ymqytw))
|
||||
* Switches to use the eviction sub-resource instead of deletion in kubectl drain, if server supports.
|
||||
* azure: load balancer preserves destination ip address ([#36256](https://github.com/kubernetes/kubernetes/pull/36256), [@colemickens](https://github.com/colemickens))
|
||||
* LegacyHostIP will be deprecated in 1.7. ([#36095](https://github.com/kubernetes/kubernetes/pull/36095), [@caesarxuchao](https://github.com/caesarxuchao))
|
||||
* Fix LBaaS version detection in openstack cloudprovider ([#36249](https://github.com/kubernetes/kubernetes/pull/36249), [@sjenning](https://github.com/sjenning))
|
||||
* Node Conformance Test: Add system verification ([#32427](https://github.com/kubernetes/kubernetes/pull/32427), [@Random-Liu](https://github.com/Random-Liu))
|
||||
* kubelet bootstrap: start hostNetwork pods before we have PodCIDR ([#35526](https://github.com/kubernetes/kubernetes/pull/35526), [@justinsb](https://github.com/justinsb))
|
||||
* Enable HPA controller based on autoscaling/v1 api group ([#36215](https://github.com/kubernetes/kubernetes/pull/36215), [@piosz](https://github.com/piosz))
|
||||
* Remove unused WaitForDetach from Detacher interface and plugins ([#35629](https://github.com/kubernetes/kubernetes/pull/35629), [@kiall](https://github.com/kiall))
|
||||
* Initial work on running windows containers on Kubernetes ([#31707](https://github.com/kubernetes/kubernetes/pull/31707), [@alexbrand](https://github.com/alexbrand))
|
||||
* Per Volume Inode Accounting ([#35132](https://github.com/kubernetes/kubernetes/pull/35132), [@dashpole](https://github.com/dashpole))
|
||||
* [AppArmor] Hold bad AppArmor pods in pending rather than rejecting ([#35342](https://github.com/kubernetes/kubernetes/pull/35342), [@timstclair](https://github.com/timstclair))
|
||||
* Federation: separate notion of zone-name & dns-suffix ([#35372](https://github.com/kubernetes/kubernetes/pull/35372), [@justinsb](https://github.com/justinsb))
|
||||
* In order to bypass graceful deletion of pods (to immediately remove the pod from the API) the user must now provide the `--force` flag in addition to `--grace-period=0`. This prevents users from accidentally force deleting pods without being aware of the consequences of force deletion. Force deleting pods for resources like StatefulSets can result in multiple pods with the same name having running processes in the cluster, which may lead to data corruption or data inconsistency when using shared storage or common API endpoints. ([#35484](https://github.com/kubernetes/kubernetes/pull/35484), [@smarterclayton](https://github.com/smarterclayton))
|
||||
* NPD: Add e2e test for NPD v0.2. ([#35740](https://github.com/kubernetes/kubernetes/pull/35740), [@Random-Liu](https://github.com/Random-Liu))
|
||||
* DELETE requests can now pass in their DeleteOptions as a query parameter or a body parameter, rather than just as a body parameter. ([#35806](https://github.com/kubernetes/kubernetes/pull/35806), [@bdbauer](https://github.com/bdbauer))
|
||||
* make using service account credentials from controllers optional ([#35970](https://github.com/kubernetes/kubernetes/pull/35970), [@deads2k](https://github.com/deads2k))
|
||||
* AWS: strong-typing for k8s vs aws volume ids ([#35883](https://github.com/kubernetes/kubernetes/pull/35883), [@justinsb](https://github.com/justinsb))
|
||||
* Controller changes for perma failed deployments ([#35691](https://github.com/kubernetes/kubernetes/pull/35691), [@kargakis](https://github.com/kargakis))
|
||||
* Proxy min sync period ([#35334](https://github.com/kubernetes/kubernetes/pull/35334), [@timothysc](https://github.com/timothysc))
|
||||
* Federated ConfigMap controller ([#35635](https://github.com/kubernetes/kubernetes/pull/35635), [@mwielgus](https://github.com/mwielgus))
|
||||
* have basic kubectl crud agnostic of registered types ([#36085](https://github.com/kubernetes/kubernetes/pull/36085), [@deads2k](https://github.com/deads2k))
|
||||
* Fix how we iterate over active jobs when removing them for Replace policy ([#36161](https://github.com/kubernetes/kubernetes/pull/36161), [@soltysh](https://github.com/soltysh))
|
||||
* Adds TCPCloseWaitTimeout option to kube-proxy for sysctl nf_conntrack_tcp_timeout_time_wait ([#35919](https://github.com/kubernetes/kubernetes/pull/35919), [@bowei](https://github.com/bowei))
|
||||
* Pods that are terminating due to eviction by the nodecontroller (typically due to unresponsive kubelet, or network partition) now surface in `kubectl get` output ([#36017](https://github.com/kubernetes/kubernetes/pull/36017), [@foxish](https://github.com/foxish))
|
||||
* as being in state "Unknown", along with a longer description in `kubectl describe` output.
|
||||
* The hostname of the node (as autodetected by the kubelet, specified via --hostname-override, or determined by the cloudprovider) is now recorded as an address of type "Hostname" in the status of the Node API object. The hostname is expected to be resolveable from the apiserver. ([#25532](https://github.com/kubernetes/kubernetes/pull/25532), [@mkulke](https://github.com/mkulke))
|
||||
* [Kubelet] Add alpha support for `--cgroups-per-qos` using the configured `--cgroup-driver`. Disabled by default. ([#31546](https://github.com/kubernetes/kubernetes/pull/31546), [@derekwaynecarr](https://github.com/derekwaynecarr))
|
||||
* Move Statefulset (previously PetSet) to v1beta1 ([#35731](https://github.com/kubernetes/kubernetes/pull/35731), [@janetkuo](https://github.com/janetkuo))
|
||||
* The error handling behavior of `pkg/client/restclient.Result` has changed. Calls to `Result.Raw()` will no longer parse the body, although they will still return errors that react to `pkg/api/errors.Is*()` as in previous releases. Callers of `Get()` and `Into()` will continue to receive errors that are parsed from the body if the kind and apiVersion of the body match the `Status` object. ([#36001](https://github.com/kubernetes/kubernetes/pull/36001), [@smarterclayton](https://github.com/smarterclayton))
|
||||
* This more closely aligns rest client as a generic RESTful client, while preserving the special Kube API extended error handling for the `Get` and `Into` methods (which most Kube clients use).
|
||||
* Making the pod.alpha.kubernetes.io/initialized annotation optional in PetSet pods ([#35739](https://github.com/kubernetes/kubernetes/pull/35739), [@foxish](https://github.com/foxish))
|
||||
* AWS: recognize us-east-2 region ([#35013](https://github.com/kubernetes/kubernetes/pull/35013), [@justinsb](https://github.com/justinsb))
|
||||
* Eviction manager evicts based on inode consumption ([#35137](https://github.com/kubernetes/kubernetes/pull/35137), [@dashpole](https://github.com/dashpole))
|
||||
* SELinux Overhaul ([#33663](https://github.com/kubernetes/kubernetes/pull/33663), [@pmorie](https://github.com/pmorie))
|
||||
* Add SNI support to the apiserver ([#35109](https://github.com/kubernetes/kubernetes/pull/35109), [@sttts](https://github.com/sttts))
|
||||
* The main kubernetes repository stops hosting archived version of released clients. Please use [client-go](https://github.com/kubernetes/client-go). ([#35928](https://github.com/kubernetes/kubernetes/pull/35928), [@caesarxuchao](https://github.com/caesarxuchao))
|
||||
* Correct the article in generated documents ([#32557](https://github.com/kubernetes/kubernetes/pull/32557), [@asalkeld](https://github.com/asalkeld))
|
||||
* Update PodAntiAffinity to ignore calls to subresources ([#35608](https://github.com/kubernetes/kubernetes/pull/35608), [@soltysh](https://github.com/soltysh))
|
||||
* The apiserver can now select which type of kubelet-reported address to use for apiserver->node communications, using the --kubelet-preferred-address-types flag. ([#35497](https://github.com/kubernetes/kubernetes/pull/35497), [@liggitt](https://github.com/liggitt))
|
||||
* update list of vailable resources ([#32687](https://github.com/kubernetes/kubernetes/pull/32687), [@jouve](https://github.com/jouve))
|
||||
* Remove stale volumes if endpoint/svc creation fails. ([#35285](https://github.com/kubernetes/kubernetes/pull/35285), [@humblec](https://github.com/humblec))
|
||||
* add kubectl cp ([#34914](https://github.com/kubernetes/kubernetes/pull/34914), [@brendandburns](https://github.com/brendandburns))
|
||||
* Remove Job also from .status.active for Replace strategy ([#35420](https://github.com/kubernetes/kubernetes/pull/35420), [@soltysh](https://github.com/soltysh))
|
||||
* Let release_1_5 clientset include multiple versions of a group ([#35471](https://github.com/kubernetes/kubernetes/pull/35471), [@caesarxuchao](https://github.com/caesarxuchao))
|
||||
* support editing before creating resource ([#33250](https://github.com/kubernetes/kubernetes/pull/33250), [@ymqytw](https://github.com/ymqytw))
|
||||
* allow authentication through a front-proxy ([#35452](https://github.com/kubernetes/kubernetes/pull/35452), [@deads2k](https://github.com/deads2k))
|
||||
* On GCI, cleanup kubelet startup ([#35319](https://github.com/kubernetes/kubernetes/pull/35319), [@vishh](https://github.com/vishh))
|
||||
* Add a retry when reading a file content from a container ([#35560](https://github.com/kubernetes/kubernetes/pull/35560), [@jingxu97](https://github.com/jingxu97))
|
||||
* Fix cadvisor_unsupported and the crossbuild ([#35817](https://github.com/kubernetes/kubernetes/pull/35817), [@luxas](https://github.com/luxas))
|
||||
* [PHASE 1] Opaque integer resource accounting. ([#31652](https://github.com/kubernetes/kubernetes/pull/31652), [@ConnorDoyle](https://github.com/ConnorDoyle))
|
||||
* Add sync state loop in master's volume reconciler ([#34859](https://github.com/kubernetes/kubernetes/pull/34859), [@jingxu97](https://github.com/jingxu97))
|
||||
* Bump GCE debian image to container-vm-v20161025 (CVE-2016-5195 Dirty… ([#35825](https://github.com/kubernetes/kubernetes/pull/35825), [@dchen1107](https://github.com/dchen1107))
|
||||
* GC pod ips ([#35572](https://github.com/kubernetes/kubernetes/pull/35572), [@bprashanth](https://github.com/bprashanth))
|
||||
* Stop including arch-specific binaries in kubernetes.tar.gz ([#35737](https://github.com/kubernetes/kubernetes/pull/35737), [@ixdy](https://github.com/ixdy))
|
||||
* Rename PetSet to StatefulSet ([#35663](https://github.com/kubernetes/kubernetes/pull/35663), [@janetkuo](https://github.com/janetkuo))
|
||||
* Enable containerized storage plugins mounter on GCI ([#35350](https://github.com/kubernetes/kubernetes/pull/35350), [@vishh](https://github.com/vishh))
|
||||
* Bump container-vm version in config-test.sh ([#35705](https://github.com/kubernetes/kubernetes/pull/35705), [@mtaufen](https://github.com/mtaufen))
|
||||
* Cadvisor root path configuration ([#35136](https://github.com/kubernetes/kubernetes/pull/35136), [@dashpole](https://github.com/dashpole))
|
||||
* ssh pubkey parsing: prevent segfault ([#35323](https://github.com/kubernetes/kubernetes/pull/35323), [@mikkeloscar](https://github.com/mikkeloscar))
|
||||
|
||||
|
||||
|
||||
# v1.4.6
|
||||
|
||||
[Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.4/examples)
|
||||
|
|
@ -301,6 +936,19 @@ filename | sha256 hash
|
|||
* Add sync state loop in master's volume reconciler ([#34859](https://github.com/kubernetes/kubernetes/pull/34859), [@jingxu97](https://github.com/jingxu97))
|
||||
* AWS: strong-typing for k8s vs aws volume ids ([#35883](https://github.com/kubernetes/kubernetes/pull/35883), [@justinsb](https://github.com/justinsb))
|
||||
* Bump GCI version to gci-beta-55-8872-47-0 ([#36679](https://github.com/kubernetes/kubernetes/pull/36679), [@mtaufen](https://github.com/mtaufen))
|
||||
|
||||
```
|
||||
gci-beta-55-8872-47-0:
|
||||
Date: Nov 11, 2016
|
||||
Kernel: ChromiumOS-4.4
|
||||
Kubernetes: v1.4.5
|
||||
Docker: v1.11.2
|
||||
Changelog (vs 55-8872-18-0)
|
||||
* Cherry-pick runc PR#608: Eliminate redundant parsing of mountinfo
|
||||
* Updated kubernetes to v1.4.5
|
||||
* Fixed a bug in e2fsprogs that caused mke2fs to take a very long time. Upstream fix: http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/commit/?h=next&id=d33e690fe7a6cbeb51349d9f2c7fb16a6ebec9c2
|
||||
```
|
||||
|
||||
* Fix fetching pids running in a cgroup, which caused problems with OOM score adjustments & setting the /system cgroup ("misc" in the summary API). ([#36614](https://github.com/kubernetes/kubernetes/pull/36614), [@timstclair](https://github.com/timstclair))
|
||||
* DELETE requests can now pass in their DeleteOptions as a query parameter or a body parameter, rather than just as a body parameter. ([#35806](https://github.com/kubernetes/kubernetes/pull/35806), [@bdbauer](https://github.com/bdbauer))
|
||||
* rkt: Convert image name to be a valid acidentifier ([#34375](https://github.com/kubernetes/kubernetes/pull/34375), [@euank](https://github.com/euank))
|
||||
|
|
@ -827,7 +1475,6 @@ binary | sha256 hash
|
|||
* Added new kubelet flags `--cni-bin-dir` and `--cni-conf-dir` to specify where CNI files are located. ([#32151](https://github.com/kubernetes/kubernetes/pull/32151), [@bboreham](https://github.com/bboreham))
|
||||
* Fixed CNI configuration on GCI platform when using CNI.
|
||||
* Move push-ci-build.sh to kubernetes/release repo ([#32444](https://github.com/kubernetes/kubernetes/pull/32444), [@david-mcmahon](https://github.com/david-mcmahon))
|
||||
* Generate separate OpenAPI spec for each API GroupVersion on /<Group>/<Version>/swagger.json ([#31468](https://github.com/kubernetes/kubernetes/pull/31468), [@mbohlool](https://github.com/mbohlool))
|
||||
* vendor: update github.com/coreos/go-oidc client package ([#31564](https://github.com/kubernetes/kubernetes/pull/31564), [@ericchiang](https://github.com/ericchiang))
|
||||
* Fixed an issue that caused a credential error when deploying federation control plane onto a GKE cluster. ([#31747](https://github.com/kubernetes/kubernetes/pull/31747), [@madhusudancs](https://github.com/madhusudancs))
|
||||
* NONE ([#32229](https://github.com/kubernetes/kubernetes/pull/32229), [@errordeveloper](https://github.com/errordeveloper))
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
[Moved to CONTRIBUTING.md](CONTRIBUTING.md)
|
||||
|
||||
|
||||
[]()
|
||||
|
|
@ -12,7 +12,7 @@ please feel free to send a Pull Request.
|
|||
## Filing issues
|
||||
|
||||
If you have a question about Kubernetes or have a problem using it, please
|
||||
start with the [troubleshooting guide](docs/troubleshooting.md). If that
|
||||
start with the [troubleshooting guide](http://kubernetes.io/docs/troubleshooting/). If that
|
||||
doesn't answer your questions, or if you think you found a bug, please [file an
|
||||
issue](https://github.com/kubernetes/kubernetes/issues/new).
|
||||
|
||||
|
|
@ -23,25 +23,12 @@ issue](https://github.com/kubernetes/kubernetes/issues/new).
|
|||
We'd love to accept your patches! Before we can take them, we have to jump a
|
||||
couple of legal hurdles.
|
||||
|
||||
The Cloud Native Computing Foundation (CNCF) CLA [must be signed](https://github.com/kubernetes/community/blob/master/CLA.md) by all contributors.
|
||||
Please fill out either the individual or corporate Contributor License
|
||||
Agreement (CLA). As of Q4 2016, we're transitioning from Google's CLA to the
|
||||
Cloud Native Computing Foundation (CNCF) CLA.
|
||||
Agreement (CLA).
|
||||
|
||||
Google:
|
||||
* If you are an individual writing original source code and you're sure you
|
||||
own the intellectual property, then you'll need to sign an [individual
|
||||
CLA](http://code.google.com/legal/individual-cla-v1.0.html).
|
||||
* If you work for a company that wants to allow you to contribute your work,
|
||||
then you'll need to sign a [corporate
|
||||
CLA](http://code.google.com/legal/corporate-cla-v1.0.html).
|
||||
|
||||
CNCF:
|
||||
* To contribute as an individual or as am employee of a signed organization,
|
||||
[go here](https://identity.linuxfoundation.org/projects/cncf).
|
||||
* To sign up as an organization, [go
|
||||
here](https://identity.linuxfoundation.org/node/285/organization-signup).
|
||||
|
||||
Once you are CLA'ed, we'll be able to accept your pull requests.
|
||||
Once you are CLA'ed, we'll be able to accept your pull requests. For any issues that you face during this process,
|
||||
please add a comment [here](https://github.com/kubernetes/kubernetes/issues/27796) explaining the issue and we will help get it sorted out.
|
||||
|
||||
***NOTE***: Only original source code from you and other people that have
|
||||
signed the CLA can be accepted into the repository. This policy does not
|
||||
|
|
@ -82,6 +69,46 @@ some bugs or smaller features. We have a [feature development
|
|||
process](https://github.com/kubernetes/features/blob/master/README.md), but
|
||||
navigating the Kubernetes system as a newcomer can be very challenging.
|
||||
|
||||
### Downloading the project
|
||||
|
||||
There are a few ways you can download this code. You must download it into a
|
||||
GOPATH - see [golang.org](https://golang.org/doc/code.html) for more info on
|
||||
how Go works with code. This project expects to be found at the Go package
|
||||
`k8s.io/kubernetes`.
|
||||
|
||||
1. You can `git clone` the repo. If you do this, you MUST make sure it is in
|
||||
the GOPATH as `k8s.io/kubernetes` or it may not build. E.g.: `git clone
|
||||
https://github.com/kubernetes/kubernetes $GOPATH/src/k8s.io/kubernetes`
|
||||
1. You can use `go get` to fetch the repo. This will automatically put it into
|
||||
your GOPATH in the right place. E.g.: `go get -d k8s.io/kubernetes`
|
||||
1. You can download an archive of the source. If you do this, you MUST make
|
||||
sure it is unpacked into the GOPATH as `k8s.io/kubernetes` or it may not
|
||||
build. See [rel.k8s.io](http://rel.k8s.io) for a list of available releases.
|
||||
|
||||
### Building the project
|
||||
|
||||
There are a few things you need to build and test this project:
|
||||
|
||||
1. `make` - the human interface to the Kubernetes build is `make`, so you must
|
||||
have this tool installed on your machine. We try not to use too many crazy
|
||||
features of `Makefile`s and other tools, so most commonly available versions
|
||||
should work.
|
||||
1. `docker` - some parts of the build/test system depend on `docker`. You
|
||||
need a relatively recent version of Docker installed, and available to you.
|
||||
1. `go` - Kubernetes is written in Go (aka golang), so you need a relatively
|
||||
recent version of the [Go toolchain](https://golang.org/dl/) installed.
|
||||
While Linux is the primary platform for Kubernetes, it should compile on a
|
||||
Mac, too. Windows is in progress.
|
||||
|
||||
To build Kubernetes, simply type `make`. This should figure out what it needs
|
||||
to do and not need any input from you. If you want to just build a subset of
|
||||
code, you can pass the `WHAT` variable to `make`: e.g. `make
|
||||
WHAT="cmd/kubelet"`.
|
||||
|
||||
To run basic tests, simply type `make test`. This will run all of the unit
|
||||
tests in the project. If you want to just test a subset of the project, you
|
||||
can pass the `WHAT` variable to `make`: e.g. `make test WHAT=pkg/kubelet`.
|
||||
|
||||
### Protocols for Collaborative Development
|
||||
|
||||
Please read [this doc](docs/devel/collab.md) for information on how we're
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
# Kubernetes Overview
|
||||
|
||||
See the [user guide overview](docs/user-guide/overview.md) for an introduction to Kubernetes and its core concepts.
|
||||
|
||||
See the [design overview](docs/design/) for an overview of the system design.
|
||||
|
||||
See the [API overview](docs/api.md) and [conventions](docs/devel/api-conventions.md) for an overview of the API design.
|
||||
|
||||
|
||||
[]()
|
||||
|
|
@ -30,23 +30,28 @@
|
|||
},
|
||||
{
|
||||
"ImportPath": "github.com/Azure/azure-sdk-for-go/arm/compute",
|
||||
"Comment": "v3.1.0-beta-24-g8316b90",
|
||||
"Rev": "8316b9060f9c2443ba0864663245695d570a7fa2"
|
||||
"Comment": "v7.0.1-beta",
|
||||
"Rev": "0984e0641ae43b89283223034574d6465be93bf4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/Azure/azure-sdk-for-go/arm/containerregistry",
|
||||
"Comment": "v7.0.1-beta",
|
||||
"Rev": "0984e0641ae43b89283223034574d6465be93bf4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/Azure/azure-sdk-for-go/arm/network",
|
||||
"Comment": "v3.1.0-beta-24-g8316b90",
|
||||
"Rev": "8316b9060f9c2443ba0864663245695d570a7fa2"
|
||||
"Comment": "v7.0.1-beta",
|
||||
"Rev": "0984e0641ae43b89283223034574d6465be93bf4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/Azure/azure-sdk-for-go/arm/storage",
|
||||
"Comment": "v3.1.0-beta-24-g8316b90",
|
||||
"Rev": "8316b9060f9c2443ba0864663245695d570a7fa2"
|
||||
"Comment": "v7.0.1-beta",
|
||||
"Rev": "0984e0641ae43b89283223034574d6465be93bf4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/Azure/azure-sdk-for-go/storage",
|
||||
"Comment": "v3.1.0-beta-24-g8316b90",
|
||||
"Rev": "8316b9060f9c2443ba0864663245695d570a7fa2"
|
||||
"Comment": "v7.0.1-beta",
|
||||
"Rev": "0984e0641ae43b89283223034574d6465be93bf4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/Azure/go-ansiterm",
|
||||
|
|
@ -58,23 +63,28 @@
|
|||
},
|
||||
{
|
||||
"ImportPath": "github.com/Azure/go-autorest/autorest",
|
||||
"Comment": "v7.0.6-4-g2492d97",
|
||||
"Rev": "2492d97b402e00797833c03ac5fa1c572c7bb29a"
|
||||
"Comment": "v7.2.2-8-ge0c77ec",
|
||||
"Rev": "e0c77ecbe74311e03f2a629834d2110f031f1453"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/Azure/go-autorest/autorest/azure",
|
||||
"Comment": "v7.0.6-4-g2492d97",
|
||||
"Rev": "2492d97b402e00797833c03ac5fa1c572c7bb29a"
|
||||
"Comment": "v7.2.2-8-ge0c77ec",
|
||||
"Rev": "e0c77ecbe74311e03f2a629834d2110f031f1453"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/Azure/go-autorest/autorest/date",
|
||||
"Comment": "v7.0.6-4-g2492d97",
|
||||
"Rev": "2492d97b402e00797833c03ac5fa1c572c7bb29a"
|
||||
"Comment": "v7.2.2-8-ge0c77ec",
|
||||
"Rev": "e0c77ecbe74311e03f2a629834d2110f031f1453"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/Azure/go-autorest/autorest/to",
|
||||
"Comment": "v7.0.6-4-g2492d97",
|
||||
"Rev": "2492d97b402e00797833c03ac5fa1c572c7bb29a"
|
||||
"Comment": "v7.2.2-8-ge0c77ec",
|
||||
"Rev": "e0c77ecbe74311e03f2a629834d2110f031f1453"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/Azure/go-autorest/autorest/validation",
|
||||
"Comment": "v7.2.2-8-ge0c77ec",
|
||||
"Rev": "e0c77ecbe74311e03f2a629834d2110f031f1453"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/MakeNowJust/heredoc",
|
||||
|
|
@ -277,6 +287,22 @@
|
|||
"Comment": "v1.2.1",
|
||||
"Rev": "dfb21201d9270c1082d5fb0f07f500311ff72f18"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/chai2010/gettext-go/gettext",
|
||||
"Rev": "c6fed771bfd517099caf0f7a961671fa8ed08723"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/chai2010/gettext-go/gettext/mo",
|
||||
"Rev": "c6fed771bfd517099caf0f7a961671fa8ed08723"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/chai2010/gettext-go/gettext/plural",
|
||||
"Rev": "c6fed771bfd517099caf0f7a961671fa8ed08723"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/chai2010/gettext-go/gettext/po",
|
||||
"Rev": "c6fed771bfd517099caf0f7a961671fa8ed08723"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/cloudflare/cfssl/auth",
|
||||
"Comment": "1.2.0",
|
||||
|
|
@ -865,8 +891,8 @@
|
|||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/go-units",
|
||||
"Comment": "v0.1.0-21-g0bbddae",
|
||||
"Rev": "0bbddae09c5a5419a8c6dcdd7ff90da3d450393b"
|
||||
"Comment": "v0.3.1-10-ge30f1e7",
|
||||
"Rev": "e30f1e79f3cd72542f2026ceec18d3bd67ab859c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/spdystream",
|
||||
|
|
@ -887,18 +913,18 @@
|
|||
},
|
||||
{
|
||||
"ImportPath": "github.com/emicklei/go-restful",
|
||||
"Comment": "v1.2-79-g89ef8af",
|
||||
"Rev": "89ef8af493ab468a45a42bb0d89a06fccdd2fb22"
|
||||
"Comment": "v1.2-96-g09691a3",
|
||||
"Rev": "09691a3b6378b740595c1002f40c34dd5f218a22"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/emicklei/go-restful/log",
|
||||
"Comment": "v1.2-79-g89ef8af",
|
||||
"Rev": "89ef8af493ab468a45a42bb0d89a06fccdd2fb22"
|
||||
"Comment": "v1.2-96-g09691a3",
|
||||
"Rev": "09691a3b6378b740595c1002f40c34dd5f218a22"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/emicklei/go-restful/swagger",
|
||||
"Comment": "v1.2-79-g89ef8af",
|
||||
"Rev": "89ef8af493ab468a45a42bb0d89a06fccdd2fb22"
|
||||
"Comment": "v1.2-96-g09691a3",
|
||||
"Rev": "09691a3b6378b740595c1002f40c34dd5f218a22"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/evanphx/json-patch",
|
||||
|
|
@ -1348,7 +1374,7 @@
|
|||
},
|
||||
{
|
||||
"ImportPath": "github.com/google/gofuzz",
|
||||
"Rev": "bbcb9da2d746f8bdbd6a936686a0a6067ada0ec5"
|
||||
"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/gorilla/context",
|
||||
|
|
@ -1484,6 +1510,10 @@
|
|||
"Comment": "v3.0.7-72-ga0ff256",
|
||||
"Rev": "a0ff2567cfb70903282db057e799fd826784d41d"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/juju/ratelimit",
|
||||
"Rev": "77ed1c8a01217656d2080ad51981f6e99adaa177"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/kardianos/osext",
|
||||
"Rev": "8fef92e41e22a70e700a96b29f066cda30ea24ef"
|
||||
|
|
@ -1548,6 +1578,11 @@
|
|||
"Comment": "before-0.26-protos-33-g45c8b08",
|
||||
"Rev": "45c8b08e9af666add36a6f93ff8c1c75812367b0"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/miekg/coredns/middleware/etcd/msg",
|
||||
"Comment": "v003",
|
||||
"Rev": "20e25559d5eada5a68a0720816a6e947b94860ce"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/miekg/dns",
|
||||
"Rev": "5d001d020961ae1c184f9f8152fdc73810481677"
|
||||
|
|
@ -1970,6 +2005,11 @@
|
|||
"Comment": "v1.0.0-1012-ge00690e",
|
||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3/routers",
|
||||
"Comment": "v1.0.0-1012-ge00690e",
|
||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/members",
|
||||
"Comment": "v1.0.0-1012-ge00690e",
|
||||
|
|
@ -2290,12 +2330,12 @@
|
|||
},
|
||||
{
|
||||
"ImportPath": "github.com/vmware/photon-controller-go-sdk/photon",
|
||||
"Comment": "PROMOTED-336",
|
||||
"Comment": "PROMOTED-339",
|
||||
"Rev": "dd6be2029ef341cae37b2557ddd302f68176f832"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/vmware/photon-controller-go-sdk/photon/lightwave",
|
||||
"Comment": "PROMOTED-336",
|
||||
"Comment": "PROMOTED-339",
|
||||
"Rev": "dd6be2029ef341cae37b2557ddd302f68176f832"
|
||||
},
|
||||
{
|
||||
|
|
@ -2424,10 +2464,30 @@
|
|||
"ImportPath": "golang.org/x/text/cases",
|
||||
"Rev": "2910a502d2bf9e43193af9d68ca516529614eed3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/encoding",
|
||||
"Rev": "2910a502d2bf9e43193af9d68ca516529614eed3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/encoding/internal",
|
||||
"Rev": "2910a502d2bf9e43193af9d68ca516529614eed3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/encoding/internal/identifier",
|
||||
"Rev": "2910a502d2bf9e43193af9d68ca516529614eed3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/encoding/unicode",
|
||||
"Rev": "2910a502d2bf9e43193af9d68ca516529614eed3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/internal/tag",
|
||||
"Rev": "2910a502d2bf9e43193af9d68ca516529614eed3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/internal/utf8internal",
|
||||
"Rev": "2910a502d2bf9e43193af9d68ca516529614eed3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/language",
|
||||
"Rev": "2910a502d2bf9e43193af9d68ca516529614eed3"
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -187,7 +187,7 @@
|
|||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2014 The Kubernetes Authors.
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ KUBE_GOGCFLAGS = $(GOGCFLAGS)
|
|||
# This controls the verbosity of the build. Higher numbers mean more output.
|
||||
KUBE_VERBOSE ?= 1
|
||||
|
||||
define ALL_HELP_INFO
|
||||
# Build code.
|
||||
#
|
||||
# Args:
|
||||
|
|
@ -74,18 +75,32 @@ KUBE_VERBOSE ?= 1
|
|||
# Note: Use the -N -l options to disable compiler optimizations an inlining.
|
||||
# Using these build options allows you to subsequently use source
|
||||
# debugging tools like delve.
|
||||
endef
|
||||
.PHONY: all
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
all:
|
||||
@echo "$$ALL_HELP_INFO"
|
||||
else
|
||||
all: generated_files
|
||||
hack/make-rules/build.sh $(WHAT)
|
||||
endif
|
||||
|
||||
define GINKGO_HELP_INFO
|
||||
# Build ginkgo
|
||||
#
|
||||
# Example:
|
||||
# make ginkgo
|
||||
endef
|
||||
.PHONY: ginkgo
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
ginkgo:
|
||||
@echo "$$GINKGO_HELP_INFO"
|
||||
else
|
||||
ginkgo:
|
||||
hack/make-rules/build.sh vendor/github.com/onsi/ginkgo/ginkgo
|
||||
endif
|
||||
|
||||
define VERIFY_HELP_INFO
|
||||
# Runs all the presubmission verifications.
|
||||
#
|
||||
# Args:
|
||||
|
|
@ -94,19 +109,33 @@ ginkgo:
|
|||
# Example:
|
||||
# make verify
|
||||
# make verify BRANCH=branch_x
|
||||
endef
|
||||
.PHONY: verify
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
verify:
|
||||
@echo "$$VERIFY_HELP_INFO"
|
||||
else
|
||||
verify: verify_generated_files
|
||||
KUBE_VERIFY_GIT_BRANCH=$(BRANCH) hack/make-rules/verify.sh -v
|
||||
hack/make-rules/vet.sh
|
||||
endif
|
||||
|
||||
define UPDATE_HELP_INFO
|
||||
# Runs all the generated updates.
|
||||
#
|
||||
# Example:
|
||||
# make update
|
||||
endef
|
||||
.PHONY: update
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
update:
|
||||
@echo "$$UPDATE_HELP_INFO"
|
||||
else
|
||||
update:
|
||||
hack/update-all.sh
|
||||
endif
|
||||
|
||||
define CHECK_TEST_HELP_INFO
|
||||
# Build and run tests.
|
||||
#
|
||||
# Args:
|
||||
|
|
@ -121,10 +150,17 @@ update:
|
|||
# make check
|
||||
# make test
|
||||
# make check WHAT=pkg/kubelet GOFLAGS=-v
|
||||
endef
|
||||
.PHONY: check test
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
check test:
|
||||
@echo "$$CHECK_TEST_HELP_INFO"
|
||||
else
|
||||
check test: generated_files
|
||||
hack/make-rules/test.sh $(WHAT) $(TESTS)
|
||||
endif
|
||||
|
||||
define TEST_IT_HELP_INFO
|
||||
# Build and run integration tests.
|
||||
#
|
||||
# Args:
|
||||
|
|
@ -133,18 +169,32 @@ check test: generated_files
|
|||
#
|
||||
# Example:
|
||||
# make test-integration
|
||||
endef
|
||||
.PHONY: test-integration
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
test-integration:
|
||||
@echo "$$TEST_IT_HELP_INFO"
|
||||
else
|
||||
test-integration: generated_files
|
||||
hack/make-rules/test-integration.sh $(WHAT)
|
||||
endif
|
||||
|
||||
define TEST_E2E_HELP_INFO
|
||||
# Build and run end-to-end tests.
|
||||
#
|
||||
# Example:
|
||||
# make test-e2e
|
||||
endef
|
||||
.PHONY: test-e2e
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
test-e2e:
|
||||
@echo "$$TEST_E2E_HELP_INFO"
|
||||
else
|
||||
test-e2e: ginkgo generated_files
|
||||
go run hack/e2e.go -v --build --up --test --down
|
||||
endif
|
||||
|
||||
define TEST_E2E_NODE_HELP_INFO
|
||||
# Build and run node end-to-end tests.
|
||||
#
|
||||
# Args:
|
||||
|
|
@ -183,48 +233,83 @@ test-e2e: ginkgo generated_files
|
|||
# make test-e2e-node REMOTE=true DELETE_INSTANCES=true
|
||||
# make test-e2e-node TEST_ARGS="--experimental-cgroups-per-qos=true"
|
||||
# Build and run tests.
|
||||
endef
|
||||
.PHONY: test-e2e-node
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
test-e2e-node:
|
||||
@echo "$$TEST_E2E_NODE_HELP_INFO"
|
||||
else
|
||||
test-e2e-node: ginkgo generated_files
|
||||
hack/make-rules/test-e2e-node.sh
|
||||
endif
|
||||
|
||||
define TEST_CMD_HELP_INFO
|
||||
# Build and run cmdline tests.
|
||||
#
|
||||
# Example:
|
||||
# make test-cmd
|
||||
endef
|
||||
.PHONY: test-cmd
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
test-cmd:
|
||||
@echo "$$TEST_CMD_HELP_INFO"
|
||||
else
|
||||
test-cmd: generated_files
|
||||
hack/make-rules/test-kubeadm-cmd.sh
|
||||
hack/make-rules/test-cmd.sh
|
||||
endif
|
||||
|
||||
define CLEAN_HELP_INFO
|
||||
# Remove all build artifacts.
|
||||
#
|
||||
# Example:
|
||||
# make clean
|
||||
#
|
||||
# TODO(thockin): call clean_generated when we stop committing generated code.
|
||||
endef
|
||||
.PHONY: clean
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
clean:
|
||||
@echo "$$CLEAN_HELP_INFO"
|
||||
else
|
||||
clean: clean_meta
|
||||
build-tools/make-clean.sh
|
||||
build/make-clean.sh
|
||||
rm -rf $(OUT_DIR)
|
||||
rm -rf Godeps/_workspace # Just until we are sure it is gone
|
||||
endif
|
||||
|
||||
define CLEAN_META_HELP_INFO
|
||||
# Remove make-related metadata files.
|
||||
#
|
||||
# Example:
|
||||
# make clean_meta
|
||||
endef
|
||||
.PHONY: clean_meta
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
clean_meta:
|
||||
@echo "$$CLEAN_META_HELP_INFO"
|
||||
else
|
||||
clean_meta:
|
||||
rm -rf $(META_DIR)
|
||||
endif
|
||||
|
||||
define CLEAN_GENERATED_HELP_INFO
|
||||
# Remove all auto-generated artifacts. Generated artifacts in staging folder should not be removed as they are not
|
||||
# generated using generated_files.
|
||||
#
|
||||
# Example:
|
||||
# make clean_generated
|
||||
endef
|
||||
.PHONY: clean_generated
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
clean_generated:
|
||||
@echo "$$CLEAN_GENERATED_HELP_INFO"
|
||||
else
|
||||
clean_generated:
|
||||
find . -type f -name $(GENERATED_FILE_PREFIX)\* | grep -v "[.]/staging/.*" | xargs rm -f
|
||||
endif
|
||||
|
||||
define VET_HELP_INFO
|
||||
# Run 'go vet'.
|
||||
#
|
||||
# Args:
|
||||
|
|
@ -235,70 +320,158 @@ clean_generated:
|
|||
# Example:
|
||||
# make vet
|
||||
# make vet WHAT=pkg/kubelet
|
||||
endef
|
||||
.PHONY: vet
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
vet:
|
||||
@echo "$$VET_HELP_INFO"
|
||||
else
|
||||
vet:
|
||||
hack/make-rules/vet.sh $(WHAT)
|
||||
endif
|
||||
|
||||
define RELEASE_HELP_INFO
|
||||
# Build a release
|
||||
#
|
||||
# Example:
|
||||
# make release
|
||||
endef
|
||||
.PHONY: release
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
release:
|
||||
build-tools/release.sh
|
||||
@echo "$$RELEASE_HELP_INFO"
|
||||
else
|
||||
release:
|
||||
build/release.sh
|
||||
endif
|
||||
|
||||
define RELEASE_SKIP_TESTS_HELP_INFO
|
||||
# Build a release, but skip tests
|
||||
#
|
||||
# Example:
|
||||
# make release-skip-tests
|
||||
endef
|
||||
.PHONY: release-skip-tests quick-release
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
release-skip-tests quick-release:
|
||||
KUBE_RELEASE_RUN_TESTS=n KUBE_FASTBUILD=true build-tools/release.sh
|
||||
@echo "$$RELEASE_SKIP_TESTS_HELP_INFO"
|
||||
else
|
||||
release-skip-tests quick-release:
|
||||
KUBE_RELEASE_RUN_TESTS=n KUBE_FASTBUILD=true build/release.sh
|
||||
endif
|
||||
|
||||
define CROSS_HELP_INFO
|
||||
# Cross-compile for all platforms
|
||||
#
|
||||
# Example:
|
||||
# make cross
|
||||
endef
|
||||
.PHONY: cross
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
cross:
|
||||
@echo "$$CROSS_HELP_INFO"
|
||||
else
|
||||
cross:
|
||||
hack/make-rules/cross.sh
|
||||
endif
|
||||
|
||||
define CMD_HELP_INFO
|
||||
# Add rules for all directories in cmd/
|
||||
#
|
||||
# Example:
|
||||
# make kubectl kube-proxy
|
||||
.PHONY: $(notdir $(abspath $(wildcard cmd/*/)))
|
||||
$(notdir $(abspath $(wildcard cmd/*/))): generated_files
|
||||
endef
|
||||
#TODO: make EXCLUDE_TARGET auto-generated when there are other files in cmd/
|
||||
#TODO: should we exclude the target "libs" but include "cmd/libs/go2idl/*"?
|
||||
EXCLUDE_TARGET=OWNERS
|
||||
.PHONY: $(filter-out %$(EXCLUDE_TARGET),$(notdir $(abspath $(wildcard cmd/*/))))
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
$(filter-out %$(EXCLUDE_TARGET),$(notdir $(abspath $(wildcard cmd/*/)))):
|
||||
@echo "$$CMD_HELP_INFO"
|
||||
else
|
||||
$(filter-out %$(EXCLUDE_TARGET),$(notdir $(abspath $(wildcard cmd/*/)))): generated_files
|
||||
hack/make-rules/build.sh cmd/$@
|
||||
endif
|
||||
|
||||
define PLUGIN_CMD_HELP_INFO
|
||||
# Add rules for all directories in plugin/cmd/
|
||||
#
|
||||
# Example:
|
||||
# make kube-scheduler
|
||||
endef
|
||||
.PHONY: $(notdir $(abspath $(wildcard plugin/cmd/*/)))
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
$(notdir $(abspath $(wildcard plugin/cmd/*/))):
|
||||
@echo "$$PLUGIN_CMD_HELP_INFO"
|
||||
else
|
||||
$(notdir $(abspath $(wildcard plugin/cmd/*/))): generated_files
|
||||
hack/make-rules/build.sh plugin/cmd/$@
|
||||
endif
|
||||
|
||||
define FED_CMD_HELP_INFO
|
||||
# Add rules for all directories in federation/cmd/
|
||||
#
|
||||
# Example:
|
||||
# make federation-apiserver federation-controller-manager
|
||||
endef
|
||||
.PHONY: $(notdir $(abspath $(wildcard federation/cmd/*/)))
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
$(notdir $(abspath $(wildcard federation/cmd/*/))):
|
||||
@echo "$$FED_CMD_HELP_INFO"
|
||||
else
|
||||
$(notdir $(abspath $(wildcard federation/cmd/*/))): generated_files
|
||||
hack/make-rules/build.sh federation/cmd/$@
|
||||
endif
|
||||
|
||||
define GENERATED_FILES_HELP_INFO
|
||||
# Produce auto-generated files needed for the build.
|
||||
#
|
||||
# Example:
|
||||
# make generated_files
|
||||
endef
|
||||
.PHONY: generated_files
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
generated_files:
|
||||
@echo "$$GENERATED_FILES_HELP_INFO"
|
||||
else
|
||||
generated_files:
|
||||
$(MAKE) -f Makefile.generated_files $@ CALLED_FROM_MAIN_MAKEFILE=1
|
||||
endif
|
||||
|
||||
define VERIFY_GENERATED_FILES_HELP_INFO
|
||||
# Verify auto-generated files needed for the build.
|
||||
#
|
||||
# Example:
|
||||
# make verify_generated_files
|
||||
endef
|
||||
.PHONY: verify_generated_files
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
verify_generated_files:
|
||||
@echo "$$VERIFY_GENERATED_FILES_HELP_INFO"
|
||||
else
|
||||
verify_generated_files:
|
||||
$(MAKE) -f Makefile.generated_files $@ CALLED_FROM_MAIN_MAKEFILE=1
|
||||
endif
|
||||
|
||||
define HELP_INFO
|
||||
# Print make targets and help info
|
||||
#
|
||||
# Example:
|
||||
# make help
|
||||
endef
|
||||
.PHONY: help
|
||||
ifeq ($(PRINT_HELP),y)
|
||||
help:
|
||||
@echo "$$HELP_INFO"
|
||||
else
|
||||
help:
|
||||
hack/make-rules/make-help.sh
|
||||
endif
|
||||
|
||||
# Non-dockerized bazel rules.
|
||||
.PHONY: bazel-build bazel-test
|
||||
bazel-build:
|
||||
bazel build //cmd/... //pkg/... //federation/... //plugin/... //build/... //examples/... //test/... //third_party/...
|
||||
|
||||
bazel-test:
|
||||
bazel test --test_output=errors //cmd/... //pkg/... //federation/... //plugin/... //build/... //third_party/...
|
||||
|
|
|
|||
|
|
@ -24,3 +24,8 @@ aliases:
|
|||
- soltysh
|
||||
- sttts
|
||||
- ymqytw
|
||||
test-infra-maintainers:
|
||||
- fejta
|
||||
- ixdy
|
||||
- rmmh
|
||||
- spxtr
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
[![Submit Queue Widget]][Submit Queue] [![GoDoc Widget]][GoDoc] [![Coverage Status Widget]][Coverage Status]
|
||||
|
||||
<img src="https://github.com/kubernetes/kubernetes/raw/master/logo/logo.png" width="100">
|
||||
|
||||
[Submit Queue]: http://submit-queue.k8s.io/#/e2e
|
||||
[Submit Queue Widget]: http://submit-queue.k8s.io/health.svg?v=1
|
||||
[GoDoc]: https://godoc.org/k8s.io/kubernetes
|
||||
|
|
@ -9,155 +11,82 @@
|
|||
[Coverage Status]: https://coveralls.io/r/kubernetes/kubernetes
|
||||
[Coverage Status Widget]: https://coveralls.io/repos/kubernetes/kubernetes/badge.svg
|
||||
|
||||
## Introduction
|
||||
|
||||
Kubernetes is an open source system for managing [containerized applications](http://kubernetes.io/docs/whatisk8s/) across multiple hosts,
|
||||
providing basic mechanisms for deployment, maintenance, and scaling of applications. Kubernetes is hosted by the Cloud Native Computing Foundation ([CNCF](https://www.cncf.io))
|
||||
|
||||
Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale using a system called [Borg](https://research.google.com/pubs/pub43438.html), combined with best-of-breed ideas and practices from the community.
|
||||
|
||||
<hr>
|
||||
|
||||
### Are you ...
|
||||
|
||||
* Interested in learning more about using Kubernetes? Please see our user-facing documentation on [kubernetes.io](http://kubernetes.io) or try the [Scalable Microservices with Kubernetes](https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615) course
|
||||
* Interested in hacking on the core Kubernetes code base? Keep reading!
|
||||
* Interested in learning more about using Kubernetes?
|
||||
- See our documentation on [kubernetes.io](http://kubernetes.io)
|
||||
- Try our [interactive tutorial](http://kubernetes.io/docs/tutorials/kubernetes-basics/)
|
||||
- Take a free course on [Scalable Microservices with Kubernetes](https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615).
|
||||
* Interested in developing the core Kubernetes code base, developing tools using the Kubernetes API or helping in anyway possible ? Keep reading!
|
||||
|
||||
<hr>
|
||||
## Code of Conduct
|
||||
|
||||
Kubernetes is an open source system for managing [containerized applications](https://github.com/kubernetes/kubernetes/wiki/Why-Kubernetes%3F#why-containers) across multiple hosts,
|
||||
providing basic mechanisms for deployment, maintenance, and scaling of applications.
|
||||
The Kubernetes community abides by the CNCF [code of conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). Here is an excerpt:
|
||||
|
||||
Kubernetes is:
|
||||
_As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities._
|
||||
|
||||
* **lean**: lightweight, simple, accessible
|
||||
* **portable**: public, private, hybrid, multi cloud
|
||||
* **extensible**: modular, pluggable, hookable, composable
|
||||
* **self-healing**: auto-placement, auto-restart, auto-replication
|
||||
## Community
|
||||
|
||||
Kubernetes builds upon a [decade and a half of experience at Google running production workloads at scale](https://research.google.com/pubs/pub43438.html), combined with best-of-breed ideas and practices from the community.
|
||||
Do you want to help "shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented? ". If you are a company, you should consider joining the [CNCF](https://cncf.io/about). For details about who's involved in CNCF and how Kubernetes plays a role, read [the announcement](https://cncf.io/news/announcement/2015/07/new-cloud-native-computing-foundation-drive-alignment-among-container). For general information about our community see the website [community](http://kubernetes.io/community/) page.
|
||||
|
||||
<hr>
|
||||
Join us on social media ([Twitter](https://twitter.com/kubernetesio), [Google+](https://plus.google.com/u/0/b/116512812300813784482/116512812300813784482)) and read our [blog](http://blog.kubernetes.io/)
|
||||
|
||||
### Kubernetes is ready for Production!
|
||||
Ask questions and help answer them on [Slack](http://slack.k8s.io/) or [Stack Overflow](http://stackoverflow.com/questions/tagged/kubernetes)
|
||||
|
||||
Since the Kubernetes 1.0 release in July 2015 Kubernetes is ready for your production workloads.
|
||||
Attend our key events ([kubecon](http://events.linuxfoundation.org/events/kubecon), [cloudnativecon](http://events.linuxfoundation.org/events/cloudnativecon), weekly [community meeting](https://github.com/kubernetes/community/blob/master/community/README.md))
|
||||
|
||||
### Kubernetes can run anywhere!
|
||||
Join a Special Interest Group ([SIG](https://github.com/kubernetes/community))
|
||||
|
||||
You can run Kubernetes on your local workstation under Vagrant, cloud providers (e.g. GCE, AWS, Azure), and physical hardware. Essentially, anywhere Linux runs you can run Kubernetes. Checkout the [Getting Started Guides](http://kubernetes.io/docs/getting-started-guides/) for details.
|
||||
## Contribute
|
||||
|
||||
## Concepts
|
||||
If you're interested in being a contributor and want to get involved in developing Kubernetes, get started with this reading:
|
||||
|
||||
Kubernetes works with the following concepts:
|
||||
* The community [expectations](https://github.com/kubernetes/community/blob/master/contributors/devel/community-expectations.md)
|
||||
* The [contributor guidelines](CONTRIBUTING.md)
|
||||
* The [Kubernetes Developer Guide](https://github.com/kubernetes/community/tree/master/contributors/devel)
|
||||
|
||||
[**Cluster**](docs/admin/README.md)
|
||||
: A cluster is a set of physical or virtual machines and other infrastructure resources used by Kubernetes to run your applications. Kubernetes can run anywhere! See the [Getting Started Guides](docs/getting-started-guides/) for instructions for a variety of services.
|
||||
You will then most certainly gain a lot from joining a [SIG](https://github.com/kubernetes/community), attending the regular hangouts as well as the community [meeting](https://github.com/kubernetes/community/blob/master/community/README.md).
|
||||
|
||||
[**Node**](docs/admin/node.md)
|
||||
: A node is a physical or virtual machine running Kubernetes, onto which pods can be scheduled.
|
||||
If you have an idea for a new feature, see the [Kubernetes Features](https://github.com/kubernetes/features) repository for a list of features that are coming in new releases as well as details on how to propose one.
|
||||
|
||||
[**Pod**](docs/user-guide/pods.md)
|
||||
: Pods are a colocated group of application containers with shared volumes. They're the smallest deployable units that can be created, scheduled, and managed with Kubernetes. Pods can be created individually, but it's recommended that you use a replication controller even if creating a single pod.
|
||||
### Building Kubernetes for the impatient
|
||||
|
||||
[**Replication controller**](docs/user-guide/replication-controller.md)
|
||||
: Replication controllers manage the lifecycle of pods. They ensure that a specified number of pods are running
|
||||
at any given time, by creating or killing pods as required.
|
||||
If you want to build Kubernetes right away there are two options:
|
||||
|
||||
[**Service**](docs/user-guide/services.md)
|
||||
: Services provide a single, stable name and address for a set of pods.
|
||||
They act as basic load balancers.
|
||||
* You have a working [Go environment](https://golang.org/doc/install).
|
||||
|
||||
[**Label**](docs/user-guide/labels.md)
|
||||
: Labels are used to organize and select groups of objects based on key:value pairs.
|
||||
```
|
||||
$ go get -d k8s.io/kubernetes
|
||||
$ cd $GOPATH/src/k8s.io/kubernetes
|
||||
$ make
|
||||
```
|
||||
|
||||
## Documentation
|
||||
* You have a working [Docker environment](https://docs.docker.com/engine/).
|
||||
|
||||
Kubernetes documentation is organized into several categories.
|
||||
```
|
||||
$ git clone https://github.com/kubernetes/kubernetes
|
||||
$ cd kubernetes
|
||||
$ make quick-release
|
||||
```
|
||||
|
||||
- **Getting started guides**
|
||||
- for people who want to create a Kubernetes cluster
|
||||
- in [Creating a Kubernetes Cluster](http://kubernetes.github.io/docs/getting-started-guides/)
|
||||
- for people who want to port Kubernetes to a new environment
|
||||
- in [Getting Started from Scratch](http://kubernetes.github.io/docs/getting-started-guides/scratch/)
|
||||
- **User documentation**
|
||||
- for people who want to run programs on an existing Kubernetes cluster
|
||||
- in the [Kubernetes User Guide: Managing Applications](http://kubernetes.github.io/docs/user-guide/)
|
||||
*Tip: You can also view help documentation out on [http://kubernetes.io/docs/](http://kubernetes.io/docs/).*
|
||||
- the [Kubectl Command Line Interface](http://kubernetes.io/docs/user-guide/kubectl-overview/) is a detailed reference on
|
||||
the `kubectl` CLI
|
||||
- [User FAQ](https://github.com/kubernetes/kubernetes/wiki/User-FAQ)
|
||||
- **Cluster administrator documentation**
|
||||
- for people who want to create a Kubernetes cluster and administer it
|
||||
- in the [Kubernetes Cluster Admin Guide](http://kubernetes.io/docs/admin/)
|
||||
- **Developer and API documentation**
|
||||
- for people who want to write programs that access the Kubernetes API, write plugins
|
||||
or extensions, or modify the core Kubernetes code
|
||||
- in the [Kubernetes Developer Guide](docs/devel/README.md)
|
||||
- see also [notes on the API](docs/api.md)
|
||||
- see also the [API object documentation](docs/api-reference/README.md), a
|
||||
detailed description of all fields found in the core API objects
|
||||
- **Walkthroughs and examples**
|
||||
- hands-on introduction and example config files
|
||||
- in the [user guide](http://kubernetes.github.io/docs/user-guide/)
|
||||
- in the [docs/examples directory](examples/)
|
||||
- **Contributions from the Kubernetes community**
|
||||
- in the [docs/contrib directory](contrib/)
|
||||
- **Design documentation and design proposals**
|
||||
- for people who want to understand the design of Kubernetes, and feature proposals
|
||||
- design docs in the [Kubernetes Design Overview](docs/design/README.md) and the [docs/design directory](docs/design/)
|
||||
- proposals in the [docs/proposals directory](docs/proposals/)
|
||||
- **Wiki/FAQ**
|
||||
- in the [wiki](https://github.com/kubernetes/kubernetes/wiki)
|
||||
- troubleshooting information in the [troubleshooting guide](http://kubernetes.io/docs/troubleshooting/)
|
||||
If you are less impatient, head over to the [developer's documentation](https://github.com/kubernetes/community/tree/master/contributors/devel).
|
||||
|
||||
## Community, discussion, contribution, and support
|
||||
## Support
|
||||
|
||||
See which companies are committed to driving quality in Kubernetes on our [community page](http://kubernetes.io/community/).
|
||||
While there are many different channels that you can use to get hold of us ([Slack](http://slack.k8s.io/), [Stack Overflow](http://stackoverflow.com/questions/tagged/kubernetes), [Issues](https://github.com/kubernetes/kubernetes/issues/new), [Forums/Mailing lists](https://groups.google.com/forum/#!forum/kubernetes-users)), you can help make sure that we are efficient in getting you the help that you need.
|
||||
|
||||
Do you want to help "shape the evolution of technologies that are container packaged, dynamically scheduled and microservices oriented?"
|
||||
|
||||
You should consider joining the [Cloud Native Computing Foundation](https://cncf.io/about). For details about who's involved and how Kubernetes plays a role, read [their announcement](https://cncf.io/news/announcement/2015/07/new-cloud-native-computing-foundation-drive-alignment-among-container).
|
||||
|
||||
### Code of conduct
|
||||
|
||||
Participation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md).
|
||||
|
||||
### Are you ready to add to the discussion?
|
||||
|
||||
We have presence on:
|
||||
|
||||
* [Twitter](https://twitter.com/kubernetesio)
|
||||
* [Google+](https://plus.google.com/u/0/b/116512812300813784482/116512812300813784482)
|
||||
* [Blogger](http://blog.kubernetes.io/)
|
||||
|
||||
You can also view recordings of past events and presentations on our [Media page](http://kubernetes.io/media/).
|
||||
|
||||
For Q&A, our threads are at:
|
||||
|
||||
* [Stack Overflow](http://stackoverflow.com/questions/tagged/kubernetes)
|
||||
* [Slack](http://slack.k8s.io/)
|
||||
|
||||
### Want to contribute to Kubernetes?
|
||||
|
||||
If you're interested in being a contributor and want to get involved in developing Kubernetes, start in the [Kubernetes Developer Guide](docs/devel/README.md) and also review the [contributor guidelines](CONTRIBUTING.md).
|
||||
|
||||
Or, if you just have an idea for a new feature, see the [Kubernetes Features](https://github.com/kubernetes/features) repository for details on how to propose it.
|
||||
|
||||
Also, please see our [expectations](docs/devel/community-expectations.md) for members of
|
||||
the Kubernetes community.
|
||||
|
||||
### Support
|
||||
|
||||
While there are many different channels that you can use to get ahold of us, you can help make sure that we are efficient in getting you the help that you need.
|
||||
|
||||
If you need support, start with the [troubleshooting guide](docs/troubleshooting.md#getting-help) and work your way through the process that we've outlined.
|
||||
If you need support, start with the [troubleshooting guide](http://kubernetes.io/docs/troubleshooting/) and work your way through the process that we've outlined.
|
||||
|
||||
That said, if you have questions, reach out to us one way or another. We don't bite!
|
||||
|
||||
### Community resources
|
||||
|
||||
* **Awesome-kubernetes** - [http://ramitsurana.github.io/awesome-kubernetes](http://ramitsurana.github.io/awesome-kubernetes)
|
||||
|
||||
You can find more projects, tools and articles related to Kubernetes on the [awesome-kubernetes](https://github.com/ramitsurana/awesome-kubernetes) list. Add your project there and help us make it better.
|
||||
|
||||
* **CoreKube** - [https://corekube.com](https://corekube.com):
|
||||
|
||||
Instructive & educational resources for the Kubernetes community. By the community.
|
||||
|
||||
* **Community Documentation**
|
||||
|
||||
Here you can learn more about the current happenings in the [kubernetes community](https://github.com/kubernetes/community).
|
||||
|
||||
[]()
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,8 @@ $kube_os = ENV['KUBERNETES_OS'] || "fedora"
|
|||
|
||||
# Determine whether vagrant should use nfs to sync folders
|
||||
$use_nfs = ENV['KUBERNETES_VAGRANT_USE_NFS'] == 'true'
|
||||
# Determine whether vagrant should use rsync to sync folders
|
||||
$use_rsync = ENV['KUBERNETES_VAGRANT_USE_RSYNC'] == 'true'
|
||||
|
||||
# To override the vagrant provider, use (e.g.):
|
||||
# KUBERNETES_PROVIDER=vagrant VAGRANT_DEFAULT_PROVIDER=... .../cluster/kube-up.sh
|
||||
|
|
@ -156,6 +158,15 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|||
|
||||
if $use_nfs then
|
||||
config.vm.synced_folder ".", "/vagrant", nfs: true
|
||||
elsif $use_rsync then
|
||||
opts = {}
|
||||
if ENV['KUBERNETES_VAGRANT_RSYNC_ARGS'] then
|
||||
opts[:rsync__args] = ENV['KUBERNETES_VAGRANT_RSYNC_ARGS'].split(" ")
|
||||
end
|
||||
if ENV['KUBERNETES_VAGRANT_RSYNC_EXCLUDE'] then
|
||||
opts[:rsync__exclude] = ENV['KUBERNETES_VAGRANT_RSYNC_EXCLUDE'].split(" ")
|
||||
end
|
||||
config.vm.synced_folder ".", "/vagrant", opts
|
||||
end
|
||||
|
||||
# Try VMWare Fusion first (see
|
||||
|
|
|
|||
|
|
@ -1,9 +1,15 @@
|
|||
git_repository(
|
||||
name = "io_bazel_rules_go",
|
||||
commit = "e0b19317b39357823b26c7e266596c8066e8f8e6",
|
||||
commit = "c7e02c851a8faf803f260800e7387248ccd47683",
|
||||
remote = "https://github.com/bazelbuild/rules_go.git",
|
||||
)
|
||||
|
||||
git_repository(
|
||||
name = "io_kubernetes_build",
|
||||
commit = "418b8e976cb32d94fd765c80f2b04e660c5ec4ec",
|
||||
remote = "https://github.com/kubernetes/release.git",
|
||||
)
|
||||
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_repositories")
|
||||
|
||||
go_repositories()
|
||||
|
|
@ -37,3 +43,9 @@ debs = (
|
|||
sha256 = sha256,
|
||||
url = url,
|
||||
) for name, sha256, url in debs]
|
||||
|
||||
http_file(
|
||||
name = "kubernetes_cni",
|
||||
sha256 = "ddcb7a429f82b284a13bdb36313eeffd997753b6fa5191205f1e978dcfeb0792",
|
||||
url = " https://storage.googleapis.com/kubernetes-release/network-plugins/cni-amd64-07a8a28637e97b22eb8dfe710eeae1344f69d16e.tar.gz",
|
||||
)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get available API versions",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIVersions",
|
||||
"type": "v1.APIVersions",
|
||||
"method": "GET",
|
||||
"summary": "get available API versions",
|
||||
"nickname": "getAPIVersions",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIVersions": {
|
||||
"id": "unversioned.APIVersions",
|
||||
"v1.APIVersions": {
|
||||
"id": "v1.APIVersions",
|
||||
"description": "APIVersions lists the versions that are available, to allow clients to discover the API at /api, which is the root path of the legacy v1 API.",
|
||||
"required": [
|
||||
"versions",
|
||||
|
|
@ -59,14 +59,14 @@
|
|||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get available API versions",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIGroupList",
|
||||
"type": "v1.APIGroupList",
|
||||
"method": "GET",
|
||||
"summary": "get available API versions",
|
||||
"nickname": "getAPIVersions",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIGroupList": {
|
||||
"id": "unversioned.APIGroupList",
|
||||
"v1.APIGroupList": {
|
||||
"id": "v1.APIGroupList",
|
||||
"description": "APIGroupList is a list of APIGroup, to allow clients to discover the API at /apis.",
|
||||
"required": [
|
||||
"groups"
|
||||
|
|
@ -51,14 +51,14 @@
|
|||
"groups": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.APIGroup"
|
||||
"$ref": "v1.APIGroup"
|
||||
},
|
||||
"description": "groups is a list of APIGroup."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIGroup": {
|
||||
"id": "unversioned.APIGroup",
|
||||
"v1.APIGroup": {
|
||||
"id": "v1.APIGroup",
|
||||
"description": "APIGroup contains the name, the supported versions, and the preferred version of a group.",
|
||||
"required": [
|
||||
"name",
|
||||
|
|
@ -81,25 +81,25 @@
|
|||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery"
|
||||
"$ref": "v1.GroupVersionForDiscovery"
|
||||
},
|
||||
"description": "versions are the versions supported in this group."
|
||||
},
|
||||
"preferredVersion": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery",
|
||||
"$ref": "v1.GroupVersionForDiscovery",
|
||||
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
|
||||
},
|
||||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.GroupVersionForDiscovery": {
|
||||
"id": "unversioned.GroupVersionForDiscovery",
|
||||
"v1.GroupVersionForDiscovery": {
|
||||
"id": "v1.GroupVersionForDiscovery",
|
||||
"description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -116,8 +116,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get information of a group",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIGroup",
|
||||
"type": "v1.APIGroup",
|
||||
"method": "GET",
|
||||
"summary": "get information of a group",
|
||||
"nickname": "getAPIGroup",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIGroup": {
|
||||
"id": "unversioned.APIGroup",
|
||||
"v1.APIGroup": {
|
||||
"id": "v1.APIGroup",
|
||||
"description": "APIGroup contains the name, the supported versions, and the preferred version of a group.",
|
||||
"required": [
|
||||
"name",
|
||||
|
|
@ -57,25 +57,25 @@
|
|||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery"
|
||||
"$ref": "v1.GroupVersionForDiscovery"
|
||||
},
|
||||
"description": "versions are the versions supported in this group."
|
||||
},
|
||||
"preferredVersion": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery",
|
||||
"$ref": "v1.GroupVersionForDiscovery",
|
||||
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
|
||||
},
|
||||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.GroupVersionForDiscovery": {
|
||||
"id": "unversioned.GroupVersionForDiscovery",
|
||||
"v1.GroupVersionForDiscovery": {
|
||||
"id": "v1.GroupVersionForDiscovery",
|
||||
"description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -92,8 +92,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
|
|
@ -1351,6 +1351,9 @@
|
|||
"subdomain": {
|
||||
"type": "string",
|
||||
"description": "If specified, the fully qualified Pod hostname will be \"\u003chostname\u003e.\u003csubdomain\u003e.\u003cpod namespace\u003e.svc.\u003ccluster domain\u003e\". If not specified, the pod will not have a domainname at all."
|
||||
},
|
||||
"affinity": {
|
||||
"$ref": "v1.Affinity"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -2609,6 +2612,200 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"v1.Affinity": {
|
||||
"id": "v1.Affinity",
|
||||
"description": "Affinity is a group of affinity scheduling rules.",
|
||||
"properties": {
|
||||
"nodeAffinity": {
|
||||
"$ref": "v1.NodeAffinity",
|
||||
"description": "Describes node affinity scheduling rules for the pod."
|
||||
},
|
||||
"podAffinity": {
|
||||
"$ref": "v1.PodAffinity",
|
||||
"description": "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s))."
|
||||
},
|
||||
"podAntiAffinity": {
|
||||
"$ref": "v1.PodAntiAffinity",
|
||||
"description": "Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s))."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeAffinity": {
|
||||
"id": "v1.NodeAffinity",
|
||||
"description": "Node affinity is a group of node affinity scheduling rules.",
|
||||
"properties": {
|
||||
"requiredDuringSchedulingIgnoredDuringExecution": {
|
||||
"$ref": "v1.NodeSelector",
|
||||
"description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node."
|
||||
},
|
||||
"preferredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.PreferredSchedulingTerm"
|
||||
},
|
||||
"description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeSelector": {
|
||||
"id": "v1.NodeSelector",
|
||||
"description": "A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.",
|
||||
"required": [
|
||||
"nodeSelectorTerms"
|
||||
],
|
||||
"properties": {
|
||||
"nodeSelectorTerms": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.NodeSelectorTerm"
|
||||
},
|
||||
"description": "Required. A list of node selector terms. The terms are ORed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeSelectorTerm": {
|
||||
"id": "v1.NodeSelectorTerm",
|
||||
"description": "A null or empty node selector term matches no objects.",
|
||||
"required": [
|
||||
"matchExpressions"
|
||||
],
|
||||
"properties": {
|
||||
"matchExpressions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.NodeSelectorRequirement"
|
||||
},
|
||||
"description": "Required. A list of node selector requirements. The requirements are ANDed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeSelectorRequirement": {
|
||||
"id": "v1.NodeSelectorRequirement",
|
||||
"description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
|
||||
"required": [
|
||||
"key",
|
||||
"operator"
|
||||
],
|
||||
"properties": {
|
||||
"key": {
|
||||
"type": "string",
|
||||
"description": "The label key that the selector applies to."
|
||||
},
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt."
|
||||
},
|
||||
"values": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "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. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PreferredSchedulingTerm": {
|
||||
"id": "v1.PreferredSchedulingTerm",
|
||||
"description": "An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).",
|
||||
"required": [
|
||||
"weight",
|
||||
"preference"
|
||||
],
|
||||
"properties": {
|
||||
"weight": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100."
|
||||
},
|
||||
"preference": {
|
||||
"$ref": "v1.NodeSelectorTerm",
|
||||
"description": "A node selector term, associated with the corresponding weight."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PodAffinity": {
|
||||
"id": "v1.PodAffinity",
|
||||
"description": "Pod affinity is a group of inter pod affinity scheduling rules.",
|
||||
"properties": {
|
||||
"requiredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.PodAffinityTerm"
|
||||
},
|
||||
"description": "NOT YET IMPLEMENTED. TODO: Uncomment field once it is implemented. If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system will try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. RequiredDuringSchedulingRequiredDuringExecution []PodAffinityTerm `json:\"requiredDuringSchedulingRequiredDuringExecution,omitempty\"` If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied."
|
||||
},
|
||||
"preferredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.WeightedPodAffinityTerm"
|
||||
},
|
||||
"description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PodAffinityTerm": {
|
||||
"id": "v1.PodAffinityTerm",
|
||||
"description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key \u003ctopologyKey\u003e tches that of any node on which a pod of the set of pods is running",
|
||||
"required": [
|
||||
"namespaces"
|
||||
],
|
||||
"properties": {
|
||||
"labelSelector": {
|
||||
"$ref": "unversioned.LabelSelector",
|
||||
"description": "A label query over a set of resources, in this case pods."
|
||||
},
|
||||
"namespaces": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "namespaces specifies which namespaces the labelSelector applies to (matches against); nil list means \"this pod's namespace,\" empty list means \"all namespaces\" The json tag here is not \"omitempty\" since we need to distinguish nil and empty. See https://golang.org/pkg/encoding/json/#Marshal for more details."
|
||||
},
|
||||
"topologyKey": {
|
||||
"type": "string",
|
||||
"description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. For PreferredDuringScheduling pod anti-affinity, empty topologyKey is interpreted as \"all topologies\" (\"all topologies\" here means all the topologyKeys indicated by scheduler command-line argument --failure-domains); for affinity and for RequiredDuringScheduling pod anti-affinity, empty topologyKey is not allowed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.WeightedPodAffinityTerm": {
|
||||
"id": "v1.WeightedPodAffinityTerm",
|
||||
"description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)",
|
||||
"required": [
|
||||
"weight",
|
||||
"podAffinityTerm"
|
||||
],
|
||||
"properties": {
|
||||
"weight": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "weight associated with matching the corresponding podAffinityTerm, in the range 1-100."
|
||||
},
|
||||
"podAffinityTerm": {
|
||||
"$ref": "v1.PodAffinityTerm",
|
||||
"description": "Required. A pod affinity term, associated with the corresponding weight."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PodAntiAffinity": {
|
||||
"id": "v1.PodAntiAffinity",
|
||||
"description": "Pod anti affinity is a group of inter pod anti affinity scheduling rules.",
|
||||
"properties": {
|
||||
"requiredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.PodAffinityTerm"
|
||||
},
|
||||
"description": "NOT YET IMPLEMENTED. TODO: Uncomment field once it is implemented. If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system will try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. RequiredDuringSchedulingRequiredDuringExecution []PodAffinityTerm `json:\"requiredDuringSchedulingRequiredDuringExecution,omitempty\"` If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied."
|
||||
},
|
||||
"preferredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.WeightedPodAffinityTerm"
|
||||
},
|
||||
"description": "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PersistentVolumeClaim": {
|
||||
"id": "v1.PersistentVolumeClaim",
|
||||
"description": "PersistentVolumeClaim is a user's request for and claim to a persistent volume",
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete collection of StatefulSet",
|
||||
"nickname": "deletecollectionNamespacedStatefulSet",
|
||||
|
|
@ -182,7 +182,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -207,7 +207,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -267,7 +267,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -338,7 +338,7 @@
|
|||
"type": "boolean",
|
||||
"paramType": "query",
|
||||
"name": "exact",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -445,7 +445,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -488,7 +488,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete a StatefulSet",
|
||||
"nickname": "deleteNamespacedStatefulSet",
|
||||
|
|
@ -546,7 +546,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -606,7 +606,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -701,7 +701,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -780,7 +780,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -934,7 +934,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -983,7 +983,7 @@
|
|||
"description": "API at /apis/apps/v1beta1",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIResourceList",
|
||||
"type": "v1.APIResourceList",
|
||||
"method": "GET",
|
||||
"summary": "get available resources",
|
||||
"nickname": "getAPIResources",
|
||||
|
|
@ -1019,7 +1019,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta"
|
||||
"$ref": "v1.ListMeta"
|
||||
},
|
||||
"items": {
|
||||
"type": "array",
|
||||
|
|
@ -1029,8 +1029,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ListMeta": {
|
||||
"id": "unversioned.ListMeta",
|
||||
"v1.ListMeta": {
|
||||
"id": "v1.ListMeta",
|
||||
"description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.",
|
||||
"properties": {
|
||||
"selfLink": {
|
||||
|
|
@ -1103,12 +1103,10 @@
|
|||
},
|
||||
"creationTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionGracePeriodSeconds": {
|
||||
|
|
@ -1190,7 +1188,7 @@
|
|||
"description": "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."
|
||||
},
|
||||
"selector": {
|
||||
"$ref": "unversioned.LabelSelector",
|
||||
"$ref": "v1.LabelSelector",
|
||||
"description": "Selector is a label query over pods that should match the replica count. If empty, defaulted to labels on the pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors"
|
||||
},
|
||||
"template": {
|
||||
|
|
@ -1210,8 +1208,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.LabelSelector": {
|
||||
"id": "unversioned.LabelSelector",
|
||||
"v1.LabelSelector": {
|
||||
"id": "v1.LabelSelector",
|
||||
"description": "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.",
|
||||
"properties": {
|
||||
"matchLabels": {
|
||||
|
|
@ -1221,14 +1219,14 @@
|
|||
"matchExpressions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.LabelSelectorRequirement"
|
||||
"$ref": "v1.LabelSelectorRequirement"
|
||||
},
|
||||
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.LabelSelectorRequirement": {
|
||||
"id": "unversioned.LabelSelectorRequirement",
|
||||
"v1.LabelSelectorRequirement": {
|
||||
"id": "v1.LabelSelectorRequirement",
|
||||
"description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
|
||||
"required": [
|
||||
"key",
|
||||
|
|
@ -1351,6 +1349,10 @@
|
|||
"subdomain": {
|
||||
"type": "string",
|
||||
"description": "If specified, the fully qualified Pod hostname will be \"\u003chostname\u003e.\u003csubdomain\u003e.\u003cpod namespace\u003e.svc.\u003ccluster domain\u003e\". If not specified, the pod will not have a domainname at all."
|
||||
},
|
||||
"affinity": {
|
||||
"$ref": "v1.Affinity",
|
||||
"description": "If specified, the pod's scheduling constraints"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -2609,6 +2611,200 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"v1.Affinity": {
|
||||
"id": "v1.Affinity",
|
||||
"description": "Affinity is a group of affinity scheduling rules.",
|
||||
"properties": {
|
||||
"nodeAffinity": {
|
||||
"$ref": "v1.NodeAffinity",
|
||||
"description": "Describes node affinity scheduling rules for the pod."
|
||||
},
|
||||
"podAffinity": {
|
||||
"$ref": "v1.PodAffinity",
|
||||
"description": "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s))."
|
||||
},
|
||||
"podAntiAffinity": {
|
||||
"$ref": "v1.PodAntiAffinity",
|
||||
"description": "Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s))."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeAffinity": {
|
||||
"id": "v1.NodeAffinity",
|
||||
"description": "Node affinity is a group of node affinity scheduling rules.",
|
||||
"properties": {
|
||||
"requiredDuringSchedulingIgnoredDuringExecution": {
|
||||
"$ref": "v1.NodeSelector",
|
||||
"description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node."
|
||||
},
|
||||
"preferredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.PreferredSchedulingTerm"
|
||||
},
|
||||
"description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeSelector": {
|
||||
"id": "v1.NodeSelector",
|
||||
"description": "A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.",
|
||||
"required": [
|
||||
"nodeSelectorTerms"
|
||||
],
|
||||
"properties": {
|
||||
"nodeSelectorTerms": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.NodeSelectorTerm"
|
||||
},
|
||||
"description": "Required. A list of node selector terms. The terms are ORed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeSelectorTerm": {
|
||||
"id": "v1.NodeSelectorTerm",
|
||||
"description": "A null or empty node selector term matches no objects.",
|
||||
"required": [
|
||||
"matchExpressions"
|
||||
],
|
||||
"properties": {
|
||||
"matchExpressions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.NodeSelectorRequirement"
|
||||
},
|
||||
"description": "Required. A list of node selector requirements. The requirements are ANDed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeSelectorRequirement": {
|
||||
"id": "v1.NodeSelectorRequirement",
|
||||
"description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
|
||||
"required": [
|
||||
"key",
|
||||
"operator"
|
||||
],
|
||||
"properties": {
|
||||
"key": {
|
||||
"type": "string",
|
||||
"description": "The label key that the selector applies to."
|
||||
},
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt."
|
||||
},
|
||||
"values": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "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. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PreferredSchedulingTerm": {
|
||||
"id": "v1.PreferredSchedulingTerm",
|
||||
"description": "An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).",
|
||||
"required": [
|
||||
"weight",
|
||||
"preference"
|
||||
],
|
||||
"properties": {
|
||||
"weight": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100."
|
||||
},
|
||||
"preference": {
|
||||
"$ref": "v1.NodeSelectorTerm",
|
||||
"description": "A node selector term, associated with the corresponding weight."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PodAffinity": {
|
||||
"id": "v1.PodAffinity",
|
||||
"description": "Pod affinity is a group of inter pod affinity scheduling rules.",
|
||||
"properties": {
|
||||
"requiredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.PodAffinityTerm"
|
||||
},
|
||||
"description": "NOT YET IMPLEMENTED. TODO: Uncomment field once it is implemented. If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system will try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. RequiredDuringSchedulingRequiredDuringExecution []PodAffinityTerm `json:\"requiredDuringSchedulingRequiredDuringExecution,omitempty\"` If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied."
|
||||
},
|
||||
"preferredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.WeightedPodAffinityTerm"
|
||||
},
|
||||
"description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PodAffinityTerm": {
|
||||
"id": "v1.PodAffinityTerm",
|
||||
"description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key \u003ctopologyKey\u003e tches that of any node on which a pod of the set of pods is running",
|
||||
"required": [
|
||||
"namespaces"
|
||||
],
|
||||
"properties": {
|
||||
"labelSelector": {
|
||||
"$ref": "v1.LabelSelector",
|
||||
"description": "A label query over a set of resources, in this case pods."
|
||||
},
|
||||
"namespaces": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "namespaces specifies which namespaces the labelSelector applies to (matches against); nil list means \"this pod's namespace,\" empty list means \"all namespaces\" The json tag here is not \"omitempty\" since we need to distinguish nil and empty. See https://golang.org/pkg/encoding/json/#Marshal for more details."
|
||||
},
|
||||
"topologyKey": {
|
||||
"type": "string",
|
||||
"description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. For PreferredDuringScheduling pod anti-affinity, empty topologyKey is interpreted as \"all topologies\" (\"all topologies\" here means all the topologyKeys indicated by scheduler command-line argument --failure-domains); for affinity and for RequiredDuringScheduling pod anti-affinity, empty topologyKey is not allowed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.WeightedPodAffinityTerm": {
|
||||
"id": "v1.WeightedPodAffinityTerm",
|
||||
"description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)",
|
||||
"required": [
|
||||
"weight",
|
||||
"podAffinityTerm"
|
||||
],
|
||||
"properties": {
|
||||
"weight": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "weight associated with matching the corresponding podAffinityTerm, in the range 1-100."
|
||||
},
|
||||
"podAffinityTerm": {
|
||||
"$ref": "v1.PodAffinityTerm",
|
||||
"description": "Required. A pod affinity term, associated with the corresponding weight."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PodAntiAffinity": {
|
||||
"id": "v1.PodAntiAffinity",
|
||||
"description": "Pod anti affinity is a group of inter pod anti affinity scheduling rules.",
|
||||
"properties": {
|
||||
"requiredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.PodAffinityTerm"
|
||||
},
|
||||
"description": "NOT YET IMPLEMENTED. TODO: Uncomment field once it is implemented. If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system will try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. RequiredDuringSchedulingRequiredDuringExecution []PodAffinityTerm `json:\"requiredDuringSchedulingRequiredDuringExecution,omitempty\"` If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied."
|
||||
},
|
||||
"preferredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.WeightedPodAffinityTerm"
|
||||
},
|
||||
"description": "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PersistentVolumeClaim": {
|
||||
"id": "v1.PersistentVolumeClaim",
|
||||
"description": "PersistentVolumeClaim is a user's request for and claim to a persistent volume",
|
||||
|
|
@ -2647,7 +2843,7 @@
|
|||
"description": "AccessModes contains the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1"
|
||||
},
|
||||
"selector": {
|
||||
"$ref": "unversioned.LabelSelector",
|
||||
"$ref": "v1.LabelSelector",
|
||||
"description": "A label query over volumes to consider for binding."
|
||||
},
|
||||
"resources": {
|
||||
|
|
@ -2695,7 +2891,7 @@
|
|||
"observedGeneration": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"description": "most recent generation observed by this autoscaler."
|
||||
"description": "most recent generation observed by this StatefulSet."
|
||||
},
|
||||
"replicas": {
|
||||
"type": "integer",
|
||||
|
|
@ -2704,8 +2900,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Status": {
|
||||
"id": "unversioned.Status",
|
||||
"v1.Status": {
|
||||
"id": "v1.Status",
|
||||
"description": "Status is a return value for calls that don't return other objects.",
|
||||
"properties": {
|
||||
"kind": {
|
||||
|
|
@ -2717,7 +2913,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"
|
||||
},
|
||||
"status": {
|
||||
|
|
@ -2733,7 +2929,7 @@
|
|||
"description": "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."
|
||||
},
|
||||
"details": {
|
||||
"$ref": "unversioned.StatusDetails",
|
||||
"$ref": "v1.StatusDetails",
|
||||
"description": "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."
|
||||
},
|
||||
"code": {
|
||||
|
|
@ -2743,8 +2939,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusDetails": {
|
||||
"id": "unversioned.StatusDetails",
|
||||
"v1.StatusDetails": {
|
||||
"id": "v1.StatusDetails",
|
||||
"description": "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.",
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -2762,7 +2958,7 @@
|
|||
"causes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.StatusCause"
|
||||
"$ref": "v1.StatusCause"
|
||||
},
|
||||
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes."
|
||||
},
|
||||
|
|
@ -2773,8 +2969,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusCause": {
|
||||
"id": "unversioned.StatusCause",
|
||||
"v1.StatusCause": {
|
||||
"id": "v1.StatusCause",
|
||||
"description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.",
|
||||
"properties": {
|
||||
"reason": {
|
||||
|
|
@ -2806,8 +3002,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Patch": {
|
||||
"id": "unversioned.Patch",
|
||||
"v1.Patch": {
|
||||
"id": "v1.Patch",
|
||||
"description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.",
|
||||
"properties": {}
|
||||
},
|
||||
|
|
@ -2852,8 +3048,8 @@
|
|||
"id": "types.UID",
|
||||
"properties": {}
|
||||
},
|
||||
"unversioned.APIResourceList": {
|
||||
"id": "unversioned.APIResourceList",
|
||||
"v1.APIResourceList": {
|
||||
"id": "v1.APIResourceList",
|
||||
"description": "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.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -2875,19 +3071,20 @@
|
|||
"resources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.APIResource"
|
||||
"$ref": "v1.APIResource"
|
||||
},
|
||||
"description": "resources contains the name of the resources and if they are namespaced."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResource": {
|
||||
"id": "unversioned.APIResource",
|
||||
"v1.APIResource": {
|
||||
"id": "v1.APIResource",
|
||||
"description": "APIResource specifies the name of a resource and whether it is namespaced.",
|
||||
"required": [
|
||||
"name",
|
||||
"namespaced",
|
||||
"kind"
|
||||
"kind",
|
||||
"verbs"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -2901,6 +3098,13 @@
|
|||
"kind": {
|
||||
"type": "string",
|
||||
"description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')"
|
||||
},
|
||||
"verbs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get information of a group",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIGroup",
|
||||
"type": "v1.APIGroup",
|
||||
"method": "GET",
|
||||
"summary": "get information of a group",
|
||||
"nickname": "getAPIGroup",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIGroup": {
|
||||
"id": "unversioned.APIGroup",
|
||||
"v1.APIGroup": {
|
||||
"id": "v1.APIGroup",
|
||||
"description": "APIGroup contains the name, the supported versions, and the preferred version of a group.",
|
||||
"required": [
|
||||
"name",
|
||||
|
|
@ -57,25 +57,25 @@
|
|||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery"
|
||||
"$ref": "v1.GroupVersionForDiscovery"
|
||||
},
|
||||
"description": "versions are the versions supported in this group."
|
||||
},
|
||||
"preferredVersion": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery",
|
||||
"$ref": "v1.GroupVersionForDiscovery",
|
||||
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
|
||||
},
|
||||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.GroupVersionForDiscovery": {
|
||||
"id": "unversioned.GroupVersionForDiscovery",
|
||||
"v1.GroupVersionForDiscovery": {
|
||||
"id": "v1.GroupVersionForDiscovery",
|
||||
"description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -92,8 +92,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
"description": "API at /apis/authentication.k8s.io/v1beta1",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIResourceList",
|
||||
"type": "v1.APIResourceList",
|
||||
"method": "GET",
|
||||
"summary": "get available resources",
|
||||
"nickname": "getAPIResources",
|
||||
|
|
@ -141,12 +141,10 @@
|
|||
},
|
||||
"creationTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionGracePeriodSeconds": {
|
||||
|
|
@ -267,8 +265,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResourceList": {
|
||||
"id": "unversioned.APIResourceList",
|
||||
"v1.APIResourceList": {
|
||||
"id": "v1.APIResourceList",
|
||||
"description": "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.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -290,19 +288,20 @@
|
|||
"resources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.APIResource"
|
||||
"$ref": "v1.APIResource"
|
||||
},
|
||||
"description": "resources contains the name of the resources and if they are namespaced."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResource": {
|
||||
"id": "unversioned.APIResource",
|
||||
"v1.APIResource": {
|
||||
"id": "v1.APIResource",
|
||||
"description": "APIResource specifies the name of a resource and whether it is namespaced.",
|
||||
"required": [
|
||||
"name",
|
||||
"namespaced",
|
||||
"kind"
|
||||
"kind",
|
||||
"verbs"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -316,6 +315,13 @@
|
|||
"kind": {
|
||||
"type": "string",
|
||||
"description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')"
|
||||
},
|
||||
"verbs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get information of a group",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIGroup",
|
||||
"type": "v1.APIGroup",
|
||||
"method": "GET",
|
||||
"summary": "get information of a group",
|
||||
"nickname": "getAPIGroup",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIGroup": {
|
||||
"id": "unversioned.APIGroup",
|
||||
"v1.APIGroup": {
|
||||
"id": "v1.APIGroup",
|
||||
"description": "APIGroup contains the name, the supported versions, and the preferred version of a group.",
|
||||
"required": [
|
||||
"name",
|
||||
|
|
@ -57,25 +57,25 @@
|
|||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery"
|
||||
"$ref": "v1.GroupVersionForDiscovery"
|
||||
},
|
||||
"description": "versions are the versions supported in this group."
|
||||
},
|
||||
"preferredVersion": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery",
|
||||
"$ref": "v1.GroupVersionForDiscovery",
|
||||
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
|
||||
},
|
||||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.GroupVersionForDiscovery": {
|
||||
"id": "unversioned.GroupVersionForDiscovery",
|
||||
"v1.GroupVersionForDiscovery": {
|
||||
"id": "v1.GroupVersionForDiscovery",
|
||||
"description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -92,8 +92,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@
|
|||
"description": "API at /apis/authorization.k8s.io/v1beta1",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIResourceList",
|
||||
"type": "v1.APIResourceList",
|
||||
"method": "GET",
|
||||
"summary": "get available resources",
|
||||
"nickname": "getAPIResources",
|
||||
|
|
@ -239,12 +239,10 @@
|
|||
},
|
||||
"creationTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionGracePeriodSeconds": {
|
||||
|
|
@ -480,8 +478,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResourceList": {
|
||||
"id": "unversioned.APIResourceList",
|
||||
"v1.APIResourceList": {
|
||||
"id": "v1.APIResourceList",
|
||||
"description": "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.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -503,19 +501,20 @@
|
|||
"resources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.APIResource"
|
||||
"$ref": "v1.APIResource"
|
||||
},
|
||||
"description": "resources contains the name of the resources and if they are namespaced."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResource": {
|
||||
"id": "unversioned.APIResource",
|
||||
"v1.APIResource": {
|
||||
"id": "v1.APIResource",
|
||||
"description": "APIResource specifies the name of a resource and whether it is namespaced.",
|
||||
"required": [
|
||||
"name",
|
||||
"namespaced",
|
||||
"kind"
|
||||
"kind",
|
||||
"verbs"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -529,6 +528,13 @@
|
|||
"kind": {
|
||||
"type": "string",
|
||||
"description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')"
|
||||
},
|
||||
"verbs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get information of a group",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIGroup",
|
||||
"type": "v1.APIGroup",
|
||||
"method": "GET",
|
||||
"summary": "get information of a group",
|
||||
"nickname": "getAPIGroup",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIGroup": {
|
||||
"id": "unversioned.APIGroup",
|
||||
"v1.APIGroup": {
|
||||
"id": "v1.APIGroup",
|
||||
"description": "APIGroup contains the name, the supported versions, and the preferred version of a group.",
|
||||
"required": [
|
||||
"name",
|
||||
|
|
@ -57,25 +57,25 @@
|
|||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery"
|
||||
"$ref": "v1.GroupVersionForDiscovery"
|
||||
},
|
||||
"description": "versions are the versions supported in this group."
|
||||
},
|
||||
"preferredVersion": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery",
|
||||
"$ref": "v1.GroupVersionForDiscovery",
|
||||
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
|
||||
},
|
||||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.GroupVersionForDiscovery": {
|
||||
"id": "unversioned.GroupVersionForDiscovery",
|
||||
"v1.GroupVersionForDiscovery": {
|
||||
"id": "v1.GroupVersionForDiscovery",
|
||||
"description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -92,8 +92,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete collection of HorizontalPodAutoscaler",
|
||||
"nickname": "deletecollectionNamespacedHorizontalPodAutoscaler",
|
||||
|
|
@ -182,7 +182,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -207,7 +207,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -267,7 +267,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -338,7 +338,7 @@
|
|||
"type": "boolean",
|
||||
"paramType": "query",
|
||||
"name": "exact",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -445,7 +445,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -488,7 +488,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete a HorizontalPodAutoscaler",
|
||||
"nickname": "deleteNamespacedHorizontalPodAutoscaler",
|
||||
|
|
@ -546,7 +546,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -606,7 +606,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -701,7 +701,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -780,7 +780,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -934,7 +934,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -983,7 +983,7 @@
|
|||
"description": "API at /apis/autoscaling/v1",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIResourceList",
|
||||
"type": "v1.APIResourceList",
|
||||
"method": "GET",
|
||||
"summary": "get available resources",
|
||||
"nickname": "getAPIResources",
|
||||
|
|
@ -1019,7 +1019,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard list metadata."
|
||||
},
|
||||
"items": {
|
||||
|
|
@ -1031,8 +1031,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ListMeta": {
|
||||
"id": "unversioned.ListMeta",
|
||||
"v1.ListMeta": {
|
||||
"id": "v1.ListMeta",
|
||||
"description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.",
|
||||
"properties": {
|
||||
"selfLink": {
|
||||
|
|
@ -1106,12 +1106,10 @@
|
|||
},
|
||||
"creationTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionGracePeriodSeconds": {
|
||||
|
|
@ -1245,7 +1243,6 @@
|
|||
},
|
||||
"lastScaleTime": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed."
|
||||
},
|
||||
"currentReplicas": {
|
||||
|
|
@ -1265,8 +1262,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Status": {
|
||||
"id": "unversioned.Status",
|
||||
"v1.Status": {
|
||||
"id": "v1.Status",
|
||||
"description": "Status is a return value for calls that don't return other objects.",
|
||||
"properties": {
|
||||
"kind": {
|
||||
|
|
@ -1278,7 +1275,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"
|
||||
},
|
||||
"status": {
|
||||
|
|
@ -1294,7 +1291,7 @@
|
|||
"description": "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."
|
||||
},
|
||||
"details": {
|
||||
"$ref": "unversioned.StatusDetails",
|
||||
"$ref": "v1.StatusDetails",
|
||||
"description": "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."
|
||||
},
|
||||
"code": {
|
||||
|
|
@ -1304,8 +1301,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusDetails": {
|
||||
"id": "unversioned.StatusDetails",
|
||||
"v1.StatusDetails": {
|
||||
"id": "v1.StatusDetails",
|
||||
"description": "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.",
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -1323,7 +1320,7 @@
|
|||
"causes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.StatusCause"
|
||||
"$ref": "v1.StatusCause"
|
||||
},
|
||||
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes."
|
||||
},
|
||||
|
|
@ -1334,8 +1331,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusCause": {
|
||||
"id": "unversioned.StatusCause",
|
||||
"v1.StatusCause": {
|
||||
"id": "v1.StatusCause",
|
||||
"description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.",
|
||||
"properties": {
|
||||
"reason": {
|
||||
|
|
@ -1367,8 +1364,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Patch": {
|
||||
"id": "unversioned.Patch",
|
||||
"v1.Patch": {
|
||||
"id": "v1.Patch",
|
||||
"description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.",
|
||||
"properties": {}
|
||||
},
|
||||
|
|
@ -1413,8 +1410,8 @@
|
|||
"id": "types.UID",
|
||||
"properties": {}
|
||||
},
|
||||
"unversioned.APIResourceList": {
|
||||
"id": "unversioned.APIResourceList",
|
||||
"v1.APIResourceList": {
|
||||
"id": "v1.APIResourceList",
|
||||
"description": "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.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -1436,19 +1433,20 @@
|
|||
"resources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.APIResource"
|
||||
"$ref": "v1.APIResource"
|
||||
},
|
||||
"description": "resources contains the name of the resources and if they are namespaced."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResource": {
|
||||
"id": "unversioned.APIResource",
|
||||
"v1.APIResource": {
|
||||
"id": "v1.APIResource",
|
||||
"description": "APIResource specifies the name of a resource and whether it is namespaced.",
|
||||
"required": [
|
||||
"name",
|
||||
"namespaced",
|
||||
"kind"
|
||||
"kind",
|
||||
"verbs"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -1462,6 +1460,13 @@
|
|||
"kind": {
|
||||
"type": "string",
|
||||
"description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')"
|
||||
},
|
||||
"verbs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get information of a group",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIGroup",
|
||||
"type": "v1.APIGroup",
|
||||
"method": "GET",
|
||||
"summary": "get information of a group",
|
||||
"nickname": "getAPIGroup",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIGroup": {
|
||||
"id": "unversioned.APIGroup",
|
||||
"v1.APIGroup": {
|
||||
"id": "v1.APIGroup",
|
||||
"description": "APIGroup contains the name, the supported versions, and the preferred version of a group.",
|
||||
"required": [
|
||||
"name",
|
||||
|
|
@ -57,25 +57,25 @@
|
|||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery"
|
||||
"$ref": "v1.GroupVersionForDiscovery"
|
||||
},
|
||||
"description": "versions are the versions supported in this group."
|
||||
},
|
||||
"preferredVersion": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery",
|
||||
"$ref": "v1.GroupVersionForDiscovery",
|
||||
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
|
||||
},
|
||||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.GroupVersionForDiscovery": {
|
||||
"id": "unversioned.GroupVersionForDiscovery",
|
||||
"v1.GroupVersionForDiscovery": {
|
||||
"id": "v1.GroupVersionForDiscovery",
|
||||
"description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -92,8 +92,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete collection of Job",
|
||||
"nickname": "deletecollectionNamespacedJob",
|
||||
|
|
@ -182,7 +182,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -207,7 +207,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -267,7 +267,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -338,7 +338,7 @@
|
|||
"type": "boolean",
|
||||
"paramType": "query",
|
||||
"name": "exact",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -445,7 +445,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -488,7 +488,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete a Job",
|
||||
"nickname": "deleteNamespacedJob",
|
||||
|
|
@ -546,7 +546,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -606,7 +606,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -701,7 +701,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -780,7 +780,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -934,7 +934,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -983,7 +983,7 @@
|
|||
"description": "API at /apis/batch/v1",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIResourceList",
|
||||
"type": "v1.APIResourceList",
|
||||
"method": "GET",
|
||||
"summary": "get available resources",
|
||||
"nickname": "getAPIResources",
|
||||
|
|
@ -1019,7 +1019,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard list metadata More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"items": {
|
||||
|
|
@ -1031,8 +1031,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ListMeta": {
|
||||
"id": "unversioned.ListMeta",
|
||||
"v1.ListMeta": {
|
||||
"id": "v1.ListMeta",
|
||||
"description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.",
|
||||
"properties": {
|
||||
"selfLink": {
|
||||
|
|
@ -1106,12 +1106,10 @@
|
|||
},
|
||||
"creationTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionGracePeriodSeconds": {
|
||||
|
|
@ -1202,7 +1200,7 @@
|
|||
"description": "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"
|
||||
},
|
||||
"selector": {
|
||||
"$ref": "unversioned.LabelSelector",
|
||||
"$ref": "v1.LabelSelector",
|
||||
"description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors"
|
||||
},
|
||||
"manualSelector": {
|
||||
|
|
@ -1215,8 +1213,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.LabelSelector": {
|
||||
"id": "unversioned.LabelSelector",
|
||||
"v1.LabelSelector": {
|
||||
"id": "v1.LabelSelector",
|
||||
"description": "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.",
|
||||
"properties": {
|
||||
"matchLabels": {
|
||||
|
|
@ -1226,14 +1224,14 @@
|
|||
"matchExpressions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.LabelSelectorRequirement"
|
||||
"$ref": "v1.LabelSelectorRequirement"
|
||||
},
|
||||
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.LabelSelectorRequirement": {
|
||||
"id": "unversioned.LabelSelectorRequirement",
|
||||
"v1.LabelSelectorRequirement": {
|
||||
"id": "v1.LabelSelectorRequirement",
|
||||
"description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
|
||||
"required": [
|
||||
"key",
|
||||
|
|
@ -1356,6 +1354,10 @@
|
|||
"subdomain": {
|
||||
"type": "string",
|
||||
"description": "If specified, the fully qualified Pod hostname will be \"\u003chostname\u003e.\u003csubdomain\u003e.\u003cpod namespace\u003e.svc.\u003ccluster domain\u003e\". If not specified, the pod will not have a domainname at all."
|
||||
},
|
||||
"affinity": {
|
||||
"$ref": "v1.Affinity",
|
||||
"description": "If specified, the pod's scheduling constraints"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -2614,6 +2616,200 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"v1.Affinity": {
|
||||
"id": "v1.Affinity",
|
||||
"description": "Affinity is a group of affinity scheduling rules.",
|
||||
"properties": {
|
||||
"nodeAffinity": {
|
||||
"$ref": "v1.NodeAffinity",
|
||||
"description": "Describes node affinity scheduling rules for the pod."
|
||||
},
|
||||
"podAffinity": {
|
||||
"$ref": "v1.PodAffinity",
|
||||
"description": "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s))."
|
||||
},
|
||||
"podAntiAffinity": {
|
||||
"$ref": "v1.PodAntiAffinity",
|
||||
"description": "Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s))."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeAffinity": {
|
||||
"id": "v1.NodeAffinity",
|
||||
"description": "Node affinity is a group of node affinity scheduling rules.",
|
||||
"properties": {
|
||||
"requiredDuringSchedulingIgnoredDuringExecution": {
|
||||
"$ref": "v1.NodeSelector",
|
||||
"description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node."
|
||||
},
|
||||
"preferredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.PreferredSchedulingTerm"
|
||||
},
|
||||
"description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeSelector": {
|
||||
"id": "v1.NodeSelector",
|
||||
"description": "A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.",
|
||||
"required": [
|
||||
"nodeSelectorTerms"
|
||||
],
|
||||
"properties": {
|
||||
"nodeSelectorTerms": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.NodeSelectorTerm"
|
||||
},
|
||||
"description": "Required. A list of node selector terms. The terms are ORed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeSelectorTerm": {
|
||||
"id": "v1.NodeSelectorTerm",
|
||||
"description": "A null or empty node selector term matches no objects.",
|
||||
"required": [
|
||||
"matchExpressions"
|
||||
],
|
||||
"properties": {
|
||||
"matchExpressions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.NodeSelectorRequirement"
|
||||
},
|
||||
"description": "Required. A list of node selector requirements. The requirements are ANDed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.NodeSelectorRequirement": {
|
||||
"id": "v1.NodeSelectorRequirement",
|
||||
"description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
|
||||
"required": [
|
||||
"key",
|
||||
"operator"
|
||||
],
|
||||
"properties": {
|
||||
"key": {
|
||||
"type": "string",
|
||||
"description": "The label key that the selector applies to."
|
||||
},
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt."
|
||||
},
|
||||
"values": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "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. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PreferredSchedulingTerm": {
|
||||
"id": "v1.PreferredSchedulingTerm",
|
||||
"description": "An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).",
|
||||
"required": [
|
||||
"weight",
|
||||
"preference"
|
||||
],
|
||||
"properties": {
|
||||
"weight": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100."
|
||||
},
|
||||
"preference": {
|
||||
"$ref": "v1.NodeSelectorTerm",
|
||||
"description": "A node selector term, associated with the corresponding weight."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PodAffinity": {
|
||||
"id": "v1.PodAffinity",
|
||||
"description": "Pod affinity is a group of inter pod affinity scheduling rules.",
|
||||
"properties": {
|
||||
"requiredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.PodAffinityTerm"
|
||||
},
|
||||
"description": "NOT YET IMPLEMENTED. TODO: Uncomment field once it is implemented. If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system will try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. RequiredDuringSchedulingRequiredDuringExecution []PodAffinityTerm `json:\"requiredDuringSchedulingRequiredDuringExecution,omitempty\"` If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied."
|
||||
},
|
||||
"preferredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.WeightedPodAffinityTerm"
|
||||
},
|
||||
"description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PodAffinityTerm": {
|
||||
"id": "v1.PodAffinityTerm",
|
||||
"description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key \u003ctopologyKey\u003e tches that of any node on which a pod of the set of pods is running",
|
||||
"required": [
|
||||
"namespaces"
|
||||
],
|
||||
"properties": {
|
||||
"labelSelector": {
|
||||
"$ref": "v1.LabelSelector",
|
||||
"description": "A label query over a set of resources, in this case pods."
|
||||
},
|
||||
"namespaces": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "namespaces specifies which namespaces the labelSelector applies to (matches against); nil list means \"this pod's namespace,\" empty list means \"all namespaces\" The json tag here is not \"omitempty\" since we need to distinguish nil and empty. See https://golang.org/pkg/encoding/json/#Marshal for more details."
|
||||
},
|
||||
"topologyKey": {
|
||||
"type": "string",
|
||||
"description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. For PreferredDuringScheduling pod anti-affinity, empty topologyKey is interpreted as \"all topologies\" (\"all topologies\" here means all the topologyKeys indicated by scheduler command-line argument --failure-domains); for affinity and for RequiredDuringScheduling pod anti-affinity, empty topologyKey is not allowed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.WeightedPodAffinityTerm": {
|
||||
"id": "v1.WeightedPodAffinityTerm",
|
||||
"description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)",
|
||||
"required": [
|
||||
"weight",
|
||||
"podAffinityTerm"
|
||||
],
|
||||
"properties": {
|
||||
"weight": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "weight associated with matching the corresponding podAffinityTerm, in the range 1-100."
|
||||
},
|
||||
"podAffinityTerm": {
|
||||
"$ref": "v1.PodAffinityTerm",
|
||||
"description": "Required. A pod affinity term, associated with the corresponding weight."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.PodAntiAffinity": {
|
||||
"id": "v1.PodAntiAffinity",
|
||||
"description": "Pod anti affinity is a group of inter pod anti affinity scheduling rules.",
|
||||
"properties": {
|
||||
"requiredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.PodAffinityTerm"
|
||||
},
|
||||
"description": "NOT YET IMPLEMENTED. TODO: Uncomment field once it is implemented. If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system will try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. RequiredDuringSchedulingRequiredDuringExecution []PodAffinityTerm `json:\"requiredDuringSchedulingRequiredDuringExecution,omitempty\"` If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied."
|
||||
},
|
||||
"preferredDuringSchedulingIgnoredDuringExecution": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "v1.WeightedPodAffinityTerm"
|
||||
},
|
||||
"description": "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred."
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1.JobStatus": {
|
||||
"id": "v1.JobStatus",
|
||||
"description": "JobStatus represents the current state of a Job.",
|
||||
|
|
@ -2627,12 +2823,10 @@
|
|||
},
|
||||
"startTime": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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."
|
||||
},
|
||||
"completionTime": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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."
|
||||
},
|
||||
"active": {
|
||||
|
|
@ -2670,12 +2864,10 @@
|
|||
},
|
||||
"lastProbeTime": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "Last time the condition was checked."
|
||||
},
|
||||
"lastTransitionTime": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "Last time the condition transit from one status to another."
|
||||
},
|
||||
"reason": {
|
||||
|
|
@ -2688,8 +2880,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Status": {
|
||||
"id": "unversioned.Status",
|
||||
"v1.Status": {
|
||||
"id": "v1.Status",
|
||||
"description": "Status is a return value for calls that don't return other objects.",
|
||||
"properties": {
|
||||
"kind": {
|
||||
|
|
@ -2701,7 +2893,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"
|
||||
},
|
||||
"status": {
|
||||
|
|
@ -2717,7 +2909,7 @@
|
|||
"description": "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."
|
||||
},
|
||||
"details": {
|
||||
"$ref": "unversioned.StatusDetails",
|
||||
"$ref": "v1.StatusDetails",
|
||||
"description": "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."
|
||||
},
|
||||
"code": {
|
||||
|
|
@ -2727,8 +2919,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusDetails": {
|
||||
"id": "unversioned.StatusDetails",
|
||||
"v1.StatusDetails": {
|
||||
"id": "v1.StatusDetails",
|
||||
"description": "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.",
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -2746,7 +2938,7 @@
|
|||
"causes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.StatusCause"
|
||||
"$ref": "v1.StatusCause"
|
||||
},
|
||||
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes."
|
||||
},
|
||||
|
|
@ -2757,8 +2949,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusCause": {
|
||||
"id": "unversioned.StatusCause",
|
||||
"v1.StatusCause": {
|
||||
"id": "v1.StatusCause",
|
||||
"description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.",
|
||||
"properties": {
|
||||
"reason": {
|
||||
|
|
@ -2790,8 +2982,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Patch": {
|
||||
"id": "unversioned.Patch",
|
||||
"v1.Patch": {
|
||||
"id": "v1.Patch",
|
||||
"description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.",
|
||||
"properties": {}
|
||||
},
|
||||
|
|
@ -2836,8 +3028,8 @@
|
|||
"id": "types.UID",
|
||||
"properties": {}
|
||||
},
|
||||
"unversioned.APIResourceList": {
|
||||
"id": "unversioned.APIResourceList",
|
||||
"v1.APIResourceList": {
|
||||
"id": "v1.APIResourceList",
|
||||
"description": "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.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -2859,19 +3051,20 @@
|
|||
"resources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.APIResource"
|
||||
"$ref": "v1.APIResource"
|
||||
},
|
||||
"description": "resources contains the name of the resources and if they are namespaced."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResource": {
|
||||
"id": "unversioned.APIResource",
|
||||
"v1.APIResource": {
|
||||
"id": "v1.APIResource",
|
||||
"description": "APIResource specifies the name of a resource and whether it is namespaced.",
|
||||
"required": [
|
||||
"name",
|
||||
"namespaced",
|
||||
"kind"
|
||||
"kind",
|
||||
"verbs"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -2885,6 +3078,13 @@
|
|||
"kind": {
|
||||
"type": "string",
|
||||
"description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')"
|
||||
},
|
||||
"verbs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"description": "API at /apis/batch/v2alpha1",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIResourceList",
|
||||
"type": "v1.APIResourceList",
|
||||
"method": "GET",
|
||||
"summary": "get available resources",
|
||||
"nickname": "getAPIResources",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIResourceList": {
|
||||
"id": "unversioned.APIResourceList",
|
||||
"v1.APIResourceList": {
|
||||
"id": "v1.APIResourceList",
|
||||
"description": "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.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -56,19 +56,20 @@
|
|||
"resources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.APIResource"
|
||||
"$ref": "v1.APIResource"
|
||||
},
|
||||
"description": "resources contains the name of the resources and if they are namespaced."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResource": {
|
||||
"id": "unversioned.APIResource",
|
||||
"v1.APIResource": {
|
||||
"id": "v1.APIResource",
|
||||
"description": "APIResource specifies the name of a resource and whether it is namespaced.",
|
||||
"required": [
|
||||
"name",
|
||||
"namespaced",
|
||||
"kind"
|
||||
"kind",
|
||||
"verbs"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -82,6 +83,13 @@
|
|||
"kind": {
|
||||
"type": "string",
|
||||
"description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')"
|
||||
},
|
||||
"verbs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get information of a group",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIGroup",
|
||||
"type": "v1.APIGroup",
|
||||
"method": "GET",
|
||||
"summary": "get information of a group",
|
||||
"nickname": "getAPIGroup",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIGroup": {
|
||||
"id": "unversioned.APIGroup",
|
||||
"v1.APIGroup": {
|
||||
"id": "v1.APIGroup",
|
||||
"description": "APIGroup contains the name, the supported versions, and the preferred version of a group.",
|
||||
"required": [
|
||||
"name",
|
||||
|
|
@ -57,25 +57,25 @@
|
|||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery"
|
||||
"$ref": "v1.GroupVersionForDiscovery"
|
||||
},
|
||||
"description": "versions are the versions supported in this group."
|
||||
},
|
||||
"preferredVersion": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery",
|
||||
"$ref": "v1.GroupVersionForDiscovery",
|
||||
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
|
||||
},
|
||||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.GroupVersionForDiscovery": {
|
||||
"id": "unversioned.GroupVersionForDiscovery",
|
||||
"v1.GroupVersionForDiscovery": {
|
||||
"id": "v1.GroupVersionForDiscovery",
|
||||
"description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -92,8 +92,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -125,7 +125,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete collection of CertificateSigningRequest",
|
||||
"nickname": "deletecollectionCertificateSigningRequest",
|
||||
|
|
@ -166,7 +166,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -183,7 +183,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -243,7 +243,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -306,7 +306,7 @@
|
|||
"type": "boolean",
|
||||
"paramType": "query",
|
||||
"name": "exact",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -397,7 +397,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -432,7 +432,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete a CertificateSigningRequest",
|
||||
"nickname": "deleteCertificateSigningRequest",
|
||||
|
|
@ -482,7 +482,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -542,7 +542,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -694,7 +694,7 @@
|
|||
"description": "API at /apis/certificates.k8s.io/v1alpha1",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIResourceList",
|
||||
"type": "v1.APIResourceList",
|
||||
"method": "GET",
|
||||
"summary": "get available resources",
|
||||
"nickname": "getAPIResources",
|
||||
|
|
@ -729,7 +729,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta"
|
||||
"$ref": "v1.ListMeta"
|
||||
},
|
||||
"items": {
|
||||
"type": "array",
|
||||
|
|
@ -739,8 +739,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ListMeta": {
|
||||
"id": "unversioned.ListMeta",
|
||||
"v1.ListMeta": {
|
||||
"id": "v1.ListMeta",
|
||||
"description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.",
|
||||
"properties": {
|
||||
"selfLink": {
|
||||
|
|
@ -813,12 +813,10 @@
|
|||
},
|
||||
"creationTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionGracePeriodSeconds": {
|
||||
|
|
@ -948,13 +946,12 @@
|
|||
},
|
||||
"lastUpdateTime": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "timestamp for the last update to this condition"
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Status": {
|
||||
"id": "unversioned.Status",
|
||||
"v1.Status": {
|
||||
"id": "v1.Status",
|
||||
"description": "Status is a return value for calls that don't return other objects.",
|
||||
"properties": {
|
||||
"kind": {
|
||||
|
|
@ -966,7 +963,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"
|
||||
},
|
||||
"status": {
|
||||
|
|
@ -982,7 +979,7 @@
|
|||
"description": "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."
|
||||
},
|
||||
"details": {
|
||||
"$ref": "unversioned.StatusDetails",
|
||||
"$ref": "v1.StatusDetails",
|
||||
"description": "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."
|
||||
},
|
||||
"code": {
|
||||
|
|
@ -992,8 +989,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusDetails": {
|
||||
"id": "unversioned.StatusDetails",
|
||||
"v1.StatusDetails": {
|
||||
"id": "v1.StatusDetails",
|
||||
"description": "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.",
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -1011,7 +1008,7 @@
|
|||
"causes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.StatusCause"
|
||||
"$ref": "v1.StatusCause"
|
||||
},
|
||||
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes."
|
||||
},
|
||||
|
|
@ -1022,8 +1019,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusCause": {
|
||||
"id": "unversioned.StatusCause",
|
||||
"v1.StatusCause": {
|
||||
"id": "v1.StatusCause",
|
||||
"description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.",
|
||||
"properties": {
|
||||
"reason": {
|
||||
|
|
@ -1055,8 +1052,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Patch": {
|
||||
"id": "unversioned.Patch",
|
||||
"v1.Patch": {
|
||||
"id": "v1.Patch",
|
||||
"description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.",
|
||||
"properties": {}
|
||||
},
|
||||
|
|
@ -1101,8 +1098,8 @@
|
|||
"id": "types.UID",
|
||||
"properties": {}
|
||||
},
|
||||
"unversioned.APIResourceList": {
|
||||
"id": "unversioned.APIResourceList",
|
||||
"v1.APIResourceList": {
|
||||
"id": "v1.APIResourceList",
|
||||
"description": "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.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -1124,19 +1121,20 @@
|
|||
"resources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.APIResource"
|
||||
"$ref": "v1.APIResource"
|
||||
},
|
||||
"description": "resources contains the name of the resources and if they are namespaced."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResource": {
|
||||
"id": "unversioned.APIResource",
|
||||
"v1.APIResource": {
|
||||
"id": "v1.APIResource",
|
||||
"description": "APIResource specifies the name of a resource and whether it is namespaced.",
|
||||
"required": [
|
||||
"name",
|
||||
"namespaced",
|
||||
"kind"
|
||||
"kind",
|
||||
"verbs"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -1150,6 +1148,13 @@
|
|||
"kind": {
|
||||
"type": "string",
|
||||
"description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')"
|
||||
},
|
||||
"verbs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get information of a group",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIGroup",
|
||||
"type": "v1.APIGroup",
|
||||
"method": "GET",
|
||||
"summary": "get information of a group",
|
||||
"nickname": "getAPIGroup",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIGroup": {
|
||||
"id": "unversioned.APIGroup",
|
||||
"v1.APIGroup": {
|
||||
"id": "v1.APIGroup",
|
||||
"description": "APIGroup contains the name, the supported versions, and the preferred version of a group.",
|
||||
"required": [
|
||||
"name",
|
||||
|
|
@ -57,25 +57,25 @@
|
|||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery"
|
||||
"$ref": "v1.GroupVersionForDiscovery"
|
||||
},
|
||||
"description": "versions are the versions supported in this group."
|
||||
},
|
||||
"preferredVersion": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery",
|
||||
"$ref": "v1.GroupVersionForDiscovery",
|
||||
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
|
||||
},
|
||||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.GroupVersionForDiscovery": {
|
||||
"id": "unversioned.GroupVersionForDiscovery",
|
||||
"v1.GroupVersionForDiscovery": {
|
||||
"id": "v1.GroupVersionForDiscovery",
|
||||
"description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -92,8 +92,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get information of a group",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIGroup",
|
||||
"type": "v1.APIGroup",
|
||||
"method": "GET",
|
||||
"summary": "get information of a group",
|
||||
"nickname": "getAPIGroup",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIGroup": {
|
||||
"id": "unversioned.APIGroup",
|
||||
"v1.APIGroup": {
|
||||
"id": "v1.APIGroup",
|
||||
"description": "APIGroup contains the name, the supported versions, and the preferred version of a group.",
|
||||
"required": [
|
||||
"name",
|
||||
|
|
@ -57,25 +57,25 @@
|
|||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery"
|
||||
"$ref": "v1.GroupVersionForDiscovery"
|
||||
},
|
||||
"description": "versions are the versions supported in this group."
|
||||
},
|
||||
"preferredVersion": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery",
|
||||
"$ref": "v1.GroupVersionForDiscovery",
|
||||
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
|
||||
},
|
||||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.GroupVersionForDiscovery": {
|
||||
"id": "unversioned.GroupVersionForDiscovery",
|
||||
"v1.GroupVersionForDiscovery": {
|
||||
"id": "v1.GroupVersionForDiscovery",
|
||||
"description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -92,8 +92,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete collection of PodDisruptionBudget",
|
||||
"nickname": "deletecollectionNamespacedPodDisruptionBudget",
|
||||
|
|
@ -182,7 +182,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -207,7 +207,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -267,7 +267,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -338,7 +338,7 @@
|
|||
"type": "boolean",
|
||||
"paramType": "query",
|
||||
"name": "exact",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -445,7 +445,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -488,7 +488,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete a PodDisruptionBudget",
|
||||
"nickname": "deleteNamespacedPodDisruptionBudget",
|
||||
|
|
@ -546,7 +546,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -606,7 +606,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -701,7 +701,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -780,7 +780,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -934,7 +934,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -983,7 +983,7 @@
|
|||
"description": "API at /apis/policy/v1beta1",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIResourceList",
|
||||
"type": "v1.APIResourceList",
|
||||
"method": "GET",
|
||||
"summary": "get available resources",
|
||||
"nickname": "getAPIResources",
|
||||
|
|
@ -1019,7 +1019,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta"
|
||||
"$ref": "v1.ListMeta"
|
||||
},
|
||||
"items": {
|
||||
"type": "array",
|
||||
|
|
@ -1029,8 +1029,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ListMeta": {
|
||||
"id": "unversioned.ListMeta",
|
||||
"v1.ListMeta": {
|
||||
"id": "v1.ListMeta",
|
||||
"description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.",
|
||||
"properties": {
|
||||
"selfLink": {
|
||||
|
|
@ -1103,12 +1103,10 @@
|
|||
},
|
||||
"creationTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionGracePeriodSeconds": {
|
||||
|
|
@ -1185,13 +1183,13 @@
|
|||
"description": "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%\"."
|
||||
},
|
||||
"selector": {
|
||||
"$ref": "unversioned.LabelSelector",
|
||||
"$ref": "v1.LabelSelector",
|
||||
"description": "Label query over pods whose evictions are managed by the disruption budget."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.LabelSelector": {
|
||||
"id": "unversioned.LabelSelector",
|
||||
"v1.LabelSelector": {
|
||||
"id": "v1.LabelSelector",
|
||||
"description": "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.",
|
||||
"properties": {
|
||||
"matchLabels": {
|
||||
|
|
@ -1201,14 +1199,14 @@
|
|||
"matchExpressions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.LabelSelectorRequirement"
|
||||
"$ref": "v1.LabelSelectorRequirement"
|
||||
},
|
||||
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.LabelSelectorRequirement": {
|
||||
"id": "unversioned.LabelSelectorRequirement",
|
||||
"v1.LabelSelectorRequirement": {
|
||||
"id": "v1.LabelSelectorRequirement",
|
||||
"description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
|
||||
"required": [
|
||||
"key",
|
||||
|
|
@ -1274,8 +1272,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Status": {
|
||||
"id": "unversioned.Status",
|
||||
"v1.Status": {
|
||||
"id": "v1.Status",
|
||||
"description": "Status is a return value for calls that don't return other objects.",
|
||||
"properties": {
|
||||
"kind": {
|
||||
|
|
@ -1287,7 +1285,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"
|
||||
},
|
||||
"status": {
|
||||
|
|
@ -1303,7 +1301,7 @@
|
|||
"description": "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."
|
||||
},
|
||||
"details": {
|
||||
"$ref": "unversioned.StatusDetails",
|
||||
"$ref": "v1.StatusDetails",
|
||||
"description": "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."
|
||||
},
|
||||
"code": {
|
||||
|
|
@ -1313,8 +1311,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusDetails": {
|
||||
"id": "unversioned.StatusDetails",
|
||||
"v1.StatusDetails": {
|
||||
"id": "v1.StatusDetails",
|
||||
"description": "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.",
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -1332,7 +1330,7 @@
|
|||
"causes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.StatusCause"
|
||||
"$ref": "v1.StatusCause"
|
||||
},
|
||||
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes."
|
||||
},
|
||||
|
|
@ -1343,8 +1341,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusCause": {
|
||||
"id": "unversioned.StatusCause",
|
||||
"v1.StatusCause": {
|
||||
"id": "v1.StatusCause",
|
||||
"description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.",
|
||||
"properties": {
|
||||
"reason": {
|
||||
|
|
@ -1376,8 +1374,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Patch": {
|
||||
"id": "unversioned.Patch",
|
||||
"v1.Patch": {
|
||||
"id": "v1.Patch",
|
||||
"description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.",
|
||||
"properties": {}
|
||||
},
|
||||
|
|
@ -1422,8 +1420,8 @@
|
|||
"id": "types.UID",
|
||||
"properties": {}
|
||||
},
|
||||
"unversioned.APIResourceList": {
|
||||
"id": "unversioned.APIResourceList",
|
||||
"v1.APIResourceList": {
|
||||
"id": "v1.APIResourceList",
|
||||
"description": "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.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -1445,19 +1443,20 @@
|
|||
"resources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.APIResource"
|
||||
"$ref": "v1.APIResource"
|
||||
},
|
||||
"description": "resources contains the name of the resources and if they are namespaced."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResource": {
|
||||
"id": "unversioned.APIResource",
|
||||
"v1.APIResource": {
|
||||
"id": "v1.APIResource",
|
||||
"description": "APIResource specifies the name of a resource and whether it is namespaced.",
|
||||
"required": [
|
||||
"name",
|
||||
"namespaced",
|
||||
"kind"
|
||||
"kind",
|
||||
"verbs"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -1471,6 +1470,13 @@
|
|||
"kind": {
|
||||
"type": "string",
|
||||
"description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')"
|
||||
},
|
||||
"verbs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get information of a group",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIGroup",
|
||||
"type": "v1.APIGroup",
|
||||
"method": "GET",
|
||||
"summary": "get information of a group",
|
||||
"nickname": "getAPIGroup",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIGroup": {
|
||||
"id": "unversioned.APIGroup",
|
||||
"v1.APIGroup": {
|
||||
"id": "v1.APIGroup",
|
||||
"description": "APIGroup contains the name, the supported versions, and the preferred version of a group.",
|
||||
"required": [
|
||||
"name",
|
||||
|
|
@ -57,25 +57,25 @@
|
|||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery"
|
||||
"$ref": "v1.GroupVersionForDiscovery"
|
||||
},
|
||||
"description": "versions are the versions supported in this group."
|
||||
},
|
||||
"preferredVersion": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery",
|
||||
"$ref": "v1.GroupVersionForDiscovery",
|
||||
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
|
||||
},
|
||||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.GroupVersionForDiscovery": {
|
||||
"id": "unversioned.GroupVersionForDiscovery",
|
||||
"v1.GroupVersionForDiscovery": {
|
||||
"id": "v1.GroupVersionForDiscovery",
|
||||
"description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -92,8 +92,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
138
vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1alpha1.json
generated
vendored
138
vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1alpha1.json
generated
vendored
|
|
@ -54,7 +54,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -125,7 +125,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete collection of ClusterRoleBinding",
|
||||
"nickname": "deletecollectionClusterRoleBinding",
|
||||
|
|
@ -166,7 +166,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -183,7 +183,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -243,7 +243,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -381,7 +381,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -416,7 +416,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete a ClusterRoleBinding",
|
||||
"nickname": "deleteClusterRoleBinding",
|
||||
|
|
@ -466,7 +466,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -526,7 +526,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -613,7 +613,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -684,7 +684,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete collection of ClusterRole",
|
||||
"nickname": "deletecollectionClusterRole",
|
||||
|
|
@ -725,7 +725,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -742,7 +742,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -802,7 +802,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -940,7 +940,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -975,7 +975,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete a ClusterRole",
|
||||
"nickname": "deleteClusterRole",
|
||||
|
|
@ -1025,7 +1025,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -1085,7 +1085,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -1172,7 +1172,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -1259,7 +1259,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete collection of RoleBinding",
|
||||
"nickname": "deletecollectionNamespacedRoleBinding",
|
||||
|
|
@ -1300,7 +1300,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -1325,7 +1325,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -1385,7 +1385,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -1547,7 +1547,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -1590,7 +1590,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete a RoleBinding",
|
||||
"nickname": "deleteNamespacedRoleBinding",
|
||||
|
|
@ -1648,7 +1648,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -1708,7 +1708,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -1803,7 +1803,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -1882,7 +1882,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -1961,7 +1961,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -2048,7 +2048,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete collection of Role",
|
||||
"nickname": "deletecollectionNamespacedRole",
|
||||
|
|
@ -2089,7 +2089,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -2114,7 +2114,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -2174,7 +2174,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -2336,7 +2336,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -2379,7 +2379,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete a Role",
|
||||
"nickname": "deleteNamespacedRole",
|
||||
|
|
@ -2437,7 +2437,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -2497,7 +2497,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -2592,7 +2592,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -2671,7 +2671,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -2709,7 +2709,7 @@
|
|||
"description": "API at /apis/rbac.authorization.k8s.io/v1alpha1",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIResourceList",
|
||||
"type": "v1.APIResourceList",
|
||||
"method": "GET",
|
||||
"summary": "get available resources",
|
||||
"nickname": "getAPIResources",
|
||||
|
|
@ -2745,7 +2745,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard object's metadata."
|
||||
},
|
||||
"items": {
|
||||
|
|
@ -2757,8 +2757,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ListMeta": {
|
||||
"id": "unversioned.ListMeta",
|
||||
"v1.ListMeta": {
|
||||
"id": "v1.ListMeta",
|
||||
"description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.",
|
||||
"properties": {
|
||||
"selfLink": {
|
||||
|
|
@ -2839,12 +2839,10 @@
|
|||
},
|
||||
"creationTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionGracePeriodSeconds": {
|
||||
|
|
@ -2961,8 +2959,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Status": {
|
||||
"id": "unversioned.Status",
|
||||
"v1.Status": {
|
||||
"id": "v1.Status",
|
||||
"description": "Status is a return value for calls that don't return other objects.",
|
||||
"properties": {
|
||||
"kind": {
|
||||
|
|
@ -2974,7 +2972,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"
|
||||
},
|
||||
"status": {
|
||||
|
|
@ -2990,7 +2988,7 @@
|
|||
"description": "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."
|
||||
},
|
||||
"details": {
|
||||
"$ref": "unversioned.StatusDetails",
|
||||
"$ref": "v1.StatusDetails",
|
||||
"description": "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."
|
||||
},
|
||||
"code": {
|
||||
|
|
@ -3000,8 +2998,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusDetails": {
|
||||
"id": "unversioned.StatusDetails",
|
||||
"v1.StatusDetails": {
|
||||
"id": "v1.StatusDetails",
|
||||
"description": "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.",
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -3019,7 +3017,7 @@
|
|||
"causes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.StatusCause"
|
||||
"$ref": "v1.StatusCause"
|
||||
},
|
||||
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes."
|
||||
},
|
||||
|
|
@ -3030,8 +3028,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusCause": {
|
||||
"id": "unversioned.StatusCause",
|
||||
"v1.StatusCause": {
|
||||
"id": "v1.StatusCause",
|
||||
"description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.",
|
||||
"properties": {
|
||||
"reason": {
|
||||
|
|
@ -3063,8 +3061,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Patch": {
|
||||
"id": "unversioned.Patch",
|
||||
"v1.Patch": {
|
||||
"id": "v1.Patch",
|
||||
"description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.",
|
||||
"properties": {}
|
||||
},
|
||||
|
|
@ -3125,7 +3123,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard object's metadata."
|
||||
},
|
||||
"items": {
|
||||
|
|
@ -3229,7 +3227,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard object's metadata."
|
||||
},
|
||||
"items": {
|
||||
|
|
@ -3290,7 +3288,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard object's metadata."
|
||||
},
|
||||
"items": {
|
||||
|
|
@ -3330,8 +3328,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResourceList": {
|
||||
"id": "unversioned.APIResourceList",
|
||||
"v1.APIResourceList": {
|
||||
"id": "v1.APIResourceList",
|
||||
"description": "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.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -3353,19 +3351,20 @@
|
|||
"resources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.APIResource"
|
||||
"$ref": "v1.APIResource"
|
||||
},
|
||||
"description": "resources contains the name of the resources and if they are namespaced."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResource": {
|
||||
"id": "unversioned.APIResource",
|
||||
"v1.APIResource": {
|
||||
"id": "v1.APIResource",
|
||||
"description": "APIResource specifies the name of a resource and whether it is namespaced.",
|
||||
"required": [
|
||||
"name",
|
||||
"namespaced",
|
||||
"kind"
|
||||
"kind",
|
||||
"verbs"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -3379,6 +3378,13 @@
|
|||
"kind": {
|
||||
"type": "string",
|
||||
"description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')"
|
||||
},
|
||||
"verbs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"description": "get information of a group",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIGroup",
|
||||
"type": "v1.APIGroup",
|
||||
"method": "GET",
|
||||
"summary": "get information of a group",
|
||||
"nickname": "getAPIGroup",
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
}
|
||||
],
|
||||
"models": {
|
||||
"unversioned.APIGroup": {
|
||||
"id": "unversioned.APIGroup",
|
||||
"v1.APIGroup": {
|
||||
"id": "v1.APIGroup",
|
||||
"description": "APIGroup contains the name, the supported versions, and the preferred version of a group.",
|
||||
"required": [
|
||||
"name",
|
||||
|
|
@ -57,25 +57,25 @@
|
|||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery"
|
||||
"$ref": "v1.GroupVersionForDiscovery"
|
||||
},
|
||||
"description": "versions are the versions supported in this group."
|
||||
},
|
||||
"preferredVersion": {
|
||||
"$ref": "unversioned.GroupVersionForDiscovery",
|
||||
"$ref": "v1.GroupVersionForDiscovery",
|
||||
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
|
||||
},
|
||||
"serverAddressByClientCIDRs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.ServerAddressByClientCIDR"
|
||||
"$ref": "v1.ServerAddressByClientCIDR"
|
||||
},
|
||||
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.GroupVersionForDiscovery": {
|
||||
"id": "unversioned.GroupVersionForDiscovery",
|
||||
"v1.GroupVersionForDiscovery": {
|
||||
"id": "v1.GroupVersionForDiscovery",
|
||||
"description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -92,8 +92,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ServerAddressByClientCIDR": {
|
||||
"id": "unversioned.ServerAddressByClientCIDR",
|
||||
"v1.ServerAddressByClientCIDR": {
|
||||
"id": "v1.ServerAddressByClientCIDR",
|
||||
"description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.",
|
||||
"required": [
|
||||
"clientCIDR",
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -125,7 +125,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete collection of StorageClass",
|
||||
"nickname": "deletecollectionStorageClass",
|
||||
|
|
@ -166,7 +166,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -183,7 +183,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -243,7 +243,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -306,7 +306,7 @@
|
|||
"type": "boolean",
|
||||
"paramType": "query",
|
||||
"name": "exact",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'",
|
||||
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -397,7 +397,7 @@
|
|||
"allowMultiple": false
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Patch",
|
||||
"type": "v1.Patch",
|
||||
"paramType": "body",
|
||||
"name": "body",
|
||||
"description": "",
|
||||
|
|
@ -432,7 +432,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"type": "unversioned.Status",
|
||||
"type": "v1.Status",
|
||||
"method": "DELETE",
|
||||
"summary": "delete a StorageClass",
|
||||
"nickname": "deleteStorageClass",
|
||||
|
|
@ -482,7 +482,7 @@
|
|||
{
|
||||
"code": 200,
|
||||
"message": "OK",
|
||||
"responseModel": "unversioned.Status"
|
||||
"responseModel": "v1.Status"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
|
|
@ -542,7 +542,7 @@
|
|||
"type": "string",
|
||||
"paramType": "query",
|
||||
"name": "resourceVersion",
|
||||
"description": "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.",
|
||||
"description": "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. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
|
||||
"required": false,
|
||||
"allowMultiple": false
|
||||
},
|
||||
|
|
@ -588,7 +588,7 @@
|
|||
"description": "API at /apis/storage.k8s.io/v1beta1",
|
||||
"operations": [
|
||||
{
|
||||
"type": "unversioned.APIResourceList",
|
||||
"type": "v1.APIResourceList",
|
||||
"method": "GET",
|
||||
"summary": "get available resources",
|
||||
"nickname": "getAPIResources",
|
||||
|
|
@ -624,7 +624,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard list metadata More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"items": {
|
||||
|
|
@ -636,8 +636,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.ListMeta": {
|
||||
"id": "unversioned.ListMeta",
|
||||
"v1.ListMeta": {
|
||||
"id": "v1.ListMeta",
|
||||
"description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.",
|
||||
"properties": {
|
||||
"selfLink": {
|
||||
|
|
@ -714,12 +714,10 @@
|
|||
},
|
||||
"creationTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionTimestamp": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "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.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"
|
||||
},
|
||||
"deletionGracePeriodSeconds": {
|
||||
|
|
@ -787,8 +785,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Status": {
|
||||
"id": "unversioned.Status",
|
||||
"v1.Status": {
|
||||
"id": "v1.Status",
|
||||
"description": "Status is a return value for calls that don't return other objects.",
|
||||
"properties": {
|
||||
"kind": {
|
||||
|
|
@ -800,7 +798,7 @@
|
|||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "unversioned.ListMeta",
|
||||
"$ref": "v1.ListMeta",
|
||||
"description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"
|
||||
},
|
||||
"status": {
|
||||
|
|
@ -816,7 +814,7 @@
|
|||
"description": "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."
|
||||
},
|
||||
"details": {
|
||||
"$ref": "unversioned.StatusDetails",
|
||||
"$ref": "v1.StatusDetails",
|
||||
"description": "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."
|
||||
},
|
||||
"code": {
|
||||
|
|
@ -826,8 +824,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusDetails": {
|
||||
"id": "unversioned.StatusDetails",
|
||||
"v1.StatusDetails": {
|
||||
"id": "v1.StatusDetails",
|
||||
"description": "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.",
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -845,7 +843,7 @@
|
|||
"causes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.StatusCause"
|
||||
"$ref": "v1.StatusCause"
|
||||
},
|
||||
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes."
|
||||
},
|
||||
|
|
@ -856,8 +854,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.StatusCause": {
|
||||
"id": "unversioned.StatusCause",
|
||||
"v1.StatusCause": {
|
||||
"id": "v1.StatusCause",
|
||||
"description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.",
|
||||
"properties": {
|
||||
"reason": {
|
||||
|
|
@ -889,8 +887,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unversioned.Patch": {
|
||||
"id": "unversioned.Patch",
|
||||
"v1.Patch": {
|
||||
"id": "v1.Patch",
|
||||
"description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.",
|
||||
"properties": {}
|
||||
},
|
||||
|
|
@ -935,8 +933,8 @@
|
|||
"id": "types.UID",
|
||||
"properties": {}
|
||||
},
|
||||
"unversioned.APIResourceList": {
|
||||
"id": "unversioned.APIResourceList",
|
||||
"v1.APIResourceList": {
|
||||
"id": "v1.APIResourceList",
|
||||
"description": "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.",
|
||||
"required": [
|
||||
"groupVersion",
|
||||
|
|
@ -958,19 +956,20 @@
|
|||
"resources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "unversioned.APIResource"
|
||||
"$ref": "v1.APIResource"
|
||||
},
|
||||
"description": "resources contains the name of the resources and if they are namespaced."
|
||||
}
|
||||
}
|
||||
},
|
||||
"unversioned.APIResource": {
|
||||
"id": "unversioned.APIResource",
|
||||
"v1.APIResource": {
|
||||
"id": "v1.APIResource",
|
||||
"description": "APIResource specifies the name of a resource and whether it is namespaced.",
|
||||
"required": [
|
||||
"name",
|
||||
"namespaced",
|
||||
"kind"
|
||||
"kind",
|
||||
"verbs"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
|
|
@ -984,6 +983,13 @@
|
|||
"kind": {
|
||||
"type": "string",
|
||||
"description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')"
|
||||
},
|
||||
"verbs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1 +0,0 @@
|
|||
v1.7.3-0
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
## Version 1.2 (Fri May 27 2016 Tim Hockin <thockin@google.com>)
|
||||
- First Changelog entry
|
||||
|
||||
## Version 1.3 (Fri June 3 2016 Prashanth.B <beeps@google.com>)
|
||||
- Fixed SRV record lookup (issue #26116)
|
||||
|
||||
## Version 1.4 (Tue June 21 2016 Nikhil Jindal <nikhiljindal@google.com>)
|
||||
- Initialising nodesStore (issue #27820)
|
||||
|
||||
## Version 1.5 (Thu June 23 2016 Nikhil Jindal <nikhiljindal@google.com>)
|
||||
- Adding support to return local service (pr #27708)
|
||||
|
||||
## Version 1.6 (Wed June 29 2016 Girish Kalele <gkalele@google.com>)
|
||||
- Godeps update for vendor code (skydns/mux)
|
||||
|
||||
## Version 1.7 (Wed August 24 2016 Zihong Zheng <zihongz@google.com>)
|
||||
- Add support for ExternalName services (pr #31159)
|
||||
|
||||
## Version 1.8 (Thu September 29 2016 Zihong Zheng <zihongz@google.com>)
|
||||
- Add support for graceful termination (issue #31807)
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
assignees:
|
||||
- ArtfulCoder
|
||||
- thockin
|
||||
1
vendor/k8s.io/kubernetes/build-tools/BUILD → vendor/k8s.io/kubernetes/build/BUILD
generated
vendored
1
vendor/k8s.io/kubernetes/build-tools/BUILD → vendor/k8s.io/kubernetes/build/BUILD
generated
vendored
|
|
@ -6,6 +6,7 @@ server_binaries = {
|
|||
"kube-apiserver": "//cmd/kube-apiserver",
|
||||
"kube-controller-manager": "//cmd/kube-controller-manager",
|
||||
"kube-scheduler": "//plugin/cmd/kube-scheduler",
|
||||
"kubernetes-discovery": "//cmd/kubernetes-discovery",
|
||||
}
|
||||
|
||||
docker_build(
|
||||
0
vendor/k8s.io/kubernetes/build-tools/OWNERS → vendor/k8s.io/kubernetes/build/OWNERS
generated
vendored
0
vendor/k8s.io/kubernetes/build-tools/OWNERS → vendor/k8s.io/kubernetes/build/OWNERS
generated
vendored
|
|
@ -5,7 +5,7 @@ Building Kubernetes is easy if you take advantage of the containerized build env
|
|||
## Requirements
|
||||
|
||||
1. Docker, using one of the following configurations:
|
||||
1. **Mac OS X** You can either use Docker for Mac or docker-machine. See installation instructions [here](https://docs.docker.com/installation/mac/).
|
||||
1. **Mac OS X** You can either use Docker for Mac or docker-machine. See installation instructions [here](https://docs.docker.com/docker-for-mac/).
|
||||
**Note**: You will want to set the Docker VM to have at least 3GB of initial memory or building will likely fail. (See: [#11852]( http://issue.k8s.io/11852)).
|
||||
2. **Linux with local Docker** Install Docker according to the [instructions](https://docs.docker.com/installation/#installation) for your OS.
|
||||
3. **Remote Docker engine** Use a big machine in the cloud to build faster. This is a little trickier so look at the section later on.
|
||||
|
|
@ -19,21 +19,21 @@ While it is possible to build Kubernetes using a local golang installation, we h
|
|||
|
||||
## Key scripts
|
||||
|
||||
The following scripts are found in the `build-tools/` directory. Note that all scripts must be run from the Kubernetes root directory.
|
||||
The following scripts are found in the `build/` directory. Note that all scripts must be run from the Kubernetes root directory.
|
||||
|
||||
* `build-tools/run.sh`: Run a command in a build docker container. Common invocations:
|
||||
* `build-tools/run.sh make`: Build just linux binaries in the container. Pass options and packages as necessary.
|
||||
* `build-tools/run.sh make cross`: Build all binaries for all platforms
|
||||
* `build-tools/run.sh make test`: Run all unit tests
|
||||
* `build-tools/run.sh make test-integration`: Run integration test
|
||||
* `build-tools/run.sh make test-cmd`: Run CLI tests
|
||||
* `build-tools/copy-output.sh`: This will copy the contents of `_output/dockerized/bin` from the Docker container to the local `_output/dockerized/bin`. It will also copy out specific file patterns that are generated as part of the build process. This is run automatically as part of `build-tools/run.sh`.
|
||||
* `build-tools/make-clean.sh`: Clean out the contents of `_output`, remove any locally built container images and remove the data container.
|
||||
* `/build-tools/shell.sh`: Drop into a `bash` shell in a build container with a snapshot of the current repo code.
|
||||
* `build/run.sh`: Run a command in a build docker container. Common invocations:
|
||||
* `build/run.sh make`: Build just linux binaries in the container. Pass options and packages as necessary.
|
||||
* `build/run.sh make cross`: Build all binaries for all platforms
|
||||
* `build/run.sh make test`: Run all unit tests
|
||||
* `build/run.sh make test-integration`: Run integration test
|
||||
* `build/run.sh make test-cmd`: Run CLI tests
|
||||
* `build/copy-output.sh`: This will copy the contents of `_output/dockerized/bin` from the Docker container to the local `_output/dockerized/bin`. It will also copy out specific file patterns that are generated as part of the build process. This is run automatically as part of `build/run.sh`.
|
||||
* `build/make-clean.sh`: Clean out the contents of `_output`, remove any locally built container images and remove the data container.
|
||||
* `/build/shell.sh`: Drop into a `bash` shell in a build container with a snapshot of the current repo code.
|
||||
|
||||
## Basic Flow
|
||||
|
||||
The scripts directly under `build-tools/` are used to build and test. They will ensure that the `kube-build` Docker image is built (based on `build-tools/build-image/Dockerfile`) and then execute the appropriate command in that container. These scripts will both ensure that the right data is cached from run to run for incremental builds and will copy the results back out of the container.
|
||||
The scripts directly under `build/` are used to build and test. They will ensure that the `kube-build` Docker image is built (based on `build/build-image/Dockerfile`) and then execute the appropriate command in that container. These scripts will both ensure that the right data is cached from run to run for incremental builds and will copy the results back out of the container.
|
||||
|
||||
The `kube-build` container image is built by first creating a "context" directory in `_output/images/build-image`. It is done there instead of at the root of the Kubernetes repo to minimize the amount of data we need to package up when building the image.
|
||||
|
||||
|
|
@ -92,7 +92,7 @@ Look at `docker-machine stop`, `docker-machine start` and `docker-machine rm` to
|
|||
|
||||
## Releasing
|
||||
|
||||
The `build-tools/release.sh` script will build a release. It will build binaries, run tests, (optionally) build runtime Docker images.
|
||||
The `build/release.sh` script will build a release. It will build binaries, run tests, (optionally) build runtime Docker images.
|
||||
|
||||
The main output is a tar file: `kubernetes.tar.gz`. This includes:
|
||||
* Cross compiled client utilities.
|
||||
|
|
@ -109,4 +109,4 @@ In addition, there are some other tar files that are created:
|
|||
|
||||
When building final release tars, they are first staged into `_output/release-stage` before being tar'd up and put into `_output/release-tars`.
|
||||
|
||||
[]()
|
||||
[]()
|
||||
|
|
@ -15,18 +15,20 @@
|
|||
# This file creates a standard build environment for building cross
|
||||
# platform go binary for the architecture kubernetes cares about.
|
||||
|
||||
FROM golang:1.7.3
|
||||
FROM golang:1.7.4
|
||||
|
||||
ENV GOARM 6
|
||||
ENV KUBE_DYNAMIC_CROSSPLATFORMS \
|
||||
armel \
|
||||
arm64 \
|
||||
s390x \
|
||||
ppc64el
|
||||
|
||||
ENV KUBE_CROSSPLATFORMS \
|
||||
linux/386 \
|
||||
linux/arm linux/arm64 \
|
||||
linux/ppc64le \
|
||||
linux/s390x \
|
||||
darwin/amd64 darwin/386 \
|
||||
windows/amd64 windows/386
|
||||
|
||||
|
|
@ -50,10 +52,9 @@ RUN mkdir -p /usr/local/src/protobuf \
|
|||
&& protoc --version
|
||||
|
||||
# Use dynamic cgo linking for architectures other than amd64 for the server platforms
|
||||
# More info here: https://wiki.debian.org/CrossToolchains
|
||||
RUN echo "deb http://emdebian.org/tools/debian/ jessie main" > /etc/apt/sources.list.d/cgocrosscompiling.list \
|
||||
&& curl -s http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add - \
|
||||
&& for platform in ${KUBE_DYNAMIC_CROSSPLATFORMS}; do dpkg --add-architecture ${platform}; done \
|
||||
# To install crossbuild essential for other architectures add the following repository.
|
||||
RUN echo "deb http://archive.ubuntu.com/ubuntu xenial main universe" > /etc/apt/sources.list.d/cgocrosscompiling.list \
|
||||
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32 \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y build-essential \
|
||||
&& for platform in ${KUBE_DYNAMIC_CROSSPLATFORMS}; do apt-get install -y crossbuild-essential-${platform}; done \
|
||||
|
|
@ -62,14 +63,13 @@ RUN echo "deb http://emdebian.org/tools/debian/ jessie main" > /etc/apt/sources.
|
|||
# work around 64MB tmpfs size in Docker 1.6
|
||||
ENV TMPDIR /tmp.k8s
|
||||
|
||||
# Get the code coverage tool, godep, and go-bindata
|
||||
# Get the code coverage tool, goimports, and godep
|
||||
RUN mkdir $TMPDIR \
|
||||
&& chmod a+rwx $TMPDIR \
|
||||
&& chmod o+t $TMPDIR \
|
||||
&& go get golang.org/x/tools/cmd/cover \
|
||||
golang.org/x/tools/cmd/goimports \
|
||||
github.com/tools/godep \
|
||||
github.com/jteeuwen/go-bindata/go-bindata
|
||||
github.com/tools/godep
|
||||
|
||||
# Download and symlink etcd. We need this for our integration tests.
|
||||
RUN export ETCD_VERSION=v3.0.14; \
|
||||
|
|
@ -79,7 +79,7 @@ RUN export ETCD_VERSION=v3.0.14; \
|
|||
&& ln -s ../src/etcd/etcd-${ETCD_VERSION}-linux-amd64/etcd /usr/local/bin/
|
||||
|
||||
# TODO: Remove the patched GOROOT when we have an official golang that has a working arm and ppc64le linker
|
||||
ENV K8S_PATCHED_GOLANG_VERSION=1.7.1 \
|
||||
ENV K8S_PATCHED_GOLANG_VERSION=1.7.4 \
|
||||
K8S_PATCHED_GOROOT=/usr/local/go_k8s_patched
|
||||
RUN mkdir -p ${K8S_PATCHED_GOROOT} \
|
||||
&& curl -sSL https://github.com/golang/go/archive/go${K8S_PATCHED_GOLANG_VERSION}.tar.gz | tar -xz -C ${K8S_PATCHED_GOROOT} --strip-components=1
|
||||
|
|
@ -0,0 +1 @@
|
|||
v1.7.4-1
|
||||
113
vendor/k8s.io/kubernetes/build-tools/common.sh → vendor/k8s.io/kubernetes/build/common.sh
generated
vendored
113
vendor/k8s.io/kubernetes/build-tools/common.sh → vendor/k8s.io/kubernetes/build/common.sh
generated
vendored
|
|
@ -41,15 +41,15 @@ readonly KUBE_BUILD_PPC64LE="${KUBE_BUILD_PPC64LE:-n}"
|
|||
|
||||
# Constants
|
||||
readonly KUBE_BUILD_IMAGE_REPO=kube-build
|
||||
readonly KUBE_BUILD_IMAGE_CROSS_TAG="$(cat ${KUBE_ROOT}/build-tools/build-image/cross/VERSION)"
|
||||
readonly KUBE_BUILD_IMAGE_CROSS_TAG="$(cat ${KUBE_ROOT}/build/build-image/cross/VERSION)"
|
||||
|
||||
# This version number is used to cause everyone to rebuild their data containers
|
||||
# and build image. This is especially useful for automated build systems like
|
||||
# Jenkins.
|
||||
#
|
||||
# Increment/change this number if you change the build image (anything under
|
||||
# build-tools/build-image) or change the set of volumes in the data container.
|
||||
readonly KUBE_BUILD_IMAGE_VERSION_BASE="$(cat ${KUBE_ROOT}/build-tools/build-image/VERSION)"
|
||||
# build/build-image) or change the set of volumes in the data container.
|
||||
readonly KUBE_BUILD_IMAGE_VERSION_BASE="$(cat ${KUBE_ROOT}/build/build-image/VERSION)"
|
||||
readonly KUBE_BUILD_IMAGE_VERSION="${KUBE_BUILD_IMAGE_VERSION_BASE}-${KUBE_BUILD_IMAGE_CROSS_TAG}"
|
||||
|
||||
# Here we map the output directories across both the local and remote _output
|
||||
|
|
@ -97,6 +97,7 @@ kube::build::get_docker_wrapped_binaries() {
|
|||
kube-apiserver,busybox
|
||||
kube-controller-manager,busybox
|
||||
kube-scheduler,busybox
|
||||
kubernetes-discovery,busybox
|
||||
kube-proxy,gcr.io/google_containers/debian-iptables-amd64:v4
|
||||
);;
|
||||
"arm")
|
||||
|
|
@ -104,6 +105,7 @@ kube::build::get_docker_wrapped_binaries() {
|
|||
kube-apiserver,armel/busybox
|
||||
kube-controller-manager,armel/busybox
|
||||
kube-scheduler,armel/busybox
|
||||
kubernetes-discovery,armel/busybox
|
||||
kube-proxy,gcr.io/google_containers/debian-iptables-arm:v4
|
||||
);;
|
||||
"arm64")
|
||||
|
|
@ -111,6 +113,7 @@ kube::build::get_docker_wrapped_binaries() {
|
|||
kube-apiserver,aarch64/busybox
|
||||
kube-controller-manager,aarch64/busybox
|
||||
kube-scheduler,aarch64/busybox
|
||||
kubernetes-discovery,aarch64/busybox
|
||||
kube-proxy,gcr.io/google_containers/debian-iptables-arm64:v4
|
||||
);;
|
||||
"ppc64le")
|
||||
|
|
@ -118,8 +121,17 @@ kube::build::get_docker_wrapped_binaries() {
|
|||
kube-apiserver,ppc64le/busybox
|
||||
kube-controller-manager,ppc64le/busybox
|
||||
kube-scheduler,ppc64le/busybox
|
||||
kubernetes-discovery,ppc64le/busybox
|
||||
kube-proxy,gcr.io/google_containers/debian-iptables-ppc64le:v4
|
||||
);;
|
||||
"s390x")
|
||||
local targets=(
|
||||
kube-apiserver,s390x/busybox
|
||||
kube-controller-manager,s390x/busybox
|
||||
kube-scheduler,s390x/busybox
|
||||
kubernetes-discovery,s390x/busybox
|
||||
kube-proxy,gcr.io/google_containers/debian-iptables-s390x:v4
|
||||
);;
|
||||
esac
|
||||
|
||||
echo "${targets[@]}"
|
||||
|
|
@ -130,6 +142,8 @@ kube::build::get_docker_wrapped_binaries() {
|
|||
|
||||
# Verify that the right utilities and such are installed for building Kube. Set
|
||||
# up some dynamic constants.
|
||||
# Args:
|
||||
# $1 - boolean of whether to require functioning docker (default true)
|
||||
#
|
||||
# Vars set:
|
||||
# KUBE_ROOT_HASH
|
||||
|
|
@ -145,18 +159,21 @@ kube::build::get_docker_wrapped_binaries() {
|
|||
# DOCKER_MOUNT_ARGS
|
||||
# LOCAL_OUTPUT_BUILD_CONTEXT
|
||||
function kube::build::verify_prereqs() {
|
||||
local -r require_docker=${1:-true}
|
||||
kube::log::status "Verifying Prerequisites...."
|
||||
kube::build::ensure_tar || return 1
|
||||
kube::build::ensure_rsync || return 1
|
||||
kube::build::ensure_docker_in_path || return 1
|
||||
if kube::build::is_osx; then
|
||||
kube::build::docker_available_on_osx || return 1
|
||||
fi
|
||||
kube::build::ensure_docker_daemon_connectivity || return 1
|
||||
if ${require_docker}; then
|
||||
kube::build::ensure_docker_in_path || return 1
|
||||
if kube::build::is_osx; then
|
||||
kube::build::docker_available_on_osx || return 1
|
||||
fi
|
||||
kube::util::ensure_docker_daemon_connectivity || return 1
|
||||
|
||||
if (( ${KUBE_VERBOSE} > 6 )); then
|
||||
kube::log::status "Docker Version:"
|
||||
"${DOCKER[@]}" version | kube::log::info_from_stdin
|
||||
if (( ${KUBE_VERBOSE} > 6 )); then
|
||||
kube::log::status "Docker Version:"
|
||||
"${DOCKER[@]}" version | kube::log::info_from_stdin
|
||||
fi
|
||||
fi
|
||||
|
||||
KUBE_ROOT_HASH=$(kube::build::short_hash "${HOSTNAME:-}:${KUBE_ROOT}")
|
||||
|
|
@ -260,29 +277,6 @@ function kube::build::ensure_docker_in_path() {
|
|||
fi
|
||||
}
|
||||
|
||||
function kube::build::ensure_docker_daemon_connectivity {
|
||||
if ! "${DOCKER[@]}" info > /dev/null 2>&1 ; then
|
||||
cat <<'EOF' >&2
|
||||
Can't connect to 'docker' daemon. please fix and retry.
|
||||
|
||||
Possible causes:
|
||||
- Docker Daemon not started
|
||||
- Linux: confirm via your init system
|
||||
- macOS w/ docker-machine: run `docker-machine ls` and `docker-machine start <name>`
|
||||
- macOS w/ Docker for Mac: Check the menu bar and start the Docker application
|
||||
- DOCKER_HOST hasn't been set or is set incorrectly
|
||||
- Linux: domain socket is used, DOCKER_* should be unset. In Bash run `unset ${!DOCKER_*}`
|
||||
- macOS w/ docker-machine: run `eval "$(docker-machine env <name>)"`
|
||||
- macOS w/ Docker for Mac: domain socket is used, DOCKER_* should be unset. In Bash run `unset ${!DOCKER_*}`
|
||||
- Other things to check:
|
||||
- Linux: User isn't in 'docker' group. Add and relogin.
|
||||
- Something like 'sudo usermod -a -G docker ${USER}'
|
||||
- RHEL7 bug and workaround: https://bugzilla.redhat.com/show_bug.cgi?id=1119282#c8
|
||||
EOF
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
function kube::build::ensure_tar() {
|
||||
if [[ -n "${TAR:-}" ]]; then
|
||||
return
|
||||
|
|
@ -416,8 +410,8 @@ function kube::build::build_image() {
|
|||
|
||||
cp /etc/localtime "${LOCAL_OUTPUT_BUILD_CONTEXT}/"
|
||||
|
||||
cp build-tools/build-image/Dockerfile "${LOCAL_OUTPUT_BUILD_CONTEXT}/Dockerfile"
|
||||
cp build-tools/build-image/rsyncd.sh "${LOCAL_OUTPUT_BUILD_CONTEXT}/"
|
||||
cp build/build-image/Dockerfile "${LOCAL_OUTPUT_BUILD_CONTEXT}/Dockerfile"
|
||||
cp build/build-image/rsyncd.sh "${LOCAL_OUTPUT_BUILD_CONTEXT}/"
|
||||
dd if=/dev/urandom bs=512 count=1 2>/dev/null | LC_ALL=C tr -dc 'A-Za-z0-9' | dd bs=32 count=1 2>/dev/null > "${LOCAL_OUTPUT_BUILD_CONTEXT}/rsyncd.password"
|
||||
chmod go= "${LOCAL_OUTPUT_BUILD_CONTEXT}/rsyncd.password"
|
||||
|
||||
|
|
@ -560,6 +554,7 @@ function kube::build::run_build_command_ex() {
|
|||
--env "KUBE_FASTBUILD=${KUBE_FASTBUILD:-false}"
|
||||
--env "KUBE_BUILDER_OS=${OSTYPE:-notdetected}"
|
||||
--env "KUBE_BUILD_PPC64LE=${KUBE_BUILD_PPC64LE}" # TODO(IBM): remove
|
||||
--env "KUBE_VERBOSE=${KUBE_VERBOSE}"
|
||||
)
|
||||
|
||||
# If we have stdin we can run interactive. This allows things like 'shell.sh'
|
||||
|
|
@ -613,7 +608,7 @@ function kube::build::start_rsyncd_container() {
|
|||
|
||||
local mapped_port
|
||||
if ! mapped_port=$("${DOCKER[@]}" port "${KUBE_RSYNC_CONTAINER_NAME}" ${KUBE_CONTAINER_RSYNC_PORT} 2> /dev/null | cut -d: -f 2) ; then
|
||||
kube:log:error "Could not get effective rsync port"
|
||||
kube::log::error "Could not get effective rsync port"
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
|
@ -633,7 +628,7 @@ function kube::build::start_rsyncd_container() {
|
|||
return 0
|
||||
fi
|
||||
|
||||
kube::log::error "Could not connect to rsync container. See build-tools/README.md for setting up remote Docker engine."
|
||||
kube::log::error "Could not connect to rsync container. See build/README.md for setting up remote Docker engine."
|
||||
return 1
|
||||
}
|
||||
|
||||
|
|
@ -643,6 +638,22 @@ function kube::build::stop_rsyncd_container() {
|
|||
kube::build::destroy_container "${KUBE_RSYNC_CONTAINER_NAME}"
|
||||
}
|
||||
|
||||
function kube::build::rsync {
|
||||
local -a rsync_opts=(
|
||||
--archive
|
||||
--prune-empty-dirs
|
||||
--password-file="${LOCAL_OUTPUT_BUILD_CONTEXT}/rsyncd.password"
|
||||
)
|
||||
if (( ${KUBE_VERBOSE} >= 6 )); then
|
||||
rsync_opts+=("-iv")
|
||||
fi
|
||||
if (( ${KUBE_RSYNC_COMPRESS} > 0 )); then
|
||||
rsync_opts+=("--compress-level=${KUBE_RSYNC_COMPRESS}")
|
||||
fi
|
||||
V=3 kube::log::status "Running rsync"
|
||||
rsync "${rsync_opts[@]}" "$@"
|
||||
}
|
||||
|
||||
# This will launch rsyncd in a container and then sync the source tree to the
|
||||
# container over the local network.
|
||||
function kube::build::sync_to_container() {
|
||||
|
|
@ -650,26 +661,22 @@ function kube::build::sync_to_container() {
|
|||
|
||||
kube::build::start_rsyncd_container
|
||||
|
||||
local rsync_extra=""
|
||||
if (( ${KUBE_VERBOSE} >= 6 )); then
|
||||
rsync_extra="-iv"
|
||||
fi
|
||||
|
||||
# rsync filters are a bit confusing. Here we are syncing everything except
|
||||
# output only directories and things that are not necessary like the git
|
||||
# directory. The '- /' filter prevents rsync from trying to set the
|
||||
# uid/gid/perms on the root of the sync tree.
|
||||
V=3 kube::log::status "Running rsync"
|
||||
rsync ${rsync_extra} \
|
||||
--archive \
|
||||
# directory and generated files. The '- /' filter prevents rsync
|
||||
# from trying to set the uid/gid/perms on the root of the sync tree.
|
||||
# As an exception, we need to sync generated files in staging/, because
|
||||
# they will not be re-generated by 'make'.
|
||||
kube::build::rsync \
|
||||
--delete \
|
||||
--prune-empty-dirs \
|
||||
--password-file="${LOCAL_OUTPUT_BUILD_CONTEXT}/rsyncd.password" \
|
||||
--filter='+ /staging/**' \
|
||||
--filter='- /.git/' \
|
||||
--filter='- /.make/' \
|
||||
--filter='- /_tmp/' \
|
||||
--filter='- /_output/' \
|
||||
--filter='- /' \
|
||||
--filter='- zz_generated.*' \
|
||||
--filter='- generated.proto' \
|
||||
"${KUBE_ROOT}/" "rsync://k8s@${KUBE_RSYNC_ADDR}/k8s/"
|
||||
|
||||
kube::build::stop_rsyncd_container
|
||||
|
|
@ -694,11 +701,7 @@ function kube::build::copy_output() {
|
|||
#
|
||||
# We are looking to copy out all of the built binaries along with various
|
||||
# generated files.
|
||||
V=3 kube::log::status "Running rsync"
|
||||
rsync ${rsync_extra} \
|
||||
--archive \
|
||||
--prune-empty-dirs \
|
||||
--password-file="${LOCAL_OUTPUT_BUILD_CONTEXT}/rsyncd.password" \
|
||||
kube::build::rsync \
|
||||
--filter='- /vendor/' \
|
||||
--filter='- /_temp/' \
|
||||
--filter='+ /_output/dockerized/bin/**' \
|
||||
|
|
@ -20,7 +20,7 @@ set -o nounset
|
|||
set -o pipefail
|
||||
|
||||
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||
source "${KUBE_ROOT}/build-tools/common.sh"
|
||||
source "${KUBE_ROOT}/build/common.sh"
|
||||
|
||||
kube::build::verify_prereqs
|
||||
kube::build::copy_output
|
||||
|
|
@ -35,6 +35,10 @@ ifeq ($(ARCH),ppc64le)
|
|||
BASEIMAGE?=ppc64le/debian:jessie
|
||||
QEMUARCH=ppc64le
|
||||
endif
|
||||
ifeq ($(ARCH),s390x)
|
||||
BASEIMAGE?=s390x/debian:jessie
|
||||
QEMUARCH=s390x
|
||||
endif
|
||||
|
||||
build:
|
||||
cp ./* $(TEMP_DIR)
|
||||
|
|
@ -48,7 +52,7 @@ else
|
|||
# When cross-building, only the placeholder "CROSS_BUILD_" should be removed
|
||||
# Register /usr/bin/qemu-ARCH-static as the handler for ARM binaries in the kernel
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
curl -sSL https://github.com/multiarch/qemu-user-static/releases/download/v2.5.0/x86_64_qemu-$(QEMUARCH)-static.tar.xz | tar -xJ -C $(TEMP_DIR)
|
||||
curl -sSL https://github.com/multiarch/qemu-user-static/releases/download/v2.6.0/x86_64_qemu-$(QEMUARCH)-static.tar.gz | tar -xz -C $(TEMP_DIR)
|
||||
cd $(TEMP_DIR) && sed -i "s/CROSS_BUILD_//g" Dockerfile
|
||||
endif
|
||||
|
||||
|
|
@ -21,9 +21,12 @@ $ make push ARCH=arm64
|
|||
|
||||
$ make push ARCH=ppc64le
|
||||
# ---> gcr.io/google_containers/debian-iptables-ppc64le:TAG
|
||||
|
||||
$ make push ARCH=s390x
|
||||
# ---> gcr.io/google_containers/debian-iptables-s390x:TAG
|
||||
```
|
||||
|
||||
If you don't want to push the images, run `make` or `make build` instead
|
||||
|
||||
|
||||
[]()
|
||||
[]()
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar", "pkg_deb")
|
||||
load("@io_kubernetes_build//defs:deb.bzl", "k8s_deb", "deb_data")
|
||||
|
||||
filegroup(
|
||||
name = "debs",
|
||||
srcs = [
|
||||
":kubeadm.deb",
|
||||
":kubectl.deb",
|
||||
":kubelet.deb",
|
||||
":kubernetes-cni.deb",
|
||||
],
|
||||
)
|
||||
|
||||
deb_data(
|
||||
name = "kubectl",
|
||||
data = [
|
||||
{
|
||||
"files": ["//cmd/kubectl"],
|
||||
"mode": "0755",
|
||||
"dir": "/usr/bin",
|
||||
},
|
||||
],
|
||||
)
|
||||
|
||||
deb_data(
|
||||
name = "kubelet",
|
||||
data = [
|
||||
{
|
||||
"files": ["//cmd/kubelet"],
|
||||
"mode": "0755",
|
||||
"dir": "/usr/bin",
|
||||
},
|
||||
{
|
||||
"files": ["kubelet.service"],
|
||||
"mode": "644",
|
||||
"dir": "/lib/systemd/system",
|
||||
},
|
||||
],
|
||||
)
|
||||
|
||||
deb_data(
|
||||
name = "kubeadm",
|
||||
data = [
|
||||
{
|
||||
"files": ["//cmd/kubeadm"],
|
||||
"mode": "0755",
|
||||
"dir": "/usr/bin",
|
||||
},
|
||||
{
|
||||
"files": ["kubeadm-10.conf"],
|
||||
"mode": "644",
|
||||
"dir": "/etc/systemd/system/kubelet.service.d",
|
||||
},
|
||||
],
|
||||
)
|
||||
|
||||
pkg_tar(
|
||||
name = "kubernetes-cni-data",
|
||||
package_dir = "/opt/cni",
|
||||
deps = ["@kubernetes_cni//file"],
|
||||
)
|
||||
|
||||
k8s_deb(
|
||||
name = "kubectl",
|
||||
description = """Kubernetes Command Line Tool
|
||||
The Kubernetes command line tool for interacting with the Kubernetes API.
|
||||
""",
|
||||
)
|
||||
|
||||
k8s_deb(
|
||||
name = "kubelet",
|
||||
depends = [
|
||||
"iptables (>= 1.4.21)",
|
||||
"kubernetes-cni (>= 0.3.0.1)",
|
||||
"iproute2",
|
||||
"socat",
|
||||
"util-linux",
|
||||
"mount",
|
||||
"ebtables",
|
||||
"ethtool",
|
||||
],
|
||||
description = """Kubernetes Node Agent
|
||||
The node agent of Kubernetes, the container cluster manager
|
||||
""",
|
||||
)
|
||||
|
||||
k8s_deb(
|
||||
name = "kubeadm",
|
||||
depends = [
|
||||
"kubelet (>= 1.4.0)",
|
||||
"kubectl (>= 1.4.0)",
|
||||
],
|
||||
description = """Kubernetes Cluster Bootstrapping Tool
|
||||
The Kubernetes command line tool for bootstrapping a Kubernetes cluster.
|
||||
""",
|
||||
)
|
||||
|
||||
k8s_deb(
|
||||
name = "kubernetes-cni",
|
||||
description = """Kubernetes Packaging of CNI
|
||||
The Container Networking Interface tools for provisioning container networks.
|
||||
""",
|
||||
)
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[Service]
|
||||
Environment="KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true"
|
||||
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"
|
||||
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
|
||||
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
|
||||
ExecStart=
|
||||
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_EXTRA_ARGS
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=kubelet: The Kubernetes Node Agent
|
||||
Documentation=http://kubernetes.io/docs/
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/kubelet
|
||||
Restart=always
|
||||
StartLimitInterval=0
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
### Version 1.9 (Fri November 18 2016 Bowei Du <bowei@google.com>)
|
||||
- Add limited ConfigMap support (pr #36775)
|
||||
|
||||
### Version 1.8 (Thu September 29 2016 Zihong Zheng <zihongz@google.com>)
|
||||
- Add support for graceful termination (issue #31807)
|
||||
|
||||
### Version 1.7 (Wed August 24 2016 Zihong Zheng <zihongz@google.com>)
|
||||
- Add support for ExternalName services (pr #31159)
|
||||
|
||||
### Version 1.6 (Wed June 29 2016 Girish Kalele <gkalele@google.com>)
|
||||
- Godeps update for vendor code (skydns/mux)
|
||||
|
||||
### Version 1.5 (Thu June 23 2016 Nikhil Jindal <nikhiljindal@google.com>)
|
||||
- Adding support to return local service (pr #27708)
|
||||
|
||||
### Version 1.4 (Tue June 21 2016 Nikhil Jindal <nikhiljindal@google.com>)
|
||||
- Initialising nodesStore (issue #27820)
|
||||
|
||||
### Version 1.3 (Fri June 3 2016 Prashanth.B <beeps@google.com>)
|
||||
- Fixed SRV record lookup (issue #26116)
|
||||
|
||||
### Version 1.2 (Fri May 27 2016 Tim Hockin <thockin@google.com>)
|
||||
- First Changelog entry
|
||||
|
||||
|
||||
[]()
|
||||
|
|
@ -2,4 +2,4 @@
|
|||
|
||||
Tim Hockin <thockin@google.com>
|
||||
|
||||
[]()
|
||||
[]()
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
# Default registry, arch and tag. This can be overwritten by arguments to make
|
||||
PLATFORM?=linux
|
||||
ARCH?=amd64
|
||||
TAG?=1.8
|
||||
TAG?=1.9
|
||||
REGISTRY?=gcr.io/google_containers
|
||||
|
||||
GOLANG_VERSION=1.6
|
||||
|
|
@ -41,6 +41,9 @@ endif
|
|||
ifeq ($(ARCH),ppc64le)
|
||||
BASEIMAGE?=ppc64le/busybox
|
||||
endif
|
||||
ifeq ($(ARCH),s390x)
|
||||
BASEIMAGE?=s390x/busybox
|
||||
endif
|
||||
|
||||
|
||||
all: container
|
||||
|
|
@ -48,7 +51,7 @@ all: container
|
|||
container:
|
||||
# Copy the content in this dir to the temp dir
|
||||
cp $(KUBE_ROOT)/_output/dockerized/bin/$(PLATFORM)/$(ARCH)/kube-dns $(TEMP_DIR)
|
||||
cp $(KUBE_ROOT)/build-tools/kube-dns/Dockerfile $(TEMP_DIR)
|
||||
cp $(KUBE_ROOT)/build/kube-dns/Dockerfile $(TEMP_DIR)
|
||||
|
||||
# Replace BASEIMAGE with the real base image
|
||||
cd $(TEMP_DIR) && sed -i "s|BASEIMAGE|$(BASEIMAGE)|g" Dockerfile
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
approvers:
|
||||
- thockin
|
||||
- boweidu
|
||||
- mrhohn
|
||||
reviewers:
|
||||
- mikedanese
|
||||
- nikhiljindal
|
||||
- bprashanth
|
||||
- luxas
|
||||
- jessfraz
|
||||
- david-mcmahon
|
||||
|
|
@ -19,4 +19,4 @@ Any significant changes to the YAML template for `kube-dns` should result a bump
|
|||
of the version number for the `kube-dns` replication controller and well as the
|
||||
`version` label. This will permit a rolling update of `kube-dns`.
|
||||
|
||||
[]()
|
||||
[]()
|
||||
|
|
@ -8,7 +8,7 @@ are ready, not on every PR.
|
|||
|
||||
```
|
||||
make release
|
||||
cd build-tools/kube-dns
|
||||
cd build/kube-dns
|
||||
make container PREFIX=<your-docker-hub> TAG=rc
|
||||
```
|
||||
|
||||
|
|
@ -35,6 +35,9 @@ make container PREFIX=<your-docker-hub> TAG=rc
|
|||
|
||||
$ make push ARCH=ppc64le
|
||||
# ---> gcr.io/google_containers/kube-dns-ppc64le:TAG
|
||||
|
||||
$ make push ARCH=s390x
|
||||
# ---> gcr.io/google_containers/kube-dns-s390x:TAG
|
||||
```
|
||||
|
||||
6. Manually deploy this to your own cluster by updating the replication
|
||||
|
|
@ -45,4 +48,4 @@ make container PREFIX=<your-docker-hub> TAG=rc
|
|||
8. Allow the PR to be merged.
|
||||
|
||||
|
||||
[]()
|
||||
[]()
|
||||
|
|
@ -85,6 +85,7 @@ function kube::release::package_tarballs() {
|
|||
mkdir -p "${RELEASE_DIR}"
|
||||
kube::release::package_src_tarball &
|
||||
kube::release::package_client_tarballs &
|
||||
kube::release::package_node_tarballs &
|
||||
kube::release::package_server_tarballs &
|
||||
kube::release::package_salt_tarball &
|
||||
kube::release::package_kube_manifests_tarball &
|
||||
|
|
@ -148,6 +149,50 @@ function kube::release::package_client_tarballs() {
|
|||
kube::util::wait-for-jobs || { kube::log::error "client tarball creation failed"; exit 1; }
|
||||
}
|
||||
|
||||
# Package up all of the node binaries
|
||||
function kube::release::package_node_tarballs() {
|
||||
local platform
|
||||
for platform in "${KUBE_NODE_PLATFORMS[@]}"; do
|
||||
local platform_tag=${platform/\//-} # Replace a "/" for a "-"
|
||||
local arch=$(basename ${platform})
|
||||
kube::log::status "Building tarball: node $platform_tag"
|
||||
|
||||
local release_stage="${RELEASE_STAGE}/node/${platform_tag}/kubernetes"
|
||||
rm -rf "${release_stage}"
|
||||
mkdir -p "${release_stage}/node/bin"
|
||||
|
||||
local node_bins=("${KUBE_NODE_BINARIES[@]}")
|
||||
if [[ "${platform%/*}" == "windows" ]]; then
|
||||
node_bins=("${KUBE_NODE_BINARIES_WIN[@]}")
|
||||
fi
|
||||
# This fancy expression will expand to prepend a path
|
||||
# (${LOCAL_OUTPUT_BINPATH}/${platform}/) to every item in the
|
||||
# KUBE_NODE_BINARIES array.
|
||||
cp "${node_bins[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
|
||||
"${release_stage}/node/bin/"
|
||||
|
||||
# TODO: Docker images here
|
||||
# kube::release::create_docker_images_for_server "${release_stage}/server/bin" "${arch}"
|
||||
|
||||
# Include the client binaries here too as they are useful debugging tools.
|
||||
local client_bins=("${KUBE_CLIENT_BINARIES[@]}")
|
||||
if [[ "${platform%/*}" == "windows" ]]; then
|
||||
client_bins=("${KUBE_CLIENT_BINARIES_WIN[@]}")
|
||||
fi
|
||||
cp "${client_bins[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
|
||||
"${release_stage}/node/bin/"
|
||||
|
||||
cp "${KUBE_ROOT}/Godeps/LICENSES" "${release_stage}/"
|
||||
|
||||
cp "${RELEASE_DIR}/kubernetes-src.tar.gz" "${release_stage}/"
|
||||
|
||||
kube::release::clean_cruft
|
||||
|
||||
local package_name="${RELEASE_DIR}/kubernetes-node-${platform_tag}.tar.gz"
|
||||
kube::release::create_tarball "${package_name}" "${release_stage}/.."
|
||||
done
|
||||
}
|
||||
|
||||
# Package up all of the server binaries
|
||||
function kube::release::package_server_tarballs() {
|
||||
local platform
|
||||
|
|
@ -315,9 +360,7 @@ function kube::release::package_kube_manifests_tarball() {
|
|||
|
||||
local salt_dir="${KUBE_ROOT}/cluster/saltbase/salt"
|
||||
cp "${salt_dir}/cluster-autoscaler/cluster-autoscaler.manifest" "${dst_dir}/"
|
||||
cp "${salt_dir}/fluentd-es/fluentd-es.yaml" "${release_stage}/"
|
||||
cp "${salt_dir}/fluentd-gcp/fluentd-gcp.yaml" "${release_stage}/"
|
||||
cp "${salt_dir}/fluentd-gcp-gci/fluentd-gcp-gci.yaml" "${release_stage}/"
|
||||
cp "${salt_dir}/kube-registry-proxy/kube-registry-proxy.yaml" "${release_stage}/"
|
||||
cp "${salt_dir}/kube-proxy/kube-proxy.manifest" "${release_stage}/"
|
||||
cp "${salt_dir}/etcd/etcd.manifest" "${dst_dir}"
|
||||
|
|
@ -333,14 +376,12 @@ function kube::release::package_kube_manifests_tarball() {
|
|||
cp "${KUBE_ROOT}/cluster/gce/gci/configure-helper.sh" "${dst_dir}/gci-configure-helper.sh"
|
||||
cp "${KUBE_ROOT}/cluster/gce/gci/mounter/mounter" "${dst_dir}/gci-mounter"
|
||||
cp "${KUBE_ROOT}/cluster/gce/gci/health-monitor.sh" "${dst_dir}/health-monitor.sh"
|
||||
cp "${KUBE_ROOT}/cluster/gce/coreos/configure-helper.sh" "${dst_dir}/coreos-configure-helper.sh"
|
||||
cp -r "${salt_dir}/kube-admission-controls/limit-range" "${dst_dir}"
|
||||
local objects
|
||||
objects=$(cd "${KUBE_ROOT}/cluster/addons" && find . \( -name \*.yaml -or -name \*.yaml.in -or -name \*.json \) | grep -v demo)
|
||||
tar c -C "${KUBE_ROOT}/cluster/addons" ${objects} | tar x -C "${dst_dir}"
|
||||
|
||||
# This is for coreos only. ContainerVM, GCI, or Trusty does not use it.
|
||||
cp -r "${KUBE_ROOT}/cluster/gce/coreos/kube-manifests"/* "${release_stage}/"
|
||||
|
||||
kube::release::clean_cruft
|
||||
|
||||
local package_name="${RELEASE_DIR}/kubernetes-manifests.tar.gz"
|
||||
|
|
@ -25,7 +25,7 @@ set -o nounset
|
|||
set -o pipefail
|
||||
|
||||
KUBE_ROOT="$(dirname "${BASH_SOURCE}")/.."
|
||||
source "${KUBE_ROOT}/build-tools/common.sh"
|
||||
source "${KUBE_ROOT}/build/common.sh"
|
||||
|
||||
kube::build::verify_prereqs
|
||||
kube::build::build_image
|
||||
|
|
@ -20,7 +20,7 @@ set -o nounset
|
|||
set -o pipefail
|
||||
|
||||
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||
source "${KUBE_ROOT}/build-tools/common.sh"
|
||||
source "${KUBE_ROOT}/build/common.sh"
|
||||
|
||||
kube::build::verify_prereqs
|
||||
kube::build::verify_prereqs false
|
||||
kube::build::clean
|
||||
|
|
@ -20,10 +20,10 @@ LEGACY_AMD64_IMAGE = $(REGISTRY)/pause
|
|||
|
||||
TAG = 3.0
|
||||
|
||||
# Architectures supported: amd64, arm, arm64 and ppc64le
|
||||
# Architectures supported: amd64, arm, arm64, ppc64le and s390x
|
||||
ARCH ?= amd64
|
||||
|
||||
ALL_ARCH = amd64 arm arm64 ppc64le
|
||||
ALL_ARCH = amd64 arm arm64 ppc64le s390x
|
||||
|
||||
CFLAGS = -Os -Wall -static
|
||||
KUBE_CROSS_IMAGE ?= gcr.io/google_containers/kube-cross
|
||||
|
|
@ -48,6 +48,10 @@ ifeq ($(ARCH),ppc64le)
|
|||
TRIPLE ?= powerpc64le-linux-gnu
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),s390x)
|
||||
TRIPLE ?= s390x-linux-gnu
|
||||
endif
|
||||
|
||||
# If you want to build AND push all containers, see the 'all-push' rule.
|
||||
all: all-container
|
||||
|
||||
|
|
@ -22,8 +22,5 @@ set -o pipefail
|
|||
|
||||
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||
|
||||
source "${KUBE_ROOT}/build-tools/util.sh"
|
||||
|
||||
source "${KUBE_ROOT}/federation/cluster/common.sh"
|
||||
|
||||
FEDERATION_IMAGE_TAG="$(kube::release::semantic_image_tag_version)" push-federation-images
|
||||
make -C "${KUBE_ROOT}/federation/" build_image
|
||||
make -C "${KUBE_ROOT}/federation/" push
|
||||
|
|
@ -26,8 +26,8 @@ set -o nounset
|
|||
set -o pipefail
|
||||
|
||||
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||
source "${KUBE_ROOT}/build-tools/common.sh"
|
||||
source "${KUBE_ROOT}/build-tools/lib/release.sh"
|
||||
source "${KUBE_ROOT}/build/common.sh"
|
||||
source "${KUBE_ROOT}/build/lib/release.sh"
|
||||
|
||||
KUBE_RELEASE_RUN_TESTS=${KUBE_RELEASE_RUN_TESTS-y}
|
||||
|
||||
|
|
@ -42,13 +42,5 @@ fi
|
|||
|
||||
kube::build::copy_output
|
||||
|
||||
if [[ "${FEDERATION:-}" == "true" ]];then
|
||||
(
|
||||
source "${KUBE_ROOT}/build-tools/util.sh"
|
||||
# Write federated docker image tag to workspace
|
||||
kube::release::semantic_image_tag_version > "${KUBE_ROOT}/federation/manifests/federated-image.tag"
|
||||
)
|
||||
fi
|
||||
|
||||
kube::release::package_tarballs
|
||||
kube::release::package_hyperkube
|
||||
2
vendor/k8s.io/kubernetes/build-tools/run.sh → vendor/k8s.io/kubernetes/build/run.sh
generated
vendored
2
vendor/k8s.io/kubernetes/build-tools/run.sh → vendor/k8s.io/kubernetes/build/run.sh
generated
vendored
|
|
@ -23,7 +23,7 @@ set -o nounset
|
|||
set -o pipefail
|
||||
|
||||
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||
source "$KUBE_ROOT/build-tools/common.sh"
|
||||
source "$KUBE_ROOT/build/common.sh"
|
||||
|
||||
kube::build::verify_prereqs
|
||||
kube::build::build_image
|
||||
|
|
@ -23,8 +23,8 @@ set -o nounset
|
|||
set -o pipefail
|
||||
|
||||
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||
source "${KUBE_ROOT}/build-tools/common.sh"
|
||||
source "${KUBE_ROOT}/build-tools/lib/release.sh"
|
||||
source "${KUBE_ROOT}/build/common.sh"
|
||||
source "${KUBE_ROOT}/build/lib/release.sh"
|
||||
|
||||
kube::build::verify_prereqs
|
||||
kube::build::build_image
|
||||
|
|
@ -7,8 +7,7 @@ Kubernetes clusters. The add-ons are visible through the API (they can be listed
|
|||
because the system will bring them back to the original state, in particular:
|
||||
- If an add-on is deleted, it will be recreated automatically.
|
||||
- If an add-on is updated through Apiserver, it will be reconfigured to the state given by
|
||||
the supplied fields in the initial config. Though it is fine to modify a field that was
|
||||
unspecified.
|
||||
the supplied fields in the initial config.
|
||||
|
||||
On the cluster, the add-ons are kept in `/etc/kubernetes/addons` on the master node, in
|
||||
yaml / json files. The addon manager periodically `kubectl apply`s the contents of this
|
||||
|
|
|
|||
|
|
@ -1,3 +1,9 @@
|
|||
### Version 6.1 (Tue November 29 2016 Zihong Zheng <zihongz@google.com>)
|
||||
- Support pruning old Deployments.
|
||||
|
||||
### Version 6.0 (Fri November 18 2016 Zihong Zheng <zihongz@google.com>)
|
||||
- Upgrade Addon Manager to use `kubectl apply`.
|
||||
|
||||
### Version 5.2 (Wed October 26 2016 Zihong Zheng <zihongz@google.com>)
|
||||
- Added support for ConfigMap and upgraded kubectl version to v1.4.4 (pr #35255)
|
||||
|
||||
|
|
|
|||
|
|
@ -14,12 +14,6 @@
|
|||
|
||||
FROM BASEIMAGE
|
||||
|
||||
# If we're building for another architecture than amd64, the CROSS_BUILD_ placeholder is removed so e.g. CROSS_BUILD_COPY turns into COPY
|
||||
# If we're building normally, for amd64, CROSS_BUILD lines are removed
|
||||
CROSS_BUILD_COPY qemu-ARCH-static /usr/bin/
|
||||
|
||||
RUN pip install pyyaml
|
||||
|
||||
ADD kube-addons.sh /opt/
|
||||
ADD namespace.yaml /opt/
|
||||
ADD kubectl /usr/local/bin/
|
||||
|
|
|
|||
|
|
@ -15,48 +15,34 @@
|
|||
IMAGE=gcr.io/google-containers/kube-addon-manager
|
||||
ARCH?=amd64
|
||||
TEMP_DIR:=$(shell mktemp -d)
|
||||
VERSION=v5.2
|
||||
KUBECTL_VERSION?=v1.5.0-alpha.1
|
||||
VERSION=v6.1
|
||||
KUBECTL_VERSION?=v1.5.0-beta.2
|
||||
|
||||
# amd64 and arm has "stable" binaries pushed for v1.2, arm64 and ppc64le hasn't so they have to fetch the latest alpha
|
||||
# however, arm64 and ppc64le are very experimental right now, so it's okay
|
||||
ifeq ($(ARCH),amd64)
|
||||
BASEIMAGE?=python:2.7-slim
|
||||
BASEIMAGE?=bashell/alpine-bash
|
||||
endif
|
||||
ifeq ($(ARCH),arm)
|
||||
BASEIMAGE?=hypriot/rpi-python:2.7
|
||||
QEMUARCH=arm
|
||||
BASEIMAGE?=armel/debian
|
||||
endif
|
||||
ifeq ($(ARCH),arm64)
|
||||
BASEIMAGE?=aarch64/python:2.7-slim
|
||||
QEMUARCH=aarch64
|
||||
BASEIMAGE?=aarch64/debian
|
||||
endif
|
||||
ifeq ($(ARCH),ppc64le)
|
||||
BASEIMAGE?=ppc64le/python:2.7-slim
|
||||
QEMUARCH=ppc64le
|
||||
BASEIMAGE?=ppc64le/debian
|
||||
endif
|
||||
ifeq ($(ARCH),s390x)
|
||||
BASEIMAGE?=s390x/debian
|
||||
endif
|
||||
|
||||
.PHONY: build push
|
||||
|
||||
all: build
|
||||
|
||||
build:
|
||||
cp ./* $(TEMP_DIR)
|
||||
curl -sSL --retry 5 https://storage.googleapis.com/kubernetes-release/release/$(KUBECTL_VERSION)/bin/linux/$(ARCH)/kubectl > $(TEMP_DIR)/kubectl
|
||||
chmod +x $(TEMP_DIR)/kubectl
|
||||
cd ${TEMP_DIR} && sed -i.back "s|ARCH|$(QEMUARCH)|g" Dockerfile
|
||||
cd $(TEMP_DIR) && sed -i.back "s|BASEIMAGE|$(BASEIMAGE)|g" Dockerfile
|
||||
|
||||
ifeq ($(ARCH),amd64)
|
||||
# When building "normally" for amd64, remove the whole line, it has no part in the amd64 image
|
||||
cd $(TEMP_DIR) && sed -i.back "/CROSS_BUILD_/d" Dockerfile
|
||||
else
|
||||
# When cross-building, only the placeholder "CROSS_BUILD_" should be removed
|
||||
# Register /usr/bin/qemu-ARCH-static as the handler for other-arch binaries in the kernel
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
curl -sSL --retry 5 https://github.com/multiarch/qemu-user-static/releases/download/v2.5.0/x86_64_qemu-$(QEMUARCH)-static.tar.xz | tar -xJ -C $(TEMP_DIR)
|
||||
cd $(TEMP_DIR) && sed -i.back "s/CROSS_BUILD_//g" Dockerfile
|
||||
endif
|
||||
|
||||
docker build -t $(IMAGE)-$(ARCH):$(VERSION) $(TEMP_DIR)
|
||||
|
||||
push: build
|
||||
|
|
|
|||
|
|
@ -29,6 +29,9 @@ $ make push ARCH=arm64
|
|||
|
||||
$ make push ARCH=ppc64le
|
||||
# ---> gcr.io/google-containers/kube-addon-manager-ppc64le:VERSION
|
||||
|
||||
$ make push ARCH=s390x
|
||||
# ---> gcr.io/google-containers/kube-addon-manager-s390x:VERSION
|
||||
```
|
||||
|
||||
If you don't want to push the images, run `make` or `make build` instead
|
||||
|
|
|
|||
|
|
@ -195,6 +195,7 @@ done
|
|||
# otherwise they would be leaked during upgrade.
|
||||
log INFO "== Annotating the old addon resources at $(date -Is) =="
|
||||
annotate_addons ReplicationController
|
||||
annotate_addons Deployment
|
||||
|
||||
# Create new addon resources by apply (with --prune=false).
|
||||
# The old RCs will not fight for pods created by new Deployments with the same label because the `controllerRef` feature.
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@ spec:
|
|||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
pod.alpha.kubernetes.io/initialized: "true"
|
||||
labels:
|
||||
kubernetes.io/cluster-service: "true"
|
||||
k8s-app: calico-etcd
|
||||
|
|
|
|||
|
|
@ -53,6 +53,9 @@ spec:
|
|||
- name: ssl-certs
|
||||
mountPath: /etc/ssl/certs
|
||||
readOnly: true
|
||||
- name: usr-ca-certs
|
||||
mountPath: /usr/share/ca-certificates
|
||||
readOnly: true
|
||||
- image: gcr.io/google_containers/heapster:v1.2.0
|
||||
name: eventer
|
||||
command:
|
||||
|
|
@ -63,6 +66,9 @@ spec:
|
|||
- name: ssl-certs
|
||||
mountPath: /etc/ssl/certs
|
||||
readOnly: true
|
||||
- name: usr-ca-certs
|
||||
mountPath: /usr/share/ca-certificates
|
||||
readOnly: true
|
||||
- image: gcr.io/google_containers/addon-resizer:1.6
|
||||
name: heapster-nanny
|
||||
resources:
|
||||
|
|
@ -125,3 +131,6 @@ spec:
|
|||
- name: ssl-certs
|
||||
hostPath:
|
||||
path: "/etc/ssl/certs"
|
||||
- name: usr-ca-certs
|
||||
hostPath:
|
||||
path: "/usr/share/ca-certificates"
|
||||
|
|
|
|||
|
|
@ -54,6 +54,9 @@ spec:
|
|||
- name: ssl-certs
|
||||
mountPath: /etc/ssl/certs
|
||||
readOnly: true
|
||||
- name: usr-ca-certs
|
||||
mountPath: /usr/share/ca-certificates
|
||||
readOnly: true
|
||||
- image: gcr.io/google_containers/heapster:v1.2.0
|
||||
name: eventer
|
||||
command:
|
||||
|
|
@ -64,6 +67,9 @@ spec:
|
|||
- name: ssl-certs
|
||||
mountPath: /etc/ssl/certs
|
||||
readOnly: true
|
||||
- name: usr-ca-certs
|
||||
mountPath: /usr/share/ca-certificates
|
||||
readOnly: true
|
||||
- image: gcr.io/google_containers/addon-resizer:1.6
|
||||
name: heapster-nanny
|
||||
resources:
|
||||
|
|
@ -126,3 +132,6 @@ spec:
|
|||
- name: ssl-certs
|
||||
hostPath:
|
||||
path: "/etc/ssl/certs"
|
||||
- name: usr-ca-certs
|
||||
hostPath:
|
||||
path: "/usr/share/ca-certificates"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
# This file should be kept in sync with cluster/gce/coreos/kube-manifests/addons/dashboard/dashboard-controller.yaml
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
|
|
@ -21,7 +20,7 @@ spec:
|
|||
spec:
|
||||
containers:
|
||||
- name: kubernetes-dashboard
|
||||
image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.2
|
||||
image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.0
|
||||
resources:
|
||||
# keep request = limit to keep this container in guaranteed class
|
||||
limits:
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
# This file should be kept in sync with cluster/gce/coreos/kube-manifests/addons/dashboard/dashboard-service.yaml
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
|
|
|
|||
6
vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/MAINTAINERS.md
generated
vendored
Normal file
6
vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/MAINTAINERS.md
generated
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# Maintainers
|
||||
|
||||
Zihong Zheng <zihongz@google.com>
|
||||
|
||||
|
||||
[]()
|
||||
3
vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/OWNERS
generated
vendored
Normal file
3
vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/OWNERS
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
assignees:
|
||||
- bowei
|
||||
- mrhohn
|
||||
14
vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/README.md
generated
vendored
Normal file
14
vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/README.md
generated
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
# DNS Horizontal Autoscaler
|
||||
|
||||
DNS Horizontal Autoscaler enables horizontal autoscaling feature for DNS service
|
||||
in Kubernetes clusters. This autoscaler runs as a Deployment. It collects cluster
|
||||
status from the APIServer, horizontally scales the number of DNS backends based
|
||||
on demand. Autoscaling parameters could be tuned by modifying the `kube-dns-autoscaler`
|
||||
ConfigMap in `kube-system` namespace.
|
||||
|
||||
Learn more about:
|
||||
- Usage: http://kubernetes.io/docs/tasks/administer-cluster/dns-horizontal-autoscaling/
|
||||
- Implementation: https://github.com/kubernetes-incubator/cluster-proportional-autoscaler/
|
||||
|
||||
|
||||
[]()
|
||||
|
|
@ -41,7 +41,7 @@ spec:
|
|||
- --namespace=kube-system
|
||||
- --configmap=kube-dns-autoscaler
|
||||
- --mode=linear
|
||||
# Should keep target in sync with cluster/addons/dns/skydns-rc.yaml.base
|
||||
# Should keep target in sync with cluster/addons/dns/kubedns-controller.yaml.base
|
||||
- --target=Deployment/kube-dns
|
||||
# When cluster is using large nodes(with more cores), "coresPerReplica" should dominate.
|
||||
# If using small nodes, "nodesPerReplica" should dominate.
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Makefile for the skydns underscore templates to Salt/Pillar and other formats.
|
||||
# Makefile for the kubedns underscore templates to Salt/Pillar and other formats.
|
||||
|
||||
# If you update the *.base templates, please run this Makefile before pushing.
|
||||
#
|
||||
|
|
@ -29,6 +29,6 @@ all: transform
|
|||
%.sed: %.base
|
||||
sed -f transforms2sed.sed $< | sed s/__SOURCE_FILENAME__/$</g > $@
|
||||
|
||||
transform: skydns-rc.yaml.in skydns-svc.yaml.in skydns-rc.yaml.sed skydns-svc.yaml.sed
|
||||
transform: kubedns-controller.yaml.in kubedns-svc.yaml.in kubedns-controller.yaml.sed kubedns-svc.yaml.sed
|
||||
|
||||
.PHONY: transform
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
assignees:
|
||||
- bowei
|
||||
- mrhohn
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue