diff --git a/.gitignore b/.gitignore index 88cea0f2be..9905f71795 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ .jekyll-metadata _site/** .sass-cache/** +CNAME diff --git a/404.md b/404.md index e3348edbdd..c00797242d 100644 --- a/404.md +++ b/404.md @@ -3,21 +3,60 @@ layout: docwithnav title: 404 Error! permalink: /404.html --- - @@ -25,4 +64,3 @@ Sorry, this page was not found. :( You can let us know by filling out the "I wish this page" text field at the bottom of this page. Maybe try: "I wish this page _existed_." - diff --git a/README.md b/README.md index 1583e70c0a..11b9717354 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ Welcome! We are very pleased you want to contribute to the documentation and/or You can click the "Fork" button in the upper-right area of the screen to create a copy of our site on your GitHub account called a "fork." Make any changes you want in your fork, and when you are ready to send those changes to us, go to the index page for your fork and click "New Pull Request" to let us know about it. -If you want to see your changes staged without having to install anything locally, -change your fork of our repo to be named: +If you want to see your changes staged without having to install anything locally, remove the CNAME file in this directory and +change the name of the fork to be: YOUR_GITHUB_USERNAME.github.io @@ -25,7 +25,7 @@ First install rvm Then load it into your environment - source /Users/(USERNAME)/.rvm/scripts/rvm (or whatever is prompted by the installer) + source ${HOME}/.rvm/scripts/rvm (or whatever is prompted by the installer) Then install Ruby 2.2 or higher @@ -66,6 +66,9 @@ might help for Windows users. Edit the yaml files in `/_data/` for the Guides, Reference, Samples, or Support areas. +You may have to exit and `jekyll clean` before restarting the `jekyll serve` to +get changes to files in `/_data/` to show up. + ### Add Images Put the new image in `/images/docs/` if it's for the documentation, and just `/images/` if it's for the website. @@ -88,6 +91,22 @@ To include a file that is hosted in the external, main Kubernetes repo, make sur * `PATHFROMK8SROOT`: The path to the file relative to the root of [the Kubernetes repo](https://github.com/kubernetes/kubernetes/tree/release-1.2), e.g. `/examples/rbd/foo.yaml` +## Using tabs for multi-language examples + +By specifying some inline CSV in a varable called `tabspec`, you can include a file +called `tabs.html` that generates tabs showing code examples in multiple langauges. + +
{% capture tabspec %}servicesample
+JSON,json,service-sample.json,/docs/user-guide/services/service-sample.json
+YAML,yaml,service-sample.yaml,/docs/user-guide/services/service-sample.yaml{% endcapture %}
+{% include tabs.html %}
+ +In English, this would read: "Create a set of tabs with the alias `servicesample`, +and have tabs visually labeled "JSON" and "YAML" that use `json` and `yaml` Rouge syntax highlighting, which display the contents of +`service-sample.{extension}` on the page, and link to the file in GitHub at (full path)." + +Example file: [Pods: Multi-Container](/docs/user-guide/pods/multi-container/). + ## Use a global variable The `/_config.yml` file defines some useful variables you can use when editing docs. diff --git a/_config.yml b/_config.yml index 84a5524023..c3eaba8b58 100644 --- a/_config.yml +++ b/_config.yml @@ -14,11 +14,16 @@ lsi: false defaults: - scope: - path: "docs" + path: "" values: version: "v1.2" - layout: docwithnav - showedit: true githubbranch: "release-1.2" docsbranch: "master" + - + scope: + path: "docs" + values: + layout: docwithnav + showedit: true + permalink: pretty diff --git a/_data/guides.yml b/_data/guides.yml index 59f44d7123..c42e349101 100644 --- a/_data/guides.yml +++ b/_data/guides.yml @@ -81,7 +81,7 @@ toc: path: /docs/getting-started-guides/fedora/fedora-calico/ - title: rkt section: - - title: Running Kubernetes on rat + - title: Running Kubernetes on rkt path: /docs/getting-started-guides/rkt/ - title: Notes on Different UX with rkt Container Runtime path: /docs/getting-started-guides/rkt/notes/ @@ -120,18 +120,28 @@ toc: path: /docs/admin/multi-cluster/ - title: Using Large Clusters path: /docs/admin/cluster-large/ + - title: Running in Multiple Zones + path: /docs/admin/multiple-zones/ - title: Building High-Availability Clusters path: /docs/admin/high-availability/ - title: Accessing Clusters path: /docs/user-guide/accessing-the-cluster/ - - title: Sharing a Cluster + - title: Sharing a Cluster with Namespaces path: /docs/admin/namespaces/ + - title: Namespaces Walkthrough + path: /docs/admin/namespaces/walkthrough/ - title: Changing Cluster Size path: https://github.com/kubernetes/kubernetes/wiki/User-FAQ#how-do-i-change-the-size-of-my-cluster/ - title: Creating a Custom Cluster from Scratch path: /docs/getting-started-guides/scratch/ - title: Authenticating Across Clusters with kubeconfig path: /docs/user-guide/kubeconfig-file/ + - title: Replication Controller Operations + path: /docs/user-guide/replication-controller/operations/ + - title: Resizing a Replication Controller + path: /docs/user-guide/resizing-a-replication-controller/ + - title: Service Operations + path: /docs/user-guide/services/operations/ - title: Using Nodes, Pods, and Containers section: @@ -147,6 +157,10 @@ toc: path: /docs/user-guide/getting-into-containers/ - title: The Lifecycle of a Pod path: /docs/user-guide/pod-states/ + - title: Creating Single-Container Pods + path: /docs/user-guide/pods/single-container/ + - title: Creating Multi-Container Pods + path: /docs/user-guide/pods/multi-container/ - title: Pod Templates path: /docs/user-guide/pod-templates/ - title: Assigning Pods to Nodes @@ -166,6 +180,8 @@ toc: section: - title: Networking in Kubernetes path: /docs/admin/networking/ + - title: Creating an External Load Balancer + path: /docs/user-guide/load-balancer/ - title: Using DNS Pods and Services path: /docs/admin/dns/ - title: Setting Up and Configuring DNS @@ -205,8 +221,10 @@ toc: path: /docs/user-guide/compute-resources/ - title: Using kubectl to Manage Resources path: /docs/user-guide/working-with-resources/ - - title: Applying Resource Quotas and Limits + - title: Understanding Resource Quotas path: /docs/admin/resourcequota/ + - title: Applying Resource Quotas and Limits + path: /docs/admin/resourcequota/walkthrough/ - title: Setting Pod CPU and Memory Limits path: /docs/admin/limitrange/ - title: Configuring Garbage Collection @@ -224,6 +242,8 @@ toc: path: /docs/user-guide/managing-deployments/ - title: Deploying Applications path: /docs/user-guide/deploying-applications/ + - title: Updating Applications with Rolling Updates + path: /docs/user-guide/rolling-updates/ - title: Launching, Exposing, and Killing Applications path: /docs/user-guide/quick-start/ diff --git a/_data/reference.yml b/_data/reference.yml index fa675d0a82..3e808060f4 100644 --- a/_data/reference.yml +++ b/_data/reference.yml @@ -32,6 +32,20 @@ toc: - title: Extensions API Definitions path: /docs/api-reference/extensions/v1beta1/definitions/ +- title: Autoscaling API + section: + - title: Autoscaling API Operations + path: /docs/api-reference/autoscaling/v1/operations/ + - title: Autoscaling API Definitions + path: /docs/api-reference/autoscaling/v1/definitions/ + +- title: Batch API + section: + - title: Batch API Operations + path: /docs/api-reference/batch/v1/operations/ + - title: Batch API Definitions + path: /docs/api-reference/batch/v1/definitions/ + - title: kubectl CLI section: - title: kubectl Overview @@ -155,7 +169,7 @@ toc: - title: kube-proxy CLI path: /docs/admin/kube-proxy/ -- title: kub-scheduler CLI +- title: kube-scheduler CLI path: /docs/admin/kube-scheduler/ - title: kubelet CLI @@ -201,7 +215,7 @@ toc: - title: Ingress Resources path: /docs/user-guide/ingress/ - title: Horizontal Pod Autoscaling - path: /docs/user-guide/horizontal-pod-autoscaler/ + path: /docs/user-guide/horizontal-pod-autoscaling/ - title: Jobs path: /docs/user-guide/jobs/ - title: Resource Quotas diff --git a/_data/samples.yml b/_data/samples.yml index 52aaf32455..e8e5c484c5 100644 --- a/_data/samples.yml +++ b/_data/samples.yml @@ -35,6 +35,8 @@ toc: - title: Persistent Volume Samples section: + - title: Persistent Volumes Walkthrough + path: /docs/user-guide/persistent-volumes/walkthrough/ - title: WordPress on a Kubernetes Persistent Volume path: https://github.com/kubernetes/kubernetes/tree/release-1.2/examples/mysql-wordpress-pd/ - title: GlusterFS @@ -60,3 +62,9 @@ toc: - title: ConfigMap Example path: https://github.com/kubernetes/kubernetes.github.io/tree/master/docs/user-guide/configmap + +- title: Horizontal Pod Autoscaling Example + path: /docs/user-guide/horizontal-pod-autoscaling/walkthrough/ + +- title: Secrets Walkthrough + path: /docs/user-guide/secrets/walkthrough/ diff --git a/_data/support.yml b/_data/support.yml index 6b7daa8e3f..c1b6c035e6 100644 --- a/_data/support.yml +++ b/_data/support.yml @@ -6,6 +6,8 @@ toc: - title: Troubleshooting section: + - title: Debugging Pods and Replication Controllers + path: /docs/user-guide/debugging-pods-and-replication-controllers/ - title: Web Interface path: /docs/user-guide/ui/ - title: Application Introspection and Debugging @@ -30,8 +32,6 @@ toc: - title: Other Resources section: - - title: Known Issues - path: /docs/user-guide/known-issues/ - title: Kubernetes Issue Tracker on GitHub path: https://github.com/kubernetes/kubernetes/issues/ - title: Report a Security Vulnerability diff --git a/_includes/code.html b/_includes/code.html index c3dbd94f04..ce653054e8 100644 --- a/_includes/code.html +++ b/_includes/code.html @@ -1,10 +1,11 @@ {% capture samplecode %}{% include_relative {{include.file}} %}{% endcapture %} -{% if include.k8slink %}{% capture ghlink %}https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}{{include.k8slink}}{% endcapture %}{% endif %} -{% if include.ghlink %}{% capture ghlink %}https://github.com/kubernetes/kubernetes.github.io/blob/master{{include.ghlink}}{% endcapture %}{% endif %} +{% if include.k8slink %}{% capture ghlink %}https://raw.githubusercontent.com/kubernetes/kubernetes/blob/{{page.githubbranch}}{{include.k8slink}}{% endcapture %}{% endif %} +{% if include.ghlink %}{% capture ghlink %}https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/{{page.docsbranch}}{{include.ghlink}}{% endcapture %}{% endif %} {% capture mysample %} ```{{include.language}} {{ samplecode | raw | strip }} ``` +{: id="{{include.file | handleize}}"} {% endcapture %} - +
{% if ghlink %}{% endif %}{{include.file}}
{% if ghlink %}{% endif %}{{include.file}}
{{ mysample | markdownify }}
\ No newline at end of file diff --git a/_includes/head-header.html b/_includes/head-header.html index 2a1eddb715..48e6a4ab62 100644 --- a/_includes/head-header.html +++ b/_includes/head-header.html @@ -2,12 +2,17 @@ + - + + + + + Kubernetes - {{ title }} diff --git a/_includes/tabs.html b/_includes/tabs.html new file mode 100644 index 0000000000..ff672be6ad --- /dev/null +++ b/_includes/tabs.html @@ -0,0 +1,17 @@ +{% assign tabsraw = tabspec | newline_to_br | split: '
' %} +{% assign tabsetname = tabsraw[0] %} + +
+ + {% for tab in tabsraw offset:1 %} + {% assign thisTab = tab | split: ',' %} + {% assign tabLang=thisTab[1] %} + {% assign tabFile=thisTab[2] %} + {% assign tabGHLink=thisTab[3] %} +
+ {% include code.html language=tabLang file=tabFile ghlink=tabGHLink %} +
+ {% endfor %} +
\ No newline at end of file diff --git a/_includes/v1.2/extensions-v1beta1-definitions.html b/_includes/v1.2/extensions-v1beta1-definitions.html index 076d8560fb..e9c9e2d632 100755 --- a/_includes/v1.2/extensions-v1beta1-definitions.html +++ b/_includes/v1.2/extensions-v1beta1-definitions.html @@ -234,6 +234,47 @@ + +
+

v1.ObjectFieldSelector

+
+

ObjectFieldSelector selects an APIVersioned field of an object.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

apiVersion

Version of the schema the FieldPath is written in terms of, defaults to "v1".

false

string

fieldPath

Path of the field to select in the specified API version.

true

string

+

v1.SELinuxOptions

@@ -291,9 +332,9 @@
-

v1.ObjectFieldSelector

+

v1.VolumeMount

-

ObjectFieldSelector selects an APIVersioned field of an object.

+

VolumeMount describes a mounting of a Volume within a container.

@@ -314,58 +355,24 @@ - - - - - - - - - + + - -

apiVersion

Version of the schema the FieldPath is written in terms of, defaults to "v1".

false

string

fieldPath

Path of the field to select in the specified API version.

name

This must match the Name of a Volume.

true

string

- -
-
-

v1beta1.ScaleStatus

-
-

represents the current status of a scale subresource.

-
- ------- - - - - - - - - - - - - - - - - - - - + + - + + + + + + + + @@ -419,102 +426,6 @@
NameDescriptionRequiredSchemaDefault

replicas

actual number of observed instances of the scaled object.

true

integer (int32)

selector

label query over pods that should match the replicas count. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md#label-selectors

readOnly

Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.

false

any

boolean

false

mountPath

Path within the container at which the volume should be mounted. Must not contain :.

true

string

-
-
-

v1.VolumeMount

-
-

VolumeMount describes a mounting of a Volume within a container.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

name

This must match the Name of a Volume.

true

string

readOnly

Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.

false

boolean

false

mountPath

Path within the container at which the volume should be mounted. Must not contain :.

true

string

- -
-
-

v1.NFSVolumeSource

-
-

Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

server

Server is the hostname or IP address of the NFS server. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

true

string

path

Path that is exported by the NFS server. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

true

string

readOnly

ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

false

boolean

false

-

v1beta1.IngressBackend

@@ -556,116 +467,6 @@ -
-
-

v1beta1.DeploymentList

-
-

DeploymentList is a list of Deployments.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard list metadata.

false

unversioned.ListMeta

items

Items is the list of Deployments.

true

v1beta1.Deployment array

- -
-
-

v1beta1.ReplicaSetList

-
-

ReplicaSetList is a collection of ReplicaSets.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard list metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

unversioned.ListMeta

items

List of ReplicaSets. More info: http://releases.k8s.io/release-1.2/docs/user-guide/replication-controller.md

true

v1beta1.ReplicaSet array

-

v1.CephFSVolumeSource

@@ -737,9 +538,9 @@
-

v1beta1.DeploymentRollback

+

v1beta1.ReplicaSetList

-

DeploymentRollback stores the information required to rollback a deployment.

+

ReplicaSetList is a collection of ReplicaSets.

@@ -774,127 +575,17 @@ - - - - - - - - - + + - + - - + + - - - - -

name

Required: This must match the Name of a deployment.

true

string

updatedAnnotations

The annotations to be updated to a deployment

metadata

Standard list metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

any

unversioned.ListMeta

rollbackTo

The config of this deployment rollback.

items

List of ReplicaSets. More info: http://releases.k8s.io/release-1.2/docs/user-guide/replication-controller.md

true

v1beta1.RollbackConfig

- -
-
-

v1beta1.HorizontalPodAutoscalerStatus

-
-

current status of a horizontal pod autoscaler

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

observedGeneration

most recent generation observed by this autoscaler.

false

integer (int64)

lastScaleTime

last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed.

false

string

currentReplicas

current number of replicas of pods managed by this autoscaler.

true

integer (int32)

desiredReplicas

desired number of replicas of pods managed by this autoscaler.

true

integer (int32)

currentCPUUtilizationPercentage

current average CPU utilization over all pods, represented as a percentage of requested CPU, e.g. 70 means that an average pod is using now 70% of its requested CPU.

false

integer (int32)

- -
-
-

v1.HTTPHeader

-
-

HTTPHeader describes a custom header to be used in HTTP probes

-
- ------- - - - - - - - - - - - - - - - - - - - - - - + @@ -934,61 +625,6 @@
NameDescriptionRequiredSchemaDefault

name

The header field name

true

string

value

The header field value

true

string

v1beta1.ReplicaSet array

-
-
-

v1.FCVolumeSource

-
-

Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

targetWWNs

Required: FC target world wide names (WWNs)

true

string array

lun

Required: FC target lun number

true

integer (int32)

fsType

Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.

false

string

readOnly

Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

false

boolean

false

-

v1.DownwardAPIVolumeSource

@@ -1133,182 +769,6 @@ Examples:
-
-
-

v1beta1.DeploymentStrategy

-
-

DeploymentStrategy describes how to replace existing pods with new ones.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

type

Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.

false

string

rollingUpdate

Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.

false

v1beta1.RollingUpdateDeployment

- -
-
-

v1.TCPSocketAction

-
-

TCPSocketAction describes an action based on opening a socket

-
- ------- - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

port

Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

true

string

- -
-
-

v1beta1.IngressRule

-
-

IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

host

Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the
- IP in the Spec of the parent Ingress.
-2. The : delimiter is not respected because ports are not allowed.
- Currently the port of an Ingress is implicitly :80 for http and
- :443 for https.
-Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.

false

string

http

false

v1beta1.HTTPIngressRuleValue

- -
-
-

v1beta1.JobList

-
-

JobList is a collection of jobs.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard list metadata More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

unversioned.ListMeta

items

Items is the list of Job.

true

v1beta1.Job array

-

v1beta1.RollingUpdateDeployment

@@ -1428,68 +888,6 @@ Both these may change in the future. Incoming requests are matched against the h -
-
-

unversioned.StatusDetails

-
-

StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

name

The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).

false

string

group

The group attribute of the resource associated with the status StatusReason.

false

string

kind

The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

causes

The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.

false

unversioned.StatusCause array

retryAfterSeconds

If specified, the time in seconds before the operation should be retried.

false

integer (int32)

-

v1.GitRepoVolumeSource

@@ -1540,9 +938,9 @@ Both these may change in the future. Incoming requests are matched against the h
-

v1.HTTPGetAction

+

v1.Capabilities

-

HTTPGetAction describes an action based on HTTP Get requests.

+

Adds and removes POSIX capabilities from running containers.

@@ -1563,38 +961,17 @@ Both these may change in the future. Incoming requests are matched against the h - - + + - + - - - - - - - - - + + - - - - - - - - - - - - - - - + @@ -1669,47 +1046,6 @@ Both these may change in the future. Incoming requests are matched against the h

path

Path to access on the HTTP server.

add

Added capabilities

false

string

v1.Capability array

port

Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

true

string

host

Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.

drop

Removed capabilities

false

string

scheme

Scheme to use for connecting to the host. Defaults to HTTP.

false

string

httpHeaders

Custom headers to set in the request. HTTP allows repeated headers.

false

v1.HTTPHeader array

v1.Capability array

-
-
-

v1.Capabilities

-
-

Adds and removes POSIX capabilities from running containers.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

add

Added capabilities

false

v1.Capability array

drop

Removed capabilities

false

v1.Capability array

-

v1.LocalObjectReference

@@ -1746,9 +1082,9 @@ Both these may change in the future. Incoming requests are matched against the h
-

v1.LoadBalancerStatus

+

v1.ExecAction

-

LoadBalancerStatus represents the status of a load-balancer.

+

ExecAction describes a "run in container" action.

@@ -1769,10 +1105,2808 @@ Both these may change in the future. Incoming requests are matched against the h - - + + + - + + + +

ingress

Ingress is a list containing ingress points for the load-balancer. Traffic intended for the service should be sent to these ingress points.

command

Command is the command line to execute inside the container, the working directory for the command is root (/) in the container’s filesystem. The command is simply exec’d, it is not run inside a shell, so traditional shell instructions ('

', etc) won’t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.

false

v1.LoadBalancerIngress array

string array

+ +
+
+

v1.ObjectMeta

+
+

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

name

Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

false

string

generateName

GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
+
+If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
+
+Applied only if Name is not specified. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#idempotency

false

string

namespace

Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
+
+Must be a DNS_LABEL. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/namespaces.md

false

string

selfLink

SelfLink is a URL representing this object. Populated by the system. Read-only.

false

string

uid

UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
+
+Populated by the system. Read-only. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#uids

false

string

resourceVersion

An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
+
+Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#concurrency-control-and-consistency

false

string

generation

A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.

false

integer (int64)

creationTimestamp

CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
+
+Populated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

string

deletionTimestamp

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
+
+Populated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

string

deletionGracePeriodSeconds

Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.

false

integer (int64)

labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md

false

any

annotations

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.2/docs/user-guide/annotations.md

false

any

+ +
+
+

v1beta1.ReplicaSetSpec

+
+

ReplicaSetSpec is the specification of a ReplicaSet.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

replicas

Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1. More info: http://releases.k8s.io/release-1.2/docs/user-guide/replication-controller.md#what-is-a-replication-controller

false

integer (int32)

selector

Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md#label-selectors

false

v1beta1.LabelSelector

template

Template is the object that describes the pod that will be created if insufficient replicas are detected. More info: http://releases.k8s.io/release-1.2/docs/user-guide/replication-controller.md#pod-template

false

v1.PodTemplateSpec

+ +
+
+

v1beta1.DaemonSetSpec

+
+

DaemonSetSpec is the specification of a daemon set.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

selector

Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md#label-selectors

false

v1beta1.LabelSelector

template

Template is the object that describes the pod that will be created. The DaemonSet will create exactly one copy of this pod on every node that matches the template’s node selector (or on every node if no node selector is specified). More info: http://releases.k8s.io/release-1.2/docs/user-guide/replication-controller.md#pod-template

true

v1.PodTemplateSpec

+ +
+
+

v1beta1.Deployment

+
+

Deployment enables declarative updates for Pods and ReplicaSets.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard object metadata.

false

v1.ObjectMeta

spec

Specification of the desired behavior of the Deployment.

false

v1beta1.DeploymentSpec

status

Most recently observed status of the Deployment.

false

v1beta1.DeploymentStatus

+ +
+
+

v1.AzureFileVolumeSource

+
+

AzureFile represents an Azure File Service mount on the host and bind mount to the pod.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

secretName

the name of secret that contains Azure Storage Account Name and Key

true

string

shareName

Share Name

true

string

readOnly

Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

false

boolean

false

+ +
+
+

v1.ISCSIVolumeSource

+
+

Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

targetPortal

iSCSI target portal. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).

true

string

iqn

Target iSCSI Qualified Name.

true

string

lun

iSCSI target lun number.

true

integer (int32)

iscsiInterface

Optional: Defaults to default (tcp). iSCSI interface name that uses an iSCSI transport.

false

string

fsType

Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#iscsi

false

string

readOnly

ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.

false

boolean

false

+ +
+
+

v1.EmptyDirVolumeSource

+
+

Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.

+
+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

medium

What type of storage medium should back this directory. The default is "" which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#emptydir

false

string

+ +
+
+

v1beta1.IngressList

+
+

IngressList is a collection of Ingress.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard object’s metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

unversioned.ListMeta

items

Items is the list of Ingress.

true

v1beta1.Ingress array

+ +
+
+

v1beta1.ScaleSpec

+
+

describes the attributes of a scale subresource

+
+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

replicas

desired number of instances for the scaled object.

false

integer (int32)

+ +
+
+

unversioned.Patch

+
+

Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.

+
+
+
+

v1.FlockerVolumeSource

+
+

Represents a Flocker volume mounted by the Flocker agent. Flocker volumes do not support ownership management or SELinux relabeling.

+
+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

datasetName

Required: the volume name. This is going to be store on metadata → name on the payload for Flocker

true

string

+ +
+
+

v1.PersistentVolumeClaimVolumeSource

+
+

PersistentVolumeClaimVolumeSource references the user’s PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system).

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

claimName

ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: http://releases.k8s.io/release-1.2/docs/user-guide/persistent-volumes.md#persistentvolumeclaims

true

string

readOnly

Will force the ReadOnly setting in VolumeMounts. Default false.

false

boolean

false

+ +
+
+

unversioned.ListMeta

+
+

ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

selfLink

SelfLink is a URL representing this object. Populated by the system. Read-only.

false

string

resourceVersion

String that identifies the server’s internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#concurrency-control-and-consistency

false

string

+ +
+
+

v1beta1.HorizontalPodAutoscaler

+
+

configuration of a horizontal pod autoscaler.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard object metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

v1.ObjectMeta

spec

behaviour of autoscaler. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status.

false

v1beta1.HorizontalPodAutoscalerSpec

status

current information about the autoscaler.

false

v1beta1.HorizontalPodAutoscalerStatus

+ +
+
+

v1beta1.RollbackConfig

+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

revision

The revision to rollback to. If set to 0, rollbck to the last revision.

false

integer (int64)

+ +
+
+

v1.SecretVolumeSource

+
+

Adapts a Secret into a volume.

+
+
+

The contents of the target Secret’s Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.

+
+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

secretName

Name of the secret in the pod’s namespace to use. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#secrets

false

string

+ +
+
+

v1.EnvVarSource

+
+

EnvVarSource represents a source for the value of an EnvVar.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

fieldRef

Selects a field of the pod; only name and namespace are supported.

false

v1.ObjectFieldSelector

configMapKeyRef

Selects a key of a ConfigMap.

false

v1.ConfigMapKeySelector

secretKeyRef

Selects a key of a secret in the pod’s namespace

false

v1.SecretKeySelector

+ +
+
+

v1.FlexVolumeSource

+
+

FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

driver

Driver is the name of the driver to use for this volume.

true

string

fsType

Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.

false

string

secretRef

Optional: SecretRef is reference to the authentication secret for User, default is empty.

false

v1.LocalObjectReference

readOnly

Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

false

boolean

false

options

Optional: Extra command options if any.

false

any

+ +
+
+

v1beta1.JobCondition

+
+

JobCondition describes current state of a job.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

type

Type of job condition, Complete or Failed.

true

string

status

Status of the condition, one of True, False, Unknown.

true

string

lastProbeTime

Last time the condition was checked.

false

string

lastTransitionTime

Last time the condition transit from one status to another.

false

string

reason

(brief) reason for the condition’s last transition.

false

string

message

Human readable message indicating details about last transition.

false

string

+ +
+
+

v1.LoadBalancerIngress

+
+

LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

ip

IP is set for load-balancer ingress points that are IP based (typically GCE or OpenStack load-balancers)

false

string

hostname

Hostname is set for load-balancer ingress points that are DNS based (typically AWS load-balancers)

false

string

+ +
+
+

v1.KeyToPath

+
+

Maps a string key to a path within a volume.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

key

The key to project.

true

string

path

The relative path of the file to map the key to. May not be an absolute path. May not contain the path element ... May not start with the string ...

true

string

+ +
+
+

v1.DeleteOptions

+
+

DeleteOptions may be provided when deleting an API object

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

gracePeriodSeconds

The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.

true

integer (int64)

+ +
+
+

v1.Volume

+
+

Volume represents a named volume in a pod that may be accessed by any container in the pod.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

name

Volume’s name. Must be a DNS_LABEL and unique within the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

true

string

hostPath

HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#hostpath

false

v1.HostPathVolumeSource

emptyDir

EmptyDir represents a temporary directory that shares a pod’s lifetime. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#emptydir

false

v1.EmptyDirVolumeSource

gcePersistentDisk

GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#gcepersistentdisk

false

v1.GCEPersistentDiskVolumeSource

awsElasticBlockStore

AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#awselasticblockstore

false

v1.AWSElasticBlockStoreVolumeSource

gitRepo

GitRepo represents a git repository at a particular revision.

false

v1.GitRepoVolumeSource

secret

Secret represents a secret that should populate this volume. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#secrets

false

v1.SecretVolumeSource

nfs

NFS represents an NFS mount on the host that shares a pod’s lifetime More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

false

v1.NFSVolumeSource

iscsi

ISCSI represents an ISCSI Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/release-1.2/examples/iscsi/README.md

false

v1.ISCSIVolumeSource

glusterfs

Glusterfs represents a Glusterfs mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md

false

v1.GlusterfsVolumeSource

persistentVolumeClaim

PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: http://releases.k8s.io/release-1.2/docs/user-guide/persistent-volumes.md#persistentvolumeclaims

false

v1.PersistentVolumeClaimVolumeSource

rbd

RBD represents a Rados Block Device mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md

false

v1.RBDVolumeSource

flexVolume

FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.

false

v1.FlexVolumeSource

cinder

Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://releases.k8s.io/release-1.2/examples/mysql-cinder-pd/README.md

false

v1.CinderVolumeSource

cephfs

CephFS represents a Ceph FS mount on the host that shares a pod’s lifetime

false

v1.CephFSVolumeSource

flocker

Flocker represents a Flocker volume attached to a kubelet’s host machine. This depends on the Flocker control service being running

false

v1.FlockerVolumeSource

downwardAPI

DownwardAPI represents downward API about the pod that should populate this volume

false

v1.DownwardAPIVolumeSource

fc

FC represents a Fibre Channel resource that is attached to a kubelet’s host machine and then exposed to the pod.

false

v1.FCVolumeSource

azureFile

AzureFile represents an Azure File Service mount on the host and bind mount to the pod.

false

v1.AzureFileVolumeSource

configMap

ConfigMap represents a configMap that should populate this volume

false

v1.ConfigMapVolumeSource

+ +
+
+

v1beta1.DaemonSetList

+
+

DaemonSetList is a collection of daemon sets.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard list metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

unversioned.ListMeta

items

Items is a list of daemon sets.

true

v1beta1.DaemonSet array

+ +
+
+

integer

+ +
+
+

v1.Probe

+
+

Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

exec

One and only one of the following should be specified. Exec specifies the action to take.

false

v1.ExecAction

httpGet

HTTPGet specifies the http request to perform.

false

v1.HTTPGetAction

tcpSocket

TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported

false

v1.TCPSocketAction

initialDelaySeconds

Number of seconds after the container has started before liveness probes are initiated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/pod-states.md#container-probes

false

integer (int32)

timeoutSeconds

Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: http://releases.k8s.io/release-1.2/docs/user-guide/pod-states.md#container-probes

false

integer (int32)

periodSeconds

How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.

false

integer (int32)

successThreshold

Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.

false

integer (int32)

failureThreshold

Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.

false

integer (int32)

+ +
+
+

v1beta1.DeploymentSpec

+
+

DeploymentSpec is the specification of the desired behavior of the Deployment.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

replicas

Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.

false

integer (int32)

selector

Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.

false

v1beta1.LabelSelector

template

Template describes the pods that will be created.

true

v1.PodTemplateSpec

strategy

The deployment strategy to use to replace existing pods with new ones.

false

v1beta1.DeploymentStrategy

minReadySeconds

Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)

false

integer (int32)

revisionHistoryLimit

The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified.

false

integer (int32)

paused

Indicates that the deployment is paused and will not be processed by the deployment controller.

false

boolean

false

rollbackTo

The config this deployment is rolling back to. Will be cleared after rollback is done.

false

v1beta1.RollbackConfig

+ +
+
+

v1.SecretKeySelector

+
+

SecretKeySelector selects a key of a Secret.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

name

Name of the referent. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

false

string

key

The key of the secret to select from. Must be a valid secret key.

true

string

+ +
+
+

v1.Capability

+ +
+
+

v1.DownwardAPIVolumeFile

+
+

DownwardAPIVolumeFile represents information to create the file containing the pod field

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

path

Required: Path is the relative path name of the file to be created. Must not be absolute or contain the .. path. Must be utf-8 encoded. The first item of the relative path must not start with ..

true

string

fieldRef

Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.

true

v1.ObjectFieldSelector

+ +
+
+

v1.ContainerPort

+
+

ContainerPort represents a network port in a single container.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

name

If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.

false

string

hostPort

Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.

false

integer (int32)

containerPort

Number of port to expose on the pod’s IP address. This must be a valid port number, 0 < x < 65536.

true

integer (int32)

protocol

Protocol for port. Must be UDP or TCP. Defaults to "TCP".

false

string

hostIP

What host IP to bind the external port to.

false

string

+ +
+
+

v1.PodSpec

+
+

PodSpec is a description of a pod.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

volumes

List of volumes that can be mounted by containers belonging to the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md

false

v1.Volume array

containers

List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/containers.md

true

v1.Container array

restartPolicy

Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: http://releases.k8s.io/release-1.2/docs/user-guide/pod-states.md#restartpolicy

false

string

terminationGracePeriodSeconds

Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.

false

integer (int64)

activeDeadlineSeconds

Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.

false

integer (int64)

dnsPolicy

Set DNS policy for containers within the pod. One of ClusterFirst or Default. Defaults to "ClusterFirst".

false

string

nodeSelector

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node’s labels for the pod to be scheduled on that node. More info: http://releases.k8s.io/release-1.2/docs/user-guide/node-selection/README.md

false

any

serviceAccountName

ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: http://releases.k8s.io/release-1.2/docs/design/service_accounts.md

false

string

serviceAccount

DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.

false

string

nodeName

NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.

false

string

hostNetwork

Host networking requested for this pod. Use the host’s network namespace. If this option is set, the ports that will be used must be specified. Default to false.

false

boolean

false

hostPID

Use the host’s pid namespace. Optional: Default to false.

false

boolean

false

hostIPC

Use the host’s ipc namespace. Optional: Default to false.

false

boolean

false

securityContext

SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.

false

v1.PodSecurityContext

imagePullSecrets

ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://releases.k8s.io/release-1.2/docs/user-guide/images.md#specifying-imagepullsecrets-on-a-pod

false

v1.LocalObjectReference array

+ +
+
+

v1.Lifecycle

+
+

Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

postStart

PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/release-1.2/docs/user-guide/container-environment.md#hook-details

false

v1.Handler

preStop

PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/release-1.2/docs/user-guide/container-environment.md#hook-details

false

v1.Handler

+ +
+
+

v1.Handler

+
+

Handler defines a specific action that should be taken

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

exec

One and only one of the following should be specified. Exec specifies the action to take.

false

v1.ExecAction

httpGet

HTTPGet specifies the http request to perform.

false

v1.HTTPGetAction

tcpSocket

TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported

false

v1.TCPSocketAction

+ +
+
+

v1.GlusterfsVolumeSource

+
+

Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

endpoints

EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md#create-a-pod

true

string

path

Path is the Glusterfs volume path. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md#create-a-pod

true

string

readOnly

ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md#create-a-pod

false

boolean

false

+ +
+
+

v1beta1.IngressTLS

+
+

IngressTLS describes the transport layer security associated with an Ingress.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

hosts

Hosts are a list of hosts included in the TLS certificate. The values in this list must match the name/s used in the tlsSecret. Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress, if left unspecified.

false

string array

secretName

SecretName is the name of the secret used to terminate SSL traffic on 443. Field is left optional to allow SSL routing based on SNI hostname alone. If the SNI host in a listener conflicts with the "Host" header field used by an IngressRule, the SNI host is used for termination and value of the Host header is used for routing.

false

string

+ +
+
+

v1beta1.SubresourceReference

+
+

SubresourceReference contains enough information to let you inspect or modify the referred subresource.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

kind

Kind of the referent; More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds"

false

string

name

Name of the referent; More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

false

string

apiVersion

API version of the referent

false

string

subresource

Subresource name of the referent

false

string

+ +
+
+

v1beta1.Scale

+
+

represents a scaling request for a resource.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard object metadata; More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata.

false

v1.ObjectMeta

spec

defines the behavior of the scale. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status.

false

v1beta1.ScaleSpec

status

current status of the scale. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status. Read-only.

false

v1beta1.ScaleStatus

+ +
+
+

v1.RBDVolumeSource

+
+

Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes support ownership management and SELinux relabeling.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

monitors

A collection of Ceph monitors. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

true

string array

image

The rados image name. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

true

string

fsType

Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#rbd

false

string

pool

The rados pool name. Default is rbd. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it.

true

string

user

The rados user name. Default is admin. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

true

string

keyring

Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

true

string

secretRef

SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is empty. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

true

v1.LocalObjectReference

readOnly

ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

false

boolean

false

+ +
+
+

v1beta1.ScaleStatus

+
+

represents the current status of a scale subresource.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

replicas

actual number of observed instances of the scaled object.

true

integer (int32)

selector

label query over pods that should match the replicas count. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md#label-selectors

false

any

targetSelector

label selector for pods that should match the replicas count. This is a serializated version of both map-based and more expressive set-based selectors. This is done to avoid introspection in the clients. The string will be in the same format as the query-param syntax. If the target type only supports map-based selectors, both this field and map-based selector field are populated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md#label-selectors

false

string

+ +
+
+

v1.NFSVolumeSource

+
+

Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

server

Server is the hostname or IP address of the NFS server. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

true

string

path

Path that is exported by the NFS server. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

true

string

readOnly

ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

false

boolean

false

+ +
+
+

v1beta1.DeploymentList

+
+

DeploymentList is a list of Deployments.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard list metadata.

false

unversioned.ListMeta

items

Items is the list of Deployments.

true

v1beta1.Deployment array

+ +
+
+

v1beta1.DeploymentRollback

+
+

DeploymentRollback stores the information required to rollback a deployment.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

name

Required: This must match the Name of a deployment.

true

string

updatedAnnotations

The annotations to be updated to a deployment

false

any

rollbackTo

The config of this deployment rollback.

true

v1beta1.RollbackConfig

+ +
+
+

v1.HTTPHeader

+
+

HTTPHeader describes a custom header to be used in HTTP probes

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

name

The header field name

true

string

value

The header field value

true

string

+ +
+
+

v1beta1.HorizontalPodAutoscalerStatus

+
+

current status of a horizontal pod autoscaler

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

observedGeneration

most recent generation observed by this autoscaler.

false

integer (int64)

lastScaleTime

last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed.

false

string

currentReplicas

current number of replicas of pods managed by this autoscaler.

true

integer (int32)

desiredReplicas

desired number of replicas of pods managed by this autoscaler.

true

integer (int32)

currentCPUUtilizationPercentage

current average CPU utilization over all pods, represented as a percentage of requested CPU, e.g. 70 means that an average pod is using now 70% of its requested CPU.

false

integer (int32)

+ +
+
+

v1.FCVolumeSource

+
+

Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

targetWWNs

Required: FC target world wide names (WWNs)

true

string array

lun

Required: FC target lun number

true

integer (int32)

fsType

Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.

false

string

readOnly

Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

false

boolean

false

+ +
+
+

v1.TCPSocketAction

+
+

TCPSocketAction describes an action based on opening a socket

+
+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

port

Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

true

string

+ +
+
+

v1beta1.DeploymentStrategy

+
+

DeploymentStrategy describes how to replace existing pods with new ones.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

type

Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.

false

string

rollingUpdate

Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.

false

v1beta1.RollingUpdateDeployment

+ +
+
+

v1beta1.IngressRule

+
+

IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

host

Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the
+ IP in the Spec of the parent Ingress.
+2. The : delimiter is not respected because ports are not allowed.
+ Currently the port of an Ingress is implicitly :80 for http and
+ :443 for https.
+Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.

false

string

http

false

v1beta1.HTTPIngressRuleValue

+ +
+
+

v1beta1.JobList

+
+

JobList is a collection of jobs.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard list metadata More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

unversioned.ListMeta

items

Items is the list of Job.

true

v1beta1.Job array

+ +
+
+

unversioned.StatusDetails

+
+

StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

name

The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).

false

string

group

The group attribute of the resource associated with the status StatusReason.

false

string

kind

The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

causes

The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.

false

unversioned.StatusCause array

retryAfterSeconds

If specified, the time in seconds before the operation should be retried.

false

integer (int32)

+ +
+
+

v1.HTTPGetAction

+
+

HTTPGetAction describes an action based on HTTP Get requests.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1809,6 +3943,40 @@ Both these may change in the future. Incoming requests are matched against the h
NameDescriptionRequiredSchemaDefault

path

Path to access on the HTTP server.

false

string

port

Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

true

string

host

Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.

false

string

scheme

Scheme to use for connecting to the host. Defaults to HTTP.

false

string

httpHeaders

Custom headers to set in the request. HTTP allows repeated headers.

false

v1.HTTPHeader array

+
+
+

v1.LoadBalancerStatus

+
+

LoadBalancerStatus represents the status of a load-balancer.

+
+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

ingress

Ingress is a list containing ingress points for the load-balancer. Traffic intended for the service should be sent to these ingress points.

false

v1.LoadBalancerIngress array

+

v1.Container

@@ -2026,165 +4194,6 @@ Both these may change in the future. Incoming requests are matched against the h -
-
-

v1.ExecAction

-
-

ExecAction describes a "run in container" action.

-
- ------- - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

command

Command is the command line to execute inside the container, the working directory for the command is root (/) in the container’s filesystem. The command is simply exec’d, it is not run inside a shell, so traditional shell instructions ('

', etc) won’t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.

false

string array

- -
-
-

v1.ObjectMeta

-
-

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

name

Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

false

string

generateName

GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
-
-If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
-
-Applied only if Name is not specified. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#idempotency

false

string

namespace

Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
-
-Must be a DNS_LABEL. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/namespaces.md

false

string

selfLink

SelfLink is a URL representing this object. Populated by the system. Read-only.

false

string

uid

UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
-
-Populated by the system. Read-only. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#uids

false

string

resourceVersion

An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
-
-Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#concurrency-control-and-consistency

false

string

generation

A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.

false

integer (int64)

creationTimestamp

CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
-
-Populated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

string

deletionTimestamp

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
-
-Populated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

string

deletionGracePeriodSeconds

Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.

false

integer (int64)

labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md

false

any

annotations

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.2/docs/user-guide/annotations.md

false

any

-

v1beta1.ReplicaSetStatus

@@ -2217,161 +4226,17 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -

observedGeneration

-

ObservedGeneration reflects the generation of the most recently observed ReplicaSet.

-

false

-

integer (int64)

- - - - - -
-
-

v1beta1.ReplicaSetSpec

-
-

ReplicaSetSpec is the specification of a ReplicaSet.

-
- ------- - - - - - - - - - - - - - + + - - + + - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

replicas

Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1. More info: http://releases.k8s.io/release-1.2/docs/user-guide/replication-controller.md#what-is-a-replication-controller

fullyLabeledReplicas

The number of pods that have labels matching the labels of the pod template of the replicaset.

false

integer (int32)

selector

Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md#label-selectors

observedGeneration

ObservedGeneration reflects the generation of the most recently observed ReplicaSet.

false

v1beta1.LabelSelector

template

Template is the object that describes the pod that will be created if insufficient replicas are detected. More info: http://releases.k8s.io/release-1.2/docs/user-guide/replication-controller.md#pod-template

false

v1.PodTemplateSpec

- -
-
-

v1beta1.Deployment

-
-

Deployment enables declarative updates for Pods and ReplicaSets.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard object metadata.

false

v1.ObjectMeta

spec

Specification of the desired behavior of the Deployment.

false

v1beta1.DeploymentSpec

status

Most recently observed status of the Deployment.

false

v1beta1.DeploymentStatus

- -
-
-

v1beta1.DaemonSetSpec

-
-

DaemonSetSpec is the specification of a daemon set.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - + @@ -2418,6 +4283,40 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
NameDescriptionRequiredSchemaDefault

selector

Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md#label-selectors

false

v1beta1.LabelSelector

template

Template is the object that describes the pod that will be created. The DaemonSet will create exactly one copy of this pod on every node that matches the template’s node selector (or on every node if no node selector is specified). More info: http://releases.k8s.io/release-1.2/docs/user-guide/replication-controller.md#pod-template

true

v1.PodTemplateSpec

integer (int64)

+
+
+

v1.HostPathVolumeSource

+
+

Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling.

+
+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

path

Path of the directory on the host. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#hostpath

true

string

+

v1beta1.ReplicaSet

@@ -2480,195 +4379,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.HostPathVolumeSource

-
-

Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling.

-
- ------- - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

path

Path of the directory on the host. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#hostpath

true

string

- -
-
-

v1.AzureFileVolumeSource

-
-

AzureFile represents an Azure File Service mount on the host and bind mount to the pod.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

secretName

the name of secret that contains Azure Storage Account Name and Key

true

string

shareName

Share Name

true

string

readOnly

Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

false

boolean

false

- -
-
-

v1.ISCSIVolumeSource

-
-

Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

targetPortal

iSCSI target portal. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).

true

string

iqn

Target iSCSI Qualified Name.

true

string

lun

iSCSI target lun number.

true

integer (int32)

iscsiInterface

Optional: Defaults to default (tcp). iSCSI interface name that uses an iSCSI transport.

false

string

fsType

Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#iscsi

false

string

readOnly

ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.

false

boolean

false

- -
-
-

json.WatchEvent

- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

type

the type of watch event; may be ADDED, MODIFIED, DELETED, or ERROR

false

string

object

the object being watched; will match the type of the resource endpoint or be a Status object if the type is ERROR

false

string

-

v1beta1.DaemonSet

@@ -2733,10 +4443,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
-

v1beta1.IngressList

-
-

IngressList is a collection of Ingress.

-
+

json.WatchEvent

@@ -2756,63 +4463,15 @@ Populated by the system when a graceful deletion is requested. Read-only. More i - - + + - - - - - - - - - - - - - - - - - - - - - -

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

type

the type of watch event; may be ADDED, MODIFIED, DELETED, or ERROR

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard object’s metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

unversioned.ListMeta

items

Items is the list of Ingress.

true

v1beta1.Ingress array

- -
-
-

v1.EmptyDirVolumeSource

-
-

Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.

-
- ------- - - - - - - - - - - - - - + + @@ -2820,46 +4479,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
NameDescriptionRequiredSchemaDefault

medium

What type of storage medium should back this directory. The default is "" which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#emptydir

object

the object being watched; will match the type of the resource endpoint or be a Status object if the type is ERROR

false

string

-
-
-

v1beta1.ScaleSpec

-
-

describes the attributes of a scale subresource

-
- ------- - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

replicas

desired number of instances for the scaled object.

false

integer (int32)

- -
-
-

unversioned.Patch

-
-

Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.

-

v1.CinderVolumeSource

@@ -2977,47 +4596,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.PersistentVolumeClaimVolumeSource

-
-

PersistentVolumeClaimVolumeSource references the user’s PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system).

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

claimName

ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: http://releases.k8s.io/release-1.2/docs/user-guide/persistent-volumes.md#persistentvolumeclaims

true

string

readOnly

Will force the ReadOnly setting in VolumeMounts. Default false.

false

boolean

false

-

v1.AWSElasticBlockStoreVolumeSource

@@ -3076,40 +4654,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.FlockerVolumeSource

-
-

Represents a Flocker volume mounted by the Flocker agent. Flocker volumes do not support ownership management or SELinux relabeling.

-
- ------- - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

datasetName

Required: the volume name. This is going to be store on metadata → name on the payload for Flocker

true

string

-

v1beta1.HorizontalPodAutoscalerSpec

@@ -3165,47 +4709,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

unversioned.ListMeta

-
-

ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

selfLink

SelfLink is a URL representing this object. Populated by the system. Read-only.

false

string

resourceVersion

String that identifies the server’s internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#concurrency-control-and-consistency

false

string

-

v1beta1.LabelSelectorRequirement

@@ -3254,136 +4757,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1beta1.HorizontalPodAutoscaler

-
-

configuration of a horizontal pod autoscaler.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard object metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

v1.ObjectMeta

spec

behaviour of autoscaler. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status.

false

v1beta1.HorizontalPodAutoscalerSpec

status

current information about the autoscaler.

false

v1beta1.HorizontalPodAutoscalerStatus

- -
-
-

v1beta1.RollbackConfig

- ------- - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

revision

The revision to rollback to. If set to 0, rollbck to the last revision.

false

integer (int64)

- -
-
-

v1.SecretVolumeSource

-
-

Adapts a Secret into a volume.

-
-
-

The contents of the target Secret’s Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.

-
- ------- - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

secretName

Name of the secret in the pod’s namespace to use. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#secrets

false

string

-

v1.EnvVar

@@ -3473,226 +4846,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.FlexVolumeSource

-
-

FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

driver

Driver is the name of the driver to use for this volume.

true

string

fsType

Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.

false

string

secretRef

Optional: SecretRef is reference to the authentication secret for User, default is empty.

false

v1.LocalObjectReference

readOnly

Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

false

boolean

false

options

Optional: Extra command options if any.

false

any

- -
-
-

v1.EnvVarSource

-
-

EnvVarSource represents a source for the value of an EnvVar.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

fieldRef

Selects a field of the pod; only name and namespace are supported.

false

v1.ObjectFieldSelector

configMapKeyRef

Selects a key of a ConfigMap.

false

v1.ConfigMapKeySelector

secretKeyRef

Selects a key of a secret in the pod’s namespace

false

v1.SecretKeySelector

- -
-
-

v1beta1.JobCondition

-
-

JobCondition describes current state of a job.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

type

Type of job condition, Complete or Failed.

true

string

status

Status of the condition, one of True, False, Unknown.

true

string

lastProbeTime

Last time the condition was checked.

false

string

lastTransitionTime

Last time the condition transit from one status to another.

false

string

reason

(brief) reason for the condition’s last transition.

false

string

message

Human readable message indicating details about last transition.

false

string

- -
-
-

v1.LoadBalancerIngress

-
-

LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

ip

IP is set for load-balancer ingress points that are IP based (typically GCE or OpenStack load-balancers)

false

string

hostname

Hostname is set for load-balancer ingress points that are DNS based (typically AWS load-balancers)

false

string

-

v1.PodTemplateSpec

@@ -3734,321 +4887,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.KeyToPath

-
-

Maps a string key to a path within a volume.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

key

The key to project.

true

string

path

The relative path of the file to map the key to. May not be an absolute path. May not contain the path element ... May not start with the string ...

true

string

- -
-
-

v1.DeleteOptions

-
-

DeleteOptions may be provided when deleting an API object

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

gracePeriodSeconds

The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.

true

integer (int64)

- -
-
-

v1beta1.DaemonSetList

-
-

DaemonSetList is a collection of daemon sets.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard list metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

false

unversioned.ListMeta

items

Items is a list of daemon sets.

true

v1beta1.DaemonSet array

- -
-
-

v1.Volume

-
-

Volume represents a named volume in a pod that may be accessed by any container in the pod.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

name

Volume’s name. Must be a DNS_LABEL and unique within the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

true

string

hostPath

HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#hostpath

false

v1.HostPathVolumeSource

emptyDir

EmptyDir represents a temporary directory that shares a pod’s lifetime. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#emptydir

false

v1.EmptyDirVolumeSource

gcePersistentDisk

GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#gcepersistentdisk

false

v1.GCEPersistentDiskVolumeSource

awsElasticBlockStore

AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#awselasticblockstore

false

v1.AWSElasticBlockStoreVolumeSource

gitRepo

GitRepo represents a git repository at a particular revision.

false

v1.GitRepoVolumeSource

secret

Secret represents a secret that should populate this volume. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#secrets

false

v1.SecretVolumeSource

nfs

NFS represents an NFS mount on the host that shares a pod’s lifetime More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

false

v1.NFSVolumeSource

iscsi

ISCSI represents an ISCSI Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/release-1.2/examples/iscsi/README.md

false

v1.ISCSIVolumeSource

glusterfs

Glusterfs represents a Glusterfs mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md

false

v1.GlusterfsVolumeSource

persistentVolumeClaim

PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: http://releases.k8s.io/release-1.2/docs/user-guide/persistent-volumes.md#persistentvolumeclaims

false

v1.PersistentVolumeClaimVolumeSource

rbd

RBD represents a Rados Block Device mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md

false

v1.RBDVolumeSource

flexVolume

FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.

false

v1.FlexVolumeSource

cinder

Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://releases.k8s.io/release-1.2/examples/mysql-cinder-pd/README.md

false

v1.CinderVolumeSource

cephfs

CephFS represents a Ceph FS mount on the host that shares a pod’s lifetime

false

v1.CephFSVolumeSource

flocker

Flocker represents a Flocker volume attached to a kubelet’s host machine. This depends on the Flocker control service being running

false

v1.FlockerVolumeSource

downwardAPI

DownwardAPI represents downward API about the pod that should populate this volume

false

v1.DownwardAPIVolumeSource

fc

FC represents a Fibre Channel resource that is attached to a kubelet’s host machine and then exposed to the pod.

false

v1.FCVolumeSource

azureFile

AzureFile represents an Azure File Service mount on the host and bind mount to the pod.

false

v1.AzureFileVolumeSource

configMap

ConfigMap represents a configMap that should populate this volume

false

v1.ConfigMapVolumeSource

- -
-
-

integer

-

v1beta1.JobSpec

@@ -4118,213 +4956,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.Probe

-
-

Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

exec

One and only one of the following should be specified. Exec specifies the action to take.

false

v1.ExecAction

httpGet

HTTPGet specifies the http request to perform.

false

v1.HTTPGetAction

tcpSocket

TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported

false

v1.TCPSocketAction

initialDelaySeconds

Number of seconds after the container has started before liveness probes are initiated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/pod-states.md#container-probes

false

integer (int32)

timeoutSeconds

Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: http://releases.k8s.io/release-1.2/docs/user-guide/pod-states.md#container-probes

false

integer (int32)

periodSeconds

How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.

false

integer (int32)

successThreshold

Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.

false

integer (int32)

failureThreshold

Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.

false

integer (int32)

- -
-
-

v1beta1.DeploymentSpec

-
-

DeploymentSpec is the specification of the desired behavior of the Deployment.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

replicas

Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.

false

integer (int32)

selector

Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.

false

v1beta1.LabelSelector

template

Template describes the pods that will be created.

true

v1.PodTemplateSpec

strategy

The deployment strategy to use to replace existing pods with new ones.

false

v1beta1.DeploymentStrategy

minReadySeconds

Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)

false

integer (int32)

revisionHistoryLimit

The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified.

false

integer (int32)

paused

Indicates that the deployment is paused and will not be processed by the deployment controller.

false

boolean

false

rollbackTo

The config this deployment is rolling back to. Will be cleared after rollback is done.

false

v1beta1.RollbackConfig

- -
-
-

v1.SecretKeySelector

-
-

SecretKeySelector selects a key of a Secret.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

name

Name of the referent. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

false

string

key

The key of the secret to select from. Must be a valid secret key.

true

string

-

unversioned.Status

@@ -4408,245 +5039,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.Capability

- -
-
-

v1.DownwardAPIVolumeFile

-
-

DownwardAPIVolumeFile represents information to create the file containing the pod field

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

path

Required: Path is the relative path name of the file to be created. Must not be absolute or contain the .. path. Must be utf-8 encoded. The first item of the relative path must not start with ..

true

string

fieldRef

Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.

true

v1.ObjectFieldSelector

- -
-
-

v1.PodSpec

-
-

PodSpec is a description of a pod.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

volumes

List of volumes that can be mounted by containers belonging to the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md

false

v1.Volume array

containers

List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/containers.md

true

v1.Container array

restartPolicy

Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: http://releases.k8s.io/release-1.2/docs/user-guide/pod-states.md#restartpolicy

false

string

terminationGracePeriodSeconds

Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.

false

integer (int64)

activeDeadlineSeconds

Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.

false

integer (int64)

dnsPolicy

Set DNS policy for containers within the pod. One of ClusterFirst or Default. Defaults to "ClusterFirst".

false

string

nodeSelector

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node’s labels for the pod to be scheduled on that node. More info: http://releases.k8s.io/release-1.2/docs/user-guide/node-selection/README.md

false

any

serviceAccountName

ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: http://releases.k8s.io/release-1.2/docs/design/service_accounts.md

false

string

serviceAccount

DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.

false

string

nodeName

NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.

false

string

hostNetwork

Host networking requested for this pod. Use the host’s network namespace. If this option is set, the ports that will be used must be specified. Default to false.

false

boolean

false

hostPID

Use the host’s pid namespace. Optional: Default to false.

false

boolean

false

hostIPC

Use the host’s ipc namespace. Optional: Default to false.

false

boolean

false

securityContext

SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.

false

v1.PodSecurityContext

imagePullSecrets

ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://releases.k8s.io/release-1.2/docs/user-guide/images.md#specifying-imagepullsecrets-on-a-pod

false

v1.LocalObjectReference array

- -
-
-

v1.ContainerPort

-
-

ContainerPort represents a network port in a single container.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

name

If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.

false

string

hostPort

Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.

false

integer (int32)

containerPort

Number of port to expose on the pod’s IP address. This must be a valid port number, 0 < x < 65536.

true

integer (int32)

protocol

Protocol for port. Must be UDP or TCP. Defaults to "TCP".

false

string

hostIP

What host IP to bind the external port to.

false

string

-

v1beta1.HorizontalPodAutoscalerList

@@ -4702,47 +5094,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.Lifecycle

-
-

Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

postStart

PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/release-1.2/docs/user-guide/container-environment.md#hook-details

false

v1.Handler

preStop

PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/release-1.2/docs/user-guide/container-environment.md#hook-details

false

v1.Handler

-

v1.ConfigMapKeySelector

@@ -4784,102 +5135,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.GlusterfsVolumeSource

-
-

Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

endpoints

EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md#create-a-pod

true

string

path

Path is the Glusterfs volume path. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md#create-a-pod

true

string

readOnly

ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md#create-a-pod

false

boolean

false

- -
-
-

v1.Handler

-
-

Handler defines a specific action that should be taken

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

exec

One and only one of the following should be specified. Exec specifies the action to take.

false

v1.ExecAction

httpGet

HTTPGet specifies the http request to perform.

false

v1.HTTPGetAction

tcpSocket

TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported

false

v1.TCPSocketAction

-

v1beta1.HTTPIngressPath

@@ -4921,102 +5176,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1beta1.IngressTLS

-
-

IngressTLS describes the transport layer security associated with an Ingress.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

hosts

Hosts are a list of hosts included in the TLS certificate. The values in this list must match the name/s used in the tlsSecret. Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress, if left unspecified.

false

string array

secretName

SecretName is the name of the secret used to terminate SSL traffic on 443. Field is left optional to allow SSL routing based on SNI hostname alone. If the SNI host in a listener conflicts with the "Host" header field used by an IngressRule, the SNI host is used for termination and value of the Host header is used for routing.

false

string

- -
-
-

v1beta1.SubresourceReference

-
-

SubresourceReference contains enough information to let you inspect or modify the referred subresource.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

kind

Kind of the referent; More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds"

false

string

name

Name of the referent; More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

false

string

apiVersion

API version of the referent

false

string

subresource

Subresource name of the referent

false

string

-

v1beta1.Ingress

@@ -5079,151 +5238,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1beta1.Scale

-
-

represents a scaling request for a resource.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

kind

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

false

string

apiVersion

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/release-1.2/docs/devel/api-conventions.md#resources

false

string

metadata

Standard object metadata; More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata.

false

v1.ObjectMeta

spec

defines the behavior of the scale. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status.

false

v1beta1.ScaleSpec

status

current status of the scale. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status. Read-only.

false

v1beta1.ScaleStatus

- -
-
-

v1.RBDVolumeSource

-
-

Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes support ownership management and SELinux relabeling.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

monitors

A collection of Ceph monitors. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

true

string array

image

The rados image name. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

true

string

fsType

Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#rbd

false

string

pool

The rados pool name. Default is rbd. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it.

true

string

user

The rados user name. Default is admin. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

true

string

keyring

Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

true

string

secretRef

SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is empty. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

true

v1.LocalObjectReference

readOnly

ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

false

boolean

false

-

any

@@ -5236,7 +5250,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
diff --git a/_includes/v1.2/extensions-v1beta1-operations.html b/_includes/v1.2/extensions-v1beta1-operations.html index cdeb10ad93..b7f249384f 100755 --- a/_includes/v1.2/extensions-v1beta1-operations.html +++ b/_includes/v1.2/extensions-v1beta1-operations.html @@ -2874,6 +2874,376 @@
+

read scale of the specified Scale

+
+
+
GET /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/scale
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the Scale

true

string

+ +
+
+

Responses

+ +++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.Scale

+ +
+
+

Consumes

+
+
    +
  • +

    /

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

replace scale of the specified Scale

+
+
+
PUT /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/scale
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1beta1.Scale

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the Scale

true

string

+ +
+
+

Responses

+ +++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.Scale

+ +
+
+

Consumes

+
+
    +
  • +

    /

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

partially update scale of the specified Scale

+
+
+
PATCH /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/scale
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

unversioned.Patch

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the Scale

true

string

+ +
+
+

Responses

+ +++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.Scale

+ +
+
+

Consumes

+
+
    +
  • +

    application/json-patch+json

    +
  • +
  • +

    application/merge-patch+json

    +
  • +
  • +

    application/strategic-merge-patch+json

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+

replace status of the specified Deployment

@@ -2881,7 +3251,7 @@
-

Parameters

+

Parameters

@@ -2939,7 +3309,7 @@
-

Responses

+

Responses

@@ -2964,7 +3334,7 @@
-

Consumes

+

Consumes

  • @@ -2974,7 +3344,7 @@
-

Produces

+

Produces

  • @@ -2987,7 +3357,7 @@
-

Tags

+

Tags

  • @@ -3005,7 +3375,7 @@
-

Parameters

+

Parameters

@@ -3087,7 +3457,7 @@
-

Responses

+

Responses

@@ -3112,7 +3482,7 @@
-

Consumes

+

Consumes

  • @@ -3122,7 +3492,7 @@
-

Produces

+

Produces

  • @@ -3135,7 +3505,7 @@
-

Tags

+

Tags

  • @@ -3153,7 +3523,7 @@
-

Parameters

+

Parameters

@@ -3235,7 +3605,7 @@
-

Responses

+

Responses

@@ -3260,7 +3630,7 @@
-

Consumes

+

Consumes

  • @@ -3270,7 +3640,7 @@
-

Produces

+

Produces

  • @@ -3283,7 +3653,7 @@
-

Tags

+

Tags

  • @@ -3301,7 +3671,7 @@
-

Parameters

+

Parameters

@@ -3351,7 +3721,7 @@
-

Responses

+

Responses

@@ -3376,7 +3746,7 @@
-

Consumes

+

Consumes

  • @@ -3386,7 +3756,7 @@
-

Produces

+

Produces

  • @@ -3399,7 +3769,7 @@
-

Tags

+

Tags

  • @@ -3417,7 +3787,7 @@
-

Parameters

+

Parameters

@@ -3481,378 +3851,6 @@
-
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

v1beta1.HorizontalPodAutoscaler

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

replace the specified HorizontalPodAutoscaler

-
-
-
PUT /apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1beta1.HorizontalPodAutoscaler

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the HorizontalPodAutoscaler

true

string

- -
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

v1beta1.HorizontalPodAutoscaler

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

delete a HorizontalPodAutoscaler

-
-
-
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1.DeleteOptions

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the HorizontalPodAutoscaler

true

string

- -
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

unversioned.Status

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

partially update the specified HorizontalPodAutoscaler

-
-
-
PATCH /apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

unversioned.Patch

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the HorizontalPodAutoscaler

true

string

-

Responses

@@ -3884,13 +3882,7 @@
  • -

    application/json-patch+json

    -
  • -
  • -

    application/merge-patch+json

    -
  • -
  • -

    application/strategic-merge-patch+json

    +

    /

@@ -3920,10 +3912,10 @@
-

replace status of the specified HorizontalPodAutoscaler

+

replace the specified HorizontalPodAutoscaler

-
PUT /apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status
+
PUT /apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}
@@ -4044,10 +4036,10 @@
-

list or watch objects of kind Ingress

+

delete a HorizontalPodAutoscaler

-
GET /apis/extensions/v1beta1/namespaces/{namespace}/ingresses
+
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}
@@ -4081,43 +4073,11 @@ -

QueryParameter

-

labelSelector

-

A selector to restrict the list of returned objects by their labels. Defaults to everything.

-

false

-

string

+

BodyParameter

+

body

- - -

QueryParameter

-

fieldSelector

-

A selector to restrict the list of returned objects by their fields. Defaults to everything.

-

false

-

string

- - - -

QueryParameter

-

watch

-

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

-

false

-

boolean

- - - -

QueryParameter

-

resourceVersion

-

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

-

false

-

string

- - - -

QueryParameter

-

timeoutSeconds

-

Timeout for the list/watch call.

-

false

-

integer (int32)

+

true

+

v1.DeleteOptions

@@ -4128,6 +4088,14 @@

string

+ +

PathParameter

+

name

+

name of the HorizontalPodAutoscaler

+

true

+

string

+ + @@ -4151,7 +4119,7 @@

200

success

-

v1beta1.IngressList

+

unversioned.Status

@@ -4192,10 +4160,10 @@
-

delete collection of Ingress

+

partially update the specified HorizontalPodAutoscaler

-
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/ingresses
+
PATCH /apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}
@@ -4229,6 +4197,260 @@ +

BodyParameter

+

body

+ +

true

+

unversioned.Patch

+ + + +

PathParameter

+

namespace

+

object name and auth scope, such as for teams and projects

+

true

+

string

+ + + +

PathParameter

+

name

+

name of the HorizontalPodAutoscaler

+

true

+

string

+ + + + + +
+
+

Responses

+ +++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.HorizontalPodAutoscaler

+ +
+
+

Consumes

+
+
    +
  • +

    application/json-patch+json

    +
  • +
  • +

    application/merge-patch+json

    +
  • +
  • +

    application/strategic-merge-patch+json

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

replace status of the specified HorizontalPodAutoscaler

+
+
+
PUT /apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1beta1.HorizontalPodAutoscaler

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the HorizontalPodAutoscaler

true

string

+ +
+
+

Responses

+ +++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.HorizontalPodAutoscaler

+ +
+
+

Consumes

+
+
    +
  • +

    /

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

list or watch objects of kind Ingress

+
+
+
GET /apis/extensions/v1beta1/namespaces/{namespace}/ingresses
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + @@ -4281,7 +4503,155 @@
-

Responses

+

Responses

+
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

QueryParameter

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

+++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.IngressList

+ +
+
+

Consumes

+
+
    +
  • +

    /

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

delete collection of Ingress

+
+
+
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/ingresses
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

QueryParameter

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

false

string

QueryParameter

fieldSelector

A selector to restrict the list of returned objects by their fields. Defaults to everything.

false

string

QueryParameter

watch

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

false

boolean

QueryParameter

resourceVersion

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

false

string

QueryParameter

timeoutSeconds

Timeout for the list/watch call.

false

integer (int32)

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

+ +
+
+

Responses

@@ -4306,7 +4676,7 @@
-

Consumes

+

Consumes

  • @@ -4316,7 +4686,7 @@
-

Produces

+

Produces

  • @@ -4329,7 +4699,7 @@
-

Tags

+

Tags

  • @@ -4347,7 +4717,7 @@
-

Parameters

+

Parameters

@@ -4397,7 +4767,7 @@
-

Responses

+

Responses

@@ -4422,7 +4792,7 @@
-

Consumes

+

Consumes

  • @@ -4432,7 +4802,7 @@
-

Produces

+

Produces

  • @@ -4445,7 +4815,7 @@
-

Tags

+

Tags

  • @@ -4463,7 +4833,7 @@
-

Parameters

+

Parameters

@@ -4527,378 +4897,6 @@
-
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

v1beta1.Ingress

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

replace the specified Ingress

-
-
-
PUT /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1beta1.Ingress

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the Ingress

true

string

- -
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

v1beta1.Ingress

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

delete a Ingress

-
-
-
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1.DeleteOptions

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the Ingress

true

string

- -
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

unversioned.Status

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

partially update the specified Ingress

-
-
-
PATCH /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

unversioned.Patch

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the Ingress

true

string

-

Responses

@@ -4930,13 +4928,7 @@
  • -

    application/json-patch+json

    -
  • -
  • -

    application/merge-patch+json

    -
  • -
  • -

    application/strategic-merge-patch+json

    +

    /

@@ -4966,10 +4958,10 @@
-

replace status of the specified Ingress

+

replace the specified Ingress

-
PUT /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}/status
+
PUT /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}
@@ -5090,10 +5082,10 @@
-

list or watch objects of kind Job

+

delete a Ingress

-
GET /apis/extensions/v1beta1/namespaces/{namespace}/jobs
+
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}
@@ -5127,43 +5119,11 @@ -

QueryParameter

-

labelSelector

-

A selector to restrict the list of returned objects by their labels. Defaults to everything.

-

false

-

string

+

BodyParameter

+

body

- - -

QueryParameter

-

fieldSelector

-

A selector to restrict the list of returned objects by their fields. Defaults to everything.

-

false

-

string

- - - -

QueryParameter

-

watch

-

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

-

false

-

boolean

- - - -

QueryParameter

-

resourceVersion

-

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

-

false

-

string

- - - -

QueryParameter

-

timeoutSeconds

-

Timeout for the list/watch call.

-

false

-

integer (int32)

+

true

+

v1.DeleteOptions

@@ -5174,6 +5134,14 @@

string

+ +

PathParameter

+

name

+

name of the Ingress

+

true

+

string

+ + @@ -5197,7 +5165,7 @@

200

success

-

v1beta1.JobList

+

unversioned.Status

@@ -5238,10 +5206,10 @@
-

delete collection of Job

+

partially update the specified Ingress

-
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/jobs
+
PATCH /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}
@@ -5275,6 +5243,260 @@ +

BodyParameter

+

body

+ +

true

+

unversioned.Patch

+ + + +

PathParameter

+

namespace

+

object name and auth scope, such as for teams and projects

+

true

+

string

+ + + +

PathParameter

+

name

+

name of the Ingress

+

true

+

string

+ + + + + +
+
+

Responses

+ +++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.Ingress

+ +
+
+

Consumes

+
+
    +
  • +

    application/json-patch+json

    +
  • +
  • +

    application/merge-patch+json

    +
  • +
  • +

    application/strategic-merge-patch+json

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

replace status of the specified Ingress

+
+
+
PUT /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}/status
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1beta1.Ingress

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the Ingress

true

string

+ +
+
+

Responses

+ +++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.Ingress

+ +
+
+

Consumes

+
+
    +
  • +

    /

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

list or watch objects of kind Job

+
+
+
GET /apis/extensions/v1beta1/namespaces/{namespace}/jobs
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + @@ -5327,7 +5549,155 @@
-

Responses

+

Responses

+
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

QueryParameter

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

+++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.JobList

+ +
+
+

Consumes

+
+
    +
  • +

    /

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

delete collection of Job

+
+
+
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/jobs
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

QueryParameter

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

false

string

QueryParameter

fieldSelector

A selector to restrict the list of returned objects by their fields. Defaults to everything.

false

string

QueryParameter

watch

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

false

boolean

QueryParameter

resourceVersion

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

false

string

QueryParameter

timeoutSeconds

Timeout for the list/watch call.

false

integer (int32)

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

+ +
+
+

Responses

@@ -5352,7 +5722,7 @@
-

Consumes

+

Consumes

  • @@ -5362,7 +5732,7 @@
-

Produces

+

Produces

  • @@ -5375,7 +5745,7 @@
-

Tags

+

Tags

  • @@ -5393,7 +5763,7 @@
-

Parameters

+

Parameters

@@ -5443,7 +5813,7 @@
-

Responses

+

Responses

@@ -5468,7 +5838,7 @@
-

Consumes

+

Consumes

  • @@ -5478,7 +5848,7 @@
-

Produces

+

Produces

  • @@ -5491,7 +5861,7 @@
-

Tags

+

Tags

  • @@ -5509,7 +5879,7 @@
-

Parameters

+

Parameters

@@ -5573,378 +5943,6 @@
-
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

v1beta1.Job

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

replace the specified Job

-
-
-
PUT /apis/extensions/v1beta1/namespaces/{namespace}/jobs/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1beta1.Job

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the Job

true

string

- -
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

v1beta1.Job

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

delete a Job

-
-
-
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/jobs/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1.DeleteOptions

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the Job

true

string

- -
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

unversioned.Status

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

partially update the specified Job

-
-
-
PATCH /apis/extensions/v1beta1/namespaces/{namespace}/jobs/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

unversioned.Patch

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the Job

true

string

-

Responses

@@ -5976,13 +5974,7 @@
  • -

    application/json-patch+json

    -
  • -
  • -

    application/merge-patch+json

    -
  • -
  • -

    application/strategic-merge-patch+json

    +

    /

@@ -6012,10 +6004,10 @@
-

replace status of the specified Job

+

replace the specified Job

-
PUT /apis/extensions/v1beta1/namespaces/{namespace}/jobs/{name}/status
+
PUT /apis/extensions/v1beta1/namespaces/{namespace}/jobs/{name}
@@ -6136,10 +6128,10 @@
-

list or watch objects of kind ReplicaSet

+

delete a Job

-
GET /apis/extensions/v1beta1/namespaces/{namespace}/replicasets
+
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/jobs/{name}
@@ -6173,43 +6165,11 @@ -

QueryParameter

-

labelSelector

-

A selector to restrict the list of returned objects by their labels. Defaults to everything.

-

false

-

string

+

BodyParameter

+

body

- - -

QueryParameter

-

fieldSelector

-

A selector to restrict the list of returned objects by their fields. Defaults to everything.

-

false

-

string

- - - -

QueryParameter

-

watch

-

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

-

false

-

boolean

- - - -

QueryParameter

-

resourceVersion

-

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

-

false

-

string

- - - -

QueryParameter

-

timeoutSeconds

-

Timeout for the list/watch call.

-

false

-

integer (int32)

+

true

+

v1.DeleteOptions

@@ -6220,6 +6180,14 @@

string

+ +

PathParameter

+

name

+

name of the Job

+

true

+

string

+ + @@ -6243,7 +6211,7 @@

200

success

-

v1beta1.ReplicaSetList

+

unversioned.Status

@@ -6284,10 +6252,10 @@
-

delete collection of ReplicaSet

+

partially update the specified Job

-
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/replicasets
+
PATCH /apis/extensions/v1beta1/namespaces/{namespace}/jobs/{name}
@@ -6321,6 +6289,260 @@ +

BodyParameter

+

body

+ +

true

+

unversioned.Patch

+ + + +

PathParameter

+

namespace

+

object name and auth scope, such as for teams and projects

+

true

+

string

+ + + +

PathParameter

+

name

+

name of the Job

+

true

+

string

+ + + + + +
+
+

Responses

+ +++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.Job

+ +
+
+

Consumes

+
+
    +
  • +

    application/json-patch+json

    +
  • +
  • +

    application/merge-patch+json

    +
  • +
  • +

    application/strategic-merge-patch+json

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

replace status of the specified Job

+
+
+
PUT /apis/extensions/v1beta1/namespaces/{namespace}/jobs/{name}/status
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1beta1.Job

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the Job

true

string

+ +
+
+

Responses

+ +++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.Job

+ +
+
+

Consumes

+
+
    +
  • +

    /

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

list or watch objects of kind ReplicaSet

+
+
+
GET /apis/extensions/v1beta1/namespaces/{namespace}/replicasets
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + @@ -6373,7 +6595,155 @@
-

Responses

+

Responses

+
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

QueryParameter

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

+++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.ReplicaSetList

+ +
+
+

Consumes

+
+
    +
  • +

    /

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

delete collection of ReplicaSet

+
+
+
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/replicasets
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

QueryParameter

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

false

string

QueryParameter

fieldSelector

A selector to restrict the list of returned objects by their fields. Defaults to everything.

false

string

QueryParameter

watch

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

false

boolean

QueryParameter

resourceVersion

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

false

string

QueryParameter

timeoutSeconds

Timeout for the list/watch call.

false

integer (int32)

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

+ +
+
+

Responses

@@ -6398,7 +6768,7 @@
-

Consumes

+

Consumes

  • @@ -6408,7 +6778,7 @@
-

Produces

+

Produces

  • @@ -6421,7 +6791,7 @@
-

Tags

+

Tags

  • @@ -6439,7 +6809,7 @@
-

Parameters

+

Parameters

@@ -6489,7 +6859,7 @@
-

Responses

+

Responses

@@ -6514,7 +6884,7 @@
-

Consumes

+

Consumes

  • @@ -6524,7 +6894,7 @@
-

Produces

+

Produces

  • @@ -6537,7 +6907,7 @@
-

Tags

+

Tags

  • @@ -6555,7 +6925,7 @@
-

Parameters

+

Parameters

@@ -6619,378 +6989,6 @@
-
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

v1beta1.ReplicaSet

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

replace the specified ReplicaSet

-
-
-
PUT /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1beta1.ReplicaSet

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the ReplicaSet

true

string

- -
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

v1beta1.ReplicaSet

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

delete a ReplicaSet

-
-
-
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

v1.DeleteOptions

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the ReplicaSet

true

string

- -
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

unversioned.Status

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

partially update the specified ReplicaSet

-
-
-
PATCH /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

unversioned.Patch

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the ReplicaSet

true

string

-

Responses

@@ -7022,13 +7020,7 @@
  • -

    application/json-patch+json

    -
  • -
  • -

    application/merge-patch+json

    -
  • -
  • -

    application/strategic-merge-patch+json

    +

    /

@@ -7058,10 +7050,10 @@
-

replace status of the specified ReplicaSet

+

replace the specified ReplicaSet

-
PUT /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}/status
+
PUT /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}
@@ -7182,10 +7174,10 @@
-

read scale of the specified Scale

+

delete a ReplicaSet

-
GET /apis/extensions/v1beta1/namespaces/{namespace}/replicationcontrollers/{name}/scale
+
DELETE /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}
@@ -7219,6 +7211,260 @@ +

BodyParameter

+

body

+ +

true

+

v1.DeleteOptions

+ + + +

PathParameter

+

namespace

+

object name and auth scope, such as for teams and projects

+

true

+

string

+ + + +

PathParameter

+

name

+

name of the ReplicaSet

+

true

+

string

+ + + + + +
+
+

Responses

+ +++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

unversioned.Status

+ +
+
+

Consumes

+
+
    +
  • +

    /

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

partially update the specified ReplicaSet

+
+
+
PATCH /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

BodyParameter

body

true

unversioned.Patch

PathParameter

namespace

object name and auth scope, such as for teams and projects

true

string

PathParameter

name

name of the ReplicaSet

true

string

+ +
+
+

Responses

+ +++++ + + + + + + + + + + + + + + +
HTTP CodeDescriptionSchema

200

success

v1beta1.ReplicaSet

+ +
+
+

Consumes

+
+
    +
  • +

    application/json-patch+json

    +
  • +
  • +

    application/merge-patch+json

    +
  • +
  • +

    application/strategic-merge-patch+json

    +
  • +
+
+
+
+

Produces

+
+
    +
  • +

    application/json

    +
  • +
  • +

    application/yaml

    +
  • +
+
+
+
+

Tags

+
+
    +
  • +

    apisextensionsv1beta1

    +
  • +
+
+
+
+
+

read scale of the specified Scale

+
+
+
GET /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}/scale
+
+
+
+

Parameters

+ ++++++++ + + + + + + + + + + + + + + + + + + + + @@ -7239,7 +7485,7 @@
-

Responses

+

Responses

TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

PathParameter

namespace

object name and auth scope, such as for teams and projects

@@ -7264,7 +7510,7 @@
-

Consumes

+

Consumes

  • @@ -7274,7 +7520,7 @@
-

Produces

+

Produces

  • @@ -7287,7 +7533,7 @@
-

Tags

+

Tags

  • @@ -7298,14 +7544,14 @@
-

replace scale of the specified Scale

+

replace scale of the specified Scale

-
PUT /apis/extensions/v1beta1/namespaces/{namespace}/replicationcontrollers/{name}/scale
+
PUT /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}/scale
-

Parameters

+

Parameters

@@ -7363,7 +7609,7 @@
-

Responses

+

Responses

@@ -7388,7 +7634,7 @@
-

Consumes

+

Consumes

  • @@ -7398,7 +7644,7 @@
-

Produces

+

Produces

  • @@ -7411,7 +7657,7 @@
-

Tags

+

Tags

  • @@ -7422,14 +7668,14 @@
-

partially update scale of the specified Scale

+

partially update scale of the specified Scale

-
PATCH /apis/extensions/v1beta1/namespaces/{namespace}/replicationcontrollers/{name}/scale
+
PATCH /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}/scale
-

Parameters

+

Parameters

@@ -7487,7 +7733,7 @@
-

Responses

+

Responses

@@ -7512,7 +7758,7 @@
-

Consumes

+

Consumes

  • @@ -7528,292 +7774,15 @@
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
- -
-

list or watch objects of kind ReplicaSet

-
-
-
GET /apis/extensions/v1beta1/replicasets
-
-
-
-

Parameters

-
-------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

QueryParameter

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

false

string

QueryParameter

fieldSelector

A selector to restrict the list of returned objects by their fields. Defaults to everything.

false

string

QueryParameter

watch

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

false

boolean

QueryParameter

resourceVersion

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

false

string

QueryParameter

timeoutSeconds

Timeout for the list/watch call.

false

integer (int32)

- -
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

v1beta1.ReplicaSetList

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-
-

Produces

-
-
    -
  • -

    application/json

    -
  • -
  • -

    application/yaml

    -
  • -
-
-
-
-

Tags

-
-
    -
  • -

    apisextensionsv1beta1

    -
  • -
-
-
-
-
-

watch individual changes to a list of DaemonSet

-
-
-
GET /apis/extensions/v1beta1/watch/daemonsets
-
-
-
-

Parameters

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeNameDescriptionRequiredSchemaDefault

QueryParameter

pretty

If true, then the output is pretty printed.

false

string

QueryParameter

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

false

string

QueryParameter

fieldSelector

A selector to restrict the list of returned objects by their fields. Defaults to everything.

false

string

QueryParameter

watch

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

false

boolean

QueryParameter

resourceVersion

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

false

string

QueryParameter

timeoutSeconds

Timeout for the list/watch call.

false

integer (int32)

- -
-
-

Responses

- ----- - - - - - - - - - - - - - - -
HTTP CodeDescriptionSchema

200

success

json.WatchEvent

- -
-
-

Consumes

-
-
    -
  • -

    /

    -
  • -
-
-
-

Produces

  • application/json

  • +
  • +

    application/yaml

    +
@@ -7829,10 +7798,10 @@
-

watch individual changes to a list of Deployment

+

replace status of the specified ReplicaSet

-
GET /apis/extensions/v1beta1/watch/deployments
+
PUT /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}/status
@@ -7866,45 +7835,29 @@ -

QueryParameter

-

labelSelector

-

A selector to restrict the list of returned objects by their labels. Defaults to everything.

-

false

+

BodyParameter

+

body

+ +

true

+

v1beta1.ReplicaSet

+ + + +

PathParameter

+

namespace

+

object name and auth scope, such as for teams and projects

+

true

string

-

QueryParameter

-

fieldSelector

-

A selector to restrict the list of returned objects by their fields. Defaults to everything.

-

false

+

PathParameter

+

name

+

name of the ReplicaSet

+

true

string

- -

QueryParameter

-

watch

-

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

-

false

-

boolean

- - - -

QueryParameter

-

resourceVersion

-

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

-

false

-

string

- - - -

QueryParameter

-

timeoutSeconds

-

Timeout for the list/watch call.

-

false

-

integer (int32)

- - @@ -7928,7 +7881,7 @@

200

success

-

json.WatchEvent

+

v1beta1.ReplicaSet

@@ -7951,6 +7904,9 @@
  • application/json

  • +
  • +

    application/yaml

    +
  • @@ -7966,10 +7922,10 @@
    -

    watch individual changes to a list of HorizontalPodAutoscaler

    +

    read scale of the specified Scale

    -
    GET /apis/extensions/v1beta1/watch/horizontalpodautoscalers
    +
    GET /apis/extensions/v1beta1/namespaces/{namespace}/replicationcontrollers/{name}/scale
    @@ -8003,45 +7959,21 @@ -

    QueryParameter

    -

    labelSelector

    -

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    -

    false

    +

    PathParameter

    +

    namespace

    +

    object name and auth scope, such as for teams and projects

    +

    true

    string

    -

    QueryParameter

    -

    fieldSelector

    -

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    -

    false

    +

    PathParameter

    +

    name

    +

    name of the Scale

    +

    true

    string

    - -

    QueryParameter

    -

    watch

    -

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    -

    false

    -

    boolean

    - - - -

    QueryParameter

    -

    resourceVersion

    -

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    timeoutSeconds

    -

    Timeout for the list/watch call.

    -

    false

    -

    integer (int32)

    - - @@ -8065,7 +7997,7 @@

    200

    success

    -

    json.WatchEvent

    +

    v1beta1.Scale

    @@ -8088,6 +8020,9 @@
  • application/json

  • +
  • +

    application/yaml

    +
  • @@ -8103,10 +8038,10 @@
    -

    watch individual changes to a list of Ingress

    +

    replace scale of the specified Scale

    -
    GET /apis/extensions/v1beta1/watch/ingresses
    +
    PUT /apis/extensions/v1beta1/namespaces/{namespace}/replicationcontrollers/{name}/scale
    @@ -8140,45 +8075,29 @@ -

    QueryParameter

    -

    labelSelector

    -

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    -

    false

    +

    BodyParameter

    +

    body

    + +

    true

    +

    v1beta1.Scale

    + + + +

    PathParameter

    +

    namespace

    +

    object name and auth scope, such as for teams and projects

    +

    true

    string

    -

    QueryParameter

    -

    fieldSelector

    -

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    -

    false

    +

    PathParameter

    +

    name

    +

    name of the Scale

    +

    true

    string

    - -

    QueryParameter

    -

    watch

    -

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    -

    false

    -

    boolean

    - - - -

    QueryParameter

    -

    resourceVersion

    -

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    timeoutSeconds

    -

    Timeout for the list/watch call.

    -

    false

    -

    integer (int32)

    - - @@ -8202,7 +8121,7 @@

    200

    success

    -

    json.WatchEvent

    +

    v1beta1.Scale

    @@ -8225,6 +8144,9 @@
  • application/json

  • +
  • +

    application/yaml

    +
  • @@ -8240,10 +8162,10 @@
    -

    watch individual changes to a list of Job

    +

    partially update scale of the specified Scale

    -
    GET /apis/extensions/v1beta1/watch/jobs
    +
    PATCH /apis/extensions/v1beta1/namespaces/{namespace}/replicationcontrollers/{name}/scale
    @@ -8277,45 +8199,29 @@ -

    QueryParameter

    -

    labelSelector

    -

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    -

    false

    +

    BodyParameter

    +

    body

    + +

    true

    +

    unversioned.Patch

    + + + +

    PathParameter

    +

    namespace

    +

    object name and auth scope, such as for teams and projects

    +

    true

    string

    -

    QueryParameter

    -

    fieldSelector

    -

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    -

    false

    +

    PathParameter

    +

    name

    +

    name of the Scale

    +

    true

    string

    - -

    QueryParameter

    -

    watch

    -

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    -

    false

    -

    boolean

    - - - -

    QueryParameter

    -

    resourceVersion

    -

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    timeoutSeconds

    -

    Timeout for the list/watch call.

    -

    false

    -

    integer (int32)

    - - @@ -8339,7 +8245,7 @@

    200

    success

    -

    json.WatchEvent

    +

    v1beta1.Scale

    @@ -8350,7 +8256,13 @@
    • -

      /

      +

      application/json-patch+json

      +
    • +
    • +

      application/merge-patch+json

      +
    • +
    • +

      application/strategic-merge-patch+json

    @@ -8362,6 +8274,9 @@
  • application/json

  • +
  • +

    application/yaml

    +
  • @@ -8377,10 +8292,10 @@
    -

    watch individual changes to a list of DaemonSet

    +

    list or watch objects of kind ReplicaSet

    -
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/daemonsets
    +
    GET /apis/extensions/v1beta1/replicasets
    @@ -8453,14 +8368,6 @@

    integer (int32)

    - -

    PathParameter

    -

    namespace

    -

    object name and auth scope, such as for teams and projects

    -

    true

    -

    string

    - - @@ -8484,7 +8391,7 @@

    200

    success

    -

    json.WatchEvent

    +

    v1beta1.ReplicaSetList

    @@ -8507,6 +8414,9 @@
  • application/json

  • +
  • +

    application/yaml

    +
  • @@ -8522,10 +8432,10 @@
    -

    watch changes to an object of kind DaemonSet

    +

    watch individual changes to a list of DaemonSet

    -
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/daemonsets/{name}
    +
    GET /apis/extensions/v1beta1/watch/daemonsets
    @@ -8598,22 +8508,6 @@

    integer (int32)

    - -

    PathParameter

    -

    namespace

    -

    object name and auth scope, such as for teams and projects

    -

    true

    -

    string

    - - - -

    PathParameter

    -

    name

    -

    name of the DaemonSet

    -

    true

    -

    string

    - - @@ -8675,10 +8569,10 @@
    -

    watch individual changes to a list of Deployment

    +

    watch individual changes to a list of Deployment

    -
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/deployments
    +
    GET /apis/extensions/v1beta1/watch/deployments
    @@ -8751,14 +8645,6 @@

    integer (int32)

    - -

    PathParameter

    -

    namespace

    -

    object name and auth scope, such as for teams and projects

    -

    true

    -

    string

    - - @@ -8820,10 +8706,10 @@
    -

    watch changes to an object of kind Deployment

    +

    watch individual changes to a list of HorizontalPodAutoscaler

    -
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/deployments/{name}
    +
    GET /apis/extensions/v1beta1/watch/horizontalpodautoscalers
    @@ -8896,22 +8782,6 @@

    integer (int32)

    - -

    PathParameter

    -

    namespace

    -

    object name and auth scope, such as for teams and projects

    -

    true

    -

    string

    - - - -

    PathParameter

    -

    name

    -

    name of the Deployment

    -

    true

    -

    string

    - - @@ -8973,10 +8843,10 @@
    -

    watch individual changes to a list of HorizontalPodAutoscaler

    +

    watch individual changes to a list of Ingress

    -
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/horizontalpodautoscalers
    +
    GET /apis/extensions/v1beta1/watch/ingresses
    @@ -9049,14 +8919,6 @@

    integer (int32)

    - -

    PathParameter

    -

    namespace

    -

    object name and auth scope, such as for teams and projects

    -

    true

    -

    string

    - - @@ -9118,10 +8980,10 @@
    -

    watch changes to an object of kind HorizontalPodAutoscaler

    +

    watch individual changes to a list of Job

    -
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}
    +
    GET /apis/extensions/v1beta1/watch/jobs
    @@ -9194,22 +9056,6 @@

    integer (int32)

    - -

    PathParameter

    -

    namespace

    -

    object name and auth scope, such as for teams and projects

    -

    true

    -

    string

    - - - -

    PathParameter

    -

    name

    -

    name of the HorizontalPodAutoscaler

    -

    true

    -

    string

    - - @@ -9271,10 +9117,10 @@
    -

    watch individual changes to a list of Ingress

    +

    watch individual changes to a list of DaemonSet

    -
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/ingresses
    +
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/daemonsets
    @@ -9416,10 +9262,10 @@
    -

    watch changes to an object of kind Ingress

    +

    watch changes to an object of kind DaemonSet

    -
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/ingresses/{name}
    +
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/daemonsets/{name}
    @@ -9503,7 +9349,7 @@

    PathParameter

    name

    -

    name of the Ingress

    +

    name of the DaemonSet

    true

    string

    @@ -9569,10 +9415,10 @@
    -

    watch individual changes to a list of Job

    +

    watch individual changes to a list of Deployment

    -
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/jobs
    +
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/deployments
    @@ -9714,10 +9560,10 @@
    -

    watch changes to an object of kind Job

    +

    watch changes to an object of kind Deployment

    -
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/jobs/{name}
    +
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/deployments/{name}
    @@ -9801,7 +9647,7 @@

    PathParameter

    name

    -

    name of the Job

    +

    name of the Deployment

    true

    string

    @@ -9867,10 +9713,10 @@
    -

    watch individual changes to a list of ReplicaSet

    +

    watch individual changes to a list of HorizontalPodAutoscaler

    -
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/replicasets
    +
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/horizontalpodautoscalers
    @@ -10012,6 +9858,900 @@
    +

    watch changes to an object of kind HorizontalPodAutoscaler

    +
    +
    +
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the HorizontalPodAutoscaler

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisextensionsv1beta1

      +
    • +
    +
    +
    +
    +
    +

    watch individual changes to a list of Ingress

    +
    +
    +
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/ingresses
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisextensionsv1beta1

      +
    • +
    +
    +
    +
    +
    +

    watch changes to an object of kind Ingress

    +
    +
    +
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/ingresses/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Ingress

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisextensionsv1beta1

      +
    • +
    +
    +
    +
    +
    +

    watch individual changes to a list of Job

    +
    +
    +
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/jobs
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisextensionsv1beta1

      +
    • +
    +
    +
    +
    +
    +

    watch changes to an object of kind Job

    +
    +
    +
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/jobs/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Job

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisextensionsv1beta1

      +
    • +
    +
    +
    +
    +
    +

    watch individual changes to a list of ReplicaSet

    +
    +
    +
    GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/replicasets
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisextensionsv1beta1

      +
    • +
    +
    +
    +
    +

    watch changes to an object of kind ReplicaSet

    @@ -10019,7 +10759,7 @@
    -

    Parameters

    +

    Parameters

    @@ -10109,7 +10849,7 @@
    -

    Responses

    +

    Responses

    @@ -10134,7 +10874,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -10144,7 +10884,7 @@
    -

    Produces

    +

    Produces

    • @@ -10154,7 +10894,7 @@
    -

    Tags

    +

    Tags

    • @@ -10172,7 +10912,7 @@
    -

    Parameters

    +

    Parameters

    @@ -10246,7 +10986,7 @@
    -

    Responses

    +

    Responses

    @@ -10271,7 +11011,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -10281,7 +11021,7 @@
    -

    Produces

    +

    Produces

    • @@ -10291,7 +11031,7 @@
    -

    Tags

    +

    Tags

    • @@ -10306,7 +11046,7 @@
    diff --git a/_includes/v1.2/v1-definitions.html b/_includes/v1.2/v1-definitions.html index 4d1e1131f6..eba9865932 100755 --- a/_includes/v1.2/v1-definitions.html +++ b/_includes/v1.2/v1-definitions.html @@ -1099,6 +1099,47 @@ Examples:
    +
    +
    +

    v1.ScaleStatus

    +
    +

    ScaleStatus represents the current status of a scale subresource.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    replicas

    actual number of observed instances of the scaled object.

    true

    integer (int32)

    selector

    label query over pods that should match the replicas count. This is same as the label selector but in the string format to avoid introspection by clients. The string will be in the same format as the query-param syntax. More info about label selectors: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md#label-selectors

    false

    string

    +

    v1.ConfigMap

    @@ -2502,6 +2543,68 @@ The resulting set of endpoints can be viewed as:
    +
    +
    +

    v1.Scale

    +
    +

    Scale represents a scaling request for a resource.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    kind

    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    string

    apiVersion

    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/release-1.2/docs/devel/api-conventions.md#resources

    false

    string

    metadata

    Standard object metadata; More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata.

    false

    v1.ObjectMeta

    spec

    defines the behavior of the scale. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status.

    false

    v1.ScaleSpec

    status

    current status of the scale. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status. Read-only.

    false

    v1.ScaleStatus

    +

    v1.LoadBalancerIngress

    @@ -5105,6 +5208,13 @@ The resulting set of endpoints can be viewed as:
    +

    fullyLabeledReplicas

    +

    The number of pods that have labels matching the labels of the pod template of the replication controller.

    +

    false

    +

    integer (int32)

    + + +

    observedGeneration

    ObservedGeneration reflects the generation of the most recently observed replication controller.

    false

    @@ -5235,6 +5345,40 @@ The resulting set of endpoints can be viewed as:
    +
    +
    +

    v1.ScaleSpec

    +
    +

    ScaleSpec describes the attributes of a scale subresource.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    replicas

    desired number of instances for the scaled object.

    false

    integer (int32)

    +

    v1.ComponentStatusList

    @@ -7133,7 +7277,7 @@ The resulting set of endpoints can be viewed as:
    diff --git a/_includes/v1.2/v1-operations.html b/_includes/v1.2/v1-operations.html index e35def8da9..1c7b4e93e9 100755 --- a/_includes/v1.2/v1-operations.html +++ b/_includes/v1.2/v1-operations.html @@ -11064,6 +11064,376 @@
    +

    read scale of the specified Scale

    +
    +
    +
    GET /api/v1/namespaces/{namespace}/replicationcontrollers/{name}/scale
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Scale

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Scale

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    replace scale of the specified Scale

    +
    +
    +
    PUT /api/v1/namespaces/{namespace}/replicationcontrollers/{name}/scale
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.Scale

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Scale

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Scale

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    partially update scale of the specified Scale

    +
    +
    +
    PATCH /api/v1/namespaces/{namespace}/replicationcontrollers/{name}/scale
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    unversioned.Patch

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Scale

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Scale

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      application/json-patch+json

      +
    • +
    • +

      application/merge-patch+json

      +
    • +
    • +

      application/strategic-merge-patch+json

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +

    replace status of the specified ReplicationController

    @@ -11071,7 +11441,7 @@
    -

    Parameters

    +

    Parameters

    @@ -11129,7 +11499,7 @@
    -

    Responses

    +

    Responses

    @@ -11154,7 +11524,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -11164,7 +11534,7 @@
    -

    Produces

    +

    Produces

    • @@ -11177,7 +11547,7 @@
    -

    Tags

    +

    Tags

    • @@ -11195,7 +11565,7 @@
    -

    Parameters

    +

    Parameters

    @@ -11277,7 +11647,7 @@
    -

    Responses

    +

    Responses

    @@ -11302,7 +11672,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -11312,7 +11682,7 @@
    -

    Produces

    +

    Produces

    • @@ -11325,7 +11695,7 @@
    -

    Tags

    +

    Tags

    • @@ -11343,7 +11713,7 @@
    -

    Parameters

    +

    Parameters

    @@ -11425,7 +11795,7 @@
    -

    Responses

    +

    Responses

    @@ -11450,7 +11820,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -11460,7 +11830,7 @@
    -

    Produces

    +

    Produces

    • @@ -11473,7 +11843,7 @@
    -

    Tags

    +

    Tags

    • @@ -11491,7 +11861,7 @@
    -

    Parameters

    +

    Parameters

    @@ -11541,7 +11911,7 @@
    -

    Responses

    +

    Responses

    @@ -11566,7 +11936,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -11576,7 +11946,7 @@
    -

    Produces

    +

    Produces

    • @@ -11589,7 +11959,7 @@
    -

    Tags

    +

    Tags

    • @@ -11607,7 +11977,7 @@
    -

    Parameters

    +

    Parameters

    @@ -11671,378 +12041,6 @@
    -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.ResourceQuota

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    replace the specified ResourceQuota

    -
    -
    -
    PUT /api/v1/namespaces/{namespace}/resourcequotas/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.ResourceQuota

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the ResourceQuota

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.ResourceQuota

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    delete a ResourceQuota

    -
    -
    -
    DELETE /api/v1/namespaces/{namespace}/resourcequotas/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.DeleteOptions

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the ResourceQuota

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    partially update the specified ResourceQuota

    -
    -
    -
    PATCH /api/v1/namespaces/{namespace}/resourcequotas/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    unversioned.Patch

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the ResourceQuota

    true

    string

    -

    Responses

    @@ -12074,13 +12072,7 @@
    • -

      application/json-patch+json

      -
    • -
    • -

      application/merge-patch+json

      -
    • -
    • -

      application/strategic-merge-patch+json

      +

      /

    @@ -12110,10 +12102,10 @@
    -

    replace status of the specified ResourceQuota

    +

    replace the specified ResourceQuota

    -
    PUT /api/v1/namespaces/{namespace}/resourcequotas/{name}/status
    +
    PUT /api/v1/namespaces/{namespace}/resourcequotas/{name}
    @@ -12234,10 +12226,10 @@
    -

    list or watch objects of kind Secret

    +

    delete a ResourceQuota

    -
    GET /api/v1/namespaces/{namespace}/secrets
    +
    DELETE /api/v1/namespaces/{namespace}/resourcequotas/{name}
    @@ -12271,43 +12263,11 @@ -

    QueryParameter

    -

    labelSelector

    -

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    -

    false

    -

    string

    +

    BodyParameter

    +

    body

    - - -

    QueryParameter

    -

    fieldSelector

    -

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    watch

    -

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    -

    false

    -

    boolean

    - - - -

    QueryParameter

    -

    resourceVersion

    -

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    timeoutSeconds

    -

    Timeout for the list/watch call.

    -

    false

    -

    integer (int32)

    +

    true

    +

    v1.DeleteOptions

    @@ -12318,6 +12278,14 @@

    string

    + +

    PathParameter

    +

    name

    +

    name of the ResourceQuota

    +

    true

    +

    string

    + + @@ -12341,7 +12309,7 @@

    200

    success

    -

    v1.SecretList

    +

    unversioned.Status

    @@ -12382,10 +12350,10 @@
    -

    delete collection of Secret

    +

    partially update the specified ResourceQuota

    -
    DELETE /api/v1/namespaces/{namespace}/secrets
    +
    PATCH /api/v1/namespaces/{namespace}/resourcequotas/{name}
    @@ -12419,6 +12387,260 @@ +

    BodyParameter

    +

    body

    + +

    true

    +

    unversioned.Patch

    + + + +

    PathParameter

    +

    namespace

    +

    object name and auth scope, such as for teams and projects

    +

    true

    +

    string

    + + + +

    PathParameter

    +

    name

    +

    name of the ResourceQuota

    +

    true

    +

    string

    + + + + + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.ResourceQuota

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      application/json-patch+json

      +
    • +
    • +

      application/merge-patch+json

      +
    • +
    • +

      application/strategic-merge-patch+json

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    replace status of the specified ResourceQuota

    +
    +
    +
    PUT /api/v1/namespaces/{namespace}/resourcequotas/{name}/status
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.ResourceQuota

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the ResourceQuota

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.ResourceQuota

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    list or watch objects of kind Secret

    +
    +
    +
    GET /api/v1/namespaces/{namespace}/secrets
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + @@ -12471,7 +12693,155 @@
    -

    Responses

    +

    Responses

    +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.SecretList

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    delete collection of Secret

    +
    +
    +
    DELETE /api/v1/namespaces/{namespace}/secrets
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    @@ -12496,7 +12866,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -12506,7 +12876,7 @@
    -

    Produces

    +

    Produces

    • @@ -12519,7 +12889,7 @@
    -

    Tags

    +

    Tags

    • @@ -12537,7 +12907,7 @@
    -

    Parameters

    +

    Parameters

    @@ -12587,7 +12957,7 @@
    -

    Responses

    +

    Responses

    @@ -12612,7 +12982,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -12622,7 +12992,7 @@
    -

    Produces

    +

    Produces

    • @@ -12635,7 +13005,7 @@
    -

    Tags

    +

    Tags

    • @@ -12653,7 +13023,7 @@
    -

    Parameters

    +

    Parameters

    @@ -12719,7 +13089,7 @@
    -

    Responses

    +

    Responses

    @@ -12744,7 +13114,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -12754,7 +13124,7 @@
    -

    Produces

    +

    Produces

    • @@ -12767,7 +13137,7 @@
    -

    Tags

    +

    Tags

    • @@ -12785,7 +13155,7 @@
    -

    Parameters

    +

    Parameters

    @@ -12843,7 +13213,7 @@
    -

    Responses

    +

    Responses

    @@ -12868,7 +13238,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -12878,7 +13248,7 @@
    -

    Produces

    +

    Produces

    • @@ -12891,7 +13261,7 @@
    -

    Tags

    +

    Tags

    • @@ -12909,7 +13279,7 @@
    -

    Parameters

    +

    Parameters

    @@ -12965,432 +13335,6 @@
    -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    partially update the specified Secret

    -
    -
    -
    PATCH /api/v1/namespaces/{namespace}/secrets/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    unversioned.Patch

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Secret

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.Secret

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      application/json-patch+json

      -
    • -
    • -

      application/merge-patch+json

      -
    • -
    • -

      application/strategic-merge-patch+json

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    list or watch objects of kind ServiceAccount

    -
    -
    -
    GET /api/v1/namespaces/{namespace}/serviceaccounts
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.ServiceAccountList

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    delete collection of ServiceAccount

    -
    -
    -
    DELETE /api/v1/namespaces/{namespace}/serviceaccounts
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    -

    Responses

    @@ -13452,10 +13396,10 @@
    -

    create a ServiceAccount

    +

    partially update the specified Secret

    -
    POST /api/v1/namespaces/{namespace}/serviceaccounts
    +
    PATCH /api/v1/namespaces/{namespace}/secrets/{name}
    @@ -13493,502 +13437,6 @@

    body

    true

    -

    v1.ServiceAccount

    - - - -

    PathParameter

    -

    namespace

    -

    object name and auth scope, such as for teams and projects

    -

    true

    -

    string

    - - - - - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.ServiceAccount

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    read the specified ServiceAccount

    -
    -
    -
    GET /api/v1/namespaces/{namespace}/serviceaccounts/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    export

    Should this value be exported. Export strips fields that a user can not specify.

    false

    boolean

    QueryParameter

    exact

    Should the export be exact. Exact export maintains cluster-specific fields like Namespace

    false

    boolean

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the ServiceAccount

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.ServiceAccount

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    replace the specified ServiceAccount

    -
    -
    -
    PUT /api/v1/namespaces/{namespace}/serviceaccounts/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.ServiceAccount

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the ServiceAccount

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.ServiceAccount

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    delete a ServiceAccount

    -
    -
    -
    DELETE /api/v1/namespaces/{namespace}/serviceaccounts/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.DeleteOptions

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the ServiceAccount

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    partially update the specified ServiceAccount

    -
    -
    -
    PATCH /api/v1/namespaces/{namespace}/serviceaccounts/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - @@ -14003,7 +13451,7 @@ - + @@ -14013,7 +13461,7 @@
    -

    Responses

    +

    Responses

    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    unversioned.Patch

    PathParameter

    name

    name of the ServiceAccount

    name of the Secret

    true

    string

    @@ -14031,14 +13479,14 @@ - +

    200

    success

    v1.ServiceAccount

    v1.Secret

    -

    Consumes

    +

    Consumes

    • @@ -14054,7 +13502,7 @@
    -

    Produces

    +

    Produces

    • @@ -14067,7 +13515,7 @@
    -

    Tags

    +

    Tags

    • @@ -14078,14 +13526,14 @@
    -

    list or watch objects of kind Service

    +

    list or watch objects of kind ServiceAccount

    -
    GET /api/v1/namespaces/{namespace}/services
    +
    GET /api/v1/namespaces/{namespace}/serviceaccounts
    -

    Parameters

    +

    Parameters

    @@ -14165,6 +13613,526 @@
    +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.ServiceAccountList

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    delete collection of ServiceAccount

    +
    +
    +
    DELETE /api/v1/namespaces/{namespace}/serviceaccounts
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    create a ServiceAccount

    +
    +
    +
    POST /api/v1/namespaces/{namespace}/serviceaccounts
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.ServiceAccount

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.ServiceAccount

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    read the specified ServiceAccount

    +
    +
    +
    GET /api/v1/namespaces/{namespace}/serviceaccounts/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    export

    Should this value be exported. Export strips fields that a user can not specify.

    false

    boolean

    QueryParameter

    exact

    Should the export be exact. Exact export maintains cluster-specific fields like Namespace

    false

    boolean

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the ServiceAccount

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.ServiceAccount

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    replace the specified ServiceAccount

    +
    +
    +
    PUT /api/v1/namespaces/{namespace}/serviceaccounts/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.ServiceAccount

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the ServiceAccount

    true

    string

    +

    Responses

    @@ -14185,7 +14153,7 @@

    200

    success

    -

    v1.ServiceList

    +

    v1.ServiceAccount

    @@ -14226,10 +14194,10 @@
    -

    create a Service

    +

    delete a ServiceAccount

    -
    POST /api/v1/namespaces/{namespace}/services
    +
    DELETE /api/v1/namespaces/{namespace}/serviceaccounts/{name}
    @@ -14267,7 +14235,7 @@

    body

    true

    -

    v1.Service

    +

    v1.DeleteOptions

    @@ -14278,6 +14246,14 @@

    string

    + +

    PathParameter

    +

    name

    +

    name of the ServiceAccount

    +

    true

    +

    string

    + + @@ -14301,7 +14277,7 @@

    200

    success

    -

    v1.Service

    +

    unversioned.Status

    @@ -14342,10 +14318,10 @@
    -

    read the specified Service

    +

    partially update the specified ServiceAccount

    -
    GET /api/v1/namespaces/{namespace}/services/{name}
    +
    PATCH /api/v1/namespaces/{namespace}/serviceaccounts/{name}
    @@ -14379,6 +14355,14 @@ +

    BodyParameter

    +

    body

    + +

    true

    +

    unversioned.Patch

    + + +

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    @@ -14389,7 +14373,7 @@

    PathParameter

    name

    -

    name of the Service

    +

    name of the ServiceAccount

    true

    string

    @@ -14417,7 +14401,7 @@

    200

    success

    -

    v1.Service

    +

    v1.ServiceAccount

    @@ -14428,7 +14412,13 @@
    • -

      /

      +

      application/json-patch+json

      +
    • +
    • +

      application/merge-patch+json

      +
    • +
    • +

      application/strategic-merge-patch+json

    @@ -14458,6 +14448,402 @@
    +

    list or watch objects of kind Service

    +
    +
    +
    GET /api/v1/namespaces/{namespace}/services
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.ServiceList

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    create a Service

    +
    +
    +
    POST /api/v1/namespaces/{namespace}/services
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.Service

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Service

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    read the specified Service

    +
    +
    +
    GET /api/v1/namespaces/{namespace}/services/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    export

    Should this value be exported. Export strips fields that a user can not specify.

    false

    boolean

    QueryParameter

    exact

    Should the export be exact. Exact export maintains cluster-specific fields like Namespace

    false

    boolean

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Service

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Service

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +

    replace the specified Service

    @@ -14465,7 +14851,7 @@
    -

    Parameters

    +

    Parameters

    @@ -14523,7 +14909,7 @@
    -

    Responses

    +

    Responses

    @@ -14548,7 +14934,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -14558,7 +14944,7 @@
    -

    Produces

    +

    Produces

    • @@ -14571,7 +14957,7 @@
    -

    Tags

    +

    Tags

    • @@ -14589,7 +14975,7 @@
    -

    Parameters

    +

    Parameters

    @@ -14639,7 +15025,7 @@
    -

    Responses

    +

    Responses

    @@ -14664,7 +15050,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -14674,7 +15060,7 @@
    -

    Produces

    +

    Produces

    • @@ -14687,7 +15073,7 @@
    -

    Tags

    +

    Tags

    • @@ -14705,7 +15091,7 @@
    -

    Parameters

    +

    Parameters

    @@ -14763,7 +15149,7 @@
    -

    Responses

    +

    Responses

    @@ -14788,7 +15174,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -14804,7 +15190,7 @@
    -

    Produces

    +

    Produces

    • @@ -14817,345 +15203,6 @@
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    - -
    -

    connect GET requests to proxy of Service

    -
    -
    -
    GET /api/v1/namespaces/{namespace}/services/{name}/proxy
    -
    -
    -
    -

    Parameters

    -
    -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the part of URLs that include service endpoints, suffixes, and parameters to use for the current proxy request to service. For example, the whole request URL is http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy. Path is _search?q=user:kimchy.

    false

    string

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Service

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    default

    success

    string

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    connect PUT requests to proxy of Service

    -
    -
    -
    PUT /api/v1/namespaces/{namespace}/services/{name}/proxy
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the part of URLs that include service endpoints, suffixes, and parameters to use for the current proxy request to service. For example, the whole request URL is http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy. Path is _search?q=user:kimchy.

    false

    string

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Service

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    default

    success

    string

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    connect DELETE requests to proxy of Service

    -
    -
    -
    DELETE /api/v1/namespaces/{namespace}/services/{name}/proxy
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the part of URLs that include service endpoints, suffixes, and parameters to use for the current proxy request to service. For example, the whole request URL is http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy. Path is _search?q=user:kimchy.

    false

    string

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Service

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    default

    success

    string

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -

    Tags

      @@ -15167,10 +15214,10 @@
    -

    connect POST requests to proxy of Service

    +

    connect GET requests to proxy of Service

    -
    POST /api/v1/namespaces/{namespace}/services/{name}/proxy
    +
    GET /api/v1/namespaces/{namespace}/services/{name}/proxy
    @@ -15280,10 +15327,10 @@
    -

    connect GET requests to proxy of Service

    +

    connect PUT requests to proxy of Service

    -
    GET /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}
    +
    PUT /api/v1/namespaces/{namespace}/services/{name}/proxy
    @@ -15332,14 +15379,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -15401,10 +15440,10 @@
    -

    connect PUT requests to proxy of Service

    +

    connect DELETE requests to proxy of Service

    -
    PUT /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}
    +
    DELETE /api/v1/namespaces/{namespace}/services/{name}/proxy
    @@ -15453,14 +15492,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -15522,10 +15553,10 @@
    -

    connect DELETE requests to proxy of Service

    +

    connect POST requests to proxy of Service

    -
    DELETE /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}
    +
    POST /api/v1/namespaces/{namespace}/services/{name}/proxy
    @@ -15574,14 +15605,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -15643,10 +15666,10 @@
    -

    connect POST requests to proxy of Service

    +

    connect GET requests to proxy of Service

    -
    POST /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}
    +
    GET /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}
    @@ -15764,6 +15787,369 @@
    +

    connect PUT requests to proxy of Service

    +
    +
    +
    PUT /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the part of URLs that include service endpoints, suffixes, and parameters to use for the current proxy request to service. For example, the whole request URL is http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy. Path is _search?q=user:kimchy.

    false

    string

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Service

    true

    string

    PathParameter

    path

    path to the resource

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    default

    success

    string

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    connect DELETE requests to proxy of Service

    +
    +
    +
    DELETE /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the part of URLs that include service endpoints, suffixes, and parameters to use for the current proxy request to service. For example, the whole request URL is http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy. Path is _search?q=user:kimchy.

    false

    string

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Service

    true

    string

    PathParameter

    path

    path to the resource

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    default

    success

    string

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    connect POST requests to proxy of Service

    +
    +
    +
    POST /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the part of URLs that include service endpoints, suffixes, and parameters to use for the current proxy request to service. For example, the whole request URL is http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy. Path is _search?q=user:kimchy.

    false

    string

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Service

    true

    string

    PathParameter

    path

    path to the resource

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    default

    success

    string

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +

    replace status of the specified Service

    @@ -15771,7 +16157,7 @@
    -

    Parameters

    +

    Parameters

    @@ -15829,7 +16215,7 @@
    -

    Responses

    +

    Responses

    @@ -15854,7 +16240,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -15864,7 +16250,7 @@
    -

    Produces

    +

    Produces

    • @@ -15877,7 +16263,7 @@
    -

    Tags

    +

    Tags

    • @@ -15895,7 +16281,7 @@
    -

    Parameters

    +

    Parameters

    @@ -15951,354 +16337,6 @@
    -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.Namespace

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    replace the specified Namespace

    -
    -
    -
    PUT /api/v1/namespaces/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.Namespace

    PathParameter

    name

    name of the Namespace

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.Namespace

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    delete a Namespace

    -
    -
    -
    DELETE /api/v1/namespaces/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.DeleteOptions

    PathParameter

    name

    name of the Namespace

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    partially update the specified Namespace

    -
    -
    -
    PATCH /api/v1/namespaces/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    unversioned.Patch

    PathParameter

    name

    name of the Namespace

    true

    string

    -

    Responses

    @@ -16330,13 +16368,7 @@
    • -

      application/json-patch+json

      -
    • -
    • -

      application/merge-patch+json

      -
    • -
    • -

      application/strategic-merge-patch+json

      +

      /

    @@ -16366,10 +16398,10 @@
    -

    replace finalize of the specified Namespace

    +

    replace the specified Namespace

    -
    PUT /api/v1/namespaces/{name}/finalize
    +
    PUT /api/v1/namespaces/{name}
    @@ -16482,10 +16514,10 @@
    -

    replace status of the specified Namespace

    +

    delete a Namespace

    -
    PUT /api/v1/namespaces/{name}/status
    +
    DELETE /api/v1/namespaces/{name}
    @@ -16523,6 +16555,244 @@

    body

    true

    +

    v1.DeleteOptions

    + + + +

    PathParameter

    +

    name

    +

    name of the Namespace

    +

    true

    +

    string

    + + + + + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    partially update the specified Namespace

    +
    +
    +
    PATCH /api/v1/namespaces/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    unversioned.Patch

    PathParameter

    name

    name of the Namespace

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Namespace

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      application/json-patch+json

      +
    • +
    • +

      application/merge-patch+json

      +
    • +
    • +

      application/strategic-merge-patch+json

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    replace finalize of the specified Namespace

    +
    +
    +
    PUT /api/v1/namespaces/{name}/finalize
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + @@ -16537,286 +16807,6 @@
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.Namespace

    -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.Namespace

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    list or watch objects of kind Node

    -
    -
    -
    GET /api/v1/nodes
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.NodeList

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    delete collection of Node

    -
    -
    -
    DELETE /api/v1/nodes
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    -

    Responses

    @@ -16837,7 +16827,7 @@

    200

    success

    -

    unversioned.Status

    +

    v1.Namespace

    @@ -16878,6 +16868,402 @@
    +

    replace status of the specified Namespace

    +
    +
    +
    PUT /api/v1/namespaces/{name}/status
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.Namespace

    PathParameter

    name

    name of the Namespace

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Namespace

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    list or watch objects of kind Node

    +
    +
    +
    GET /api/v1/nodes
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.NodeList

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    delete collection of Node

    +
    +
    +
    DELETE /api/v1/nodes
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +

    create a Node

    @@ -16885,7 +17271,7 @@
    -

    Parameters

    +

    Parameters

    @@ -16927,7 +17313,7 @@
    -

    Responses

    +

    Responses

    @@ -16952,7 +17338,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -16962,7 +17348,7 @@
    -

    Produces

    +

    Produces

    • @@ -16975,7 +17361,7 @@
    -

    Tags

    +

    Tags

    • @@ -16993,7 +17379,7 @@
    -

    Parameters

    +

    Parameters

    @@ -17051,7 +17437,7 @@
    -

    Responses

    +

    Responses

    @@ -17076,7 +17462,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -17086,7 +17472,7 @@
    -

    Produces

    +

    Produces

    • @@ -17099,7 +17485,7 @@
    -

    Tags

    +

    Tags

    • @@ -17117,7 +17503,7 @@
    -

    Parameters

    +

    Parameters

    @@ -17167,7 +17553,7 @@
    -

    Responses

    +

    Responses

    @@ -17192,7 +17578,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -17202,7 +17588,7 @@
    -

    Produces

    +

    Produces

    • @@ -17215,7 +17601,7 @@
    -

    Tags

    +

    Tags

    • @@ -17233,7 +17619,7 @@
    -

    Parameters

    +

    Parameters

    @@ -17283,7 +17669,7 @@
    -

    Responses

    +

    Responses

    @@ -17308,7 +17694,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -17318,7 +17704,7 @@
    -

    Produces

    +

    Produces

    • @@ -17331,7 +17717,7 @@
    -

    Tags

    +

    Tags

    • @@ -17349,7 +17735,7 @@
    -

    Parameters

    +

    Parameters

    @@ -17399,7 +17785,7 @@
    -

    Responses

    +

    Responses

    @@ -17424,7 +17810,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -17440,7 +17826,7 @@
    -

    Produces

    +

    Produces

    • @@ -17453,321 +17839,6 @@
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    - -
    -

    connect GET requests to proxy of Node

    -
    -
    -
    GET /api/v1/nodes/{name}/proxy
    -
    -
    -
    -

    Parameters

    -
    -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the URL path to use for the current proxy request to node.

    false

    string

    PathParameter

    name

    name of the Node

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    default

    success

    string

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    connect PUT requests to proxy of Node

    -
    -
    -
    PUT /api/v1/nodes/{name}/proxy
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the URL path to use for the current proxy request to node.

    false

    string

    PathParameter

    name

    name of the Node

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    default

    success

    string

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    connect DELETE requests to proxy of Node

    -
    -
    -
    DELETE /api/v1/nodes/{name}/proxy
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the URL path to use for the current proxy request to node.

    false

    string

    PathParameter

    name

    name of the Node

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    default

    success

    string

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -

    Tags

      @@ -17779,10 +17850,10 @@
    -

    connect POST requests to proxy of Node

    +

    connect GET requests to proxy of Node

    -
    POST /api/v1/nodes/{name}/proxy
    +
    GET /api/v1/nodes/{name}/proxy
    @@ -17884,10 +17955,10 @@
    -

    connect GET requests to proxy of Node

    +

    connect PUT requests to proxy of Node

    -
    GET /api/v1/nodes/{name}/proxy/{path}
    +
    PUT /api/v1/nodes/{name}/proxy
    @@ -17928,14 +17999,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -17997,10 +18060,10 @@
    -

    connect PUT requests to proxy of Node

    +

    connect DELETE requests to proxy of Node

    -
    PUT /api/v1/nodes/{name}/proxy/{path}
    +
    DELETE /api/v1/nodes/{name}/proxy
    @@ -18041,14 +18104,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -18110,10 +18165,10 @@
    -

    connect DELETE requests to proxy of Node

    +

    connect POST requests to proxy of Node

    -
    DELETE /api/v1/nodes/{name}/proxy/{path}
    +
    POST /api/v1/nodes/{name}/proxy
    @@ -18154,14 +18209,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -18223,10 +18270,10 @@
    -

    connect POST requests to proxy of Node

    +

    connect GET requests to proxy of Node

    -
    POST /api/v1/nodes/{name}/proxy/{path}
    +
    GET /api/v1/nodes/{name}/proxy/{path}
    @@ -18336,6 +18383,345 @@
    +

    connect PUT requests to proxy of Node

    +
    +
    +
    PUT /api/v1/nodes/{name}/proxy/{path}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the URL path to use for the current proxy request to node.

    false

    string

    PathParameter

    name

    name of the Node

    true

    string

    PathParameter

    path

    path to the resource

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    default

    success

    string

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    connect DELETE requests to proxy of Node

    +
    +
    +
    DELETE /api/v1/nodes/{name}/proxy/{path}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the URL path to use for the current proxy request to node.

    false

    string

    PathParameter

    name

    name of the Node

    true

    string

    PathParameter

    path

    path to the resource

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    default

    success

    string

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    connect POST requests to proxy of Node

    +
    +
    +
    POST /api/v1/nodes/{name}/proxy/{path}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    path

    Path is the URL path to use for the current proxy request to node.

    false

    string

    PathParameter

    name

    name of the Node

    true

    string

    PathParameter

    path

    path to the resource

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    default

    success

    string

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +

    replace status of the specified Node

    @@ -18343,7 +18729,7 @@
    -

    Parameters

    +

    Parameters

    @@ -18391,426 +18777,6 @@
    -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.Node

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    list or watch objects of kind PersistentVolumeClaim

    -
    -
    -
    GET /api/v1/persistentvolumeclaims
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.PersistentVolumeClaimList

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    list or watch objects of kind PersistentVolume

    -
    -
    -
    GET /api/v1/persistentvolumes
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.PersistentVolumeList

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    delete collection of PersistentVolume

    -
    -
    -
    DELETE /api/v1/persistentvolumes
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    -

    Responses

    @@ -18831,7 +18797,7 @@

    200

    success

    -

    unversioned.Status

    +

    v1.Node

    @@ -18872,6 +18838,426 @@
    +

    list or watch objects of kind PersistentVolumeClaim

    +
    +
    +
    GET /api/v1/persistentvolumeclaims
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.PersistentVolumeClaimList

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    list or watch objects of kind PersistentVolume

    +
    +
    +
    GET /api/v1/persistentvolumes
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.PersistentVolumeList

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    delete collection of PersistentVolume

    +
    +
    +
    DELETE /api/v1/persistentvolumes
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +

    create a PersistentVolume

    @@ -18879,7 +19265,7 @@
    -

    Parameters

    +

    Parameters

    @@ -18921,7 +19307,7 @@
    -

    Responses

    +

    Responses

    @@ -18946,7 +19332,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -18956,7 +19342,7 @@
    -

    Produces

    +

    Produces

    • @@ -18969,7 +19355,7 @@
    -

    Tags

    +

    Tags

    • @@ -18987,7 +19373,7 @@
    -

    Parameters

    +

    Parameters

    @@ -19043,354 +19429,6 @@
    -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.PersistentVolume

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    replace the specified PersistentVolume

    -
    -
    -
    PUT /api/v1/persistentvolumes/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.PersistentVolume

    PathParameter

    name

    name of the PersistentVolume

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    v1.PersistentVolume

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    delete a PersistentVolume

    -
    -
    -
    DELETE /api/v1/persistentvolumes/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.DeleteOptions

    PathParameter

    name

    name of the PersistentVolume

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    partially update the specified PersistentVolume

    -
    -
    -
    PATCH /api/v1/persistentvolumes/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    unversioned.Patch

    PathParameter

    name

    name of the PersistentVolume

    true

    string

    -

    Responses

    @@ -19422,13 +19460,7 @@
    • -

      application/json-patch+json

      -
    • -
    • -

      application/merge-patch+json

      -
    • -
    • -

      application/strategic-merge-patch+json

      +

      /

    @@ -19458,10 +19490,10 @@
    -

    replace status of the specified PersistentVolume

    +

    replace the specified PersistentVolume

    -
    PUT /api/v1/persistentvolumes/{name}/status
    +
    PUT /api/v1/persistentvolumes/{name}
    @@ -19574,10 +19606,10 @@
    -

    list or watch objects of kind Pod

    +

    delete a PersistentVolume

    -
    GET /api/v1/pods
    +
    DELETE /api/v1/persistentvolumes/{name}
    @@ -19611,45 +19643,21 @@ -

    QueryParameter

    -

    labelSelector

    -

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    -

    false

    +

    BodyParameter

    +

    body

    + +

    true

    +

    v1.DeleteOptions

    + + + +

    PathParameter

    +

    name

    +

    name of the PersistentVolume

    +

    true

    string

    - -

    QueryParameter

    -

    fieldSelector

    -

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    watch

    -

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    -

    false

    -

    boolean

    - - - -

    QueryParameter

    -

    resourceVersion

    -

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    timeoutSeconds

    -

    Timeout for the list/watch call.

    -

    false

    -

    integer (int32)

    - - @@ -19673,7 +19681,7 @@

    200

    success

    -

    v1.PodList

    +

    unversioned.Status

    @@ -19714,10 +19722,10 @@
    -

    list or watch objects of kind PodTemplate

    +

    partially update the specified PersistentVolume

    -
    GET /api/v1/podtemplates
    +
    PATCH /api/v1/persistentvolumes/{name}
    @@ -19751,6 +19759,244 @@ +

    BodyParameter

    +

    body

    + +

    true

    +

    unversioned.Patch

    + + + +

    PathParameter

    +

    name

    +

    name of the PersistentVolume

    +

    true

    +

    string

    + + + + + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.PersistentVolume

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      application/json-patch+json

      +
    • +
    • +

      application/merge-patch+json

      +
    • +
    • +

      application/strategic-merge-patch+json

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    replace status of the specified PersistentVolume

    +
    +
    +
    PUT /api/v1/persistentvolumes/{name}/status
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.PersistentVolume

    PathParameter

    name

    name of the PersistentVolume

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.PersistentVolume

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    list or watch objects of kind Pod

    +
    +
    +
    GET /api/v1/pods
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + @@ -19795,7 +20041,7 @@
    -

    Responses

    +

    Responses

    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    @@ -19813,220 +20059,7 @@ - - - -

    200

    success

    v1.PodTemplateList

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    • -

      application/yaml

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    proxy GET requests to Pod

    -
    -
    -
    GET /api/v1/proxy/namespaces/{namespace}/pods/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Pod

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    default

    success

    string

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    proxy PUT requests to Pod

    -
    -
    -
    PUT /api/v1/proxy/namespaces/{namespace}/pods/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Pod

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - +
    HTTP CodeDescriptionSchema

    default

    success

    string

    v1.PodList

    @@ -20047,7 +20080,10 @@
    • -

      /

      +

      application/json

      +
    • +
    • +

      application/yaml

    @@ -20064,10 +20100,10 @@
    -

    proxy DELETE requests to Pod

    +

    list or watch objects of kind PodTemplate

    -
    DELETE /api/v1/proxy/namespaces/{namespace}/pods/{name}
    +
    GET /api/v1/podtemplates
    @@ -20093,21 +20129,53 @@ -

    PathParameter

    -

    namespace

    -

    object name and auth scope, such as for teams and projects

    -

    true

    +

    QueryParameter

    +

    pretty

    +

    If true, then the output is pretty printed.

    +

    false

    string

    -

    PathParameter

    -

    name

    -

    name of the Pod

    -

    true

    +

    QueryParameter

    +

    labelSelector

    +

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    +

    false

    string

    + +

    QueryParameter

    +

    fieldSelector

    +

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    +

    false

    +

    string

    + + + +

    QueryParameter

    +

    watch

    +

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    +

    false

    +

    boolean

    + + + +

    QueryParameter

    +

    resourceVersion

    +

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    +

    false

    +

    string

    + + + +

    QueryParameter

    +

    timeoutSeconds

    +

    Timeout for the list/watch call.

    +

    false

    +

    integer (int32)

    + + @@ -20129,9 +20197,9 @@ -

    default

    +

    200

    success

    -

    string

    +

    v1.PodTemplateList

    @@ -20152,7 +20220,10 @@
    • -

      /

      +

      application/json

      +
    • +
    • +

      application/yaml

    @@ -20169,10 +20240,10 @@
    -

    proxy POST requests to Pod

    +

    proxy GET requests to Pod

    -
    POST /api/v1/proxy/namespaces/{namespace}/pods/{name}
    +
    GET /api/v1/proxy/namespaces/{namespace}/pods/{name}
    @@ -20274,10 +20345,10 @@
    -

    proxy GET requests to Pod

    +

    proxy PUT requests to Pod

    -
    GET /api/v1/proxy/namespaces/{namespace}/pods/{name}/{path}
    +
    PUT /api/v1/proxy/namespaces/{namespace}/pods/{name}
    @@ -20318,14 +20389,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -20387,10 +20450,10 @@
    -

    proxy PUT requests to Pod

    +

    proxy DELETE requests to Pod

    -
    PUT /api/v1/proxy/namespaces/{namespace}/pods/{name}/{path}
    +
    DELETE /api/v1/proxy/namespaces/{namespace}/pods/{name}
    @@ -20431,14 +20494,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -20500,10 +20555,10 @@
    -

    proxy DELETE requests to Pod

    +

    proxy POST requests to Pod

    -
    DELETE /api/v1/proxy/namespaces/{namespace}/pods/{name}/{path}
    +
    POST /api/v1/proxy/namespaces/{namespace}/pods/{name}
    @@ -20544,14 +20599,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -20613,10 +20660,10 @@
    -

    proxy POST requests to Pod

    +

    proxy GET requests to Pod

    -
    POST /api/v1/proxy/namespaces/{namespace}/pods/{name}/{path}
    +
    GET /api/v1/proxy/namespaces/{namespace}/pods/{name}/{path}
    @@ -20726,10 +20773,10 @@
    -

    proxy GET requests to Service

    +

    proxy PUT requests to Pod

    -
    GET /api/v1/proxy/namespaces/{namespace}/services/{name}
    +
    PUT /api/v1/proxy/namespaces/{namespace}/pods/{name}/{path}
    @@ -20765,7 +20812,15 @@

    PathParameter

    name

    -

    name of the Service

    +

    name of the Pod

    +

    true

    +

    string

    + + + +

    PathParameter

    +

    path

    +

    path to the resource

    true

    string

    @@ -20831,10 +20886,10 @@
    -

    proxy PUT requests to Service

    +

    proxy DELETE requests to Pod

    -
    PUT /api/v1/proxy/namespaces/{namespace}/services/{name}
    +
    DELETE /api/v1/proxy/namespaces/{namespace}/pods/{name}/{path}
    @@ -20870,7 +20925,15 @@

    PathParameter

    name

    -

    name of the Service

    +

    name of the Pod

    +

    true

    +

    string

    + + + +

    PathParameter

    +

    path

    +

    path to the resource

    true

    string

    @@ -20936,10 +20999,10 @@
    -

    proxy DELETE requests to Service

    +

    proxy POST requests to Pod

    -
    DELETE /api/v1/proxy/namespaces/{namespace}/services/{name}
    +
    POST /api/v1/proxy/namespaces/{namespace}/pods/{name}/{path}
    @@ -20975,7 +21038,15 @@

    PathParameter

    name

    -

    name of the Service

    +

    name of the Pod

    +

    true

    +

    string

    + + + +

    PathParameter

    +

    path

    +

    path to the resource

    true

    string

    @@ -21041,10 +21112,10 @@
    -

    proxy POST requests to Service

    +

    proxy GET requests to Service

    -
    POST /api/v1/proxy/namespaces/{namespace}/services/{name}
    +
    GET /api/v1/proxy/namespaces/{namespace}/services/{name}
    @@ -21146,10 +21217,10 @@
    -

    proxy GET requests to Service

    +

    proxy PUT requests to Service

    -
    GET /api/v1/proxy/namespaces/{namespace}/services/{name}/{path}
    +
    PUT /api/v1/proxy/namespaces/{namespace}/services/{name}
    @@ -21190,14 +21261,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -21259,10 +21322,10 @@
    -

    proxy PUT requests to Service

    +

    proxy DELETE requests to Service

    -
    PUT /api/v1/proxy/namespaces/{namespace}/services/{name}/{path}
    +
    DELETE /api/v1/proxy/namespaces/{namespace}/services/{name}
    @@ -21303,14 +21366,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -21372,10 +21427,10 @@
    -

    proxy DELETE requests to Service

    +

    proxy POST requests to Service

    -
    DELETE /api/v1/proxy/namespaces/{namespace}/services/{name}/{path}
    +
    POST /api/v1/proxy/namespaces/{namespace}/services/{name}
    @@ -21416,14 +21471,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -21485,10 +21532,10 @@
    -

    proxy POST requests to Service

    +

    proxy GET requests to Service

    -
    POST /api/v1/proxy/namespaces/{namespace}/services/{name}/{path}
    +
    GET /api/v1/proxy/namespaces/{namespace}/services/{name}/{path}
    @@ -21598,10 +21645,10 @@
    -

    proxy GET requests to Node

    +

    proxy PUT requests to Service

    -
    GET /api/v1/proxy/nodes/{name}
    +
    PUT /api/v1/proxy/namespaces/{namespace}/services/{name}/{path}
    @@ -21628,8 +21675,24 @@

    PathParameter

    +

    namespace

    +

    object name and auth scope, such as for teams and projects

    +

    true

    +

    string

    + + + +

    PathParameter

    name

    -

    name of the Node

    +

    name of the Service

    +

    true

    +

    string

    + + + +

    PathParameter

    +

    path

    +

    path to the resource

    true

    string

    @@ -21695,10 +21758,10 @@
    -

    proxy PUT requests to Node

    +

    proxy DELETE requests to Service

    -
    PUT /api/v1/proxy/nodes/{name}
    +
    DELETE /api/v1/proxy/namespaces/{namespace}/services/{name}/{path}
    @@ -21725,8 +21788,24 @@

    PathParameter

    +

    namespace

    +

    object name and auth scope, such as for teams and projects

    +

    true

    +

    string

    + + + +

    PathParameter

    name

    -

    name of the Node

    +

    name of the Service

    +

    true

    +

    string

    + + + +

    PathParameter

    +

    path

    +

    path to the resource

    true

    string

    @@ -21792,10 +21871,10 @@
    -

    proxy DELETE requests to Node

    +

    proxy POST requests to Service

    -
    DELETE /api/v1/proxy/nodes/{name}
    +
    POST /api/v1/proxy/namespaces/{namespace}/services/{name}/{path}
    @@ -21822,8 +21901,24 @@

    PathParameter

    +

    namespace

    +

    object name and auth scope, such as for teams and projects

    +

    true

    +

    string

    + + + +

    PathParameter

    name

    -

    name of the Node

    +

    name of the Service

    +

    true

    +

    string

    + + + +

    PathParameter

    +

    path

    +

    path to the resource

    true

    string

    @@ -21889,10 +21984,10 @@
    -

    proxy POST requests to Node

    +

    proxy GET requests to Node

    -
    POST /api/v1/proxy/nodes/{name}
    +
    GET /api/v1/proxy/nodes/{name}
    @@ -21986,10 +22081,10 @@
    -

    proxy GET requests to Node

    +

    proxy PUT requests to Node

    -
    GET /api/v1/proxy/nodes/{name}/{path}
    +
    PUT /api/v1/proxy/nodes/{name}
    @@ -22022,14 +22117,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -22091,10 +22178,10 @@
    -

    proxy PUT requests to Node

    +

    proxy DELETE requests to Node

    -
    PUT /api/v1/proxy/nodes/{name}/{path}
    +
    DELETE /api/v1/proxy/nodes/{name}
    @@ -22127,14 +22214,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -22196,10 +22275,10 @@
    -

    proxy DELETE requests to Node

    +

    proxy POST requests to Node

    -
    DELETE /api/v1/proxy/nodes/{name}/{path}
    +
    POST /api/v1/proxy/nodes/{name}
    @@ -22232,14 +22311,6 @@

    string

    - -

    PathParameter

    -

    path

    -

    path to the resource

    -

    true

    -

    string

    - - @@ -22301,10 +22372,10 @@
    -

    proxy POST requests to Node

    +

    proxy GET requests to Node

    -
    POST /api/v1/proxy/nodes/{name}/{path}
    +
    GET /api/v1/proxy/nodes/{name}/{path}
    @@ -22406,10 +22477,10 @@
    -

    list or watch objects of kind ReplicationController

    +

    proxy PUT requests to Node

    -
    GET /api/v1/replicationcontrollers
    +
    PUT /api/v1/proxy/nodes/{name}/{path}
    @@ -22435,53 +22506,21 @@ -

    QueryParameter

    -

    pretty

    -

    If true, then the output is pretty printed.

    -

    false

    +

    PathParameter

    +

    name

    +

    name of the Node

    +

    true

    string

    -

    QueryParameter

    -

    labelSelector

    -

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    -

    false

    +

    PathParameter

    +

    path

    +

    path to the resource

    +

    true

    string

    - -

    QueryParameter

    -

    fieldSelector

    -

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    watch

    -

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    -

    false

    -

    boolean

    - - - -

    QueryParameter

    -

    resourceVersion

    -

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    timeoutSeconds

    -

    Timeout for the list/watch call.

    -

    false

    -

    integer (int32)

    - - @@ -22503,9 +22542,9 @@ -

    200

    +

    default

    success

    -

    v1.ReplicationControllerList

    +

    string

    @@ -22526,10 +22565,7 @@
    • -

      application/json

      -
    • -
    • -

      application/yaml

      +

      /

    @@ -22546,10 +22582,10 @@
    -

    list or watch objects of kind ResourceQuota

    +

    proxy DELETE requests to Node

    -
    GET /api/v1/resourcequotas
    +
    DELETE /api/v1/proxy/nodes/{name}/{path}
    @@ -22575,53 +22611,21 @@ -

    QueryParameter

    -

    pretty

    -

    If true, then the output is pretty printed.

    -

    false

    +

    PathParameter

    +

    name

    +

    name of the Node

    +

    true

    string

    -

    QueryParameter

    -

    labelSelector

    -

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    -

    false

    +

    PathParameter

    +

    path

    +

    path to the resource

    +

    true

    string

    - -

    QueryParameter

    -

    fieldSelector

    -

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    watch

    -

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    -

    false

    -

    boolean

    - - - -

    QueryParameter

    -

    resourceVersion

    -

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    timeoutSeconds

    -

    Timeout for the list/watch call.

    -

    false

    -

    integer (int32)

    - - @@ -22643,9 +22647,9 @@ -

    200

    +

    default

    success

    -

    v1.ResourceQuotaList

    +

    string

    @@ -22666,10 +22670,7 @@
    • -

      application/json

      -
    • -
    • -

      application/yaml

      +

      /

    @@ -22686,10 +22687,10 @@
    -

    list or watch objects of kind Secret

    +

    proxy POST requests to Node

    -
    GET /api/v1/secrets
    +
    POST /api/v1/proxy/nodes/{name}/{path}
    @@ -22715,53 +22716,21 @@ -

    QueryParameter

    -

    pretty

    -

    If true, then the output is pretty printed.

    -

    false

    +

    PathParameter

    +

    name

    +

    name of the Node

    +

    true

    string

    -

    QueryParameter

    -

    labelSelector

    -

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    -

    false

    +

    PathParameter

    +

    path

    +

    path to the resource

    +

    true

    string

    - -

    QueryParameter

    -

    fieldSelector

    -

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    watch

    -

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    -

    false

    -

    boolean

    - - - -

    QueryParameter

    -

    resourceVersion

    -

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    -

    false

    -

    string

    - - - -

    QueryParameter

    -

    timeoutSeconds

    -

    Timeout for the list/watch call.

    -

    false

    -

    integer (int32)

    - - @@ -22783,9 +22752,9 @@ -

    200

    +

    default

    success

    -

    v1.SecretList

    +

    string

    @@ -22806,10 +22775,7 @@
    • -

      application/json

      -
    • -
    • -

      application/yaml

      +

      /

    @@ -22826,10 +22792,10 @@
    -

    list or watch objects of kind ServiceAccount

    +

    list or watch objects of kind ReplicationController

    -
    GET /api/v1/serviceaccounts
    +
    GET /api/v1/replicationcontrollers
    @@ -22925,7 +22891,7 @@

    200

    success

    -

    v1.ServiceAccountList

    +

    v1.ReplicationControllerList

    @@ -22966,10 +22932,10 @@
    -

    list or watch objects of kind Service

    +

    list or watch objects of kind ResourceQuota

    -
    GET /api/v1/services
    +
    GET /api/v1/resourcequotas
    @@ -23065,7 +23031,7 @@

    200

    success

    -

    v1.ServiceList

    +

    v1.ResourceQuotaList

    @@ -23106,10 +23072,10 @@
    -

    watch individual changes to a list of ConfigMap

    +

    list or watch objects of kind Secret

    -
    GET /api/v1/watch/configmaps
    +
    GET /api/v1/secrets
    @@ -23205,7 +23171,7 @@

    200

    success

    -

    json.WatchEvent

    +

    v1.SecretList

    @@ -23228,6 +23194,9 @@
  • application/json

  • +
  • +

    application/yaml

    +
  • @@ -23243,10 +23212,10 @@
    -

    watch individual changes to a list of Endpoints

    +

    list or watch objects of kind ServiceAccount

    -
    GET /api/v1/watch/endpoints
    +
    GET /api/v1/serviceaccounts
    @@ -23342,7 +23311,7 @@

    200

    success

    -

    json.WatchEvent

    +

    v1.ServiceAccountList

    @@ -23365,6 +23334,9 @@
  • application/json

  • +
  • +

    application/yaml

    +
  • @@ -23380,10 +23352,10 @@
    -

    watch individual changes to a list of Event

    +

    list or watch objects of kind Service

    -
    GET /api/v1/watch/events
    +
    GET /api/v1/services
    @@ -23479,7 +23451,7 @@

    200

    success

    -

    json.WatchEvent

    +

    v1.ServiceList

    @@ -23502,6 +23474,9 @@
  • application/json

  • +
  • +

    application/yaml

    +
  • @@ -23517,10 +23492,10 @@
    -

    watch individual changes to a list of LimitRange

    +

    watch individual changes to a list of ConfigMap

    -
    GET /api/v1/watch/limitranges
    +
    GET /api/v1/watch/configmaps
    @@ -23654,10 +23629,10 @@
    -

    watch individual changes to a list of Namespace

    +

    watch individual changes to a list of Endpoints

    -
    GET /api/v1/watch/namespaces
    +
    GET /api/v1/watch/endpoints
    @@ -23791,6 +23766,417 @@
    +

    watch individual changes to a list of Event

    +
    +
    +
    GET /api/v1/watch/events
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    watch individual changes to a list of LimitRange

    +
    +
    +
    GET /api/v1/watch/limitranges
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    watch individual changes to a list of Namespace

    +
    +
    +
    GET /api/v1/watch/namespaces
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +

    watch individual changes to a list of ConfigMap

    @@ -23798,7 +24184,7 @@
    -

    Parameters

    +

    Parameters

    @@ -23880,7 +24266,7 @@
    -

    Responses

    +

    Responses

    @@ -23905,7 +24291,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -23915,7 +24301,7 @@
    -

    Produces

    +

    Produces

    • @@ -23925,7 +24311,7 @@
    -

    Tags

    +

    Tags

    • @@ -23943,7 +24329,7 @@
    -

    Parameters

    +

    Parameters

    @@ -24033,7 +24419,7 @@
    -

    Responses

    +

    Responses

    @@ -24058,7 +24444,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -24068,7 +24454,7 @@
    -

    Produces

    +

    Produces

    • @@ -24078,7 +24464,7 @@
    -

    Tags

    +

    Tags

    • @@ -24096,7 +24482,7 @@
    -

    Parameters

    +

    Parameters

    @@ -24178,7 +24564,7 @@
    -

    Responses

    +

    Responses

    @@ -24203,7 +24589,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -24213,7 +24599,7 @@
    -

    Produces

    +

    Produces

    • @@ -24223,7 +24609,7 @@
    -

    Tags

    +

    Tags

    • @@ -24241,7 +24627,7 @@
    -

    Parameters

    +

    Parameters

    @@ -24331,7 +24717,7 @@
    -

    Responses

    +

    Responses

    @@ -24356,7 +24742,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -24366,7 +24752,7 @@
    -

    Produces

    +

    Produces

    • @@ -24376,7 +24762,7 @@
    -

    Tags

    +

    Tags

    • @@ -24394,7 +24780,7 @@
    -

    Parameters

    +

    Parameters

    @@ -24476,7 +24862,7 @@
    -

    Responses

    +

    Responses

    @@ -24501,7 +24887,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -24511,7 +24897,7 @@
    -

    Produces

    +

    Produces

    • @@ -24521,7 +24907,7 @@
    -

    Tags

    +

    Tags

    • @@ -24539,7 +24925,7 @@
    -

    Parameters

    +

    Parameters

    @@ -24629,7 +25015,7 @@
    -

    Responses

    +

    Responses

    @@ -24654,7 +25040,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -24664,7 +25050,7 @@
    -

    Produces

    +

    Produces

    • @@ -24674,7 +25060,7 @@
    -

    Tags

    +

    Tags

    • @@ -24692,7 +25078,7 @@
    -

    Parameters

    +

    Parameters

    @@ -24774,7 +25160,7 @@
    -

    Responses

    +

    Responses

    @@ -24799,7 +25185,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -24809,7 +25195,7 @@
    -

    Produces

    +

    Produces

    • @@ -24819,7 +25205,7 @@
    -

    Tags

    +

    Tags

    • @@ -24837,7 +25223,7 @@
    -

    Parameters

    +

    Parameters

    @@ -24927,7 +25313,7 @@
    -

    Responses

    +

    Responses

    @@ -24952,7 +25338,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -24962,7 +25348,7 @@
    -

    Produces

    +

    Produces

    • @@ -24972,7 +25358,7 @@
    -

    Tags

    +

    Tags

    • @@ -24990,7 +25376,7 @@
    -

    Parameters

    +

    Parameters

    @@ -25072,7 +25458,7 @@
    -

    Responses

    +

    Responses

    @@ -25097,7 +25483,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -25107,7 +25493,7 @@
    -

    Produces

    +

    Produces

    • @@ -25117,7 +25503,7 @@
    -

    Tags

    +

    Tags

    • @@ -25135,7 +25521,7 @@
    -

    Parameters

    +

    Parameters

    @@ -25225,7 +25611,7 @@
    -

    Responses

    +

    Responses

    @@ -25250,7 +25636,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -25260,7 +25646,7 @@
    -

    Produces

    +

    Produces

    • @@ -25270,7 +25656,7 @@
    -

    Tags

    +

    Tags

    • @@ -25288,7 +25674,7 @@
    -

    Parameters

    +

    Parameters

    @@ -25370,7 +25756,7 @@
    -

    Responses

    +

    Responses

    @@ -25395,7 +25781,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -25405,7 +25791,7 @@
    -

    Produces

    +

    Produces

    • @@ -25415,7 +25801,7 @@
    -

    Tags

    +

    Tags

    • @@ -25433,7 +25819,7 @@
    -

    Parameters

    +

    Parameters

    @@ -25523,7 +25909,7 @@
    -

    Responses

    +

    Responses

    @@ -25548,7 +25934,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -25558,7 +25944,7 @@
    -

    Produces

    +

    Produces

    • @@ -25568,7 +25954,7 @@
    -

    Tags

    +

    Tags

    • @@ -25586,7 +25972,7 @@
    -

    Parameters

    +

    Parameters

    @@ -25668,7 +26054,7 @@
    -

    Responses

    +

    Responses

    @@ -25693,7 +26079,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -25703,7 +26089,7 @@
    -

    Produces

    +

    Produces

    • @@ -25713,7 +26099,7 @@
    -

    Tags

    +

    Tags

    • @@ -25731,7 +26117,7 @@
    -

    Parameters

    +

    Parameters

    @@ -25821,7 +26207,7 @@
    -

    Responses

    +

    Responses

    @@ -25846,7 +26232,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -25856,7 +26242,7 @@
    -

    Produces

    +

    Produces

    • @@ -25866,7 +26252,7 @@
    -

    Tags

    +

    Tags

    • @@ -25884,7 +26270,7 @@
    -

    Parameters

    +

    Parameters

    @@ -25966,7 +26352,7 @@
    -

    Responses

    +

    Responses

    @@ -25991,7 +26377,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -26001,7 +26387,7 @@
    -

    Produces

    +

    Produces

    • @@ -26011,7 +26397,7 @@
    -

    Tags

    +

    Tags

    • @@ -26029,7 +26415,7 @@
    -

    Parameters

    +

    Parameters

    @@ -26119,7 +26505,7 @@
    -

    Responses

    +

    Responses

    @@ -26144,7 +26530,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -26154,7 +26540,7 @@
    -

    Produces

    +

    Produces

    • @@ -26164,7 +26550,7 @@
    -

    Tags

    +

    Tags

    • @@ -26182,7 +26568,7 @@
    -

    Parameters

    +

    Parameters

    @@ -26264,7 +26650,7 @@
    -

    Responses

    +

    Responses

    @@ -26289,7 +26675,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -26299,7 +26685,7 @@
    -

    Produces

    +

    Produces

    • @@ -26309,7 +26695,7 @@
    -

    Tags

    +

    Tags

    • @@ -26327,7 +26713,7 @@
    -

    Parameters

    +

    Parameters

    @@ -26417,7 +26803,7 @@
    -

    Responses

    +

    Responses

    @@ -26442,7 +26828,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -26452,7 +26838,7 @@
    -

    Produces

    +

    Produces

    • @@ -26462,7 +26848,7 @@
    -

    Tags

    +

    Tags

    • @@ -26480,7 +26866,7 @@
    -

    Parameters

    +

    Parameters

    @@ -26562,7 +26948,7 @@
    -

    Responses

    +

    Responses

    @@ -26587,7 +26973,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -26597,7 +26983,7 @@
    -

    Produces

    +

    Produces

    • @@ -26607,7 +26993,7 @@
    -

    Tags

    +

    Tags

    • @@ -26625,7 +27011,7 @@
    -

    Parameters

    +

    Parameters

    @@ -26715,7 +27101,7 @@
    -

    Responses

    +

    Responses

    @@ -26740,7 +27126,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -26750,7 +27136,7 @@
    -

    Produces

    +

    Produces

    • @@ -26760,7 +27146,7 @@
    -

    Tags

    +

    Tags

    • @@ -26778,7 +27164,7 @@
    -

    Parameters

    +

    Parameters

    @@ -26860,7 +27246,7 @@
    -

    Responses

    +

    Responses

    @@ -26885,7 +27271,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -26895,7 +27281,7 @@
    -

    Produces

    +

    Produces

    • @@ -26905,7 +27291,7 @@
    -

    Tags

    +

    Tags

    • @@ -26923,7 +27309,7 @@
    -

    Parameters

    +

    Parameters

    @@ -27013,7 +27399,7 @@
    -

    Responses

    +

    Responses

    @@ -27038,7 +27424,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -27048,7 +27434,7 @@
    -

    Produces

    +

    Produces

    • @@ -27058,7 +27444,7 @@
    -

    Tags

    +

    Tags

    • @@ -27076,7 +27462,7 @@
    -

    Parameters

    +

    Parameters

    @@ -27158,7 +27544,7 @@
    -

    Responses

    +

    Responses

    @@ -27183,7 +27569,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -27193,7 +27579,7 @@
    -

    Produces

    +

    Produces

    • @@ -27203,7 +27589,7 @@
    -

    Tags

    +

    Tags

    • @@ -27221,7 +27607,7 @@
    -

    Parameters

    +

    Parameters

    @@ -27311,7 +27697,7 @@
    -

    Responses

    +

    Responses

    @@ -27336,7 +27722,7 @@
    -

    Consumes

    +

    Consumes

    • @@ -27346,7 +27732,7 @@
    -

    Produces

    +

    Produces

    • @@ -27356,7 +27742,7 @@
    -

    Tags

    +

    Tags

    • @@ -27374,7 +27760,7 @@
    -

    Parameters

    +

    Parameters

    @@ -27454,425 +27840,6 @@
    -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    watch individual changes to a list of Node

    -
    -
    -
    GET /api/v1/watch/nodes
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    watch changes to an object of kind Node

    -
    -
    -
    GET /api/v1/watch/nodes/{name}
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    name

    name of the Node

    true

    string

    - -
    -
    -

    Responses

    - ----- - - - - - - - - - - - - - - -
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    - -
    -
    -

    Consumes

    -
    -
      -
    • -

      /

      -
    • -
    -
    -
    -
    -

    Produces

    -
    -
      -
    • -

      application/json

      -
    • -
    -
    -
    -
    -

    Tags

    -
    -
      -
    • -

      apiv1

      -
    • -
    -
    -
    -
    -
    -

    watch individual changes to a list of PersistentVolumeClaim

    -
    -
    -
    GET /api/v1/watch/persistentvolumeclaims
    -
    -
    -
    -

    Parameters

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    -

    Responses

    @@ -27931,10 +27898,10 @@
    -

    watch individual changes to a list of PersistentVolume

    +

    watch individual changes to a list of Node

    -
    GET /api/v1/watch/persistentvolumes
    +
    GET /api/v1/watch/nodes
    @@ -28068,10 +28035,10 @@
    -

    watch changes to an object of kind PersistentVolume

    +

    watch changes to an object of kind Node

    -
    GET /api/v1/watch/persistentvolumes/{name}
    +
    GET /api/v1/watch/nodes/{name}
    @@ -28147,7 +28114,7 @@

    PathParameter

    name

    -

    name of the PersistentVolume

    +

    name of the Node

    true

    string

    @@ -28213,10 +28180,10 @@
    -

    watch individual changes to a list of Pod

    +

    watch individual changes to a list of PersistentVolumeClaim

    -
    GET /api/v1/watch/pods
    +
    GET /api/v1/watch/persistentvolumeclaims
    @@ -28350,10 +28317,10 @@
    -

    watch individual changes to a list of PodTemplate

    +

    watch individual changes to a list of PersistentVolume

    -
    GET /api/v1/watch/podtemplates
    +
    GET /api/v1/watch/persistentvolumes
    @@ -28487,10 +28454,10 @@
    -

    watch individual changes to a list of ReplicationController

    +

    watch changes to an object of kind PersistentVolume

    -
    GET /api/v1/watch/replicationcontrollers
    +
    GET /api/v1/watch/persistentvolumes/{name}
    @@ -28563,6 +28530,14 @@

    integer (int32)

    + +

    PathParameter

    +

    name

    +

    name of the PersistentVolume

    +

    true

    +

    string

    + + @@ -28624,10 +28599,10 @@
    -

    watch individual changes to a list of ResourceQuota

    +

    watch individual changes to a list of Pod

    -
    GET /api/v1/watch/resourcequotas
    +
    GET /api/v1/watch/pods
    @@ -28761,10 +28736,10 @@
    -

    watch individual changes to a list of Secret

    +

    watch individual changes to a list of PodTemplate

    -
    GET /api/v1/watch/secrets
    +
    GET /api/v1/watch/podtemplates
    @@ -28898,10 +28873,10 @@
    -

    watch individual changes to a list of ServiceAccount

    +

    watch individual changes to a list of ReplicationController

    -
    GET /api/v1/watch/serviceaccounts
    +
    GET /api/v1/watch/replicationcontrollers
    @@ -29035,10 +29010,10 @@
    -

    watch individual changes to a list of Service

    +

    watch individual changes to a list of ResourceQuota

    -
    GET /api/v1/watch/services
    +
    GET /api/v1/watch/resourcequotas
    @@ -29171,12 +29146,423 @@
    +
    +

    watch individual changes to a list of Secret

    +
    +
    +
    GET /api/v1/watch/secrets
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    watch individual changes to a list of ServiceAccount

    +
    +
    +
    GET /api/v1/watch/serviceaccounts
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    +
    +

    watch individual changes to a list of Service

    +
    +
    +
    GET /api/v1/watch/services
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apiv1

      +
    • +
    +
    +
    +
    diff --git a/_sass/_base.sass b/_sass/_base.sass index 9fbd1a57bf..f9b8c82f84 100644 --- a/_sass/_base.sass +++ b/_sass/_base.sass @@ -120,7 +120,7 @@ header top: 0 left: 0 transform: none - background-image: url(../images/nav_logo.svg) + background-image: url(/images/nav_logo.svg) background-size: contain background-position: center center background-repeat: no-repeat @@ -133,7 +133,7 @@ header left: 20px width: 50px height: 50px - background-image: url(../images/toc_icon.png) + background-image: url(/images/toc_icon.png) background-position: center center background-repeat: no-repeat background-size: auto @@ -152,11 +152,11 @@ header display: block width: 45px height: 44px - background-image: url(../images/favicon.png) + background-image: url(/images/favicon.png) &.flip-nav .flyout-button - background-image: url(../images/toc_icon_grey.png) + background-image: url(/images/toc_icon_grey.png) .nav-buttons @@ -295,7 +295,7 @@ header // HERO #hero - background-image: url(../images/texture.png) + background-image: url(/images/texture.png) background-color: $dark-grey text-align: center padding-left: 0 @@ -321,7 +321,7 @@ header // FOOTER footer width: 100% - background-image: url(../images/texture.png) + background-image: url(/images/texture.png) background-color: $dark-grey main @@ -357,45 +357,6 @@ footer text-align: center - //.social - // position: relative - // text-align: center - // - // a, label - // margin: 20px 0 - // - // a - // vertical-align: middle - // - // a.line-break - // display: block - // - // - // label - // //float: right - // display: inline-block - // width: 100% - // height: 50px - // line-height: 50px - // font-weight: 100 - // white-space: nowrap - // - // input - // margin-left: 8px - // width: 300px - // max-width: 60% - // - // - //.social - // a - // float: left - // margin-right: 10px - // - // a:nth-child(4) - // clear: left - - - #search, #wishField background-color: transparent @@ -412,7 +373,7 @@ footer .social a display: inline-block - background-image: url(../images/social_sprite.png) + background-image: url(/images/social_sprite.png) background-repeat: no-repeat background-size: auto width: 50px @@ -527,6 +488,8 @@ section position: relative padding: 50px 20px 20px 20px overflow: hidden + font-size: 14px + & > div height: 100% @@ -549,7 +512,7 @@ section background-color: $light-grey border-left: 3px solid $blue padding: 7.5px 10px 7.5px 18px - margin-left: -21px + margin-left: -3px color: $blue .open-toc @@ -563,10 +526,13 @@ section overflow-y: auto .pi-accordion - margin-left: -20px + & > .container:first-child > .item:first-child > .title:first-child + padding-left: 0 + font-size: 1.5em + font-weight: 700 - .container - padding-left: 20px + & > .container:first-child > .item.yah:first-child > .title:first-child + margin-left: -20px !important .item overflow: hidden @@ -583,7 +549,6 @@ section a.item > .title color: black - padding-left: 0 &:hover color: $blue @@ -618,6 +583,12 @@ section opacity: 1 +dt + margin-bottom: 8px + +dd + margin-bottom: 16px + .pi-pushmenu display: none position: fixed @@ -720,7 +691,6 @@ section #docsContent position: relative float: right - //width: calc(100% - 400px) width: 100% $toc-margin: 15px @@ -736,14 +706,6 @@ section padding-bottom: 10px border-bottom: 1px solid #cccccc - &:before - content: '' - display: block - height: 100px - margin-top: -100px - background-color: red - visibility: hidden - h1 font-size: 32px padding-right: 60px @@ -762,7 +724,7 @@ section font-weight: 500 p - font-size: 16px + font-size: 14px font-weight: 300 line-height: 1.25em @@ -876,9 +838,9 @@ section white-space: nowrap text-indent: 50px overflow: hidden - background: $blue url(../images/pencil.png) no-repeat - background-position: 1px 1px - background-size: auto + background: $blue url(/images/icon-pencil.svg) no-repeat + background-position: 12px 10px + background-size: 29px 29px #markdown-toc margin-bottom: 20px @@ -960,7 +922,7 @@ $feature-box-div-margin-bottom: 40px #home &.flip-nav, &.open-nav .logo - background-image: url(../images/nav_logo2.svg) + background-image: url(/images/nav_logo2.svg) #hero margin-bottom: 0 @@ -979,8 +941,12 @@ $feature-box-div-margin-bottom: 40px padding-top: $ocean-nodes-padding-Y padding-bottom: $ocean-nodes-padding-Y + a + color: $blue + main margin-bottom: $ocean-nodes-padding-Y + min-height: 160px .image-wrapper max-width: 75% @@ -1009,7 +975,7 @@ $feature-box-div-margin-bottom: 40px #video width: 100% position: relative - background-image: url(../images/kub_video_thm.jpg) + background-image: url(/images/kub_video_thm.jpg) background-position: center center background-size: cover @@ -1114,7 +1080,7 @@ $feature-box-div-margin-bottom: 40px #features padding-top: 140px background-color: $light-grey - background-image: url(../images/wheel.png) + background-image: url(/images/wheel.png) background-position: center 60px background-repeat: no-repeat background-size: auto @@ -1154,7 +1120,7 @@ $feature-box-div-margin-bottom: 40px #community &.open-nav, &.flip-nav .logo - background-image: url(../images/nav_logo2.svg) + background-image: url(/images/nav_logo2.svg) #hero padding-bottom: 20px @@ -1205,6 +1171,30 @@ $feature-box-div-margin-bottom: 40px width: 100% height: 100% +// Tabs +.ui-widget-header + background: transparent !important + background-color: transparent !important + border: 0px !important + +.ui-tabs + ul, ol, li + padding: 0px !important + list-style: none !important + margin-bottom: 0px !important + margin-left: 1px !important + +.ui-widget-content + border: 0px !important + +.ui-widget-content + table + margin: 0px !important + +.ui-tabs .ui-tabs-panel + padding: 0px !important + border: 1px solid #ccc !important + // Talk to us #talkToUs h3, h4 @@ -1233,16 +1223,16 @@ $feature-box-div-margin-bottom: 40px background-repeat: no-repeat div:nth-child(1) - background-image: url(../images/twitter_icon.png) + background-image: url(/images/twitter_icon.png) div:nth-child(2) - background-image: url(../images/github_icon.png) + background-image: url(/images/github_icon.png) div:nth-child(3) - background-image: url(../images/slack_icon.png) + background-image: url(/images/slack_icon.png) div:nth-child(4) - background-image: url(../images/stackoverflow_icon.png) + background-image: url(/images/stackoverflow_icon.png) div + div margin-top: 20px @@ -1270,10 +1260,10 @@ $feature-box-div-margin-bottom: 40px padding-top: 125px div:nth-child(1) - background-image: url(../images/community_logos/viacom_logo.png) + background-image: url(/images/community_logos/viacom_logo.png) div:nth-child(2) - background-image: url(../images/community_logos/ebay_logo.png) + background-image: url(/images/community_logos/ebay_logo.png) div:nth-child(3) - background-image: url(../images/community_logos/wikimedia_foundation_logo.png) + background-image: url(/images/community_logos/wikimedia_foundation_logo.png) \ No newline at end of file diff --git a/_sass/_desktop.sass b/_sass/_desktop.sass index 21f21be1ee..2574b96811 100644 --- a/_sass/_desktop.sass +++ b/_sass/_desktop.sass @@ -66,6 +66,7 @@ $video-section-height: 550px #encyclopedia padding: 50px 50px 20px 20px + clear: both #docsToc position: relative @@ -88,20 +89,33 @@ $video-section-height: 550px main max-width: $main-max-width + #home + section, header, footer + main + max-width: 1000px + #oceanNodes main position: relative - max-width: $main-max-width + max-width: 830px &:nth-child(1) + max-width: 1000px + padding-right: 475px + + h3, p + text-align: left .image-wrapper position: absolute max-width: 48% transform: translateY(-50%) - .content - width: 50% + img + max-width: 425px + + //.content + // width: 50% #video @@ -165,30 +179,6 @@ $video-section-height: 550px div:last-child float: right - //.social - // position: relative - // margin: 20px 0 - // - // a - // float: left - // - // a + a - // margin-left: 10px - // - // label - // float: right - // width: auto - // display: inline-block - // height: 50px - // line-height: 50px - // font-weight: 100 - // white-space: nowrap - // - // input - // margin-left: 8px - // max-width: none - - #search, #wishField background-color: transparent padding: 10px diff --git a/_sass/_tablet.sass b/_sass/_tablet.sass index a139308695..c09385c683 100644 --- a/_sass/_tablet.sass +++ b/_sass/_tablet.sass @@ -68,6 +68,25 @@ $feature-box-div-width: 45% @media screen and (min-width: 750px) @import "size" + p + font-size: 16px + line-height: 24px + letter-spacing: 0.1px + + h1 + font-size: 36px + line-height: 44px + + h3 + font-size: 28px + line-height: 36px + + h4 + font-size: 24px + line-height: 40px + + + #home #viewDocs, #tryKubernetes display: inline-block @@ -95,10 +114,17 @@ $feature-box-div-width: 45% #oceanNodes h3 text-align: left + margin-bottom: 18px main position: relative clear: both + display: table + + .content + display: table-cell + position: relative + vertical-align: middle .image-wrapper position: absolute @@ -108,28 +134,33 @@ $feature-box-div-width: 45% transform: translateY(-50%) &:nth-child(odd) - .content - padding-right: 30% + padding-right: 210px .image-wrapper right: 0 &:nth-child(even) - .content - padding-left: 30% + padding-left: 210px .image-wrapper left: 0 &:nth-child(1) - .content - padding-right: 0 + padding-right: 0 + + h3, p + text-align: center .image-wrapper position: relative + display: block + float: none max-width: 100% transform: none + .content + display: block + img width: 100% @@ -148,6 +179,8 @@ $feature-box-div-width: 45% padding-bottom: 60px .feature-box + margin-bottom: 30px + &:last-child margin-bottom: 0 @@ -155,8 +188,6 @@ $feature-box-div-width: 45% margin-bottom: $features-h3-margin-bottom .feature-box - margin-bottom: $feature-box-margin-bottom - & > div width: $feature-box-div-width margin-bottom: $feature-box-div-margin-bottom diff --git a/css/jquery-ui.min.css b/css/jquery-ui.min.css new file mode 100644 index 0000000000..f13bef32a4 --- /dev/null +++ b/css/jquery-ui.min.css @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.11.4 - 2016-03-15 +* http://jqueryui.com +* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, menu.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#2b2b2b;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("/images/jquery-ui/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("/images/jquery-ui/ui-icons_444444_256x240.png")}.ui-state-default .ui-icon{background-image:url("/images/jquery-ui/ui-icons_777777_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("/images/jquery-ui/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon{background-image:url("/images/jquery-ui/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("/images/jquery-ui/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("/images/jquery-ui/ui-icons_cc0000_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:0 0 0 0;padding:5px;background:#666;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} \ No newline at end of file diff --git a/css/jquery-ui.structure.min.css b/css/jquery-ui.structure.min.css new file mode 100644 index 0000000000..92f0049af2 --- /dev/null +++ b/css/jquery-ui.structure.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.11.4 - 2016-03-13 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px} \ No newline at end of file diff --git a/css/jquery-ui.theme.min.css b/css/jquery-ui.theme.min.css new file mode 100644 index 0000000000..a7e0b94f99 --- /dev/null +++ b/css/jquery-ui.theme.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.11.4 - 2016-03-15 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#2b2b2b;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("/images/jquery-ui/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("/images/jquery-ui/ui-icons_444444_256x240.png")}.ui-state-default .ui-icon{background-image:url("/images/jquery-ui/ui-icons_777777_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("/images/jquery-ui/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon{background-image:url("/images/jquery-ui/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("/images/jquery-ui/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("/images/jquery-ui/ui-icons_cc0000_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:0 0 0 0;padding:5px;background:#666;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} \ No newline at end of file diff --git a/css/sweetalert.css b/css/sweetalert.css new file mode 100644 index 0000000000..fbccd7302f --- /dev/null +++ b/css/sweetalert.css @@ -0,0 +1,934 @@ +body.stop-scrolling { + height: 100%; + overflow: hidden; } + +.sweet-overlay { + background-color: black; + /* IE8 */ + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + /* IE8 */ + background-color: rgba(0, 0, 0, 0.4); + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + display: none; + z-index: 10000; } + +.sweet-alert { + background-color: white; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + width: 478px; + padding: 17px; + border-radius: 5px; + text-align: left; + position: fixed; + left: 50%; + top: 50%; + margin-left: -256px; + margin-top: -200px; + overflow: hidden; + display: none; + z-index: 99999; } + @media all and (max-width: 540px) { + .sweet-alert { + width: auto; + margin-left: 0; + margin-right: 0; + left: 15px; + right: 15px; } } + .sweet-alert h2 { + color: #575757; + font-size: 30px; + text-align: center; + font-weight: 600; + text-transform: none; + position: relative; + margin: 25px 0; + padding: 0; + line-height: 40px; + display: block; } + .sweet-alert p { + color: #797979; + font-size: 16px; + text-align: left; + font-weight: 300; + position: relative; + text-align: inherit; + float: none; + margin: 0; + padding: 0; + padding-left: 10px !important; + font-family: courier,monospace; + line-height: normal; } + .sweet-alert fieldset { + border: none; + position: relative; } + .sweet-alert .sa-error-container { + background-color: #f1f1f1; + margin-left: -17px; + margin-right: -17px; + overflow: hidden; + padding: 0 10px; + max-height: 0; + webkit-transition: padding 0.15s, max-height 0.15s; + transition: padding 0.15s, max-height 0.15s; } + .sweet-alert .sa-error-container.show { + padding: 10px 0; + max-height: 100px; + webkit-transition: padding 0.2s, max-height 0.2s; + transition: padding 0.25s, max-height 0.25s; } + .sweet-alert .sa-error-container .icon { + display: inline-block; + width: 24px; + height: 24px; + border-radius: 50%; + background-color: #ea7d7d; + color: white; + line-height: 24px; + text-align: center; + margin-right: 3px; } + .sweet-alert .sa-error-container p { + display: inline-block; } + .sweet-alert .sa-input-error { + position: absolute; + top: 29px; + right: 26px; + width: 20px; + height: 20px; + opacity: 0; + -webkit-transform: scale(0.5); + transform: scale(0.5); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: all 0.1s; + transition: all 0.1s; } + .sweet-alert .sa-input-error::before, .sweet-alert .sa-input-error::after { + content: ""; + width: 20px; + height: 6px; + background-color: #f06e57; + border-radius: 3px; + position: absolute; + top: 50%; + margin-top: -4px; + left: 50%; + margin-left: -9px; } + .sweet-alert .sa-input-error::before { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-input-error::after { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-input-error.show { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); } + .sweet-alert input { + width: 100%; + box-sizing: border-box; + border-radius: 3px; + border: 1px solid #d7d7d7; + height: 43px; + margin-top: 10px; + margin-bottom: 17px; + font-size: 18px; + box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.06); + padding: 0 12px; + display: none; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .sweet-alert input:focus { + outline: none; + box-shadow: 0px 0px 3px #c4e6f5; + border: 1px solid #b4dbed; } + .sweet-alert input:focus::-moz-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input:focus:-ms-input-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input:focus::-webkit-input-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input::-moz-placeholder { + color: #bdbdbd; } + .sweet-alert input:-ms-input-placeholder { + color: #bdbdbd; } + .sweet-alert input::-webkit-input-placeholder { + color: #bdbdbd; } + .sweet-alert.show-input input { + display: block; } + .sweet-alert .sa-confirm-button-container { + display: inline-block; + position: relative; } + .sweet-alert .la-ball-fall { + position: absolute; + left: 50%; + top: 50%; + margin-left: -27px; + margin-top: 4px; + opacity: 0; + visibility: hidden; } + .sweet-alert button { + background-color: #8CD4F5; + color: white; + border: none; + box-shadow: none; + font-size: 17px; + font-weight: 500; + -webkit-border-radius: 4px; + border-radius: 5px; + padding: 10px 32px; + margin: 26px 5px 0 5px; + cursor: pointer; } + .sweet-alert button:focus { + outline: none; + box-shadow: 0 0 2px rgba(128, 179, 235, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.05); } + .sweet-alert button:hover { + background-color: #7ecff4; } + .sweet-alert button:active { + background-color: #5dc2f1; } + .sweet-alert button.cancel { + background-color: #C1C1C1; } + .sweet-alert button.cancel:hover { + background-color: #b9b9b9; } + .sweet-alert button.cancel:active { + background-color: #a8a8a8; } + .sweet-alert button.cancel:focus { + box-shadow: rgba(197, 205, 211, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.0470588) 0px 0px 0px 1px inset !important; } + .sweet-alert button[disabled] { + opacity: .6; + cursor: default; } + .sweet-alert button.confirm[disabled] { + color: transparent; } + .sweet-alert button.confirm[disabled] ~ .la-ball-fall { + opacity: 1; + visibility: visible; + transition-delay: 0s; } + .sweet-alert button::-moz-focus-inner { + border: 0; } + .sweet-alert[data-has-cancel-button=false] button { + box-shadow: none !important; } + .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] { + padding-bottom: 40px; } + .sweet-alert .sa-icon { + width: 80px; + height: 80px; + border: 4px solid gray; + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + margin: 20px auto; + padding: 0; + position: relative; + box-sizing: content-box; } + .sweet-alert .sa-icon.sa-error { + border-color: #F27474; } + .sweet-alert .sa-icon.sa-error .sa-x-mark { + position: relative; + display: block; } + .sweet-alert .sa-icon.sa-error .sa-line { + position: absolute; + height: 5px; + width: 47px; + background-color: #F27474; + display: block; + top: 37px; + border-radius: 2px; } + .sweet-alert .sa-icon.sa-error .sa-line.sa-left { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + left: 17px; } + .sweet-alert .sa-icon.sa-error .sa-line.sa-right { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + right: 16px; } + .sweet-alert .sa-icon.sa-warning { + border-color: #F8BB86; } + .sweet-alert .sa-icon.sa-warning .sa-body { + position: absolute; + width: 5px; + height: 47px; + left: 50%; + top: 10px; + -webkit-border-radius: 2px; + border-radius: 2px; + margin-left: -2px; + background-color: #F8BB86; } + .sweet-alert .sa-icon.sa-warning .sa-dot { + position: absolute; + width: 7px; + height: 7px; + -webkit-border-radius: 50%; + border-radius: 50%; + margin-left: -3px; + left: 50%; + bottom: 10px; + background-color: #F8BB86; } + .sweet-alert .sa-icon.sa-info { + border-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-info::before { + content: ""; + position: absolute; + width: 5px; + height: 29px; + left: 50%; + bottom: 17px; + border-radius: 2px; + margin-left: -2px; + background-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-info::after { + content: ""; + position: absolute; + width: 7px; + height: 7px; + border-radius: 50%; + margin-left: -3px; + top: 19px; + background-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-success { + border-color: #A5DC86; } + .sweet-alert .sa-icon.sa-success::before, .sweet-alert .sa-icon.sa-success::after { + content: ''; + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + position: absolute; + width: 60px; + height: 120px; + background: white; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-icon.sa-success::before { + -webkit-border-radius: 120px 0 0 120px; + border-radius: 120px 0 0 120px; + top: -7px; + left: -33px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + -webkit-transform-origin: 60px 60px; + transform-origin: 60px 60px; } + .sweet-alert .sa-icon.sa-success::after { + -webkit-border-radius: 0 120px 120px 0; + border-radius: 0 120px 120px 0; + top: -11px; + left: 30px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + -webkit-transform-origin: 0px 60px; + transform-origin: 0px 60px; } + .sweet-alert .sa-icon.sa-success .sa-placeholder { + width: 80px; + height: 80px; + border: 4px solid rgba(165, 220, 134, 0.2); + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + box-sizing: content-box; + position: absolute; + left: -4px; + top: -4px; + z-index: 2; } + .sweet-alert .sa-icon.sa-success .sa-fix { + width: 5px; + height: 90px; + background-color: white; + position: absolute; + left: 28px; + top: 8px; + z-index: 1; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-icon.sa-success .sa-line { + height: 5px; + background-color: #A5DC86; + display: block; + border-radius: 2px; + position: absolute; + z-index: 2; } + .sweet-alert .sa-icon.sa-success .sa-line.sa-tip { + width: 25px; + left: 14px; + top: 46px; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-icon.sa-success .sa-line.sa-long { + width: 47px; + right: 8px; + top: 38px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-icon.sa-custom { + background-size: contain; + border-radius: 0; + border: none; + background-position: center center; + background-repeat: no-repeat; } + +/* + * Animations + */ +@-webkit-keyframes showSweetAlert { + 0% { + transform: scale(0.7); + -webkit-transform: scale(0.7); } + 45% { + transform: scale(1.05); + -webkit-transform: scale(1.05); } + 80% { + transform: scale(0.95); + -webkit-transform: scale(0.95); } + 100% { + transform: scale(1); + -webkit-transform: scale(1); } } + +@keyframes showSweetAlert { + 0% { + transform: scale(0.7); + -webkit-transform: scale(0.7); } + 45% { + transform: scale(1.05); + -webkit-transform: scale(1.05); } + 80% { + transform: scale(0.95); + -webkit-transform: scale(0.95); } + 100% { + transform: scale(1); + -webkit-transform: scale(1); } } + +@-webkit-keyframes hideSweetAlert { + 0% { + transform: scale(1); + -webkit-transform: scale(1); } + 100% { + transform: scale(0.5); + -webkit-transform: scale(0.5); } } + +@keyframes hideSweetAlert { + 0% { + transform: scale(1); + -webkit-transform: scale(1); } + 100% { + transform: scale(0.5); + -webkit-transform: scale(0.5); } } + +@-webkit-keyframes slideFromTop { + 0% { + top: 0%; } + 100% { + top: 50%; } } + +@keyframes slideFromTop { + 0% { + top: 0%; } + 100% { + top: 50%; } } + +@-webkit-keyframes slideToTop { + 0% { + top: 50%; } + 100% { + top: 0%; } } + +@keyframes slideToTop { + 0% { + top: 50%; } + 100% { + top: 0%; } } + +@-webkit-keyframes slideFromBottom { + 0% { + top: 70%; } + 100% { + top: 50%; } } + +@keyframes slideFromBottom { + 0% { + top: 70%; } + 100% { + top: 50%; } } + +@-webkit-keyframes slideToBottom { + 0% { + top: 50%; } + 100% { + top: 70%; } } + +@keyframes slideToBottom { + 0% { + top: 50%; } + 100% { + top: 70%; } } + +.showSweetAlert[data-animation=pop] { + -webkit-animation: showSweetAlert 0.3s; + animation: showSweetAlert 0.3s; } + +.showSweetAlert[data-animation=none] { + -webkit-animation: none; + animation: none; } + +.showSweetAlert[data-animation=slide-from-top] { + -webkit-animation: slideFromTop 0.3s; + animation: slideFromTop 0.3s; } + +.showSweetAlert[data-animation=slide-from-bottom] { + -webkit-animation: slideFromBottom 0.3s; + animation: slideFromBottom 0.3s; } + +.hideSweetAlert[data-animation=pop] { + -webkit-animation: hideSweetAlert 0.2s; + animation: hideSweetAlert 0.2s; } + +.hideSweetAlert[data-animation=none] { + -webkit-animation: none; + animation: none; } + +.hideSweetAlert[data-animation=slide-from-top] { + -webkit-animation: slideToTop 0.4s; + animation: slideToTop 0.4s; } + +.hideSweetAlert[data-animation=slide-from-bottom] { + -webkit-animation: slideToBottom 0.3s; + animation: slideToBottom 0.3s; } + +@-webkit-keyframes animateSuccessTip { + 0% { + width: 0; + left: 1px; + top: 19px; } + 54% { + width: 0; + left: 1px; + top: 19px; } + 70% { + width: 50px; + left: -8px; + top: 37px; } + 84% { + width: 17px; + left: 21px; + top: 48px; } + 100% { + width: 25px; + left: 14px; + top: 45px; } } + +@keyframes animateSuccessTip { + 0% { + width: 0; + left: 1px; + top: 19px; } + 54% { + width: 0; + left: 1px; + top: 19px; } + 70% { + width: 50px; + left: -8px; + top: 37px; } + 84% { + width: 17px; + left: 21px; + top: 48px; } + 100% { + width: 25px; + left: 14px; + top: 45px; } } + +@-webkit-keyframes animateSuccessLong { + 0% { + width: 0; + right: 46px; + top: 54px; } + 65% { + width: 0; + right: 46px; + top: 54px; } + 84% { + width: 55px; + right: 0px; + top: 35px; } + 100% { + width: 47px; + right: 8px; + top: 38px; } } + +@keyframes animateSuccessLong { + 0% { + width: 0; + right: 46px; + top: 54px; } + 65% { + width: 0; + right: 46px; + top: 54px; } + 84% { + width: 55px; + right: 0px; + top: 35px; } + 100% { + width: 47px; + right: 8px; + top: 38px; } } + +@-webkit-keyframes rotatePlaceholder { + 0% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 5% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 12% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } + 100% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } } + +@keyframes rotatePlaceholder { + 0% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 5% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 12% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } + 100% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } } + +.animateSuccessTip { + -webkit-animation: animateSuccessTip 0.75s; + animation: animateSuccessTip 0.75s; } + +.animateSuccessLong { + -webkit-animation: animateSuccessLong 0.75s; + animation: animateSuccessLong 0.75s; } + +.sa-icon.sa-success.animate::after { + -webkit-animation: rotatePlaceholder 4.25s ease-in; + animation: rotatePlaceholder 4.25s ease-in; } + +@-webkit-keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg); + -webkit-transform: rotateX(100deg); + opacity: 0; } + 100% { + transform: rotateX(0deg); + -webkit-transform: rotateX(0deg); + opacity: 1; } } + +@keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg); + -webkit-transform: rotateX(100deg); + opacity: 0; } + 100% { + transform: rotateX(0deg); + -webkit-transform: rotateX(0deg); + opacity: 1; } } + +.animateErrorIcon { + -webkit-animation: animateErrorIcon 0.5s; + animation: animateErrorIcon 0.5s; } + +@-webkit-keyframes animateXMark { + 0% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 50% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 80% { + transform: scale(1.15); + -webkit-transform: scale(1.15); + margin-top: -6px; } + 100% { + transform: scale(1); + -webkit-transform: scale(1); + margin-top: 0; + opacity: 1; } } + +@keyframes animateXMark { + 0% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 50% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 80% { + transform: scale(1.15); + -webkit-transform: scale(1.15); + margin-top: -6px; } + 100% { + transform: scale(1); + -webkit-transform: scale(1); + margin-top: 0; + opacity: 1; } } + +.animateXMark { + -webkit-animation: animateXMark 0.5s; + animation: animateXMark 0.5s; } + +@-webkit-keyframes pulseWarning { + 0% { + border-color: #F8D486; } + 100% { + border-color: #F8BB86; } } + +@keyframes pulseWarning { + 0% { + border-color: #F8D486; } + 100% { + border-color: #F8BB86; } } + +.pulseWarning { + -webkit-animation: pulseWarning 0.75s infinite alternate; + animation: pulseWarning 0.75s infinite alternate; } + +@-webkit-keyframes pulseWarningIns { + 0% { + background-color: #F8D486; } + 100% { + background-color: #F8BB86; } } + +@keyframes pulseWarningIns { + 0% { + background-color: #F8D486; } + 100% { + background-color: #F8BB86; } } + +.pulseWarningIns { + -webkit-animation: pulseWarningIns 0.75s infinite alternate; + animation: pulseWarningIns 0.75s infinite alternate; } + +@-webkit-keyframes rotate-loading { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); } } + +@keyframes rotate-loading { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); } } + +/* Internet Explorer 9 has some special quirks that are fixed here */ +/* The icons are not animated. */ +/* This file is automatically merged into sweet-alert.min.js through Gulp */ +/* Error icon */ +.sweet-alert .sa-icon.sa-error .sa-line.sa-left { + -ms-transform: rotate(45deg) \9; } + +.sweet-alert .sa-icon.sa-error .sa-line.sa-right { + -ms-transform: rotate(-45deg) \9; } + +/* Success icon */ +.sweet-alert .sa-icon.sa-success { + border-color: transparent\9; } + +.sweet-alert .sa-icon.sa-success .sa-line.sa-tip { + -ms-transform: rotate(45deg) \9; } + +.sweet-alert .sa-icon.sa-success .sa-line.sa-long { + -ms-transform: rotate(-45deg) \9; } + +/*! + * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/) + * Copyright 2015 Daniel Cardoso <@DanielCardoso> + * Licensed under MIT + */ +.la-ball-fall, +.la-ball-fall > div { + position: relative; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.la-ball-fall { + display: block; + font-size: 0; + color: #fff; } + +.la-ball-fall.la-dark { + color: #333; } + +.la-ball-fall > div { + display: inline-block; + float: none; + background-color: currentColor; + border: 0 solid currentColor; } + +.la-ball-fall { + width: 54px; + height: 18px; } + +.la-ball-fall > div { + width: 10px; + height: 10px; + margin: 4px; + border-radius: 100%; + opacity: 0; + -webkit-animation: ball-fall 1s ease-in-out infinite; + -moz-animation: ball-fall 1s ease-in-out infinite; + -o-animation: ball-fall 1s ease-in-out infinite; + animation: ball-fall 1s ease-in-out infinite; } + +.la-ball-fall > div:nth-child(1) { + -webkit-animation-delay: -200ms; + -moz-animation-delay: -200ms; + -o-animation-delay: -200ms; + animation-delay: -200ms; } + +.la-ball-fall > div:nth-child(2) { + -webkit-animation-delay: -100ms; + -moz-animation-delay: -100ms; + -o-animation-delay: -100ms; + animation-delay: -100ms; } + +.la-ball-fall > div:nth-child(3) { + -webkit-animation-delay: 0ms; + -moz-animation-delay: 0ms; + -o-animation-delay: 0ms; + animation-delay: 0ms; } + +.la-ball-fall.la-sm { + width: 26px; + height: 8px; } + +.la-ball-fall.la-sm > div { + width: 4px; + height: 4px; + margin: 2px; } + +.la-ball-fall.la-2x { + width: 108px; + height: 36px; } + +.la-ball-fall.la-2x > div { + width: 20px; + height: 20px; + margin: 8px; } + +.la-ball-fall.la-3x { + width: 162px; + height: 54px; } + +.la-ball-fall.la-3x > div { + width: 30px; + height: 30px; + margin: 12px; } + +/* + * Animation + */ +@-webkit-keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + transform: translateY(145%); } } + +@-moz-keyframes ball-fall { + 0% { + opacity: 0; + -moz-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -moz-transform: translateY(145%); + transform: translateY(145%); } } + +@-o-keyframes ball-fall { + 0% { + opacity: 0; + -o-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -o-transform: translateY(145%); + transform: translateY(145%); } } + +@keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + -moz-transform: translateY(-145%); + -o-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + -moz-transform: translateY(145%); + -o-transform: translateY(145%); + transform: translateY(145%); } } diff --git a/docs/admin/authentication.md b/docs/admin/authentication.md index e59ba6fee5..5a1848ad99 100644 --- a/docs/admin/authentication.md +++ b/docs/admin/authentication.md @@ -59,7 +59,7 @@ with a value of `Basic BASE64ENCODED(USER:PASSWORD)`. **Keystone authentication** is enabled by passing the `--experimental-keystone-url=` option to the apiserver during startup. The plugin is implemented in -`plugin/pkg/auth/authenticator/request/keystone/keystone.go`. +`plugin/pkg/auth/authenticator/password/keystone/keystone.go`. For details on how to use keystone to manage projects and users, refer to the [Keystone documentation](http://docs.openstack.org/developer/keystone/). Please note that this plugin is still experimental which means it is subject to changes. @@ -131,5 +131,3 @@ into apiserver start parameters. 1. View the certificate. `openssl x509 -noout -text -in ./server.crt` Finally, do not forget fill the same parameters and add parameters into apiserver start parameters. - - diff --git a/docs/admin/authorization.md b/docs/admin/authorization.md index 5442aeb726..2571fb94a8 100644 --- a/docs/admin/authorization.md +++ b/docs/admin/authorization.md @@ -161,6 +161,14 @@ users: user: client-certificate: /path/to/cert.pem # cert for the webhook plugin to use client-key: /path/to/key.pem # key matching the cert + +# kubeconfig files require a context. Provide one for the API Server. +current-context: webhook +contexts: +- context: + cluster: name-of-remote-authz-service + user: name-of-api-sever + name: webhook ``` ### Request Payloads diff --git a/docs/admin/cluster-components.md b/docs/admin/cluster-components.md index bde4d5334f..57556282bc 100644 --- a/docs/admin/cluster-components.md +++ b/docs/admin/cluster-components.md @@ -44,15 +44,11 @@ process. These controllers include: -* Node Controller - * Responsible for noticing & responding when nodes go down. -* Replication Controller - * Responsible for maintaining the correct number of pods for every replication - controller object in the system. -* Endpoints Controller - * Populates the Endpoints object (i.e., join Services & Pods). -* Service Account & Token Controllers - * Create default accounts and API access tokens for new namespaces. +* Node Controller: Responsible for noticing & responding when nodes go down. +* Replication Controller: Responsible for maintaining the correct number of pods for every replication + controller object in the system. +* Endpoints Controller: Populates the Endpoints object (i.e., join Services & Pods). +* Service Account & Token Controllers: Create default accounts and API access tokens for new namespaces. * ... and others. ### kube-scheduler @@ -72,7 +68,7 @@ Addon objects are created in the "kube-system" namespace. #### DNS While the other addons are not strictly required, all Kubernetes -clusters should have [cluster DNS](dns.md), as many examples rely on it. +clusters should have [cluster DNS](/docs/admin/dns/), as many examples rely on it. Cluster DNS is a DNS server, in addition to the other DNS server(s) in your environment, which serves DNS records for Kubernetes services. @@ -110,14 +106,15 @@ the Kubernetes runtime environment. ### kubelet [kubelet](/docs/admin/kubelet) is the primary node agent. It: + * Watches for pods that have been assigned to its node (either by apiserver or via local configuration file) and: - * Mounts the pod's required volumes - * Downloads the pod's secrets - * Run the pod's containers via docker (or, experimentally, rkt). - * Periodically executes any requested container liveness probes. - * Reports the status of the pod back to the rest of the system, by creating a - "mirror pod" if necessary. +* Mounts the pod's required volumes +* Downloads the pod's secrets +* Run the pod's containers via docker (or, experimentally, rkt). +* Periodically executes any requested container liveness probes. +* Reports the status of the pod back to the rest of the system, by creating a + "mirror pod" if necessary. * Reports the status of the node back to the rest of the system. ### kube-proxy diff --git a/docs/admin/cluster-large.md b/docs/admin/cluster-large.md index d2a208cf84..be05cb627f 100644 --- a/docs/admin/cluster-large.md +++ b/docs/admin/cluster-large.md @@ -1,18 +1,18 @@ ---- ---- +--- +--- ## Support At {{page.version}}, Kubernetes supports clusters with up to 1000 nodes. More specifically, we support configurations that meet *all* of the following criteria: -* No more than 1000 nodes +* No more than 1000 nodes * No more than 30000 total pods -* No more than 60000 total containers -* No more than 100 pods per node - -* TOC -{:toc} +* No more than 60000 total containers +* No more than 100 pods per node + +* TOC +{:toc} ## Setup @@ -26,8 +26,8 @@ When setting up a large Kubernetes cluster, the following issues must be conside ### Quota Issues -To avoid running into cloud provider quota issues, when creating a cluster with many nodes, consider: - +To avoid running into cloud provider quota issues, when creating a cluster with many nodes, consider: + * Increase the quota for things like CPU, IPs, etc. * In [GCE, for example,](https://cloud.google.com/compute/docs/resource-quotas) you'll want to increase the quota for: * CPUs @@ -40,35 +40,58 @@ To avoid running into cloud provider quota issues, when creating a cluster with * Target pools * Gating the setup script so that it brings up new node VMs in smaller batches with waits in between, because some cloud providers rate limit the creation of VMs. -### Etcd storage - -To improve performance of large clusters, we store events in a separate dedicated etcd instance. - -When creating a cluster, existing salt scripts: - -* start and configure additional etcd instance -* configure api-server to use it for storing events - +### Etcd storage + +To improve performance of large clusters, we store events in a separate dedicated etcd instance. + +When creating a cluster, existing salt scripts: + +* start and configure additional etcd instance +* configure api-server to use it for storing events + +### Size of master and master components + +On GCE/GKE and AWS, `kube-up` automatically configures the proper VM size for your master depending on the number of nodes +in your cluster. On other providers, you will need to configure it manually. For reference, the sizes we use on GCE are + +* 1-5 nodes: n1-standard-1 +* 6-10 nodes: n1-standard-2 +* 11-100 nodes: n1-standard-4 +* 101-250 nodes: n1-standard-8 +* 251-500 nodes: n1-standard-16 +* more than 500 nodes: n1-standard-32 + +And the sizes we use on AWS are + +* 1-5 nodes: m3.medium +* 6-10 nodes: m3.large +* 11-100 nodes: m3.xlarge +* 101-250 nodes: m3.2xlarge +* 251-500 nodes: c4.4xlarge +* more than 500 nodes: c4.8xlarge + +Note that these master node sizes are currently only set at cluster startup time, and are not adjusted if you later scale your cluster up or down (e.g. manually removing or adding nodes, or using a cluster autoscaler). + ### Addon Resources To prevent memory leaks or other resource issues in [cluster addons](https://releases.k8s.io/{{page.githubbranch}}/cluster/addons) from consuming all the resources available on a node, Kubernetes sets resource limits on addon containers to limit the CPU and Memory resources they can consume (See PR [#10653](http://pr.k8s.io/10653/files) and [#10778](http://pr.k8s.io/10778/files)). For [example](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml): -```yaml +```yaml containers: - - name: fluentd-cloud-logging + - name: fluentd-cloud-logging image: gcr.io/google_containers/fluentd-gcp:1.16 resources: limits: cpu: 100m memory: 200Mi -``` - +``` + Except for Heapster, these limits are static and are based on data we collected from addons running on 4-node clusters (see [#10335](http://issue.k8s.io/10335#issuecomment-117861225)). The addons consume a lot more resources when running on large deployment clusters (see [#5880](http://issue.k8s.io/5880#issuecomment-113984085)). So, if a large cluster is deployed without adjusting these values, the addons may continuously get killed because they keep hitting the limits. -To avoid running into cluster addon resource issues, when creating a cluster with many nodes, consider the following: - +To avoid running into cluster addon resource issues, when creating a cluster with many nodes, consider the following: + * Scale memory and CPU limits for each of the following addons, if used, as you scale up the size of cluster (there is one replica of each handling the entire cluster so memory and CPU usage tends to grow proportionally with size/load on cluster): * [InfluxDB and Grafana](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/cluster-monitoring/influxdb/influxdb-grafana-controller.yaml) * [skydns, kube2sky, and dns etcd](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/dns/skydns-rc.yaml.in) @@ -79,20 +102,21 @@ To avoid running into cluster addon resource issues, when creating a cluster wit * [FluentD with ElasticSearch Plugin](http://releases.k8s.io/{{page.githubbranch}}/cluster/saltbase/salt/fluentd-es/fluentd-es.yaml) * [FluentD with GCP Plugin](http://releases.k8s.io/{{page.githubbranch}}/cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml) -Heapster's resource limits are set dynamically based on the initial size of your cluster (see [#16185](http://issue.k8s.io/16185) and [#21258](http://issue.k8s.io/21258)). If you find that Heapster is running -out of resources, you should adjust the formulas that compute heapster memory request (see those PRs for details). - -For directions on how to detect if addon containers are hitting resource limits, see the [Troubleshooting section of Compute Resources](/docs/user-guide/compute-resources/#troubleshooting). - -In the [future](http://issue.k8s.io/13048), we anticipate to set all cluster addon resource limits based on cluster size, and to dynamically adjust them if you grow or shrink your cluster. -We welcome PRs that implement those features. - -### Allowing minor node failure at startup - -For various reasons (see [#18969](https://github.com/kubernetes/kubernetes/issues/18969) for more details) running -`kube-up.sh` with a very large `NUM_NODES` may fail due to a very small number of nodes not coming up properly. -Currently you have two choices: restart the cluster (`kube-down.sh` and then `kube-up.sh` again), or before -running `kube-up.sh` set the environment variable `ALLOWED_NOTREADY_NODES` to whatever value you feel comfortable -with. This will allow `kube-up.sh` to succeed with fewer than `NUM_NODES` coming up. Depending on the -reason for the failure, those additional nodes may join later or the cluster may remain at a size of -`NUM_NODES - ALLOWED_NOTREADY_NODES`. +Heapster's resource limits are set dynamically based on the initial size of your cluster (see [#16185](http://issue.k8s.io/16185) +and [#22940](http://issue.k8s.io/22940)). If you find that Heapster is running +out of resources, you should adjust the formulas that compute heapster memory request (see those PRs for details). + +For directions on how to detect if addon containers are hitting resource limits, see the [Troubleshooting section of Compute Resources](/docs/user-guide/compute-resources/#troubleshooting). + +In the [future](http://issue.k8s.io/13048), we anticipate to set all cluster addon resource limits based on cluster size, and to dynamically adjust them if you grow or shrink your cluster. +We welcome PRs that implement those features. + +### Allowing minor node failure at startup + +For various reasons (see [#18969](https://github.com/kubernetes/kubernetes/issues/18969) for more details) running +`kube-up.sh` with a very large `NUM_NODES` may fail due to a very small number of nodes not coming up properly. +Currently you have two choices: restart the cluster (`kube-down.sh` and then `kube-up.sh` again), or before +running `kube-up.sh` set the environment variable `ALLOWED_NOTREADY_NODES` to whatever value you feel comfortable +with. This will allow `kube-up.sh` to succeed with fewer than `NUM_NODES` coming up. Depending on the +reason for the failure, those additional nodes may join later or the cluster may remain at a size of +`NUM_NODES - ALLOWED_NOTREADY_NODES`. diff --git a/docs/admin/daemons.md b/docs/admin/daemons.md index ce3b4aaba5..f2b5463e8d 100644 --- a/docs/admin/daemons.md +++ b/docs/admin/daemons.md @@ -64,7 +64,7 @@ specified, they are defaulted to be equal. Config with these not matching will Also you should not normally create any pods whose labels match this selector, either directly, via another DaemonSet, or via other controller such as ReplicationController. Otherwise, the DaemonSet controller will think that those pods were created by it. Kubernetes will not stop you from doing -this. Once case where you might want to do this is manually create a pod with a different value on +this. One case where you might want to do this is manually create a pod with a different value on a node for testing. ### Running Pods on Only Some Nodes diff --git a/docs/admin/high-availability.md b/docs/admin/high-availability/index.md similarity index 81% rename from docs/admin/high-availability.md rename to docs/admin/high-availability/index.md index beaf7b1db9..66adcdd1bc 100644 --- a/docs/admin/high-availability.md +++ b/docs/admin/high-availability/index.md @@ -1,13 +1,8 @@ ---- ---- - -## Introduction - -PLEASE NOTE: Note that the podmaster implementation is obsoleted by https://github.com/kubernetes/kubernetes/pull/16830, -which provides a primitive for leader election in the experimental kubernetes API. - -Nevertheless, the concepts and implementation in this document are still valid, as is the podmaster implementation itself. - +--- +--- + +## Introduction + This document describes how to build a high-availability (HA) Kubernetes cluster. This is a fairly advanced topic. Users who merely want to experiment with Kubernetes are encouraged to use configurations that are simpler to set up such as the simple [Docker based single node cluster instructions](/docs/getting-started-guides/docker), @@ -32,10 +27,9 @@ The steps involved are as follows: * [Starting replicated, load balanced Kubernetes API servers](#replicated-api-servers) * [Setting up master-elected Kubernetes scheduler and controller-manager daemons](#master-elected-components) -Here's what the system should look like when it's finished: -![High availability Kubernetes diagram](/images/docs/ha.svg) +Here's what the system should look like when it's finished: -Ready? Let's get started. +![High availability Kubernetes diagram](/images/docs/ha.svg) ## Initial set-up @@ -60,11 +54,11 @@ choices. For example, on systemd-based systems (e.g. RHEL, CentOS), you can run If you are extending from a standard Kubernetes installation, the `kubelet` binary should already be present on your system. You can run `which kubelet` to determine if the binary is in fact installed. If it is not installed, you should install the [kubelet binary](https://storage.googleapis.com/kubernetes-release/release/v0.19.3/bin/linux/amd64/kubelet), the -[kubelet init file](http://releases.k8s.io/{{page.githubbranch}}/cluster/saltbase/salt/kubelet/initd) and [high-availability/default-kubelet](/docs/admin/high-availability/default-kubelet) +[kubelet init file](http://releases.k8s.io/{{page.githubbranch}}/cluster/saltbase/salt/kubelet/initd) and [default-kubelet](/docs/admin/high-availability/default-kubelet) scripts. -If you are using monit, you should also install the monit daemon (`apt-get install monit`) and the [high-availability/monit-kubelet](/docs/admin/high-availability/monit-kubelet) and -[high-availability/monit-docker](/docs/admin/high-availability/monit-docker) configs. +If you are using monit, you should also install the monit daemon (`apt-get install monit`) and the [monit-kubelet](/docs/admin/high-availability/monit-kubelet) and +[monit-docker](/docs/admin/high-availability/monit-docker) configs. On systemd systems you `systemctl enable kubelet` and `systemctl enable docker`. @@ -187,12 +181,8 @@ them to talk to the external load balancer's IP address. So far we have set up state storage, and we have set up the API server, but we haven't run anything that actually modifies cluster state, such as the controller manager and scheduler. To achieve this reliably, we only want to have one actor modifying state at a time, but we want replicated -instances of these actors, in case a machine dies. To achieve this, we are going to use a lease-lock in etcd to perform -master election. On each of the three apiserver nodes, we run a small utility application named `podmaster`. It's job is to implement a master -election protocol using etcd "compare and swap". If the apiserver node wins the election, it starts the master component it is managing (e.g. the scheduler), if it -loses the election, it ensures that any master components running on the node (e.g. the scheduler) are stopped. - -In the future, we expect to more tightly integrate this lease-locking into the scheduler and controller-manager binaries directly, as described in the [high availability design proposal](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/proposals/high-availability.md) +instances of these actors, in case a machine dies. To achieve this, we are going to use a lease-lock in the API to perform +master election. We will use the `--leader-elect` flag for each scheduler and controller-manager, using a lease in the API will ensure that only 1 instance of the scheduler and controller-manager are running at once. ### Installing configuration files @@ -204,18 +194,7 @@ touch /var/log/kube-controller-manager.log ``` Next, set up the descriptions of the scheduler and controller manager pods on each node. -by copying [kube-scheduler.yaml](/docs/admin/high-availability/kube-scheduler.yaml) and [kube-controller-manager.yaml](/docs/admin/high-availability/kube-controller-manager.yaml) into the `/srv/kubernetes/` directory. - -### Running the podmaster - -Now that the configuration files are in place, copy the [podmaster.yaml](/docs/admin/high-availability/podmaster.yaml) config file into `/etc/kubernetes/manifests/` - -As before, the kubelet on the node monitors this directory, and will start an instance of the podmaster using the pod specification provided in `podmaster.yaml`. - -Now you will have one instance of the scheduler process running on a single master node, and likewise one -controller-manager process running on a single (possibly different) master node. If either of these processes fail, -the kubelet will restart them. If any of these nodes fail, the process will move to a different instance of a master -node. +by copying [kube-scheduler.yaml](/docs/admin/high-availability/kube-scheduler.yaml) and [kube-controller-manager.yaml](/docs/admin/high-availability/kube-controller-manager.yaml) into the `/etc/kubernetes/manifests/` directory. ## Conclusion @@ -225,4 +204,4 @@ If you have an existing cluster, this is as simple as reconfiguring your kubelet restarting the kubelets on each node. If you are turning up a fresh cluster, you will need to install the kubelet and kube-proxy on each worker node, and -set the `--apiserver` flag to your replicated endpoint. +set the `--apiserver` flag to your replicated endpoint. diff --git a/docs/admin/high-availability/kube-controller-manager.yaml b/docs/admin/high-availability/kube-controller-manager.yaml index 736181fc7c..0ecbebb276 100644 --- a/docs/admin/high-availability/kube-controller-manager.yaml +++ b/docs/admin/high-availability/kube-controller-manager.yaml @@ -9,7 +9,7 @@ spec: - -c - /usr/local/bin/kube-controller-manager --master=127.0.0.1:8080 --cluster-name=e2e-test-bburns --cluster-cidr=10.245.0.0/16 --allocate-node-cidrs=true --cloud-provider=gce --service-account-private-key-file=/srv/kubernetes/server.key - --v=2 1>>/var/log/kube-controller-manager.log 2>&1 + --v=2 --leader-elect=true 1>>/var/log/kube-controller-manager.log 2>&1 image: gcr.io/google_containers/kube-controller-manager:fda24638d51a48baa13c35337fcd4793 livenessProbe: httpGet: diff --git a/docs/admin/high-availability/kube-scheduler.yaml b/docs/admin/high-availability/kube-scheduler.yaml index 1b23ee1bb8..9e997cbc47 100644 --- a/docs/admin/high-availability/kube-scheduler.yaml +++ b/docs/admin/high-availability/kube-scheduler.yaml @@ -10,7 +10,7 @@ spec: command: - /bin/sh - -c - - /usr/local/bin/kube-scheduler --master=127.0.0.1:8080 --v=2 1>>/var/log/kube-scheduler.log + - /usr/local/bin/kube-scheduler --master=127.0.0.1:8080 --v=2 --leader-elect=true 1>>/var/log/kube-scheduler.log 2>&1 livenessProbe: httpGet: diff --git a/docs/admin/index.md b/docs/admin/index.md index 95a1aec99a..1fc64186ea 100644 --- a/docs/admin/index.md +++ b/docs/admin/index.md @@ -61,7 +61,7 @@ project](/docs/admin/salt). ## Multi-tenant support -* **Resource Quota** ([resource-quota.md](/docs/admin/resource-quota)) +* **Resource Quota** ([resourcequota/](/docs/admin/resourcequota/)) ## Security diff --git a/docs/admin/kube-apiserver.md b/docs/admin/kube-apiserver.md index f78d83e0fe..43fe66d37c 100644 --- a/docs/admin/kube-apiserver.md +++ b/docs/admin/kube-apiserver.md @@ -1,9 +1,5 @@ --- --- - - - - ## kube-apiserver @@ -40,6 +36,9 @@ kube-apiserver --cloud-provider="": The provider for cloud services. Empty string for no provider. --cors-allowed-origins=[]: List of allowed origins for CORS, comma separated. An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled. --delete-collection-workers=1: Number of workers spawned for DeleteCollection call. These are used to speed up namespace cleanup. + --etcd-cafile="": SSL Certificate Authority file used to secure etcd communication + --etcd-certfile="": SSL certification file used to secure etcd communication + --etcd-keyfile="": SSL key file used to secure etcd communication --etcd-prefix="/registry": The prefix for all resource paths in etcd. --etcd-quorum-read[=false]: If true, enable quorum read --etcd-servers=[]: List of etcd servers to watch (http://ip:port), comma separated. Mutually exclusive with -etcd-config @@ -85,16 +84,4 @@ kube-apiserver --watch-cache-sizes=[]: List of watch cache sizes for every resource (pods, nodes, etc.), comma separated. The individual override format: resource#size, where size is a number. It takes effect when watch-cache is enabled. ``` -###### Auto generated by spf13/cobra on 24-Feb-2016 - - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/admin/kube-apiserver.md?pixel)]() - +###### Auto generated by spf13/cobra on 6-Mar-2016 diff --git a/docs/admin/kube-controller-manager.md b/docs/admin/kube-controller-manager.md index 15dbc758f8..70a1e576d4 100644 --- a/docs/admin/kube-controller-manager.md +++ b/docs/admin/kube-controller-manager.md @@ -1,9 +1,5 @@ --- --- - - - - ## kube-controller-manager @@ -40,6 +36,7 @@ kube-controller-manager --concurrent-replicaset-syncs=5: The number of replica sets that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) load --concurrent-resource-quota-syncs=5: The number of resource quotas that are allowed to sync concurrently. Larger number = more responsive quota management, but more CPU (and network) load --concurrent_rc_syncs=5: The number of replication controllers that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) load + --daemonset-lookup-cache-size=1024: The the size of lookup cache for daemonsets. Larger number = more responsive daemonsets, but more MEM load. --deleting-pods-burst=10: Number of nodes on which pods are bursty deleted in case of node failure. For more details look into RateLimiter. --deleting-pods-qps=0.1: Number of nodes per second on which pods are deleted in case of node failure. --deployment-controller-sync-period=30s: Period for syncing the deployments. @@ -80,16 +77,4 @@ kube-controller-manager --terminated-pod-gc-threshold=12500: Number of terminated pods that can exist before the terminated pod garbage collector starts deleting terminated pods. If <= 0, the terminated pod garbage collector is disabled. ``` -###### Auto generated by spf13/cobra on 25-Feb-2016 - - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/admin/kube-controller-manager.md?pixel)]() - +###### Auto generated by spf13/cobra on 29-Feb-2016 diff --git a/docs/admin/kube-proxy.md b/docs/admin/kube-proxy.md index 9f985b2709..ff2a5af980 100644 --- a/docs/admin/kube-proxy.md +++ b/docs/admin/kube-proxy.md @@ -1,9 +1,5 @@ --- --- - - - - ## kube-proxy @@ -50,16 +46,4 @@ kube-proxy --udp-timeout=250ms: How long an idle UDP connection will be kept open (e.g. '250ms', '2s'). Must be greater than 0. Only applicable for proxy-mode=userspace ``` -###### Auto generated by spf13/cobra on 7-Feb-2016 - - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/admin/kube-proxy.md?pixel)]() - +###### Auto generated by spf13/cobra on 7-Feb-2016 \ No newline at end of file diff --git a/docs/admin/kube-scheduler.md b/docs/admin/kube-scheduler.md index c7202db697..e0f6e35fa6 100644 --- a/docs/admin/kube-scheduler.md +++ b/docs/admin/kube-scheduler.md @@ -1,9 +1,5 @@ --- --- - - - - ## kube-scheduler @@ -45,16 +41,4 @@ kube-scheduler --scheduler-name="default-scheduler": Name of the scheduler, used to select which pods will be processed by this scheduler, based on pod's annotation with key 'scheduler.alpha.kubernetes.io/name' ``` -###### Auto generated by spf13/cobra on 28-Jan-2016 - - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/admin/kube-scheduler.md?pixel)]() - +###### Auto generated by spf13/cobra on 28-Jan-2016 \ No newline at end of file diff --git a/docs/admin/kubelet.md b/docs/admin/kubelet.md index 2526f40a01..e52da6d5c8 100644 --- a/docs/admin/kubelet.md +++ b/docs/admin/kubelet.md @@ -121,9 +121,4 @@ kubelet --volume-stats-agg-period=1m0s: Specifies interval for kubelet to calculate and cache the volume disk usage for all pods and volumes. To disable volume calculations, set to 0. Default: '1m' ``` -###### Auto generated by spf13/cobra on 4-Mar-2016 - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/admin/kubelet.md?pixel)]() - +###### Auto generated by spf13/cobra on 15-Mar-2016 \ No newline at end of file diff --git a/docs/admin/limitrange/index.md b/docs/admin/limitrange/index.md index 9b39ede11d..7c89b3058b 100644 --- a/docs/admin/limitrange/index.md +++ b/docs/admin/limitrange/index.md @@ -22,7 +22,7 @@ may be too small to be useful, but big enough for the waste to be costly over th the cluster operator may want to set limits that a pod must consume at least 20% of the memory and cpu of their average node size in order to provide for more uniform scheduling and to limit waste. -This example demonstrates how limits can be applied to a Kubernetes namespace to control +This example demonstrates how limits can be applied to a Kubernetes [namespace](/docs/admin/namespaces/walkthrough/) to control min/max resource limits per pod. In addition, this example demonstrates how you can apply default resource limits to pods in the absence of an end-user specified value. @@ -41,12 +41,17 @@ This example will work in a custom namespace to demonstrate the concepts involve Let's create a new namespace called limit-example: ```shell -$ kubectl create -f docs/admin/limitrange/namespace.yaml -namespace "limit-example" created +$ kubectl create namespace limit-example +namespace "limit-example" created +``` + +Note that `kubectl` commands will print the type and name of the resource created or mutated, which can then be used in subsequent commands: + +```shell $ kubectl get namespaces -NAME LABELS STATUS AGE -default Active 5m -limit-example Active 53s +NAME STATUS AGE +default Active 51s +limit-example Active 45s ``` ## Step 2: Apply a limit to the namespace @@ -95,36 +100,45 @@ were previously created in a namespace. If a resource (cpu or memory) is being restricted by a limit, the user will get an error at time of creation explaining why. -Let's first spin up a replication controller that creates a single container pod to demonstrate +Let's first spin up a [Deployment](/docs/user-guide/deployments) that creates a single container Pod to demonstrate how default values are applied to each pod. ```shell $ kubectl run nginx --image=nginx --replicas=1 --namespace=limit-example -replicationcontroller "nginx" created -$ kubectl get pods --namespace=limit-example -NAME READY STATUS RESTARTS AGE -nginx-aq0mf 1/1 Running 0 35s -$ kubectl get pods nginx-aq0mf --namespace=limit-example -o yaml | grep resources -C 8 +deployment "nginx" created ``` -```yaml - resourceVersion: "127" - selfLink: /api/v1/namespaces/limit-example/pods/nginx-aq0mf - uid: 51be42a7-7156-11e5-9921-286ed488f785 -spec: - containers: - - image: nginx - imagePullPolicy: IfNotPresent - name: nginx - resources: - limits: - cpu: 300m - memory: 200Mi - requests: - cpu: 200m - memory: 100Mi - terminationMessagePath: /dev/termination-log - volumeMounts: +Note that `kubectl run` creates a Deployment named "nginx" on Kubernetes cluster >= v1.2. If you are running older versions, it creates replication controllers instead. +If you want to obtain the old behavior, use `--generator=run/v1` to create replication controllers. See [`kubectl run`](/docs/user-guide/kubectl/kubectl_run/) for more details. +The Deployment manages 1 replica of single container Pod. Let's take a look at the Pod it manages. First, find the name of the Pod: + +```shell +$ kubectl get pods --namespace=limit-example +NAME READY STATUS RESTARTS AGE +nginx-2040093540-s8vzu 1/1 Running 0 11s +``` + +Let's print this Pod with yaml output format (using `-o yaml` flag), and then `grep` the `resources` field. Note that your pod name will be different. + +``` shell +$ kubectl get pods nginx-2040093540-s8vzu --namespace=limit-example -o yaml | grep resources -C 8 + resourceVersion: "57" + selfLink: /api/v1/namespaces/limit-example/pods/nginx-2040093540-ivimu + uid: 67b20741-f53b-11e5-b066-64510658e388 +spec: + containers: + - image: nginx + imagePullPolicy: Always + name: nginx + resources: + limits: + cpu: 300m + memory: 200Mi + requests: + cpu: 200m + memory: 100Mi + terminationMessagePath: /dev/termination-log + volumeMounts: ``` Note that our nginx container has picked up the namespace default cpu and memory resource *limits* and *requests*. @@ -141,37 +155,39 @@ Let's create a pod that falls within the allowed limit boundaries. ```shell $ kubectl create -f docs/admin/limitrange/valid-pod.yaml --namespace=limit-example pod "valid-pod" created -$ kubectl get pods valid-pod --namespace=limit-example -o yaml | grep -C 6 resources ``` -```yaml - uid: 162a12aa-7157-11e5-9921-286ed488f785 -spec: - containers: - - image: gcr.io/google_containers/serve_hostname - imagePullPolicy: IfNotPresent - name: kubernetes-serve-hostname - resources: - limits: - cpu: "1" - memory: 512Mi - requests: - cpu: "1" - memory: 512Mi +Now look at the Pod's resources field: + +```shell +$ kubectl get pods valid-pod --namespace=limit-example -o yaml | grep -C 6 resources + uid: 3b1bfd7a-f53c-11e5-b066-64510658e388 +spec: + containers: + - image: gcr.io/google_containers/serve_hostname + imagePullPolicy: Always + name: kubernetes-serve-hostname + resources: + limits: + cpu: "1" + memory: 512Mi + requests: + cpu: "1" + memory: 512Mi ``` Note that this pod specifies explicit resource *limits* and *requests* so it did not pick up the namespace default values. -Note: The *limits* for CPU resource are not enforced in the default Kubernetes setup on the physical node +Note: The *limits* for CPU resource are enforced in the default Kubernetes setup on the physical node that runs the container unless the administrator deploys the kubelet with the folllowing flag: ```shell $ kubelet --help Usage of kubelet .... - --cpu-cfs-quota[=false]: Enable CPU CFS quota enforcement for containers that specify CPU limits -$ kubelet --cpu-cfs-quota=true ... + --cpu-cfs-quota[=true]: Enable CPU CFS quota enforcement for containers that specify CPU limits +$ kubelet --cpu-cfs-quota=false ... ``` ## Step 4: Cleanup @@ -182,8 +198,8 @@ To remove the resources used by this example, you can just delete the limit-exam $ kubectl delete namespace limit-example namespace "limit-example" deleted $ kubectl get namespaces -NAME LABELS STATUS AGE -default Active 20m +NAME STATUS AGE +default Active 12m ``` ## Summary @@ -191,4 +207,4 @@ default Active 20m Cluster operators that want to restrict the amount of resources a single container or pod may consume are able to define allowable ranges per Kubernetes namespace. In the absence of any explicit assignments, the Kubernetes system is able to apply default resource *limits* and *requests* if desired in order to -constrain the amount of resource a pod consumes on a node. \ No newline at end of file +constrain the amount of resource a pod consumes on a node. diff --git a/docs/admin/multiple-zones.md b/docs/admin/multiple-zones.md new file mode 100644 index 0000000000..e420bda304 --- /dev/null +++ b/docs/admin/multiple-zones.md @@ -0,0 +1,313 @@ +--- +--- + +## Introduction + +Kubernetes 1.2 adds support for running a single cluster in multiple failure zones +(GCE calls them simply "zones", AWS calls them "availability zones", here we'll refer to them as "zones"). +This is a lightweight version of a broader effort for federating multiple +Kubernetes clusters together (sometimes referred to by the affectionate +nickname ["Ubernetes"](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/federation.md). +Full federation will allow combining separate +Kubernetes clusters running in different regions or clouds. However, many +users simply want to run a more available Kubernetes cluster in multiple zones +of their cloud provider, and this is what the multizone support in 1.2 allows +(we nickname this "Ubernetes Lite"). + +Multizone support is deliberately limited: a single Kubernetes cluster can run +in multiple zones, but only within the same region (and cloud provider). Only +GCE and AWS are currently supported automatically (though it is easy to +add similar support for other clouds or even bare metal, by simply arranging +for the appropriate labels to be added to nodes and volumes). + + +* TOC +{:toc} + +## Functionality + +When nodes are started, the kubelet automatically adds labels to them with +zone information. + +Kubernetes will automatically spread the pods in a replication controller +or service across nodes in a single-zone cluster (to reduce the impact of +failures.) With multiple-zone clusters, this spreading behaviour is +extended across zones (to reduce the impact of zone failures.) (This is +achieved via `SelectorSpreadPriority`). This is a best-effort +placement, and so if the zones in your cluster are heterogenous +(e.g. different numbers of nodes, different types of nodes, or +different pod resource requirements), this might prevent perfectly +even spreading of your pods across zones. If desired, you can use +homogenous zones (same number and types of nodes) to reduce the +probability of unequal spreading. + +When persistent volumes are created, the `PersistentVolumeLabel` +admission controller automatically adds zone labels to them. The scheduler (via the +`VolumeZonePredicate` predicate) will then ensure that pods that claim a +given volume are only placed into the same zone as that volume, as volumes +cannot be attached across zones. + +## Limitations + +There are some important limitations of the multizone support: + +* We assume that the different zones are located close to each other in the +network, so we don't perform any zone-aware routing. In particular, traffic +that goes via services might cross zones (even if pods in some pods backing that service +exist in the same zone as the client), and this may incur additional latency and cost. + +* Volume zone-affinity will only work with a `PersistentVolume`, and will not +work if you directly specify an EBS volume in the pod spec (for example). + +* Clusters cannot span clouds or regions (this functionality will require full +federation support). + +* Although your nodes are in multiple zones, kube-up currently builds +a single master node by default. While services are highly +available and can tolerate the loss of a zone, the control plane is +located in a single zone. Users that want a highly available control +plane should follow the [high availability](/docs/admin/high-availability) instructions. + + +## Walkthough + +We're now going to walk through setting up and using a multi-zone +cluster on both GCE & AWS. To do so, you bring up a full cluster +(specifying `MULTIZONE=1`), and then you add nodes in additional zones +by running `kube-up` again (specifying `KUBE_USE_EXISTING_MASTER=true`). + +### Bringing up your cluster + +Create the cluster as normal, but pass MULTIZONE to tell the cluster to manage multiple zones; creating nodes in us-central1-a. + +GCE: + +```shell +curl -sS https://get.k8s.io | MULTIZONE=1 KUBERNETES_PROVIDER=gce KUBE_GCE_ZONE=us-central1-a NUM_NODES=3 bash +``` + +AWS: + +```shell +curl -sS https://get.k8s.io | MULTIZONE=1 KUBERNETES_PROVIDER=aws KUBE_AWS_ZONE=us-west-2a NUM_NODES=3 bash +``` + +This step brings up a cluster as normal, still running in a single zone +(but `MULTIZONE=1` has enabled multi-zone capabilities). + +### Nodes are labeled + +View the nodes; you can see that they are labeled with zone information. +They are all in `us-central1-a` (GCE) or `us-west-2a` (AWS) so far. The +labels are `failure-domain.beta.kubernetes.io/region` for the region, +and `failure-domain.beta.kubernetes.io/zone` for the zone: + +```shell +> kubectl get nodes --show-labels + + +NAME STATUS AGE LABELS +kubernetes-master Ready,SchedulingDisabled 6m beta.kubernetes.io/instance-type=n1-standard-1,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-master +kubernetes-minion-87j9 Ready 6m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-minion-87j9 +kubernetes-minion-9vlv Ready 6m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-minion-9vlv +kubernetes-minion-a12q Ready 6m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-minion-a12q +``` + +### Add more nodes in a second zone + +Let's add another set of nodes to the existing cluster, reusing the +existing master, running in a different zone (us-central1-b or us-west-2b). +We run kube-up again, but by specifying `KUBE_USE_EXISTING_MASTER=1` +kube-up will not create a new master, but will reuse one that was previously +created instead. + +GCE: + +```shell +KUBE_USE_EXISTING_MASTER=true MULTIZONE=1 KUBERNETES_PROVIDER=gce KUBE_GCE_ZONE=us-central1-b NUM_NODES=3 kubernetes/cluster/kube-up.sh +``` + +On AWS we also need to specify the network CIDR for the additional +subnet, along with the master internal IP address: + +```shell +KUBE_USE_EXISTING_MASTER=true MULTIZONE=1 KUBERNETES_PROVIDER=aws KUBE_AWS_ZONE=us-west-2b NUM_NODES=3 KUBE_SUBNET_CIDR=172.20.1.0/24 MASTER_INTERNAL_IP=172.20.0.9 kubernetes/cluster/kube-up.sh +``` + + +View the nodes again; 3 more nodes should have launched and be tagged +in us-central1-b: + +```shell +> kubectl get nodes --show-labels + +NAME STATUS AGE LABELS +kubernetes-master Ready,SchedulingDisabled 16m beta.kubernetes.io/instance-type=n1-standard-1,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-master +kubernetes-minion-281d Ready 2m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-b,kubernetes.io/hostname=kubernetes-minion-281d +kubernetes-minion-87j9 Ready 16m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-minion-87j9 +kubernetes-minion-9vlv Ready 16m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-minion-9vlv +kubernetes-minion-a12q Ready 17m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-minion-a12q +kubernetes-minion-pp2f Ready 2m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-b,kubernetes.io/hostname=kubernetes-minion-pp2f +kubernetes-minion-wf8i Ready 2m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-b,kubernetes.io/hostname=kubernetes-minion-wf8i +``` + +### Volume affinity + +Create a volume (only PersistentVolumes are supported for zone +affinity), using the new dynamic volume creation: + +```json +kubectl create -f - < kubectl get pv --show-labels +NAME CAPACITY ACCESSMODES STATUS CLAIM REASON AGE LABELS +pv-gce-mj4gm 5Gi RWO Bound default/claim1 46s failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a +``` + +So now we will create a pod that uses the persistent volume claim. +Because GCE PDs / AWS EBS volumes cannot be attached across zones, +this means that this pod can only be created in the same zone as the volume: + +```yaml +kubectl create -f - < kubectl describe pod mypod | grep Node +Node: kubernetes-minion-9vlv/10.240.0.5 +> kubectl get node kubernetes-minion-9vlv --show-labels +NAME STATUS AGE LABELS +kubernetes-minion-9vlv Ready 22m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-minion-9vlv +``` + +### Pods are spread across zones + +Pods in a replication controller or service are automatically spread +across zones. First, let's launch more nodes in a third zone: + +GCE: + +```shell +KUBE_USE_EXISTING_MASTER=true MULTIZONE=1 KUBERNETES_PROVIDER=gce KUBE_GCE_ZONE=us-central1-f NUM_NODES=3 kubernetes/cluster/kube-up.sh +``` + +AWS: + +```shell +KUBE_USE_EXISTING_MASTER=true MULTIZONE=1 KUBERNETES_PROVIDER=aws KUBE_AWS_ZONE=us-west-2c NUM_NODES=3 KUBE_SUBNET_CIDR=172.20.2.0/24 MASTER_INTERNAL_IP=172.20.0.9 kubernetes/cluster/kube-up.sh +``` + +Verify that you now have nodes in 3 zones: + +```shell +kubectl get nodes --show-labels +``` + +Create the guestbook-go example, which includes an RC of size 3, running a simple web app: + +```shell +find kubernetes/examples/guestbook-go/ -name '*.json' | xargs -I {} kubectl create -f {} +``` + +The pods should be spread across all 3 zones: + +```shell +> kubectl describe pod -l app=guestbook | grep Node +Node: kubernetes-minion-9vlv/10.240.0.5 +Node: kubernetes-minion-281d/10.240.0.8 +Node: kubernetes-minion-olsh/10.240.0.11 + + > kubectl get node kubernetes-minion-9vlv kubernetes-minion-281d kubernetes-minion-olsh --show-labels +NAME STATUS AGE LABELS +kubernetes-minion-9vlv Ready 34m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-minion-9vlv +kubernetes-minion-281d Ready 20m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-b,kubernetes.io/hostname=kubernetes-minion-281d +kubernetes-minion-olsh Ready 3m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-f,kubernetes.io/hostname=kubernetes-minion-olsh +``` + + +Load-balancers span all zones in a cluster; the guestbook-go example +includes an example load-balanced service: + +```shell +> kubectl describe service guestbook | grep LoadBalancer.Ingress +LoadBalancer Ingress: 130.211.126.21 + +> ip=130.211.126.21 + +> curl -s http://${ip}:3000/env | grep HOSTNAME + "HOSTNAME": "guestbook-44sep", + +> (for i in `seq 20`; do curl -s http://${ip}:3000/env | grep HOSTNAME; done) | sort | uniq + "HOSTNAME": "guestbook-44sep", + "HOSTNAME": "guestbook-hum5n", + "HOSTNAME": "guestbook-ppm40", +``` + +The load balancer correctly targets all the pods, even though they are in multiple zones. + +### Shutting down the cluster + +When you're done, clean up: + +GCE: + +```shell +KUBERNETES_PROVIDER=gce KUBE_USE_EXISTING_MASTER=true KUBE_GCE_ZONE=us-central1-f kubernetes/cluster/kube-down.sh +KUBERNETES_PROVIDER=gce KUBE_USE_EXISTING_MASTER=true KUBE_GCE_ZONE=us-central1-b kubernetes/cluster/kube-down.sh +KUBERNETES_PROVIDER=gce KUBE_GCE_ZONE=us-central1-a kubernetes/cluster/kube-down.sh +``` + +AWS: + +```shell +KUBERNETES_PROVIDER=aws KUBE_USE_EXISTING_MASTER=true KUBE_AWS_ZONE=us-west-2c kubernetes/cluster/kube-down.sh +KUBERNETES_PROVIDER=aws KUBE_USE_EXISTING_MASTER=true KUBE_AWS_ZONE=us-west-2b kubernetes/cluster/kube-down.sh +KUBERNETES_PROVIDER=aws KUBE_AWS_ZONE=us-west-2a kubernetes/cluster/kube-down.sh +``` diff --git a/docs/admin/namespaces.md b/docs/admin/namespaces.md deleted file mode 100644 index 6a5265eadd..0000000000 --- a/docs/admin/namespaces.md +++ /dev/null @@ -1,145 +0,0 @@ ---- ---- - -A Namespace is a mechanism to partition resources created by users into -a logically named group. - -## Motivation - -A single cluster should be able to satisfy the needs of multiple users or groups of users (henceforth a 'user community'). - -Each user community wants to be able to work in isolation from other communities. - -Each user community has its own: - -1. resources (pods, services, replication controllers, etc.) -2. policies (who can or cannot perform actions in their community) -3. constraints (this community is allowed this much quota, etc.) - -A cluster operator may create a Namespace for each unique user community. - -The Namespace provides a unique scope for: - -1. named resources (to avoid basic naming collisions) -2. delegated management authority to trusted users -3. ability to limit community resource consumption - -## Use cases - -1. As a cluster operator, I want to support multiple user communities on a single cluster. -2. As a cluster operator, I want to delegate authority to partitions of the cluster to trusted users - in those communities. -3. As a cluster operator, I want to limit the amount of resources each community can consume in order - to limit the impact to other communities using the cluster. -4. As a cluster user, I want to interact with resources that are pertinent to my user community in - isolation of what other user communities are doing on the cluster. - - -## Usage - -Look [here](/docs/admin/namespaces/) for an in depth example of namespaces. - -### Viewing namespaces - -You can list the current namespaces in a cluster using: - -```shell -$ kubectl get namespaces -NAME LABELS STATUS -default Active -kube-system Active -``` - -Kubernetes starts with two initial namespaces: - * `default` The default namespace for objects with no other namespace - * `kube-system` The namespace for objects created by the Kubernetes system - -You can also get the summary of a specific namespace using: - -```shell -$ kubectl get namespaces -``` - -Or you can get detailed information with: - -```shell -$ kubectl describe namespaces -Name: default -Labels: -Status: Active - -No resource quota. - -Resource Limits - Type Resource Min Max Default - ---- -------- --- --- --- - Container cpu - - 100m -``` - -Note that these details show both resource quota (if present) as well as resource limit ranges. - -Resource quota tracks aggregate usage of resources in the *Namespace* and allows cluster operators -to define *Hard* resource usage limits that a *Namespace* may consume. - -A limit range defines min/max constraints on the amount of resources a single entity can consume in -a *Namespace*. - -See [Admission control: Limit Range](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/admission_control_limit_range.md) - -A namespace can be in one of two phases: - * `Active` the namespace is in use - * `Terminating` the namespace is being deleted, and can not be used for new objects - -See the [design doc](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/namespaces.md#phases) for more details. - -### Creating a new namespace - -To create a new namespace, first create a new YAML file called `my-namespace.yaml` with the contents: - -```yaml -apiVersion: v1 -kind: Namespace -metadata: - name: -``` - -Note that the name of your namespace must be a DNS compatible label. - -More information on the `finalizers` field can be found in the namespace [design doc](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/namespaces.md#finalizers). - -Then run: - -```shell -$ kubectl create -f ./my-namespace.yaml -``` - -### Working in namespaces - -See [Setting the namespace for a request](/docs/user-guide/namespaces/#setting-the-namespace-for-a-request) -and [Setting the namespace preference](/docs/user-guide/namespaces/#setting-the-namespace-preference). - -### Deleting a namespace - -You can delete a namespace with - -```shell -$ kubectl delete namespaces -``` - -**WARNING, this deletes _everything_ under the namespace!** - -This delete is asynchronous, so for a time you will see the namespace in the `Terminating` state. - -## Namespaces and DNS - -When you create a [Service](/docs/user-guide/services), it creates a corresponding [DNS entry](/docs/admin/dns). -This entry is of the form `..svc.cluster.local`, which means -that if a container just uses `` it will resolve to the service which -is local to a namespace. This is useful for using the same configuration across -multiple namespaces such as Development, Staging and Production. If you want to reach -across namespaces, you need to use the fully qualified domain name (FQDN). - -## Design - -Details of the design of namespaces in Kubernetes, including a [detailed example](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/namespaces.md#example-openshift-origin-managing-a-kubernetes-namespace) -can be found in the [namespaces design doc](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/namespaces.md) \ No newline at end of file diff --git a/docs/admin/namespaces/index.md b/docs/admin/namespaces/index.md index b81886830e..973041c519 100644 --- a/docs/admin/namespaces/index.md +++ b/docs/admin/namespaces/index.md @@ -1,234 +1,145 @@ --- --- -Kubernetes _namespaces_ help different projects, teams, or customers to share a Kubernetes cluster. +A Namespace is a mechanism to partition resources created by users into +a logically named group. -It does this by providing the following: +## Motivation -1. A scope for [Names](/docs/user-guide/identifiers). -2. A mechanism to attach authorization and policy to a subsection of the cluster. +A single cluster should be able to satisfy the needs of multiple users or groups of users (henceforth a 'user community'). -Use of multiple namespaces is optional. +Each user community wants to be able to work in isolation from other communities. -This example demonstrates how to use Kubernetes namespaces to subdivide your cluster. +Each user community has its own: -### Step Zero: Prerequisites +1. resources (pods, services, replication controllers, etc.) +2. policies (who can or cannot perform actions in their community) +3. constraints (this community is allowed this much quota, etc.) -This example assumes the following: +A cluster operator may create a Namespace for each unique user community. -1. You have an [existing Kubernetes cluster](/docs/getting-started-guides/). -2. You have a basic understanding of Kubernetes _[pods](/docs/user-guide/pods)_, _[services](/docs/user-guide/services)_, and _[replication controllers](/docs/user-guide/replication-controller)_. +The Namespace provides a unique scope for: -### Step One: Understand the default namespace +1. named resources (to avoid basic naming collisions) +2. delegated management authority to trusted users +3. ability to limit community resource consumption -By default, a Kubernetes cluster will instantiate a default namespace when provisioning the cluster to hold the default set of pods, -services, and replication controllers used by the cluster. +## Use cases -Assuming you have a fresh cluster, you can introspect the available namespace's by doing the following: +1. As a cluster operator, I want to support multiple user communities on a single cluster. +2. As a cluster operator, I want to delegate authority to partitions of the cluster to trusted users + in those communities. +3. As a cluster operator, I want to limit the amount of resources each community can consume in order + to limit the impact to other communities using the cluster. +4. As a cluster user, I want to interact with resources that are pertinent to my user community in + isolation of what other user communities are doing on the cluster. + + +## Usage + +Look [here](/docs/admin/namespaces/) for an in depth example of namespaces. + +### Viewing namespaces + +You can list the current namespaces in a cluster using: ```shell $ kubectl get namespaces -NAME LABELS -default +NAME LABELS STATUS +default Active +kube-system Active ``` -### Step Two: Create new namespaces +Kubernetes starts with two initial namespaces: + * `default` The default namespace for objects with no other namespace + * `kube-system` The namespace for objects created by the Kubernetes system -For this exercise, we will create two additional Kubernetes namespaces to hold our content. - -Let's imagine a scenario where an organization is using a shared Kubernetes cluster for development and production use cases. - -The development team would like to maintain a space in the cluster where they can get a view on the list of pods, services, and replication controllers -they use to build and run their application. In this space, Kubernetes resources come and go, and the restrictions on who can or cannot modify resources -are relaxed to enable agile development. - -The operations team would like to maintain a space in the cluster where they can enforce strict procedures on who can or cannot manipulate the set of -pods, services, and replication controllers that run the production site. - -One pattern this organization could follow is to partition the Kubernetes cluster into two namespaces: development and production. - -Let's create two new namespaces to hold our work. - -Use the file [`namespace-dev.json`](/docs/admin/namespaces/namespace-dev.json) which describes a development namespace: - -{% include code.html language="json" file="namespace-dev.json" ghlink="/docs/admin/namespaces/namespace-dev.json" %} - -Create the development namespace using kubectl. +You can also get the summary of a specific namespace using: ```shell -$ kubectl create -f docs/admin/namespaces/namespace-dev.json +$ kubectl get namespaces ``` -And then lets create the production namespace using kubectl. +Or you can get detailed information with: ```shell -$ kubectl create -f docs/admin/namespaces/namespace-prod.json +$ kubectl describe namespaces +Name: default +Labels: +Status: Active + +No resource quota. + +Resource Limits + Type Resource Min Max Default + ---- -------- --- --- --- + Container cpu - - 100m ``` -To be sure things are right, let's list all of the namespaces in our cluster. +Note that these details show both resource quota (if present) as well as resource limit ranges. -```shell -$ kubectl get namespaces -NAME LABELS STATUS -default Active -development name=development Active -production name=production Active -``` +Resource quota tracks aggregate usage of resources in the *Namespace* and allows cluster operators +to define *Hard* resource usage limits that a *Namespace* may consume. -### Step Three: Create pods in each namespace +A limit range defines min/max constraints on the amount of resources a single entity can consume in +a *Namespace*. -A Kubernetes namespace provides the scope for pods, services, and replication controllers in the cluster. +See [Admission control: Limit Range](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/admission_control_limit_range.md) -Users interacting with one namespace do not see the content in another namespace. +A namespace can be in one of two phases: + * `Active` the namespace is in use + * `Terminating` the namespace is being deleted, and can not be used for new objects -To demonstrate this, let's spin up a simple replication controller and pod in the development namespace. +See the [design doc](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/namespaces.md#phases) for more details. -We first check what is the current context: +### Creating a new namespace + +To create a new namespace, first create a new YAML file called `my-namespace.yaml` with the contents: ```yaml apiVersion: v1 -clusters: -- cluster: - certificate-authority-data: REDACTED - server: https://130.211.122.180 - name: lithe-cocoa-92103_kubernetes -contexts: -- context: - cluster: lithe-cocoa-92103_kubernetes - user: lithe-cocoa-92103_kubernetes - name: lithe-cocoa-92103_kubernetes -current-context: lithe-cocoa-92103_kubernetes -kind: Config -preferences: {} -users: -- name: lithe-cocoa-92103_kubernetes - user: - client-certificate-data: REDACTED - client-key-data: REDACTED - token: 65rZW78y8HbwXXtSXuUw9DbP4FLjHi4b -- name: lithe-cocoa-92103_kubernetes-basic-auth - user: - password: h5M0FtUUIflBSdI7 - username: admin +kind: Namespace +metadata: + name: ``` -The next step is to define a context for the kubectl client to work in each namespace. The value of "cluster" and "user" fields are copied from the current context. +Note that the name of your namespace must be a DNS compatible label. + +More information on the `finalizers` field can be found in the namespace [design doc](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/namespaces.md#finalizers). + +Then run: ```shell -$ kubectl config set-context dev --namespace=development --cluster=lithe-cocoa-92103_kubernetes --user=lithe-cocoa-92103_kubernetes -$ kubectl config set-context prod --namespace=production --cluster=lithe-cocoa-92103_kubernetes --user=lithe-cocoa-92103_kubernetes +$ kubectl create -f ./my-namespace.yaml ``` -The above commands provided two request contexts you can alternate against depending on what namespace you -wish to work against. +### Working in namespaces -Let's switch to operate in the development namespace. +See [Setting the namespace for a request](/docs/user-guide/namespaces/#setting-the-namespace-for-a-request) +and [Setting the namespace preference](/docs/user-guide/namespaces/#setting-the-namespace-preference). + +### Deleting a namespace + +You can delete a namespace with ```shell -$ kubectl config use-context dev +$ kubectl delete namespaces ``` -You can verify your current context by doing the following: +**WARNING, this deletes _everything_ under the namespace!** -```shell -$ kubectl config view -``` +This delete is asynchronous, so for a time you will see the namespace in the `Terminating` state. -```yaml -apiVersion: v1 -clusters: -- cluster: - certificate-authority-data: REDACTED - server: https://130.211.122.180 - name: lithe-cocoa-92103_kubernetes -contexts: -- context: - cluster: lithe-cocoa-92103_kubernetes - namespace: development - user: lithe-cocoa-92103_kubernetes - name: dev -- context: - cluster: lithe-cocoa-92103_kubernetes - user: lithe-cocoa-92103_kubernetes - name: lithe-cocoa-92103_kubernetes -- context: - cluster: lithe-cocoa-92103_kubernetes - namespace: production - user: lithe-cocoa-92103_kubernetes - name: prod -current-context: dev -kind: Config -preferences: {} -users: -- name: lithe-cocoa-92103_kubernetes - user: - client-certificate-data: REDACTED - client-key-data: REDACTED - token: 65rZW78y8HbwXXtSXuUw9DbP4FLjHi4b -- name: lithe-cocoa-92103_kubernetes-basic-auth - user: - password: h5M0FtUUIflBSdI7 - username: admin -``` +## Namespaces and DNS -At this point, all requests we make to the Kubernetes cluster from the command line are scoped to the development namespace. +When you create a [Service](/docs/user-guide/services), it creates a corresponding [DNS entry](/docs/admin/dns). +This entry is of the form `..svc.cluster.local`, which means +that if a container just uses `` it will resolve to the service which +is local to a namespace. This is useful for using the same configuration across +multiple namespaces such as Development, Staging and Production. If you want to reach +across namespaces, you need to use the fully qualified domain name (FQDN). -Let's create some content. +## Design -```shell -$ kubectl run snowflake --image=kubernetes/serve_hostname --replicas=2 -``` - -We have just created a replication controller whose replica size is 2 that is running the pod called snowflake with a basic container that just serves the hostname. - -```shell -$ kubectl get rc -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS -snowflake snowflake kubernetes/serve_hostname run=snowflake 2 - -$ kubectl get pods -NAME READY STATUS RESTARTS AGE -snowflake-8w0qn 1/1 Running 0 22s -snowflake-jrpzb 1/1 Running 0 22s -``` - -And this is great, developers are able to do what they want, and they do not have to worry about affecting content in the production namespace. - -Let's switch to the production namespace and show how resources in one namespace are hidden from the other. - -```shell -$ kubectl config use-context prod -``` - -The production namespace should be empty. - -```shell -$ kubectl get rc -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS - -$ kubectl get pods -NAME READY STATUS RESTARTS AGE -``` - -Production likes to run cattle, so let's create some cattle pods. - -```shell -$ kubectl run cattle --image=kubernetes/serve_hostname --replicas=5 - -$ kubectl get rc -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS -cattle cattle kubernetes/serve_hostname run=cattle 5 - -$ kubectl get pods -NAME READY STATUS RESTARTS AGE -cattle-97rva 1/1 Running 0 12s -cattle-i9ojn 1/1 Running 0 12s -cattle-qj3yv 1/1 Running 0 12s -cattle-yc7vn 1/1 Running 0 12s -cattle-zz7ea 1/1 Running 0 12s -``` - -At this point, it should be clear that the resources users create in one namespace are hidden from the other namespace. - -As the policy support in Kubernetes evolves, we will extend this scenario to show how you can provide different -authorization rules for each namespace. +Details of the design of namespaces in Kubernetes, including a [detailed example](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/namespaces.md#example-openshift-origin-managing-a-kubernetes-namespace) +can be found in the [namespaces design doc](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/namespaces.md) diff --git a/docs/admin/namespaces/walkthrough.md b/docs/admin/namespaces/walkthrough.md new file mode 100644 index 0000000000..e3b87c7f65 --- /dev/null +++ b/docs/admin/namespaces/walkthrough.md @@ -0,0 +1,200 @@ +--- +--- + +Kubernetes _namespaces_ help different projects, teams, or customers to share a Kubernetes cluster. + +It does this by providing the following: + +1. A scope for [Names](/docs/user-guide/identifiers/). +2. A mechanism to attach authorization and policy to a subsection of the cluster. + +Use of multiple namespaces is optional. + +This example demonstrates how to use Kubernetes namespaces to subdivide your cluster. + +### Step Zero: Prerequisites + +This example assumes the following: + +1. You have an [existing Kubernetes cluster](/docs/getting-started-guides/). +2. You have a basic understanding of Kubernetes _[Pods](/docs/user-guide/pods/)_, _[Services](/docs/user-guide/services/)_, and _[Deployments](/docs/user-guide/deployments/)_. + +### Step One: Understand the default namespace + +By default, a Kubernetes cluster will instantiate a default namespace when provisioning the cluster to hold the default set of Pods, +Services, and Deployments used by the cluster. + +Assuming you have a fresh cluster, you can introspect the available namespace's by doing the following: + +```shell +$ kubectl get namespaces +NAME STATUS AGE +default Active 13m +``` + +### Step Two: Create new namespaces + +For this exercise, we will create two additional Kubernetes namespaces to hold our content. + +Let's imagine a scenario where an organization is using a shared Kubernetes cluster for development and production use cases. + +The development team would like to maintain a space in the cluster where they can get a view on the list of Pods, Services, and Deployments +they use to build and run their application. In this space, Kubernetes resources come and go, and the restrictions on who can or cannot modify resources +are relaxed to enable agile development. + +The operations team would like to maintain a space in the cluster where they can enforce strict procedures on who can or cannot manipulate the set of +Pods, Services, and Deployments that run the production site. + +One pattern this organization could follow is to partition the Kubernetes cluster into two namespaces: development and production. + +Let's create two new namespaces to hold our work. + +Use the file [`namespace-dev.json`](/docs/admin/namespaces/namespace-dev.json) which describes a development namespace: + +{% include code.html language="json" file="namespace-dev.json" ghlink="/docs/admin/namespaces/namespace-dev.json" %} + +Create the development namespace using kubectl. + +```shell +$ kubectl create -f docs/admin/namespaces/namespace-dev.json +``` + +And then lets create the production namespace using kubectl. + +```shell +$ kubectl create -f docs/admin/namespaces/namespace-prod.json +``` + +To be sure things are right, let's list all of the namespaces in our cluster. + +```shell +$ kubectl get namespaces --show-labels +NAME STATUS AGE LABELS +default Active 32m +development Active 29s name=development +production Active 23s name=production +``` + +### Step Three: Create pods in each namespace + +A Kubernetes namespace provides the scope for Pods, Services, and Deployments in the cluster. + +Users interacting with one namespace do not see the content in another namespace. + +To demonstrate this, let's spin up a simple Deployment and Pods in the development namespace. + +We first check what is the current context: + +```shell +$ kubectl config view +apiVersion: v1 +clusters: +- cluster: + certificate-authority-data: REDACTED + server: https://130.211.122.180 + name: lithe-cocoa-92103_kubernetes +contexts: +- context: + cluster: lithe-cocoa-92103_kubernetes + user: lithe-cocoa-92103_kubernetes + name: lithe-cocoa-92103_kubernetes +current-context: lithe-cocoa-92103_kubernetes +kind: Config +preferences: {} +users: +- name: lithe-cocoa-92103_kubernetes + user: + client-certificate-data: REDACTED + client-key-data: REDACTED + token: 65rZW78y8HbwXXtSXuUw9DbP4FLjHi4b +- name: lithe-cocoa-92103_kubernetes-basic-auth + user: + password: h5M0FtUUIflBSdI7 + username: admin + +$ kubectl config current-context +lithe-cocoa-92103_kubernetes +``` + +The next step is to define a context for the kubectl client to work in each namespace. The value of "cluster" and "user" fields are copied from the current context. + +```shell +$ kubectl config set-context dev --namespace=development --cluster=lithe-cocoa-92103_kubernetes --user=lithe-cocoa-92103_kubernetes +$ kubectl config set-context prod --namespace=production --cluster=lithe-cocoa-92103_kubernetes --user=lithe-cocoa-92103_kubernetes +``` + +The above commands provided two request contexts you can alternate against depending on what namespace you +wish to work against. + +Let's switch to operate in the development namespace. + +```shell +$ kubectl config use-context dev +``` + +You can verify your current context by doing the following: + +```shell +$ kubectl config current-context +dev +``` + +At this point, all requests we make to the Kubernetes cluster from the command line are scoped to the development namespace. + +Let's create some content. + +```shell +$ kubectl run snowflake --image=kubernetes/serve_hostname --replicas=2 +``` +We have just created a deployment whose replica size is 2 that is running the pod called snowflake with a basic container that just serves the hostname. +Note that `kubectl run` creates deployments only on kubernetes cluster >= v1.2. If you are running older versions, it creates replication controllers instead. +If you want to obtain the old behavior, use `--generator=run/v1` to create replication controllers. See [`kubectl run`](/docs/user-guide/kubectl/kubectl_run/) for more details. + +```shell +$ kubectl get deployment +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +snowflake 2 2 2 2 2m + +$ kubectl get pods -l run=snowflake +NAME READY STATUS RESTARTS AGE +snowflake-3968820950-9dgr8 1/1 Running 0 2m +snowflake-3968820950-vgc4n 1/1 Running 0 2m +``` + +And this is great, developers are able to do what they want, and they do not have to worry about affecting content in the production namespace. + +Let's switch to the production namespace and show how resources in one namespace are hidden from the other. + +```shell +$ kubectl config use-context prod +``` + +The production namespace should be empty, and the following commands should return nothing. + +```shell +$ kubectl get deployment +$ kubectl get pods +``` + +Production likes to run cattle, so let's create some cattle pods. + +```shell +$ kubectl run cattle --image=kubernetes/serve_hostname --replicas=5 + +$ kubectl get deployment +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +cattle 5 5 5 5 10s + +kubectl get pods -l run=cattle +NAME READY STATUS RESTARTS AGE +cattle-2263376956-41xy6 1/1 Running 0 34s +cattle-2263376956-kw466 1/1 Running 0 34s +cattle-2263376956-n4v97 1/1 Running 0 34s +cattle-2263376956-p5p3i 1/1 Running 0 34s +cattle-2263376956-sxpth 1/1 Running 0 34s +``` + +At this point, it should be clear that the resources users create in one namespace are hidden from the other namespace. + +As the policy support in Kubernetes evolves, we will extend this scenario to show how you can provide different +authorization rules for each namespace. diff --git a/docs/admin/networking.md b/docs/admin/networking.md index 12b65e2be6..74b428f111 100644 --- a/docs/admin/networking.md +++ b/docs/admin/networking.md @@ -5,10 +5,10 @@ Kubernetes approaches networking somewhat differently than Docker does by default. There are 4 distinct networking problems to solve: 1. Highly-coupled container-to-container communications: this is solved by - [pods](/docs/user-guide/pods) and `localhost` communications. + [pods](/docs/user-guide/pods/) and `localhost` communications. 2. Pod-to-Pod communications: this is the primary focus of this document. -3. Pod-to-Service communications: this is covered by [services](/docs/user-guide/services). -4. External-to-Service communications: this is covered by [services](/docs/user-guide/services). +3. Pod-to-Service communications: this is covered by [services](/docs/user-guide/services/). +4. External-to-Service communications: this is covered by [services](/docs/user-guide/services/). * TOC {:toc} @@ -102,7 +102,7 @@ here. ### Google Compute Engine (GCE) For the Google Compute Engine cluster configuration scripts, we use [advanced -routing](https://developers.google.com/compute/docs/networking#routing) to +routing](https://cloud.google.com/compute/docs/networking#routing) to assign each VM a subnet (default is `/24` - 254 IPs). Any traffic bound for that subnet will be routed directly to the VM by the GCE network fabric. This is in addition to the "main" IP address assigned to the VM, which is NAT'ed for @@ -177,8 +177,12 @@ network, primarily aiming at Docker integration. [Calico](https://github.com/projectcalico/calico-containers) uses BGP to enable real container IPs. +### Romana + +[Romana](https://romana.io) is an open source software defined networking (SDN) solution that lets you deploy Kubernetes without an overlay network. + ## Other reading The early design of the networking model and its rationale, and some future plans are described in more detail in the [networking design -document](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/networking.md). \ No newline at end of file +document](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/networking.md). diff --git a/docs/admin/node.md b/docs/admin/node.md index b3a346b4bb..13332012b8 100644 --- a/docs/admin/node.md +++ b/docs/admin/node.md @@ -61,8 +61,8 @@ the following conditions mean the node is in sane state: "conditions": [ { "kind": "Ready", - "status": "True", - }, + "status": "True" + } ] ``` diff --git a/docs/admin/resource-quota.md b/docs/admin/resource-quota.md deleted file mode 100755 index beafc08279..0000000000 --- a/docs/admin/resource-quota.md +++ /dev/null @@ -1,154 +0,0 @@ ---- ---- - -When several users or teams share a cluster with a fixed number of nodes, -there is a concern that one team could use more than its fair share of resources. - -Resource quotas are a tool for administrators to address this concern. Resource quotas -work like this: - -- Different teams work in different namespaces. Currently this is voluntary, but - support for making this mandatory via ACLs is planned. -- The administrator creates a Resource Quota for each namespace. -- Users put compute resource requests on their pods. The sum of all resource requests across - all pods in the same namespace must not exceed any hard resource limit in any Resource Quota - document for the namespace. Note that we used to verify Resource Quota by taking the sum of - resource limits of the pods, but this was altered to use resource requests. Backwards compatibility - for those pods previously created is preserved because pods that only specify a resource limit have - their resource requests defaulted to match their defined limits. The user is only charged for the - resources they request in the Resource Quota versus their limits because the request is the minimum - amount of resource guaranteed by the cluster during scheduling. For more information on over commit, - see [compute-resources](/docs/user-guide/compute-resources). -- If creating a pod would cause the namespace to exceed any of the limits specified in the - the Resource Quota for that namespace, then the request will fail with HTTP status - code `403 FORBIDDEN`. -- If quota is enabled in a namespace and the user does not specify *requests* on the pod for each - of the resources for which quota is enabled, then the POST of the pod will fail with HTTP - status code `403 FORBIDDEN`. Hint: Use the LimitRange admission controller to force default - values of *limits* (then resource *requests* would be equal to *limits* by default, see - [admission controller](/docs/admin/admission-controllers)) before the quota is checked to avoid this problem. - -Examples of policies that could be created using namespaces and quotas are: - -- In a cluster with a capacity of 32 GiB RAM, and 16 cores, let team A use 20 Gib and 10 cores, - let B use 10GiB and 4 cores, and hold 2GiB and 2 cores in reserve for future allocation. -- Limit the "testing" namespace to using 1 core and 1GiB RAM. Let the "production" namespace - use any amount. - -In the case where the total capacity of the cluster is less than the sum of the quotas of the namespaces, -there may be contention for resources. This is handled on a first-come-first-served basis. - -Neither contention nor changes to quota will affect already-running pods. - -## Enabling Resource Quota - -Resource Quota support is enabled by default for many Kubernetes distributions. It is -enabled when the apiserver `--admission-control=` flag has `ResourceQuota` as -one of its arguments. - -Resource Quota is enforced in a particular namespace when there is a -`ResourceQuota` object in that namespace. There should be at most one -`ResourceQuota` object in a namespace. - -## Compute Resource Quota - -The total sum of [compute resources](/docs/user-guide/compute-resources) requested by pods -in a namespace can be limited. The following compute resource types are supported: - -| ResourceName | Description | -| ------------ | ----------- | -| cpu | Total cpu requests of containers | -| memory | Total memory requests of containers - -For example, `cpu` quota sums up the `resources.requests.cpu` fields of every -container of every pod in the namespace, and enforces a maximum on that sum. - -## Object Count Quota - -The number of objects of a given type can be restricted. The following types -are supported: - -| ResourceName | Description | -| ------------ | ----------- | -| pods | Total number of pods | -| services | Total number of services | -| replicationcontrollers | Total number of replication controllers | -| resourcequotas | Total number of [resource quotas](/docs/admin/admission-controllers/#resourcequota) | -| secrets | Total number of secrets | -| persistentvolumeclaims | Total number of [persistent volume claims](/docs/user-guide/persistent-volumes/#persistentvolumeclaims) | - -For example, `pods` quota counts and enforces a maximum on the number of `pods` -created in a single namespace. - -You might want to set a pods quota on a namespace -to avoid the case where a user creates many small pods and exhausts the cluster's -supply of Pod IPs. - -## Viewing and Setting Quotas - -Kubectl supports creating, updating, and viewing quotas: - -```shell -$ kubectl namespace myspace -$ cat < quota.json -{ - "apiVersion": "v1", - "kind": "ResourceQuota", - "metadata": { - "name": "quota" - }, - "spec": { - "hard": { - "memory": "1Gi", - "cpu": "20", - "pods": "10", - "services": "5", - "replicationcontrollers":"20", - "resourcequotas":"1" - } - } -} -EOF -$ kubectl create -f ./quota.json -$ kubectl get quota -NAME -quota -$ kubectl describe quota quota -Name: quota -Resource Used Hard --------- ---- ---- -cpu 0m 20 -memory 0 1Gi -pods 5 10 -replicationcontrollers 5 20 -resourcequotas 1 1 -services 3 5 -``` - -## Quota and Cluster Capacity - -Resource Quota objects are independent of the Cluster Capacity. They are -expressed in absolute units. So, if you add nodes to your cluster, this does *not* -automatically give each namespace the ability to consume more resources. - -Sometimes more complex policies may be desired, such as: - - - proportionally divide total cluster resources among several teams. - - allow each tenant to grow resource usage as needed, but have a generous - limit to prevent accidental resource exhaustion. - - detect demand from one namespace, add nodes, and increase quota. - -Such policies could be implemented using ResourceQuota as a building-block, by -writing a 'controller' which watches the quota usage and adjusts the quota -hard limits of each namespace according to other signals. - -Note that resource quota divides up aggregate cluster resources, but it creates no -restrictions around nodes: pods from several namespaces may run on the same node. - -## Example - -See a [detailed example for how to use resource quota](/docs/admin/resourcequota/). - -## Read More - -See [ResourceQuota design doc](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/admission_control_resource_quota.md) for more information. \ No newline at end of file diff --git a/docs/admin/resourcequota/index.md b/docs/admin/resourcequota/index.md index dab2e6ca64..69667cf208 100644 --- a/docs/admin/resourcequota/index.md +++ b/docs/admin/resourcequota/index.md @@ -1,156 +1,154 @@ --- --- -This example demonstrates how [resource quota](/docs/admin/admission-controllers/#resourcequota) and -[limitsranger](/docs/admin/admission-controllers/#limitranger) can be applied to a Kubernetes namespace. +When several users or teams share a cluster with a fixed number of nodes, +there is a concern that one team could use more than its fair share of resources. + +Resource quotas are a tool for administrators to address this concern. Resource quotas +work like this: + +- Different teams work in different namespaces. Currently this is voluntary, but + support for making this mandatory via ACLs is planned. +- The administrator creates a Resource Quota for each namespace. +- Users put compute resource requests on their pods. The sum of all resource requests across + all pods in the same namespace must not exceed any hard resource limit in any Resource Quota + document for the namespace. Note that we used to verify Resource Quota by taking the sum of + resource limits of the pods, but this was altered to use resource requests. Backwards compatibility + for those pods previously created is preserved because pods that only specify a resource limit have + their resource requests defaulted to match their defined limits. The user is only charged for the + resources they request in the Resource Quota versus their limits because the request is the minimum + amount of resource guaranteed by the cluster during scheduling. For more information on over commit, + see [compute-resources](/docs/user-guide/compute-resources). +- If creating a pod would cause the namespace to exceed any of the limits specified in the + the Resource Quota for that namespace, then the request will fail with HTTP status + code `403 FORBIDDEN`. +- If quota is enabled in a namespace and the user does not specify *requests* on the pod for each + of the resources for which quota is enabled, then the POST of the pod will fail with HTTP + status code `403 FORBIDDEN`. Hint: Use the LimitRange admission controller to force default + values of *limits* (then resource *requests* would be equal to *limits* by default, see + [admission controller](/docs/admin/admission-controllers)) before the quota is checked to avoid this problem. + +Examples of policies that could be created using namespaces and quotas are: + +- In a cluster with a capacity of 32 GiB RAM, and 16 cores, let team A use 20 Gib and 10 cores, + let B use 10GiB and 4 cores, and hold 2GiB and 2 cores in reserve for future allocation. +- Limit the "testing" namespace to using 1 core and 1GiB RAM. Let the "production" namespace + use any amount. + +In the case where the total capacity of the cluster is less than the sum of the quotas of the namespaces, +there may be contention for resources. This is handled on a first-come-first-served basis. + +Neither contention nor changes to quota will affect already-running pods. + +## Enabling Resource Quota + +Resource Quota support is enabled by default for many Kubernetes distributions. It is +enabled when the apiserver `--admission-control=` flag has `ResourceQuota` as +one of its arguments. + +Resource Quota is enforced in a particular namespace when there is a +`ResourceQuota` object in that namespace. There should be at most one +`ResourceQuota` object in a namespace. + +## Compute Resource Quota + +The total sum of [compute resources](/docs/user-guide/compute-resources) requested by pods +in a namespace can be limited. The following compute resource types are supported: + +| ResourceName | Description | +| ------------ | ----------- | +| cpu | Total cpu requests of containers | +| memory | Total memory requests of containers + +For example, `cpu` quota sums up the `resources.requests.cpu` fields of every +container of every pod in the namespace, and enforces a maximum on that sum. + +## Object Count Quota + +The number of objects of a given type can be restricted. The following types +are supported: + +| ResourceName | Description | +| ------------ | ----------- | +| pods | Total number of pods | +| services | Total number of services | +| replicationcontrollers | Total number of replication controllers | +| resourcequotas | Total number of [resource quotas](/docs/admin/admission-controllers/#resourcequota) | +| secrets | Total number of secrets | +| persistentvolumeclaims | Total number of [persistent volume claims](/docs/user-guide/persistent-volumes/#persistentvolumeclaims) | + +For example, `pods` quota counts and enforces a maximum on the number of `pods` +created in a single namespace. + +You might want to set a pods quota on a namespace +to avoid the case where a user creates many small pods and exhausts the cluster's +supply of Pod IPs. + +## Viewing and Setting Quotas + +Kubectl supports creating, updating, and viewing quotas: + +```shell +$ kubectl namespace myspace +$ cat < quota.json +{ + "apiVersion": "v1", + "kind": "ResourceQuota", + "metadata": { + "name": "quota" + }, + "spec": { + "hard": { + "memory": "1Gi", + "cpu": "20", + "pods": "10", + "services": "5", + "replicationcontrollers":"20", + "resourcequotas":"1" + } + } +} +EOF +$ kubectl create -f ./quota.json +$ kubectl get quota +NAME +quota +$ kubectl describe quota quota +Name: quota +Resource Used Hard +-------- ---- ---- +cpu 0m 20 +memory 0 1Gi +pods 5 10 +replicationcontrollers 5 20 +resourcequotas 1 1 +services 3 5 +``` + +## Quota and Cluster Capacity + +Resource Quota objects are independent of the Cluster Capacity. They are +expressed in absolute units. So, if you add nodes to your cluster, this does *not* +automatically give each namespace the ability to consume more resources. + +Sometimes more complex policies may be desired, such as: + + - proportionally divide total cluster resources among several teams. + - allow each tenant to grow resource usage as needed, but have a generous + limit to prevent accidental resource exhaustion. + - detect demand from one namespace, add nodes, and increase quota. + +Such policies could be implemented using ResourceQuota as a building-block, by +writing a 'controller' which watches the quota usage and adjusts the quota +hard limits of each namespace according to other signals. + +Note that resource quota divides up aggregate cluster resources, but it creates no +restrictions around nodes: pods from several namespaces may run on the same node. + +## Example + +See a [detailed example for how to use resource quota](/docs/admin/resourcequota/). + +## Read More + See [ResourceQuota design doc](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/admission_control_resource_quota.md) for more information. - -This example assumes you have a functional Kubernetes setup. - -## Step 1: Create a namespace - -This example will work in a custom namespace to demonstrate the concepts involved. - -Let's create a new namespace called quota-example: - -```shell -$ kubectl create -f docs/admin/resourcequota/namespace.yaml -namespace "quota-example" created -$ kubectl get namespaces -NAME LABELS STATUS AGE -default Active 2m -quota-example Active 39s -``` - -## Step 2: Apply a quota to the namespace - -By default, a pod will run with unbounded CPU and memory requests/limits. This means that any pod in the -system will be able to consume as much CPU and memory on the node that executes the pod. - -Users may want to restrict how much of the cluster resources a given namespace may consume -across all of its pods in order to manage cluster usage. To do this, a user applies a quota to -a namespace. A quota lets the user set hard limits on the total amount of node resources (cpu, memory) -and API resources (pods, services, etc.) that a namespace may consume. In term of resources, Kubernetes -checks the total resource *requests*, not resource *limits* of all containers/pods in the namespace. - -Let's create a simple quota in our namespace: - -```shell -$ kubectl create -f docs/admin/resourcequota/quota.yaml --namespace=quota-example -resourcequota "quota" created -``` - -Once your quota is applied to a namespace, the system will restrict any creation of content -in the namespace until the quota usage has been calculated. This should happen quickly. - -You can describe your current quota usage to see what resources are being consumed in your -namespace. - -```shell -$ kubectl describe quota quota --namespace=quota-example -Name: quota -Namespace: quota-example -Resource Used Hard --------- ---- ---- -cpu 0 20 -memory 0 1Gi -persistentvolumeclaims 0 10 -pods 0 10 -replicationcontrollers 0 20 -resourcequotas 1 1 -secrets 1 10 -services 0 5 -``` - -## Step 3: Applying default resource requests and limits - -Pod authors rarely specify resource requests and limits for their pods. - -Since we applied a quota to our project, let's see what happens when an end-user creates a pod that has unbounded -cpu and memory by creating an nginx container. - -To demonstrate, lets create a replication controller that runs nginx: - -```shell -$ kubectl run nginx --image=nginx --replicas=1 --namespace=quota-example -replicationcontroller "nginx" created -``` - -Now let's look at the pods that were created. - -```shell -$ kubectl get pods --namespace=quota-example -NAME READY STATUS RESTARTS AGE -``` - -What happened? I have no pods! Let's describe the replication controller to get a view of what is happening. - -```shell -kubectl describe rc nginx --namespace=quota-example -Name: nginx -Namespace: quota-example -Image(s): nginx -Selector: run=nginx -Labels: run=nginx -Replicas: 0 current / 1 desired -Pods Status: 0 Running / 0 Waiting / 0 Succeeded / 0 Failed -No volumes. -Events: - FirstSeen LastSeen Count From SubobjectPath Reason Message - 42s 11s 3 {replication-controller } FailedCreate Error creating: Pod "nginx-" is forbidden: Must make a non-zero request for memory since it is tracked by quota. -``` - -The Kubernetes API server is rejecting the replication controllers requests to create a pod because our pods -do not specify any memory usage *request*. - -So let's set some default values for the amount of cpu and memory a pod can consume: - -```shell -$ kubectl create -f docs/admin/resourcequota/limits.yaml --namespace=quota-example -limitrange "limits" created -$ kubectl describe limits limits --namespace=quota-example -Name: limits -Namespace: quota-example -Type Resource Min Max Request Limit Limit/Request ----- -------- --- --- ------- ----- ------------- -Container memory - - 256Mi 512Mi - -Container cpu - - 100m 200m - -``` - -Now any time a pod is created in this namespace, if it has not specified any resource request/limit, the default -amount of cpu and memory per container will be applied, and the request will be used as part of admission control. - -Now that we have applied default resource *request* for our namespace, our replication controller should be able to -create its pods. - -```shell -$ kubectl get pods --namespace=quota-example -NAME READY STATUS RESTARTS AGE -nginx-fca65 1/1 Running 0 1m -``` - -And if we print out our quota usage in the namespace: - -```shell -$ kubectl describe quota quota --namespace=quota-example -Name: quota -Namespace: quota-example -Resource Used Hard --------- ---- ---- -cpu 100m 20 -memory 256Mi 1Gi -persistentvolumeclaims 0 10 -pods 1 10 -replicationcontrollers 1 20 -resourcequotas 1 1 -secrets 1 10 -services 0 5 -``` - -You can now see the pod that was created is consuming explicit amounts of resources (specified by resource *request*), and the usage is being tracked by the Kubernetes system properly. - -## Summary - -Actions that consume node resources for cpu and memory can be subject to hard quota limits defined by the namespace quota. The resource consumption is measured by resource *request* in pod specification. - -Any action that consumes those resources can be tweaked, or can pick up namespace level defaults to meet your end goal. \ No newline at end of file diff --git a/docs/admin/resourcequota/walkthrough.md b/docs/admin/resourcequota/walkthrough.md new file mode 100644 index 0000000000..eeacbddabf --- /dev/null +++ b/docs/admin/resourcequota/walkthrough.md @@ -0,0 +1,164 @@ +--- +--- + +This example demonstrates how [resource quota](/docs/admin/admission-controllers/#resourcequota) and +[limitsranger](/docs/admin/admission-controllers/#limitranger) can be applied to a Kubernetes namespace. +See [ResourceQuota design doc](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/admission_control_resource_quota.md) for more information. + +This example assumes you have a functional Kubernetes setup. + +## Step 1: Create a namespace + +This example will work in a custom namespace to demonstrate the concepts involved. + +Let's create a new namespace called quota-example: + +```shell +$ kubectl create namespace quota-example +namespace "quota-example" created +``` + +Note that `kubectl` commands will print the type and name of the resource created or mutated, which can then be used in subsequent commands: + +```shell +$ kubectl get namespaces +NAME STATUS AGE +default Active 50m +quota-example Active 2s +``` + +## Step 2: Apply a quota to the namespace + +By default, a pod will run with unbounded CPU and memory requests/limits. This means that any pod in the +system will be able to consume as much CPU and memory on the node that executes the pod. + +Users may want to restrict how much of the cluster resources a given namespace may consume +across all of its pods in order to manage cluster usage. To do this, a user applies a quota to +a namespace. A quota lets the user set hard limits on the total amount of node resources (cpu, memory) +and API resources (pods, services, etc.) that a namespace may consume. In term of resources, Kubernetes +checks the total resource *requests*, not resource *limits* of all containers/pods in the namespace. + +Let's create a simple quota in our namespace: + +```shell +$ kubectl create -f docs/admin/resourcequota/quota.yaml --namespace=quota-example +resourcequota "quota" created +``` + +Once your quota is applied to a namespace, the system will restrict any creation of content +in the namespace until the quota usage has been calculated. This should happen quickly. + +You can describe your current quota usage to see what resources are being consumed in your +namespace. + +```shell +$ kubectl describe quota quota --namespace=quota-example +Name: quota +Namespace: quota-example +Resource Used Hard +-------- ---- ---- +cpu 0 20 +memory 0 1Gi +persistentvolumeclaims 0 10 +pods 0 10 +replicationcontrollers 0 20 +resourcequotas 1 1 +secrets 1 10 +services 0 5 +``` + +## Step 3: Applying default resource requests and limits + +Pod authors rarely specify resource requests and limits for their pods. + +Since we applied a quota to our project, let's see what happens when an end-user creates a pod that has unbounded +cpu and memory by creating an nginx container. + +To demonstrate, lets create a Deployment that runs nginx: + +```shell +$ kubectl run nginx --image=nginx --replicas=1 --namespace=quota-example +deployment "nginx" created +``` + +This creates a Deployment "nginx" with its underlying resource, a ReplicaSet, which handles the creation and deletion of Pod replicas. Now let's look at the pods that were created. + +```shell +$ kubectl get pods --namespace=quota-example +NAME READY STATUS RESTARTS AGE +``` + +What happened? I have no pods! Let's describe the ReplicaSet managed by the nginx Deployment to get a view of what is happening. +Note that `kubectl describe rs` works only on kubernetes cluster >= v1.2. If you are running older versions, use `kubectl describe rc` instead. +If you want to obtain the old behavior, use `--generator=run/v1` to create replication controllers. See [`kubectl run`](/docs/user-guide/kubectl/kubectl_run/) for more details. + +```shell +$ kubectl describe rs -l run=nginx --namespace=quota-example +Name: nginx-2040093540 +Namespace: quota-example +Image(s): nginx +Selector: pod-template-hash=2040093540,run=nginx +Labels: pod-template-hash=2040093540,run=nginx +Replicas: 0 current / 1 desired +Pods Status: 0 Running / 0 Waiting / 0 Succeeded / 0 Failed +No volumes. +Events: + FirstSeen LastSeen Count From SubobjectPath Type Reason Message + --------- -------- ----- ---- ------------- -------- ------ ------- + 48s 26s 4 {replicaset-controller } Warning FailedCreate Error creating: pods "nginx-2040093540-" is forbidden: Failed quota: quota: must specify cpu,memory +``` + +The Kubernetes API server is rejecting the ReplicaSet requests to create a pod because our pods +do not specify any memory usage *request*. + +So let's set some default values for the amount of cpu and memory a pod can consume: + +```shell +$ kubectl create -f docs/admin/resourcequota/limits.yaml --namespace=quota-example +limitrange "limits" created +$ kubectl describe limits limits --namespace=quota-example +Name: limits +Namespace: quota-example +Type Resource Min Max Default Request Default Limit Max Limit/Request Ratio +---- -------- --- --- --------------- ------------- ----------------------- +Container cpu - - 100m 200m - +Container memory - - 256Mi 512Mi - +``` + +Now any time a pod is created in this namespace, if it has not specified any resource request/limit, the default +amount of cpu and memory per container will be applied, and the request will be used as part of admission control. + +Now that we have applied default resource *request* for our namespace, our Deployment should be able to +create its pods. + +```shell +$ kubectl get pods --namespace=quota-example +NAME READY STATUS RESTARTS AGE +nginx-2040093540-miohp 1/1 Running 0 5s +``` + +And if we print out our quota usage in the namespace: + +```shell +$ kubectl describe quota quota --namespace=quota-example +Name: quota +Namespace: quota-example +Resource Used Hard +-------- ---- ---- +cpu 100m 20 +memory 256Mi 1Gi +persistentvolumeclaims 0 10 +pods 1 10 +replicationcontrollers 1 20 +resourcequotas 1 1 +secrets 1 10 +services 0 5 +``` + +You can now see the pod that was created is consuming explicit amounts of resources (specified by resource *request*), and the usage is being tracked by the Kubernetes system properly. + +## Summary + +Actions that consume node resources for cpu and memory can be subject to hard quota limits defined by the namespace quota. The resource consumption is measured by resource *request* in pod specification. + +Any action that consumes those resources can be tweaked, or can pick up namespace level defaults to meet your end goal. diff --git a/docs/api-reference/autoscaling/v1/definitions.html b/docs/api-reference/autoscaling/v1/definitions.html new file mode 100755 index 0000000000..1ce0dfa376 --- /dev/null +++ b/docs/api-reference/autoscaling/v1/definitions.html @@ -0,0 +1,785 @@ +--- +--- + + + + + + +Top Level API Objects + + + +
    +
    +

    Top Level API Objects

    + +
    +
    +

    Definitions

    +
    +
    +

    unversioned.Patch

    +
    +

    Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.

    +
    +
    +
    +

    v1.DeleteOptions

    +
    +

    DeleteOptions may be provided when deleting an API object

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    kind

    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    string

    apiVersion

    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/release-1.2/docs/devel/api-conventions.md#resources

    false

    string

    gracePeriodSeconds

    The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.

    true

    integer (int64)

    + +
    +
    +

    v1.HorizontalPodAutoscalerList

    +
    +

    list of horizontal pod autoscaler objects.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    kind

    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    string

    apiVersion

    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/release-1.2/docs/devel/api-conventions.md#resources

    false

    string

    metadata

    Standard list metadata.

    false

    unversioned.ListMeta

    items

    list of horizontal pod autoscaler objects.

    true

    v1.HorizontalPodAutoscaler array

    + +
    +
    +

    unversioned.StatusDetails

    +
    +

    StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).

    false

    string

    group

    The group attribute of the resource associated with the status StatusReason.

    false

    string

    kind

    The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    string

    causes

    The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.

    false

    unversioned.StatusCause array

    retryAfterSeconds

    If specified, the time in seconds before the operation should be retried.

    false

    integer (int32)

    + +
    +
    +

    unversioned.ListMeta

    +
    +

    ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    selfLink

    SelfLink is a URL representing this object. Populated by the system. Read-only.

    false

    string

    resourceVersion

    String that identifies the server’s internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#concurrency-control-and-consistency

    false

    string

    + +
    +
    +

    v1.CrossVersionObjectReference

    +
    +

    CrossVersionObjectReference contains enough information to let you identify the referred resource.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    kind

    Kind of the referent; More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds"

    true

    string

    name

    Name of the referent; More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

    true

    string

    apiVersion

    API version of the referent

    false

    string

    + +
    +
    +

    v1.HorizontalPodAutoscaler

    +
    +

    configuration of a horizontal pod autoscaler.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    kind

    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    string

    apiVersion

    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/release-1.2/docs/devel/api-conventions.md#resources

    false

    string

    metadata

    Standard object metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

    false

    v1.ObjectMeta

    spec

    behaviour of autoscaler. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status.

    false

    v1.HorizontalPodAutoscalerSpec

    status

    current information about the autoscaler.

    false

    v1.HorizontalPodAutoscalerStatus

    + +
    +
    +

    unversioned.Status

    +
    +

    Status is a return value for calls that don’t return other objects.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    kind

    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    string

    apiVersion

    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/release-1.2/docs/devel/api-conventions.md#resources

    false

    string

    metadata

    Standard list metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    unversioned.ListMeta

    status

    Status of the operation. One of: "Success" or "Failure". More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status

    false

    string

    message

    A human-readable description of the status of this operation.

    false

    string

    reason

    A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.

    false

    string

    details

    Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.

    false

    unversioned.StatusDetails

    code

    Suggested HTTP return code for this status, 0 if not set.

    false

    integer (int32)

    + +
    +
    +

    v1.HorizontalPodAutoscalerStatus

    +
    +

    current status of a horizontal pod autoscaler

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    observedGeneration

    most recent generation observed by this autoscaler.

    false

    integer (int64)

    lastScaleTime

    last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed.

    false

    string

    currentReplicas

    current number of replicas of pods managed by this autoscaler.

    true

    integer (int32)

    desiredReplicas

    desired number of replicas of pods managed by this autoscaler.

    true

    integer (int32)

    currentCPUUtilizationPercentage

    current average CPU utilization over all pods, represented as a percentage of requested CPU, e.g. 70 means that an average pod is using now 70% of its requested CPU.

    false

    integer (int32)

    + +
    +
    +

    v1.HorizontalPodAutoscalerSpec

    +
    +

    specification of a horizontal pod autoscaler.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    scaleTargetRef

    reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption and will set the desired number of pods by using its Scale subresource.

    true

    v1.CrossVersionObjectReference

    minReplicas

    lower limit for the number of pods that can be set by the autoscaler, default 1.

    false

    integer (int32)

    maxReplicas

    upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.

    true

    integer (int32)

    targetCPUUtilizationPercentage

    target average CPU utilization (represented as a percentage of requested CPU) over all the pods; if not specified the default autoscaling policy will be used.

    false

    integer (int32)

    + +
    +
    +

    v1.ObjectMeta

    +
    +

    ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

    false

    string

    generateName

    GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
    +
    +If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
    +
    +Applied only if Name is not specified. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#idempotency

    false

    string

    namespace

    Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
    +
    +Must be a DNS_LABEL. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/namespaces.md

    false

    string

    selfLink

    SelfLink is a URL representing this object. Populated by the system. Read-only.

    false

    string

    uid

    UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
    +
    +Populated by the system. Read-only. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#uids

    false

    string

    resourceVersion

    An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
    +
    +Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#concurrency-control-and-consistency

    false

    string

    generation

    A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.

    false

    integer (int64)

    creationTimestamp

    CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
    +
    +Populated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

    false

    string

    deletionTimestamp

    DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
    +
    +Populated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

    false

    string

    deletionGracePeriodSeconds

    Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.

    false

    integer (int64)

    labels

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md

    false

    any

    annotations

    Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.2/docs/user-guide/annotations.md

    false

    any

    + +
    +
    +

    unversioned.StatusCause

    +
    +

    StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    reason

    A machine-readable description of the cause of the error. If this value is empty there is no information available.

    false

    string

    message

    A human-readable description of the cause of the error. This field may be presented as-is to a reader.

    false

    string

    field

    The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
    +
    +Examples:
    + "name" - the field "name" on the current resource
    + "items[0].name" - the field "name" on the first array entry in "items"

    false

    string

    + +
    +
    +

    json.WatchEvent

    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    type

    the type of watch event; may be ADDED, MODIFIED, DELETED, or ERROR

    false

    string

    object

    the object being watched; will match the type of the resource endpoint or be a Status object if the type is ERROR

    false

    string

    + +
    +
    +

    any

    +
    +

    Represents an untyped JSON map - see the description of the field for more info about the structure of this object.

    +
    +
    +
    +
    +
    + + + diff --git a/docs/api-reference/autoscaling/v1/operations.html b/docs/api-reference/autoscaling/v1/operations.html new file mode 100755 index 0000000000..a5b2eafe9a --- /dev/null +++ b/docs/api-reference/autoscaling/v1/operations.html @@ -0,0 +1,1717 @@ +--- +--- + + + + + + +Operations + + + +
    +
    +

    Operations

    +
    +
    +

    get available resources

    +
    +
    +
    GET /apis/autoscaling/v1
    +
    +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    default

    success

    string

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    list or watch objects of kind HorizontalPodAutoscaler

    +
    +
    +
    GET /apis/autoscaling/v1/horizontalpodautoscalers
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.HorizontalPodAutoscalerList

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    list or watch objects of kind HorizontalPodAutoscaler

    +
    +
    +
    GET /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.HorizontalPodAutoscalerList

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    delete collection of HorizontalPodAutoscaler

    +
    +
    +
    DELETE /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    create a HorizontalPodAutoscaler

    +
    +
    +
    POST /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.HorizontalPodAutoscaler

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.HorizontalPodAutoscaler

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    read the specified HorizontalPodAutoscaler

    +
    +
    +
    GET /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    export

    Should this value be exported. Export strips fields that a user can not specify.

    false

    boolean

    QueryParameter

    exact

    Should the export be exact. Exact export maintains cluster-specific fields like Namespace

    false

    boolean

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the HorizontalPodAutoscaler

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.HorizontalPodAutoscaler

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    replace the specified HorizontalPodAutoscaler

    +
    +
    +
    PUT /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.HorizontalPodAutoscaler

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the HorizontalPodAutoscaler

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.HorizontalPodAutoscaler

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    delete a HorizontalPodAutoscaler

    +
    +
    +
    DELETE /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.DeleteOptions

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the HorizontalPodAutoscaler

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    partially update the specified HorizontalPodAutoscaler

    +
    +
    +
    PATCH /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    unversioned.Patch

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the HorizontalPodAutoscaler

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.HorizontalPodAutoscaler

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      application/json-patch+json

      +
    • +
    • +

      application/merge-patch+json

      +
    • +
    • +

      application/strategic-merge-patch+json

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    replace status of the specified HorizontalPodAutoscaler

    +
    +
    +
    PUT /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.HorizontalPodAutoscaler

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the HorizontalPodAutoscaler

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.HorizontalPodAutoscaler

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    watch individual changes to a list of HorizontalPodAutoscaler

    +
    +
    +
    GET /apis/autoscaling/v1/watch/horizontalpodautoscalers
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    watch individual changes to a list of HorizontalPodAutoscaler

    +
    +
    +
    GET /apis/autoscaling/v1/watch/namespaces/{namespace}/horizontalpodautoscalers
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +

    watch changes to an object of kind HorizontalPodAutoscaler

    +
    +
    +
    GET /apis/autoscaling/v1/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the HorizontalPodAutoscaler

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisautoscalingv1

      +
    • +
    +
    +
    +
    +
    +
    +
    + + + diff --git a/docs/api-reference/batch/v1/definitions.html b/docs/api-reference/batch/v1/definitions.html new file mode 100755 index 0000000000..c822d573b3 --- /dev/null +++ b/docs/api-reference/batch/v1/definitions.html @@ -0,0 +1,3427 @@ +--- +--- + + + + + + +Top Level API Objects + + + +
    +
    +

    Top Level API Objects

    +
    +
    + +
    +
    +
    +
    +

    Definitions

    +
    +
    +

    v1.SELinuxOptions

    +
    +

    SELinuxOptions are the labels to be applied to the container

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    user

    User is a SELinux user label that applies to the container.

    false

    string

    role

    Role is a SELinux role label that applies to the container.

    false

    string

    type

    Type is a SELinux type label that applies to the container.

    false

    string

    level

    Level is SELinux level label that applies to the container.

    false

    string

    + +
    +
    +

    v1.ObjectFieldSelector

    +
    +

    ObjectFieldSelector selects an APIVersioned field of an object.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    apiVersion

    Version of the schema the FieldPath is written in terms of, defaults to "v1".

    false

    string

    fieldPath

    Path of the field to select in the specified API version.

    true

    string

    + +
    +
    +

    v1.VolumeMount

    +
    +

    VolumeMount describes a mounting of a Volume within a container.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    This must match the Name of a Volume.

    true

    string

    readOnly

    Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.

    false

    boolean

    false

    mountPath

    Path within the container at which the volume should be mounted. Must not contain :.

    true

    string

    + +
    +
    +

    v1.NFSVolumeSource

    +
    +

    Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    server

    Server is the hostname or IP address of the NFS server. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

    true

    string

    path

    Path that is exported by the NFS server. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

    true

    string

    readOnly

    ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

    false

    boolean

    false

    + +
    +
    +

    v1.LabelSelector

    +
    +

    A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    matchLabels

    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.

    false

    any

    matchExpressions

    matchExpressions is a list of label selector requirements. The requirements are ANDed.

    false

    v1.LabelSelectorRequirement array

    + +
    +
    +

    v1.CephFSVolumeSource

    +
    +

    Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    monitors

    Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/release-1.2/examples/cephfs/README.md#how-to-use-it

    true

    string array

    path

    Optional: Used as the mounted root, rather than the full Ceph tree, default is /

    false

    string

    user

    Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/release-1.2/examples/cephfs/README.md#how-to-use-it

    false

    string

    secretFile

    Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/release-1.2/examples/cephfs/README.md#how-to-use-it

    false

    string

    secretRef

    Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/release-1.2/examples/cephfs/README.md#how-to-use-it

    false

    v1.LocalObjectReference

    readOnly

    Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/release-1.2/examples/cephfs/README.md#how-to-use-it

    false

    boolean

    false

    + +
    +
    +

    v1.HTTPHeader

    +
    +

    HTTPHeader describes a custom header to be used in HTTP probes

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    The header field name

    true

    string

    value

    The header field value

    true

    string

    + +
    +
    +

    v1.FCVolumeSource

    +
    +

    Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    targetWWNs

    Required: FC target world wide names (WWNs)

    true

    string array

    lun

    Required: FC target lun number

    true

    integer (int32)

    fsType

    Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.

    false

    string

    readOnly

    Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

    false

    boolean

    false

    + +
    +
    +

    v1.DownwardAPIVolumeSource

    +
    +

    DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    items

    Items is a list of downward API volume file

    false

    v1.DownwardAPIVolumeFile array

    + +
    +
    +

    unversioned.StatusCause

    +
    +

    StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    reason

    A machine-readable description of the cause of the error. If this value is empty there is no information available.

    false

    string

    message

    A human-readable description of the cause of the error. This field may be presented as-is to a reader.

    false

    string

    field

    The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
    +
    +Examples:
    + "name" - the field "name" on the current resource
    + "items[0].name" - the field "name" on the first array entry in "items"

    false

    string

    + +
    +
    +

    v1.GCEPersistentDiskVolumeSource

    +
    +

    Represents a Persistent Disk resource in Google Compute Engine.

    +
    +
    +

    A GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    pdName

    Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#gcepersistentdisk

    true

    string

    fsType

    Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#gcepersistentdisk

    false

    string

    partition

    The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#gcepersistentdisk

    false

    integer (int32)

    readOnly

    ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#gcepersistentdisk

    false

    boolean

    false

    + +
    +
    +

    v1.TCPSocketAction

    +
    +

    TCPSocketAction describes an action based on opening a socket

    +
    + +++++++ + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    port

    Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

    true

    string

    + +
    +
    +

    v1.ConfigMapVolumeSource

    +
    +

    Adapts a ConfigMap into a volume.

    +
    +
    +

    The contents of the target ConfigMap’s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    Name of the referent. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

    false

    string

    items

    If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error. Paths must be relative and may not contain the .. path or start with ...

    false

    v1.KeyToPath array

    + +
    +
    +

    unversioned.StatusDetails

    +
    +

    StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).

    false

    string

    group

    The group attribute of the resource associated with the status StatusReason.

    false

    string

    kind

    The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    string

    causes

    The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.

    false

    unversioned.StatusCause array

    retryAfterSeconds

    If specified, the time in seconds before the operation should be retried.

    false

    integer (int32)

    + +
    +
    +

    v1.GitRepoVolumeSource

    +
    +

    Represents a volume that is populated with the contents of a git repository. Git repo volumes do not support ownership management. Git repo volumes support SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    repository

    Repository URL

    true

    string

    revision

    Commit hash for the specified revision.

    false

    string

    directory

    Target directory name. Must not contain or start with ... If . is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.

    false

    string

    + +
    +
    +

    v1.HTTPGetAction

    +
    +

    HTTPGetAction describes an action based on HTTP Get requests.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    path

    Path to access on the HTTP server.

    false

    string

    port

    Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

    true

    string

    host

    Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.

    false

    string

    scheme

    Scheme to use for connecting to the host. Defaults to HTTP.

    false

    string

    httpHeaders

    Custom headers to set in the request. HTTP allows repeated headers.

    false

    v1.HTTPHeader array

    + +
    +
    +

    v1.Capabilities

    +
    +

    Adds and removes POSIX capabilities from running containers.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    add

    Added capabilities

    false

    v1.Capability array

    drop

    Removed capabilities

    false

    v1.Capability array

    + +
    +
    +

    v1.LocalObjectReference

    +
    +

    LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    Name of the referent. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

    false

    string

    + +
    +
    +

    v1.Container

    +
    +

    A single application container that you want to run within a pod.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.

    true

    string

    image

    Docker image name. More info: http://releases.k8s.io/release-1.2/docs/user-guide/images.md

    false

    string

    command

    Entrypoint array. Not executed within a shell. The docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/containers.md#containers-and-commands

    false

    string array

    args

    Arguments to the entrypoint. The docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/containers.md#containers-and-commands

    false

    string array

    workingDir

    Container’s working directory. If not specified, the container runtime’s default will be used, which might be configured in the container image. Cannot be updated.

    false

    string

    ports

    List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Cannot be updated.

    false

    v1.ContainerPort array

    env

    List of environment variables to set in the container. Cannot be updated.

    false

    v1.EnvVar array

    resources

    Compute Resources required by this container. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/persistent-volumes.md#resources

    false

    v1.ResourceRequirements

    volumeMounts

    Pod volumes to mount into the container’s filesyste. Cannot be updated.

    false

    v1.VolumeMount array

    livenessProbe

    Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/pod-states.md#container-probes

    false

    v1.Probe

    readinessProbe

    Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/pod-states.md#container-probes

    false

    v1.Probe

    lifecycle

    Actions that the management system should take in response to container lifecycle events. Cannot be updated.

    false

    v1.Lifecycle

    terminationMessagePath

    Optional: Path at which the file to which the container’s termination message will be written is mounted into the container’s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Defaults to /dev/termination-log. Cannot be updated.

    false

    string

    imagePullPolicy

    Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/images.md#updating-images

    false

    string

    securityContext

    Security options the pod should run with. More info: http://releases.k8s.io/release-1.2/docs/design/security_context.md

    false

    v1.SecurityContext

    stdin

    Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.

    false

    boolean

    false

    stdinOnce

    Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false

    false

    boolean

    false

    tty

    Whether this container should allocate a TTY for itself, also requires stdin to be true. Default is false.

    false

    boolean

    false

    + +
    +
    +

    v1.PodSecurityContext

    +
    +

    PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    seLinuxOptions

    The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.

    false

    v1.SELinuxOptions

    runAsUser

    The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.

    false

    integer (int64)

    runAsNonRoot

    Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.

    false

    boolean

    false

    supplementalGroups

    A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.

    false

    [integer] array

    fsGroup

    A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:
    +
    +1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR’d with rw-rw

    false

    integer (int64)

    + +
    +
    +

    v1.ExecAction

    +
    +

    ExecAction describes a "run in container" action.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    command

    Command is the command line to execute inside the container, the working directory for the command is root (/) in the container’s filesystem. The command is simply exec’d, it is not run inside a shell, so traditional shell instructions ('

    ', etc) won’t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.

    false

    string array

    + +
    +
    +

    v1.JobStatus

    +
    +

    JobStatus represents the current state of a Job.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    conditions

    Conditions represent the latest available observations of an object’s current state. More info: http://releases.k8s.io/release-1.2/docs/user-guide/jobs.md

    false

    v1.JobCondition array

    startTime

    StartTime represents time when the job was acknowledged by the Job Manager. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.

    false

    string

    completionTime

    CompletionTime represents time when the job was completed. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.

    false

    string

    active

    Active is the number of actively running pods.

    false

    integer (int32)

    succeeded

    Succeeded is the number of pods which reached Phase Succeeded.

    false

    integer (int32)

    failed

    Failed is the number of pods which reached Phase Failed.

    false

    integer (int32)

    + +
    +
    +

    v1.ObjectMeta

    +
    +

    ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

    false

    string

    generateName

    GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
    +
    +If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
    +
    +Applied only if Name is not specified. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#idempotency

    false

    string

    namespace

    Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
    +
    +Must be a DNS_LABEL. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/namespaces.md

    false

    string

    selfLink

    SelfLink is a URL representing this object. Populated by the system. Read-only.

    false

    string

    uid

    UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
    +
    +Populated by the system. Read-only. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#uids

    false

    string

    resourceVersion

    An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
    +
    +Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#concurrency-control-and-consistency

    false

    string

    generation

    A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.

    false

    integer (int64)

    creationTimestamp

    CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
    +
    +Populated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

    false

    string

    deletionTimestamp

    DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.
    +
    +Populated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

    false

    string

    deletionGracePeriodSeconds

    Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.

    false

    integer (int64)

    labels

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md

    false

    any

    annotations

    Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/release-1.2/docs/user-guide/annotations.md

    false

    any

    + +
    +
    +

    v1.HostPathVolumeSource

    +
    +

    Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    path

    Path of the directory on the host. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#hostpath

    true

    string

    + +
    +
    +

    v1.AzureFileVolumeSource

    +
    +

    AzureFile represents an Azure File Service mount on the host and bind mount to the pod.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    secretName

    the name of secret that contains Azure Storage Account Name and Key

    true

    string

    shareName

    Share Name

    true

    string

    readOnly

    Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

    false

    boolean

    false

    + +
    +
    +

    v1.ISCSIVolumeSource

    +
    +

    Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    targetPortal

    iSCSI target portal. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).

    true

    string

    iqn

    Target iSCSI Qualified Name.

    true

    string

    lun

    iSCSI target lun number.

    true

    integer (int32)

    iscsiInterface

    Optional: Defaults to default (tcp). iSCSI interface name that uses an iSCSI transport.

    false

    string

    fsType

    Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#iscsi

    false

    string

    readOnly

    ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.

    false

    boolean

    false

    + +
    +
    +

    json.WatchEvent

    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    type

    the type of watch event; may be ADDED, MODIFIED, DELETED, or ERROR

    false

    string

    object

    the object being watched; will match the type of the resource endpoint or be a Status object if the type is ERROR

    false

    string

    + +
    +
    +

    v1.EmptyDirVolumeSource

    +
    +

    Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    medium

    What type of storage medium should back this directory. The default is "" which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#emptydir

    false

    string

    + +
    +
    +

    unversioned.Patch

    +
    +

    Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.

    +
    +
    +
    +

    v1.CinderVolumeSource

    +
    +

    Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container. The volume must also be in the same region as the kubelet. Cinder volumes support ownership management and SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    volumeID

    volume id used to identify the volume in cinder More info: http://releases.k8s.io/release-1.2/examples/mysql-cinder-pd/README.md

    true

    string

    fsType

    Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.2/examples/mysql-cinder-pd/README.md

    false

    string

    readOnly

    Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/release-1.2/examples/mysql-cinder-pd/README.md

    false

    boolean

    false

    + +
    +
    +

    v1.SecurityContext

    +
    +

    SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    capabilities

    The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime.

    false

    v1.Capabilities

    privileged

    Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false.

    false

    boolean

    false

    seLinuxOptions

    The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.

    false

    v1.SELinuxOptions

    runAsUser

    The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.

    false

    integer (int64)

    runAsNonRoot

    Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.

    false

    boolean

    false

    readOnlyRootFilesystem

    Whether this container has a read-only root filesystem. Default is false.

    false

    boolean

    false

    + +
    +
    +

    v1.PersistentVolumeClaimVolumeSource

    +
    +

    PersistentVolumeClaimVolumeSource references the user’s PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system).

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    claimName

    ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: http://releases.k8s.io/release-1.2/docs/user-guide/persistent-volumes.md#persistentvolumeclaims

    true

    string

    readOnly

    Will force the ReadOnly setting in VolumeMounts. Default false.

    false

    boolean

    false

    + +
    +
    +

    v1.AWSElasticBlockStoreVolumeSource

    +
    +

    Represents a Persistent Disk resource in AWS.

    +
    +
    +

    An AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    volumeID

    Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#awselasticblockstore

    true

    string

    fsType

    Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#awselasticblockstore

    false

    string

    partition

    The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).

    false

    integer (int32)

    readOnly

    Specify "true" to force and set the ReadOnly property in VolumeMounts to "true". If omitted, the default is "false". More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#awselasticblockstore

    false

    boolean

    false

    + +
    +
    +

    v1.FlockerVolumeSource

    +
    +

    Represents a Flocker volume mounted by the Flocker agent. Flocker volumes do not support ownership management or SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    datasetName

    Required: the volume name. This is going to be store on metadata → name on the payload for Flocker

    true

    string

    + +
    +
    +

    unversioned.ListMeta

    +
    +

    ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    selfLink

    SelfLink is a URL representing this object. Populated by the system. Read-only.

    false

    string

    resourceVersion

    String that identifies the server’s internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#concurrency-control-and-consistency

    false

    string

    + +
    +
    +

    v1.Job

    +
    +

    Job represents the configuration of a single job.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    kind

    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    string

    apiVersion

    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/release-1.2/docs/devel/api-conventions.md#resources

    false

    string

    metadata

    Standard object’s metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

    false

    v1.ObjectMeta

    spec

    Spec is a structure defining the expected behavior of a job. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status

    false

    v1.JobSpec

    status

    Status is a structure describing current status of a job. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status

    false

    v1.JobStatus

    + +
    +
    +

    v1.JobCondition

    +
    +

    JobCondition describes current state of a job.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    type

    Type of job condition, Complete or Failed.

    true

    string

    status

    Status of the condition, one of True, False, Unknown.

    true

    string

    lastProbeTime

    Last time the condition was checked.

    false

    string

    lastTransitionTime

    Last time the condition transit from one status to another.

    false

    string

    reason

    (brief) reason for the condition’s last transition.

    false

    string

    message

    Human readable message indicating details about last transition.

    false

    string

    + +
    +
    +

    v1.JobList

    +
    +

    JobList is a collection of jobs.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    kind

    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    string

    apiVersion

    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/release-1.2/docs/devel/api-conventions.md#resources

    false

    string

    metadata

    Standard list metadata More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

    false

    unversioned.ListMeta

    items

    Items is the list of Job.

    true

    v1.Job array

    + +
    +
    +

    v1.SecretVolumeSource

    +
    +

    Adapts a Secret into a volume.

    +
    +
    +

    The contents of the target Secret’s Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    secretName

    Name of the secret in the pod’s namespace to use. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#secrets

    false

    string

    + +
    +
    +

    v1.LabelSelectorRequirement

    +
    +

    A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    key

    key is the label key that the selector applies to.

    true

    string

    operator

    operator represents a key’s relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.

    true

    string

    values

    values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

    false

    string array

    + +
    +
    +

    v1.EnvVar

    +
    +

    EnvVar represents an environment variable present in a Container.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    Name of the environment variable. Must be a C_IDENTIFIER.

    true

    string

    value

    Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

    false

    string

    valueFrom

    Source for the environment variable’s value. Cannot be used if value is not empty.

    false

    v1.EnvVarSource

    + +
    +
    +

    v1.ResourceRequirements

    +
    +

    ResourceRequirements describes the compute resource requirements.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    limits

    Limits describes the maximum amount of compute resources allowed. More info: http://releases.k8s.io/release-1.2/docs/design/resources.md#resource-specifications

    false

    any

    requests

    Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://releases.k8s.io/release-1.2/docs/design/resources.md#resource-specifications

    false

    any

    + +
    +
    +

    v1.FlexVolumeSource

    +
    +

    FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    driver

    Driver is the name of the driver to use for this volume.

    true

    string

    fsType

    Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.

    false

    string

    secretRef

    Optional: SecretRef is reference to the authentication secret for User, default is empty.

    false

    v1.LocalObjectReference

    readOnly

    Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

    false

    boolean

    false

    options

    Optional: Extra command options if any.

    false

    any

    + +
    +
    +

    v1.EnvVarSource

    +
    +

    EnvVarSource represents a source for the value of an EnvVar.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    fieldRef

    Selects a field of the pod; only name and namespace are supported.

    false

    v1.ObjectFieldSelector

    configMapKeyRef

    Selects a key of a ConfigMap.

    false

    v1.ConfigMapKeySelector

    secretKeyRef

    Selects a key of a secret in the pod’s namespace

    false

    v1.SecretKeySelector

    + +
    +
    +

    v1.PodTemplateSpec

    +
    +

    PodTemplateSpec describes the data a pod should have when created from a template

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    metadata

    Standard object’s metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata

    false

    v1.ObjectMeta

    spec

    Specification of the desired behavior of the pod. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status

    false

    v1.PodSpec

    + +
    +
    +

    v1.KeyToPath

    +
    +

    Maps a string key to a path within a volume.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    key

    The key to project.

    true

    string

    path

    The relative path of the file to map the key to. May not be an absolute path. May not contain the path element ... May not start with the string ...

    true

    string

    + +
    +
    +

    v1.JobSpec

    +
    +

    JobSpec describes how the job execution will look like.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    parallelism

    Parallelism specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: http://releases.k8s.io/release-1.2/docs/user-guide/jobs.md

    false

    integer (int32)

    completions

    Completions specifies the desired number of successfully finished pods the job should be run with. Setting to nil means that the success of any pod signals the success of all pods, and allows parallelism to have any positive value. Setting to 1 means that parallelism is limited to 1 and the success of that pod signals the success of the job. More info: http://releases.k8s.io/release-1.2/docs/user-guide/jobs.md

    false

    integer (int32)

    activeDeadlineSeconds

    Optional duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer

    false

    integer (int64)

    selector

    Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://releases.k8s.io/release-1.2/docs/user-guide/labels.md#label-selectors

    false

    v1.LabelSelector

    manualSelector

    ManualSelector controls generation of pod labels and pod selectors. Leave manualSelector unset unless you are certain what you are doing. When false or unset, the system pick labels unique to this job and appends those labels to the pod template. When true, the user is responsible for picking unique labels and specifying the selector. Failure to pick a unique label may cause this and other jobs to not function correctly. However, You may see manualSelector=true in jobs that were created with the old extensions/v1beta1 API. More info: http://releases.k8s.io/release-1.2/docs/design/selector-generation.md

    false

    boolean

    false

    template

    Template is the object that describes the pod that will be created when executing a job. More info: http://releases.k8s.io/release-1.2/docs/user-guide/jobs.md

    true

    v1.PodTemplateSpec

    + +
    +
    +

    v1.DeleteOptions

    +
    +

    DeleteOptions may be provided when deleting an API object

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    kind

    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    string

    apiVersion

    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/release-1.2/docs/devel/api-conventions.md#resources

    false

    string

    gracePeriodSeconds

    The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.

    true

    integer (int64)

    + +
    +
    +

    v1.Volume

    +
    +

    Volume represents a named volume in a pod that may be accessed by any container in the pod.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    Volume’s name. Must be a DNS_LABEL and unique within the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

    true

    string

    hostPath

    HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#hostpath

    false

    v1.HostPathVolumeSource

    emptyDir

    EmptyDir represents a temporary directory that shares a pod’s lifetime. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#emptydir

    false

    v1.EmptyDirVolumeSource

    gcePersistentDisk

    GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#gcepersistentdisk

    false

    v1.GCEPersistentDiskVolumeSource

    awsElasticBlockStore

    AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#awselasticblockstore

    false

    v1.AWSElasticBlockStoreVolumeSource

    gitRepo

    GitRepo represents a git repository at a particular revision.

    false

    v1.GitRepoVolumeSource

    secret

    Secret represents a secret that should populate this volume. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#secrets

    false

    v1.SecretVolumeSource

    nfs

    NFS represents an NFS mount on the host that shares a pod’s lifetime More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#nfs

    false

    v1.NFSVolumeSource

    iscsi

    ISCSI represents an ISCSI Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/release-1.2/examples/iscsi/README.md

    false

    v1.ISCSIVolumeSource

    glusterfs

    Glusterfs represents a Glusterfs mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md

    false

    v1.GlusterfsVolumeSource

    persistentVolumeClaim

    PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: http://releases.k8s.io/release-1.2/docs/user-guide/persistent-volumes.md#persistentvolumeclaims

    false

    v1.PersistentVolumeClaimVolumeSource

    rbd

    RBD represents a Rados Block Device mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md

    false

    v1.RBDVolumeSource

    flexVolume

    FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.

    false

    v1.FlexVolumeSource

    cinder

    Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://releases.k8s.io/release-1.2/examples/mysql-cinder-pd/README.md

    false

    v1.CinderVolumeSource

    cephfs

    CephFS represents a Ceph FS mount on the host that shares a pod’s lifetime

    false

    v1.CephFSVolumeSource

    flocker

    Flocker represents a Flocker volume attached to a kubelet’s host machine. This depends on the Flocker control service being running

    false

    v1.FlockerVolumeSource

    downwardAPI

    DownwardAPI represents downward API about the pod that should populate this volume

    false

    v1.DownwardAPIVolumeSource

    fc

    FC represents a Fibre Channel resource that is attached to a kubelet’s host machine and then exposed to the pod.

    false

    v1.FCVolumeSource

    azureFile

    AzureFile represents an Azure File Service mount on the host and bind mount to the pod.

    false

    v1.AzureFileVolumeSource

    configMap

    ConfigMap represents a configMap that should populate this volume

    false

    v1.ConfigMapVolumeSource

    + +
    +
    +

    integer

    + +
    +
    +

    v1.Probe

    +
    +

    Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    exec

    One and only one of the following should be specified. Exec specifies the action to take.

    false

    v1.ExecAction

    httpGet

    HTTPGet specifies the http request to perform.

    false

    v1.HTTPGetAction

    tcpSocket

    TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported

    false

    v1.TCPSocketAction

    initialDelaySeconds

    Number of seconds after the container has started before liveness probes are initiated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/pod-states.md#container-probes

    false

    integer (int32)

    timeoutSeconds

    Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: http://releases.k8s.io/release-1.2/docs/user-guide/pod-states.md#container-probes

    false

    integer (int32)

    periodSeconds

    How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.

    false

    integer (int32)

    successThreshold

    Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.

    false

    integer (int32)

    failureThreshold

    Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.

    false

    integer (int32)

    + +
    +
    +

    v1.SecretKeySelector

    +
    +

    SecretKeySelector selects a key of a Secret.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    Name of the referent. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

    false

    string

    key

    The key of the secret to select from. Must be a valid secret key.

    true

    string

    + +
    +
    +

    unversioned.Status

    +
    +

    Status is a return value for calls that don’t return other objects.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    kind

    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    string

    apiVersion

    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/release-1.2/docs/devel/api-conventions.md#resources

    false

    string

    metadata

    Standard list metadata. More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#types-kinds

    false

    unversioned.ListMeta

    status

    Status of the operation. One of: "Success" or "Failure". More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#spec-and-status

    false

    string

    message

    A human-readable description of the status of this operation.

    false

    string

    reason

    A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.

    false

    string

    details

    Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.

    false

    unversioned.StatusDetails

    code

    Suggested HTTP return code for this status, 0 if not set.

    false

    integer (int32)

    + +
    +
    +

    v1.Capability

    + +
    +
    +

    v1.DownwardAPIVolumeFile

    +
    +

    DownwardAPIVolumeFile represents information to create the file containing the pod field

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    path

    Required: Path is the relative path name of the file to be created. Must not be absolute or contain the .. path. Must be utf-8 encoded. The first item of the relative path must not start with ..

    true

    string

    fieldRef

    Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.

    true

    v1.ObjectFieldSelector

    + +
    +
    +

    v1.PodSpec

    +
    +

    PodSpec is a description of a pod.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    volumes

    List of volumes that can be mounted by containers belonging to the pod. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md

    false

    v1.Volume array

    containers

    List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. More info: http://releases.k8s.io/release-1.2/docs/user-guide/containers.md

    true

    v1.Container array

    restartPolicy

    Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: http://releases.k8s.io/release-1.2/docs/user-guide/pod-states.md#restartpolicy

    false

    string

    terminationGracePeriodSeconds

    Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.

    false

    integer (int64)

    activeDeadlineSeconds

    Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.

    false

    integer (int64)

    dnsPolicy

    Set DNS policy for containers within the pod. One of ClusterFirst or Default. Defaults to "ClusterFirst".

    false

    string

    nodeSelector

    NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node’s labels for the pod to be scheduled on that node. More info: http://releases.k8s.io/release-1.2/docs/user-guide/node-selection/README.md

    false

    any

    serviceAccountName

    ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: http://releases.k8s.io/release-1.2/docs/design/service_accounts.md

    false

    string

    serviceAccount

    DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.

    false

    string

    nodeName

    NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.

    false

    string

    hostNetwork

    Host networking requested for this pod. Use the host’s network namespace. If this option is set, the ports that will be used must be specified. Default to false.

    false

    boolean

    false

    hostPID

    Use the host’s pid namespace. Optional: Default to false.

    false

    boolean

    false

    hostIPC

    Use the host’s ipc namespace. Optional: Default to false.

    false

    boolean

    false

    securityContext

    SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.

    false

    v1.PodSecurityContext

    imagePullSecrets

    ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://releases.k8s.io/release-1.2/docs/user-guide/images.md#specifying-imagepullsecrets-on-a-pod

    false

    v1.LocalObjectReference array

    + +
    +
    +

    v1.ContainerPort

    +
    +

    ContainerPort represents a network port in a single container.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.

    false

    string

    hostPort

    Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.

    false

    integer (int32)

    containerPort

    Number of port to expose on the pod’s IP address. This must be a valid port number, 0 < x < 65536.

    true

    integer (int32)

    protocol

    Protocol for port. Must be UDP or TCP. Defaults to "TCP".

    false

    string

    hostIP

    What host IP to bind the external port to.

    false

    string

    + +
    +
    +

    v1.Lifecycle

    +
    +

    Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    postStart

    PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/release-1.2/docs/user-guide/container-environment.md#hook-details

    false

    v1.Handler

    preStop

    PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/release-1.2/docs/user-guide/container-environment.md#hook-details

    false

    v1.Handler

    + +
    +
    +

    v1.ConfigMapKeySelector

    +
    +

    Selects a key from a ConfigMap.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    name

    Name of the referent. More info: http://releases.k8s.io/release-1.2/docs/user-guide/identifiers.md#names

    false

    string

    key

    The key to select.

    true

    string

    + +
    +
    +

    v1.GlusterfsVolumeSource

    +
    +

    Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    endpoints

    EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md#create-a-pod

    true

    string

    path

    Path is the Glusterfs volume path. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md#create-a-pod

    true

    string

    readOnly

    ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/release-1.2/examples/glusterfs/README.md#create-a-pod

    false

    boolean

    false

    + +
    +
    +

    v1.Handler

    +
    +

    Handler defines a specific action that should be taken

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    exec

    One and only one of the following should be specified. Exec specifies the action to take.

    false

    v1.ExecAction

    httpGet

    HTTPGet specifies the http request to perform.

    false

    v1.HTTPGetAction

    tcpSocket

    TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported

    false

    v1.TCPSocketAction

    + +
    +
    +

    v1.RBDVolumeSource

    +
    +

    Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes support ownership management and SELinux relabeling.

    +
    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionRequiredSchemaDefault

    monitors

    A collection of Ceph monitors. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

    true

    string array

    image

    The rados image name. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

    true

    string

    fsType

    Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: http://releases.k8s.io/release-1.2/docs/user-guide/volumes.md#rbd

    false

    string

    pool

    The rados pool name. Default is rbd. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it.

    true

    string

    user

    The rados user name. Default is admin. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

    true

    string

    keyring

    Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

    true

    string

    secretRef

    SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is empty. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

    true

    v1.LocalObjectReference

    readOnly

    ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/release-1.2/examples/rbd/README.md#how-to-use-it

    false

    boolean

    false

    + +
    +
    +

    any

    +
    +

    Represents an untyped JSON map - see the description of the field for more info about the structure of this object.

    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/docs/api-reference/batch/v1/operations.html b/docs/api-reference/batch/v1/operations.html new file mode 100755 index 0000000000..d24af0b032 --- /dev/null +++ b/docs/api-reference/batch/v1/operations.html @@ -0,0 +1,1717 @@ +--- +--- + + + + + + +Operations + + + +
    +
    +

    Operations

    +
    +
    +

    get available resources

    +
    +
    +
    GET /apis/batch/v1
    +
    +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    default

    success

    string

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    list or watch objects of kind Job

    +
    +
    +
    GET /apis/batch/v1/jobs
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.JobList

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    list or watch objects of kind Job

    +
    +
    +
    GET /apis/batch/v1/namespaces/{namespace}/jobs
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.JobList

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    delete collection of Job

    +
    +
    +
    DELETE /apis/batch/v1/namespaces/{namespace}/jobs
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    create a Job

    +
    +
    +
    POST /apis/batch/v1/namespaces/{namespace}/jobs
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.Job

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Job

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    read the specified Job

    +
    +
    +
    GET /apis/batch/v1/namespaces/{namespace}/jobs/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    export

    Should this value be exported. Export strips fields that a user can not specify.

    false

    boolean

    QueryParameter

    exact

    Should the export be exact. Exact export maintains cluster-specific fields like Namespace

    false

    boolean

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Job

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Job

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    replace the specified Job

    +
    +
    +
    PUT /apis/batch/v1/namespaces/{namespace}/jobs/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.Job

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Job

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Job

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    delete a Job

    +
    +
    +
    DELETE /apis/batch/v1/namespaces/{namespace}/jobs/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.DeleteOptions

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Job

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    unversioned.Status

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    partially update the specified Job

    +
    +
    +
    PATCH /apis/batch/v1/namespaces/{namespace}/jobs/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    unversioned.Patch

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Job

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Job

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      application/json-patch+json

      +
    • +
    • +

      application/merge-patch+json

      +
    • +
    • +

      application/strategic-merge-patch+json

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    replace status of the specified Job

    +
    +
    +
    PUT /apis/batch/v1/namespaces/{namespace}/jobs/{name}/status
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    BodyParameter

    body

    true

    v1.Job

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Job

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    v1.Job

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    • +

      application/yaml

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    watch individual changes to a list of Job

    +
    +
    +
    GET /apis/batch/v1/watch/jobs
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    watch individual changes to a list of Job

    +
    +
    +
    GET /apis/batch/v1/watch/namespaces/{namespace}/jobs
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +

    watch changes to an object of kind Job

    +
    +
    +
    GET /apis/batch/v1/watch/namespaces/{namespace}/jobs/{name}
    +
    +
    +
    +

    Parameters

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescriptionRequiredSchemaDefault

    QueryParameter

    pretty

    If true, then the output is pretty printed.

    false

    string

    QueryParameter

    labelSelector

    A selector to restrict the list of returned objects by their labels. Defaults to everything.

    false

    string

    QueryParameter

    fieldSelector

    A selector to restrict the list of returned objects by their fields. Defaults to everything.

    false

    string

    QueryParameter

    watch

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

    false

    boolean

    QueryParameter

    resourceVersion

    When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.

    false

    string

    QueryParameter

    timeoutSeconds

    Timeout for the list/watch call.

    false

    integer (int32)

    PathParameter

    namespace

    object name and auth scope, such as for teams and projects

    true

    string

    PathParameter

    name

    name of the Job

    true

    string

    + +
    +
    +

    Responses

    + +++++ + + + + + + + + + + + + + + +
    HTTP CodeDescriptionSchema

    200

    success

    json.WatchEvent

    + +
    +
    +

    Consumes

    +
    +
      +
    • +

      /

      +
    • +
    +
    +
    +
    +

    Produces

    +
    +
      +
    • +

      application/json

      +
    • +
    +
    +
    +
    +

    Tags

    +
    +
      +
    • +

      apisbatchv1

      +
    • +
    +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/docs/api-reference/extensions/v1beta1/definitions.md b/docs/api-reference/extensions/v1beta1/definitions.md index 8811f7dfb0..624570626a 100644 --- a/docs/api-reference/extensions/v1beta1/definitions.md +++ b/docs/api-reference/extensions/v1beta1/definitions.md @@ -1,22 +1,3 @@ --- --- - - - - - {% include v1.2/extensions-v1beta1-definitions.html %} - - - - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/api-reference/extensions/v1beta1/definitions.md?pixel)]() - diff --git a/docs/api-reference/extensions/v1beta1/operations.md b/docs/api-reference/extensions/v1beta1/operations.md index fdd4c98e8b..19debfc6da 100644 --- a/docs/api-reference/extensions/v1beta1/operations.md +++ b/docs/api-reference/extensions/v1beta1/operations.md @@ -1,22 +1,3 @@ --- --- - - - - - {% include v1.2/extensions-v1beta1-operations.html %} - - - - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/api-reference/extensions/v1beta1/operations.md?pixel)]() - diff --git a/docs/api-reference/v1/definitions.md b/docs/api-reference/v1/definitions.md index 639bcee984..de7a131dcb 100644 --- a/docs/api-reference/v1/definitions.md +++ b/docs/api-reference/v1/definitions.md @@ -1,22 +1,3 @@ --- --- - - - - - {% include v1.2/v1-definitions.html %} - - - - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/api-reference/v1/definitions.md?pixel)]() - diff --git a/docs/api-reference/v1/operations.md b/docs/api-reference/v1/operations.md index 619116336b..23023f6665 100644 --- a/docs/api-reference/v1/operations.md +++ b/docs/api-reference/v1/operations.md @@ -1,22 +1,3 @@ --- --- - - - - - {% include v1.2/v1-operations.html %} - - - - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/api-reference/v1/operations.md?pixel)]() - diff --git a/docs/getting-started-guides/binary_release.md b/docs/getting-started-guides/binary_release.md index 1df329d620..667b5f025d 100644 --- a/docs/getting-started-guides/binary_release.md +++ b/docs/getting-started-guides/binary_release.md @@ -12,6 +12,8 @@ The list of binary releases is available for download from the [GitHub Kubernete Download the latest release and unpack this tar file on Linux or OS X, cd to the created `kubernetes/` directory, and then follow the getting started guide for your cloud. +On OS X you can also use the [homebrew](http://brew.sh/) package manager: `brew install kubernetes-cli` + ### Building from source Get the Kubernetes source. If you are simply building a release from source there is no need to set up a full golang environment as all building happens in a Docker container. diff --git a/docs/getting-started-guides/coreos.md b/docs/getting-started-guides/coreos/index.md similarity index 100% rename from docs/getting-started-guides/coreos.md rename to docs/getting-started-guides/coreos/index.md diff --git a/docs/getting-started-guides/docker-multinode/deployDNS.md b/docs/getting-started-guides/docker-multinode/deployDNS.md index 7908e05b0c..90cb59b37f 100644 --- a/docs/getting-started-guides/docker-multinode/deployDNS.md +++ b/docs/getting-started-guides/docker-multinode/deployDNS.md @@ -21,22 +21,16 @@ $ export DNS_SERVER_IP=10.0.0.10 # specify in startup parameter `--cluster-dns` ### Replace the corresponding value in the template and create the pod -```shell +```shell{% raw %} $ sed -e "s/{{ pillar\['dns_replicas'\] }}/${DNS_REPLICAS}/g;s/{{ pillar\['dns_domain'\] }}/${DNS_DOMAIN}/g;s/{{ pillar\['dns_server'\] }}/${DNS_SERVER_IP}/g" skydns.yaml.in > ./skydns.yaml # If the kube-system namespace isn't already created, create it $ kubectl get ns $ kubectl create -f ./kube-system.yaml -$ kubectl create -f ./skydns.yaml +$ kubectl create -f ./skydns.yaml{% endraw %} ``` ### Test if DNS works Follow [this link](https://releases.k8s.io/{{page.githubbranch}}/cluster/addons/dns#how-do-i-test-if-it-is-working) to check it out. - - - - - - diff --git a/docs/getting-started-guides/docker-multinode.md b/docs/getting-started-guides/docker-multinode/index.md similarity index 100% rename from docs/getting-started-guides/docker-multinode.md rename to docs/getting-started-guides/docker-multinode/index.md diff --git a/docs/getting-started-guides/docker.md b/docs/getting-started-guides/docker.md index 3abbf9cf8c..afcb4f63e7 100644 --- a/docs/getting-started-guides/docker.md +++ b/docs/getting-started-guides/docker.md @@ -14,7 +14,7 @@ Here's a diagram of what the final result will look like: 1. You need to have docker installed on one machine. 2. Decide what Kubernetes version to use. Set the `${K8S_VERSION}` variable to - a released version of Kubernetes >= "1.2.0-alpha.7" + a released version of Kubernetes >= "1.2.0" ### Run it @@ -28,6 +28,7 @@ docker run \ --net=host \ --pid=host \ --privileged=true \ + --name=kubelet \ -d \ gcr.io/google_containers/hyperkube-amd64:v${K8S_VERSION} \ /hyperkube kubelet \ @@ -53,39 +54,43 @@ At this point you should have a running Kubernetes cluster. You can test this by downloading the kubectl binary for `${K8S_VERSION}` (look at the URL in the following links) and make it available by editing your PATH environment variable. -([OS X/amd64](http://storage.googleapis.com/kubernetes-release/release/{{page.version}}.0-alpha.7/bin/darwin/amd64/kubectl)) -([OS X/386](http://storage.googleapis.com/kubernetes-release/release/{{page.version}}.0-alpha.7/bin/darwin/386/kubectl)) -([linux/amd64](http://storage.googleapis.com/kubernetes-release/release/{{page.version}}.0-alpha.7/bin/linux/amd64/kubectl)) -([linux/386](http://storage.googleapis.com/kubernetes-release/release/{{page.version}}.0-alpha.7/bin/linux/386/kubectl)) -([linux/arm](http://storage.googleapis.com/kubernetes-release/release/{{page.version}}.0-alpha.7/bin/linux/arm/kubectl)) +([OS X/amd64](http://storage.googleapis.com/kubernetes-release/release/{{page.version}}.0/bin/darwin/amd64/kubectl)) +([OS X/386](http://storage.googleapis.com/kubernetes-release/release/{{page.version}}.0/bin/darwin/386/kubectl)) +([linux/amd64](http://storage.googleapis.com/kubernetes-release/release/{{page.version}}.0/bin/linux/amd64/kubectl)) +([linux/386](http://storage.googleapis.com/kubernetes-release/release/{{page.version}}.0/bin/linux/386/kubectl)) +([linux/arm](http://storage.googleapis.com/kubernetes-release/release/{{page.version}}.0/bin/linux/arm/kubectl)) For example, OS X: ```shell -$ wget http://storage.googleapis.com/kubernetes-release/release/v${K8S_VERSION}/bin/darwin/amd64/kubectl -$ chmod 755 kubectl -$ PATH=$PATH:`pwd` +wget http://storage.googleapis.com/kubernetes-release/release/v${K8S_VERSION}/bin/darwin/amd64/kubectl +chmod 755 kubectl +PATH=$PATH:`pwd` ``` Linux: ```shell -$ wget http://storage.googleapis.com/kubernetes-release/release/v${K8S_VERSION}/bin/linux/amd64/kubectl -$ chmod 755 kubectl -$ PATH=$PATH:`pwd` +wget http://storage.googleapis.com/kubernetes-release/release/v${K8S_VERSION}/bin/linux/amd64/kubectl +chmod 755 kubectl +PATH=$PATH:`pwd` ``` -Create configuration: +On OS X, to make the API server accessible locally, setup a ssh tunnel. ```shell -$ kubectl config set-cluster test-doc --server=http://localhost:8080 -$ kubectl config set-context test-doc --cluster=test-doc -$ kubectl config use-context test-doc +docker-machine ssh `docker-machine active` -N -L 8080:localhost:8080 ``` -For Max OS X users instead of `localhost` you will have to use IP address of your docker machine, -which you can find by running `docker-machine env ` (see [documentation](https://docs.docker.com/machine/reference/env/) -for details). +Setting up a ssh tunnel is applicable to remote docker hosts as well. + +(Optional) Create kubernetes cluster configuration: + +```shell +kubectl config set-cluster test-doc --server=http://localhost:8080 +kubectl config set-context test-doc --cluster=test-doc +kubectl config use-context test-doc +``` ### Test it out @@ -113,62 +118,72 @@ Now run `docker ps` you should see nginx running. You may need to wait a few mi ### Expose it as a service ```shell -kubectl expose rc nginx --port=80 +kubectl expose deployment nginx --port=80 ``` -Run the following command to obtain the IP of this service we just created. There are two IPs, the first one is internal (CLUSTER_IP), and the second one is the external load-balanced IP (if a LoadBalancer is configured) +Run the following command to obtain the cluster local IP of this service we just created: -```shell -kubectl get svc nginx -``` +```shell{% raw %} +ip=$(kubectl get svc nginx --template={{.spec.clusterIP}}) +echo $ip +{% endraw %}``` -Alternatively, you can obtain only the first IP (CLUSTER_IP) by running: +Hit the webserver with this IP: -```shell +```shell{% raw %} kubectl get svc nginx --template={{.spec.clusterIP}} -``` - -Hit the webserver with the first IP (CLUSTER_IP): +{% endraw %}``` +On OS X, since docker is running inside a VM, run the following command instead: ```shell -curl + docker-machine ssh `docker-machine active` curl $ip ``` -Note that you will need run this curl command on your boot2docker VM if you are running on OS X. - ## Deploy a DNS See [here](/docs/getting-started-guides/docker-multinode/deployDNS/) for instructions. -### A note on turning down your cluster +### Turning down your cluster -Many of these containers run under the management of the `kubelet` binary, which attempts to keep containers running, even if they fail. So, in order to turn down -the cluster, you need to first kill the kubelet container, and then any other containers. +1. Delete all the containers including the kubelet: + +Many of these containers run under the management of the `kubelet` binary, which attempts to keep containers running, even if they fail. +So, in order to turn down the cluster, you need to first kill the kubelet container, and then any other containers. You may use `docker kill $(docker ps -aq)`, note this removes _all_ containers running under Docker, so use with caution. +2. Cleanup the filesystem: + +On OS X, first ssh into the docker VM: + +```shell +docker-machine ssh `docker-machine active` +``` + +```shell +sudo umount `cat /proc/mounts | grep /var/lib/kubelet | awk '{print $2}'` +sudo rm -rf /var/lib/kubelet +``` + ### Troubleshooting #### Node is in `NotReady` state -If you see your node as `NotReady` it's possible that your OS does not have memcg and swap enabled. +If you see your node as `NotReady` it's possible that your OS does not have memcg enabled. -1. Your kernel should support memory and swap accounting. Ensure that the +1. Your kernel should support memory accounting. Ensure that the following configs are turned on in your linux kernel: ```shell CONFIG_RESOURCE_COUNTERS=y CONFIG_MEMCG=y - CONFIG_MEMCG_SWAP=y - CONFIG_MEMCG_SWAP_ENABLED=y - CONFIG_MEMCG_KMEM=y ``` -2. Enable the memory and swap accounting in the kernel, at boot, as command line +2. Enable the memory accounting in the kernel, at boot, as command line parameters as follows: ```shell - GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" + GRUB_CMDLINE_LINUX="cgroup_enable=memory=1" ``` NOTE: The above is specifically for GRUB2. @@ -177,5 +192,5 @@ parameters as follows: ```shell $ cat /proc/cmdline - BOOT_IMAGE=/boot/vmlinuz-3.18.4-aufs root=/dev/sda5 ro cgroup_enable=memory swapaccount=1 + BOOT_IMAGE=/boot/vmlinuz-3.18.4-aufs root=/dev/sda5 ro cgroup_enable=memory=1 ``` diff --git a/docs/getting-started-guides/fluentd-gcp.yaml b/docs/getting-started-guides/fluentd-gcp.yaml index dae523a7e2..44cca43747 100644 --- a/docs/getting-started-guides/fluentd-gcp.yaml +++ b/docs/getting-started-guides/fluentd-gcp.yaml @@ -9,9 +9,11 @@ spec: dnsPolicy: Default containers: - name: fluentd-cloud-logging - image: gcr.io/google_containers/fluentd-gcp:1.17 + image: gcr.io/google_containers/fluentd-gcp:1.18 resources: limits: + memory: 200Mi + requests: cpu: 100m memory: 200Mi env: diff --git a/docs/getting-started-guides/mesos.md b/docs/getting-started-guides/mesos/index.md similarity index 100% rename from docs/getting-started-guides/mesos.md rename to docs/getting-started-guides/mesos/index.md diff --git a/docs/getting-started-guides/scratch.md b/docs/getting-started-guides/scratch.md index 98945817f2..00bc5971bb 100644 --- a/docs/getting-started-guides/scratch.md +++ b/docs/getting-started-guides/scratch.md @@ -119,7 +119,7 @@ which is unique from future cluster names. This will be used in several ways: second one sometime later, such as for testing new Kubernetes releases, running in a different region of the world, etc. - Kubernetes clusters can create cloud provider resources (e.g. AWS ELBs) and different clusters - need to distinguish which resources each created. Call this `CLUSTERNAME`. + need to distinguish which resources each created. Call this `CLUSTER_NAME`. ### Software Binaries @@ -160,7 +160,7 @@ You have several choices for Kubernetes images: release tag, which can be found on the [latest releases page](https://github.com/kubernetes/kubernetes/releases/latest). - Ensure $TAG is the same tag as the release tag you are using for kubelet and kube-proxy. - The [hyperkube](https://releases.k8s.io/{{page.githubbranch}}/cmd/hyperkube) binary is an all in one binary - - `hyperkube kubelet ...` runs the kublet, `hyperkube apiserver ...` runs an apiserver, etc. + - `hyperkube kubelet ...` runs the kubelet, `hyperkube apiserver ...` runs an apiserver, etc. - Build your own images. - Useful if you are using a private registry. - The release contains files such as `./kubernetes/server/bin/kube-apiserver.tar` which @@ -795,18 +795,18 @@ Notes for setting up each cluster service are given below: * Cluster DNS: * required for many kubernetes examples - * [Setup instructions](http://releases.k8s.io/release-1.2/cluster/addons/dns/) - * [Admin Guide](../admin/dns.md) + * [Setup instructions](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/dns/) + * [Admin Guide](/docs/admin/dns/) * Cluster-level Logging * Multiple implementations with different storage backends and UIs. - * [Elasticsearch Backend Setup Instructions](http://releases.k8s.io/release-1.2/cluster/addons/fluentd-elasticsearch/) - * [Google Cloud Logging Backend Setup Instructions](http://releases.k8s.io/release-1.2/cluster/addons/fluentd-gcp/). + * [Elasticsearch Backend Setup Instructions](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/fluentd-elasticsearch/) + * [Google Cloud Logging Backend Setup Instructions](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/fluentd-gcp/). * Both require running fluentd on each node. - * [User Guide](../user-guide/logging.md) + * [User Guide](/docs/user-guide/logging/) * Container Resource Monitoring - * [Setup instructions](http://releases.k8s.io/release-1.2/cluster/addons/cluster-monitoring/) + * [Setup instructions](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/cluster-monitoring/) * GUI - * [Setup instructions](http://releases.k8s.io/release-1.2/cluster/addons/kube-ui/) + * [Setup instructions](https://github.com/kubernetes/kube-ui) cluster. ## Troubleshooting @@ -836,4 +836,4 @@ pinging or SSH-ing from one node to another. ### Getting Help If you run into trouble, please see the section on [troubleshooting](/docs/getting-started-guides/gce#troubleshooting), post to the -[google-containers group](https://groups.google.com/forum/#!forum/google-containers), or come ask questions on [Slack](/docs/troubleshooting#slack). \ No newline at end of file +[google-containers group](https://groups.google.com/forum/#!forum/google-containers), or come ask questions on [Slack](/docs/troubleshooting#slack). diff --git a/docs/getting-started-guides/ubuntu.md b/docs/getting-started-guides/ubuntu.md index 1515a55b5d..d6c778b2e9 100644 --- a/docs/getting-started-guides/ubuntu.md +++ b/docs/getting-started-guides/ubuntu.md @@ -24,7 +24,7 @@ use a CNI plugin instead. Internet to download the necessary files, while worker nodes do not. 3. These guide is tested OK on Ubuntu 14.04 LTS 64bit server, but it can not work with Ubuntu 15 which uses systemd instead of upstart. -4. Dependencies of this guide: etcd-2.2.1, flannel-0.5.5, k8s-1.1.4, may work with higher versions. +4. Dependencies of this guide: etcd-2.2.1, flannel-0.5.5, k8s-1.1.8, may work with higher versions. 5. All the remote servers can be ssh logged in without a password by using key authentication. @@ -41,12 +41,12 @@ $ git clone https://github.com/kubernetes/kubernetes.git #### Configure and start the Kubernetes cluster The startup process will first download all the required binaries automatically. -By default etcd version is 2.2.1, flannel version is 0.5.5 and k8s version is 1.1.4. +By default etcd version is 2.2.1, flannel version is 0.5.5 and k8s version is 1.1.8. You can customize your etcd version, flannel version, k8s version by changing corresponding variables `ETCD_VERSION` , `FLANNEL_VERSION` and `KUBE_VERSION` like following. ```shell -$ export KUBE_VERSION=1.0.5 +$ export KUBE_VERSION=1.1.8 $ export FLANNEL_VERSION=0.5.0 $ export ETCD_VERSION=2.2.0 ``` diff --git a/docs/getting-started-guides/vagrant.md b/docs/getting-started-guides/vagrant.md index fde7c6fe26..01ef5b0fa6 100644 --- a/docs/getting-started-guides/vagrant.md +++ b/docs/getting-started-guides/vagrant.md @@ -365,21 +365,25 @@ export KUBERNETES_NODE_MEMORY=2048 #### I want to set proxy settings for my Kubernetes cluster boot strapping! -If you are behind a proxy, you need to install vagrant proxy plugin and set the proxy settings by +If you are behind a proxy, you need to install the Vagrant proxy plugin and set the proxy settings: -```sh +```shell vagrant plugin install vagrant-proxyconf export KUBERNETES_HTTP_PROXY=http://username:password@proxyaddr:proxyport export KUBERNETES_HTTPS_PROXY=https://username:password@proxyaddr:proxyport ``` -Optionally you can specify addresses to not proxy, for example +You can also specify addresses that bypass the proxy, for example: -```sh +```shell export KUBERNETES_NO_PROXY=127.0.0.1 ``` -If you are using sudo to make kubernetes build for example make quick-release, you need run `sudo -E make quick-release` to pass the environment variables. +If you are using sudo to make Kubernetes build, use the `-E` flag to pass in the environment variables. For example, if running `make quick-release`, use: + +```shell +sudo -E make quick-release +``` #### I ran vagrant suspend and nothing works! diff --git a/docs/hellonode.md b/docs/hellonode.md index 9348e38726..0fbaef0f61 100755 --- a/docs/hellonode.md +++ b/docs/hellonode.md @@ -30,6 +30,16 @@ New users of Google Cloud Platform recieve a [$300 free trial](https://console.d Next, make sure you [download Node.js](https://nodejs.org/en/download/). +Then install [Docker](https://docs.docker.com/engine/installation/), and [Google Cloud SDK](https://cloud.google.com/sdk/). + +Finally, after Google Cloud SDK installs, run the following command to install [`kubectl`](http://kubernetes.io/docs/user-guide/kubectl-overview/): + +```shell +gcloud components install kubectl +``` + +You're all set up with an environment that can build container images, run Node apps, run Kubernetes clusters locally, and deploy Kubernetes clusters to Google Container Engine. Let's begin! + ## Create your Node.js application The first step is to write the application. Save this code in a folder called "`hellonode/`" with the filename `server.js`: @@ -101,14 +111,14 @@ docker ps CONTAINER ID IMAGE COMMAND 2c66d0efcbd4 gcr.io/PROJECT_ID/hello-node:v1 "/bin/sh -c 'node -$ docker stop 2c66d0efcbd4 +docker stop 2c66d0efcbd4 2c66d0efcbd4 ``` Now that the image works as intended and is all tagged with your `PROJECT_ID`, we can push it to the [Google Container Registry](https://cloud.google.com/tools/container-registry/), a private repository for your Docker images accessible from every Google Cloud project (but also from outside Google Cloud Platform) : ```shell -docker push gcr.io/PROJECT_ID/hello-node:v1 +gcloud docker push gcr.io/PROJECT_ID/hello-node:v1 ``` If all goes well, you should be able to see the container image listed in the console: *Compute > Container Engine > Container Registry*. We now have a project-wide Docker image available which Kubernetes can access and orchestrate. @@ -124,81 +134,124 @@ Create a cluster via the Console: *Compute > Container Engine > Container Cluste ![image](/images/hellonode/image_11.png) -It’s now time to deploy your own containerized application to the Kubernetes cluster! +It’s now time to deploy your own containerized application to the Kubernetes cluster! Please ensure that you have [configured](https://cloud.google.com/container-engine/docs/before-you-begin#optional_set_gcloud_defaults) `kubectl` to use the cluster you just created. ## Create your pod -A kubernetes **pod** is a group of containers, tied together for the purposes of administration and networking. It can contain a single container or multiple. +A kubernetes **[pod](/docs/user-guide/pods/)** is a group of containers, tied together for the purposes of administration and networking. It can contain a single container or multiple. Create a pod with the `kubectl run` command: ```shell -kubectl run hello-node \ - --image=gcr.io/PROJECT_ID/hello-node:v1 \ - --port=8080 -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS -hello-node hello-node gcr.io/..../hello-node:v1 run=hello-node 1 +kubectl run hello-node --image=gcr.io/PROJECT_ID/hello-node:v1 --port=8080 +deployment "hello-node" created ``` -Now is probably a good time to run through some of the following interesting kubectl commands (none of these will change the state of the cluster, full documentation is available [here](https://cloud.google.com/container-engine/docs/kubectl/)): +As shown in the output, the `kubectl run` created a **[deployment](/docs/user-guide/deployments/)** object. Deployments are the recommended way for managing creation and scaling of pods. In this example, a new deployment manages a single pod replica running the *hello-node:v1* image. + +To view the deployment we just created run: ```shell -$ kubectl get pods -$ kubectl logs -$ kubectl cluster-info -$ kubectl config view -$ kubectl get events +kubectl get deployments +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +hello-node 1 1 1 1 3m ``` +To view the pod created by the deployment run: + +```shell +kubectl get pods +NAME READY STATUS RESTARTS AGE +hello-node-714049816-ztzrb 1/1 Running 0 6m +``` + +To view the stdout / stderr from a pod (hello-node image has no output, so logs will be empty in this case) run: + +```shell +kubectl logs +``` + +To view metadata about the cluster run: + +```shell +kubectl cluster-info +``` + +To view cluster events run: + +```shell +kubectl get events +``` + +To view the kubectl configuration run: + +```shell +kubectl config view +``` + +Full documentation for kubectl commands is available **[here](/docs/user-guide/kubectl-overview/)**: + At this point you should have our container running under the control of Kubernetes but we still have to make it accessible to the outside world. ## Allow external traffic -By default, the pod is only accessible by its internal IP within the Kubernetes cluster. In order to make the `hello-node` container accessible from outside the kubernetes virtual network, you have to expose the pod as a kubernetes service. +By default, the pod is only accessible by its internal IP within the Kubernetes cluster. In order to make the `hello-node` container accessible from outside the kubernetes virtual network, you have to expose the pod as a kubernetes **[service](/docs/user-guide/services/)**. -From our development machine we can expose the pod with the `kubectl` expose command and the `--create-external-load-balancer=true` flag which creates an external IP to accept traffic: +From our development machine we can expose the pod with the `kubectl` expose command and the `--type="LoadBalancer"` flag which creates an external IP to accept traffic: ```shell -kubectl expose rc hello-node --type="LoadBalancer" +kubectl expose deployment hello-node --type="LoadBalancer" ``` -The flag used in this command specifies that we’ll be using the load-balancer provided by the underlying infrastructure (in this case the [Compute Engine load balancer](https://cloud.google.com/compute/docs/load-balancing/)). The `rc` refers to the Kubernetes "replication controller" -- which is a Kubernetes service which controls load balancing and scaling behavior for your cluster. +The flag used in this command specifies that we’ll be using the load-balancer provided by the underlying infrastructure (in this case the [Compute Engine load balancer](https://cloud.google.com/compute/docs/load-balancing/)). Note that we expose the deployment, and not the pod directly. This will cause the resulting service to load balance traffic across all pods managed by the deployment (in this case only 1 pod, but we will add more replicas later). The Kubernetes master creates the load balancer and related Compute Engine forwarding rules, target pools, and firewall rules to make the service fully accessible from outside of Google Cloud Platform. -To find the publicly-accessible IP address, ask `kubectl` to describe the `hello-node` cluster service: +To find the ip addresses associated with the service run: ```shell kubectl get services hello-node NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE -hello-node 10.3.246.12 23.251.159.72 8080/TCP run=hello-node 53s +hello-node 10.3.246.12 8080/TCP run=hello-node 23s ``` -Note there are 2 IP addresses listed, both serving port 8080. One is the internal IP that is only visible inside your cloud virtual network; the other is the external load-balanced IP. In this example, the external IP address is 23.251.159.72. Traffic to the load-balanced IP will be load balanced to the three nodes you provisioned when initially creating the cluster! +The `EXTERNAL_IP` may take several minutes to become available and visible. If the `EXTERNAL_IP` is missing, wait a few minutes and try again. -You should now be able to reach the service by pointing your browser to this address: http://**:8080** +```shell +kubectl get services hello-node +NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE +hello-node 10.3.246.12 23.251.159.72 8080/TCP run=hello-node 2m +``` + +Note there are 2 IP addresses listed, both serving port 8080. `CLUSTER_IP` is only visible inside your cloud virtual network. `EXTERNAL_IP` is externally accessible. In this example, the external IP address is 23.251.159.72. + +You should now be able to reach the service by pointing your browser to this address: http://EXTERNAL_IP**:8080** or running `curl http://EXTERNAL_IP:8080` ![image](/images/hellonode/image_12.png) ## Scale up your website -One of the powerful features offered by Kubernetes is how easy it is to scale your application. Suppose you suddenly need more capacity for your application; you can simply tell the replication controller to manage a new number of replicas for your pod: +One of the powerful features offered by Kubernetes is how easy it is to scale your application. Suppose you suddenly need more capacity for your application; you can simply tell the deployment to manage a new number of replicas for your pod: ```shell -kubectl scale rc hello-node --replicas=4 -$ kubectl get pods -NAME READY STATUS RESTARTS AGE -hello-node-6uzt8 1/1 Running 0 8m -hello-node-gxhty 1/1 Running 0 34s -hello-node-z2odh 1/1 Running 0 34s +kubectl scale deployment hello-node --replicas=4 ``` -You now have four replicas of your application, each running independently on the cluster with the load balancer you created earlier and serving traffic to all of them. +You now have four replicas of your application, each running independently on the cluster with the load balancer you created earlier and serving traffic to all of them. ```shell -kubectl get rc hello-node -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS -hello-node hello-node gcr.io/..../hello-node:v1 run=hello-node 3 +kubectl get deployment +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +hello-node 4 4 4 3 40m +``` + +```shell +kubectl get pods +NAME READY STATUS RESTARTS AGE +hello-node-714049816-g4azy 1/1 Running 0 1m +hello-node-714049816-rk0u6 1/1 Running 0 1m +hello-node-714049816-sh812 1/1 Running 0 1m +hello-node-714049816-ztzrb 1/1 Running 0 41m ``` Note the **declarative approach** here - rather than starting or stopping new instances you declare how many instances you want to be running. Kubernetes reconciliation loops simply make sure the reality matches what you requested and take action if needed. @@ -222,35 +275,87 @@ We can now build and publish a new container image to the registry with an incre ```shell docker build -t gcr.io/PROJECT_ID/hello-node:v2 . -docker push gcr.io/PROJECT_ID/hello-node:v2 +gcloud docker push gcr.io/PROJECT_ID/hello-node:v2 ``` Building and pushing this updated image should be much quicker as we take full advantage of the Docker cache. -We’re now ready for kubernetes to smoothly update our replication controller to the new version of the application: +We’re now ready for kubernetes to smoothly update our deployment to the new version of the application. In order to change +the image label for our running container, we will need to edit the existing *hello-node deployment* and change the image from +`gcr.io/PROJECT_ID/hello-node:v1` to `gcr.io/PROJECT_ID/hello-node:v2`. To do this, we will use the `kubectl edit` command. +This will open up a text editor displaying the full deployment yaml configuration. It isn't necessary to understand the full yaml config +right now, instead just understand that by updating the `spec.template.spec.containers.image` field in the config we are telling +the deployment to update the pods to use the new image. ```shell -kubectl rolling-update hello-node \ - --image=gcr.io/PROJECT_ID/hello-node:v2 \ - --update-period=2s -Creating hello-node-324d23dd3e0e2474d6b76dc599abb519 -At beginning of loop: hello-node replicas: 2, hello-node-324d23dd3e0e2474d6b76dc599abb519 replicas: 1 -... -At end of loop: hello-node replicas: 0, hello-node-324d23dd3e0e2474d6b76dc599abb519 replicas: 3 -Update succeeded. Deleting old controller: hello-node -Renaming hello-node-324d23dd3e0e2474d6b76dc599abb519 to hello-node -hello-node +kubectl edit deployment hello-node ``` -You should see in the standard output how the rolling update actually works: +```yaml +# Please edit the object below. Lines beginning with a '#' will be ignored, +# and an empty file will abort the edit. If an error occurs while saving this file will be +# reopened with the relevant failures. +# +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + annotations: + deployment.kubernetes.io/revision: "1" + creationTimestamp: 2016-03-24T17:55:28Z + generation: 3 + labels: + run: hello-node + name: hello-node + namespace: default + resourceVersion: "151017" + selfLink: /apis/extensions/v1beta1/namespaces/default/deployments/hello-node + uid: 981fe302-f1e9-11e5-9a78-42010af00005 +spec: + replicas: 4 + selector: + matchLabels: + run: hello-node + strategy: + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + creationTimestamp: null + labels: + run: hello-node + spec: + containers: + - image: gcr.io/PROJECT_ID/hello-node:v1 # Update this line + imagePullPolicy: IfNotPresent + name: hello-node + ports: + - containerPort: 8080 + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + dnsPolicy: ClusterFirst + restartPolicy: Always + securityContext: {} + terminationGracePeriodSeconds: 30 +``` -1. A new replication controller is created based on the new image +After making the change save and close the file. -2. The replica count on the new and old controllers is increased/decreased by one respectively until the desired number of replicas is reached +``` +deployment "hello-node" edited +``` -3. The original replication controller is deleted. +This updates the deployment with the new image, causing new pods to be created with the new image and old pods to be deleted. -While this is happening, the users of the services should not see any interruption. After a little while they will start accessing the new version of your application. You can find more details on rolling updates in [this documentation](https://cloud.google.com/container-engine/docs/rolling-updates). +``` +kubectl get deployments +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +hello-node 4 5 4 3 1h +``` + +While this is happening, the users of the services should not see any interruption. After a little while they will start accessing the new version of your application. You can find more details in the [deployment documentation](/docs/user-guide/deployments/). Hopefully with these deployment, scaling and update features you’ll agree that once you’ve setup your environment (your GKE/Kubernetes cluster here), Kubernetes is here to help you focus on the application rather than the infrastructure. @@ -261,7 +366,7 @@ While logged into your development machine, execute the following commands: ```shell kubectl config view | grep "password" password: vUYwC5ATJMWa6goh -$ kubectl cluster-info +kubectl cluster-info ... KubeUI is running at https:///api/v1/proxy/namespaces/kube-system/services/kube-ui ... @@ -275,16 +380,10 @@ Navigate to the URL that is shown under after KubeUI is running at and log in wi That's it for the demo! So you don't leave this all running and incur charges, let's learn how to tear things down. -First, delete the Service, which also deletes your external load balancer: +Delete the Deployment (which also deletes the running pods) and Service (which also deletes your external load balancer): ```shell -kubectl delete services hello-node -``` - -Delete the running pods: - -```shell -kubectl delete rc hello-node +kubectl delete service,deployment hello-node ``` Delete your cluster: @@ -306,7 +405,7 @@ Finally delete the Docker registry storage bucket hosting your image(s) : ```shell gsutil ls gs://artifacts..appspot.com/ -$ gsutil rm -r gs://artifacts..appspot.com/ +gsutil rm -r gs://artifacts..appspot.com/ Removing gs://artifacts..appspot.com/... ``` diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index bf0c90e007..feb6d1cf69 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -8,13 +8,13 @@ Sometimes things go wrong. This guide is aimed at making them right. It has tw * [Troubleshooting your application](/docs/user-guide/application-troubleshooting) - Useful for users who are deploying code into Kubernetes and wondering why it is not working. * [Troubleshooting your cluster](/docs/admin/cluster-troubleshooting) - Useful for cluster administrators and people whose Kubernetes cluster is unhappy. -You should also check the [known issues](/docs/user-guide/known-issues) for the release you're using. +You should also check the known issues for the [release](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG.md) you're using. -# Getting help +### Getting help If your problem isn't answered by any of the guides above, there are variety of ways for you to get help from the Kubernetes team. -## Questions +### Questions If you aren't familiar with it, many of your questions may be answered by the [user guide](/docs/user-guide/). @@ -29,21 +29,21 @@ You may also find the Stack Overflow topics relevant: * [Kubernetes](http://stackoverflow.com/questions/tagged/kubernetes) * [Google Container Engine - GKE](http://stackoverflow.com/questions/tagged/google-container-engine) -# Help! My question isn't covered! I need help now! +## Help! My question isn't covered! I need help now! -## Stack Overflow +### Stack Overflow Someone else from the community may have already asked a similar question or may be able to help with your problem. The Kubernetes team will also monitor [posts tagged kubernetes](http://stackoverflow.com/questions/tagged/kubernetes). If there aren't any existing questions that help, please [ask a new one](http://stackoverflow.com/questions/ask?tags=kubernetes)! -## Slack +### Slack The Kubernetes team hangs out on Slack in the `#kubernetes-users` channel. You can participate in the Kubernetes team [here](https://kubernetes.slack.com). Slack requires registration, but the Kubernetes team is open invitation to anyone to register [here](http://slack.kubernetes.io). Feel free to come and ask any and all questions. -## Mailing List +### Mailing List The Google Container Engine mailing list is [google-containers@googlegroups.com](https://groups.google.com/forum/#!forum/google-containers) -## Bugs and Feature requests +### Bugs and Feature requests If you have what looks like a bug, or you would like to make a feature request, please use the [Github issue tracking system](https://github.com/kubernetes/kubernetes/issues). diff --git a/docs/user-guide/bad-nginx-deployment.yaml b/docs/user-guide/bad-nginx-deployment.yaml new file mode 100644 index 0000000000..70afeaf2ee --- /dev/null +++ b/docs/user-guide/bad-nginx-deployment.yaml @@ -0,0 +1,16 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: nginx-deployment +spec: + replicas: 3 + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:1.91 + ports: + - containerPort: 80 diff --git a/docs/user-guide/compute-resources.md b/docs/user-guide/compute-resources.md index 06f6ed47c0..cd6f47e3eb 100644 --- a/docs/user-guide/compute-resources.md +++ b/docs/user-guide/compute-resources.md @@ -171,7 +171,7 @@ Here you can see from the `Allocated resources` section that that a pod which as Looking at the `Pods` section, you can see which pods are taking up space on the node. -The [resource quota](/docs/admin/resource-quota) feature can be configured +The [resource quota](/docs/admin/resourcequota/) feature can be configured to limit the total amount of resources that can be consumed. If used in conjunction with namespaces, it can prevent one team from hogging all the resources. diff --git a/docs/user-guide/config-best-practices.md b/docs/user-guide/config-best-practices.md index 026a1091a7..46078af8c2 100644 --- a/docs/user-guide/config-best-practices.md +++ b/docs/user-guide/config-best-practices.md @@ -79,7 +79,7 @@ This document is meant to highlight and consolidate in one place configuration b controller 'version names'. A desired state of an object is described by a Deployment, and if changes to that spec are _applied_, the deployment controller changes the actual state to the desired state at a controlled rate. (Deployment objects are currently part of the [`extensions` - API Group](/docs/api/#api-groups), and are not enabled by default.) + API Group](/docs/api/#api-groups).) - You can manipulate labels for debugging. Because Kubernetes replication controllers and services match to pods using labels, this allows you to remove a pod from being considered by a @@ -108,6 +108,6 @@ This document is meant to highlight and consolidate in one place configuration b - Use kubectl bulk operations (via files and/or labels) for get and delete. See [label selectors](/docs/user-guide/labels/#label-selectors) and [using labels effectively](/docs/user-guide/managing-deployments/#using-labels-effectively). -- Use `kubectl run` and `expose` to quickly create and expose single container replication controllers. See the [quick start guide](/docs/user-guide/quick-start/) for an example. +- Use `kubectl run` and `expose` to quickly create and expose single container Deployments. See the [quick start guide](/docs/user-guide/quick-start/) for an example. diff --git a/docs/user-guide/configmap.md b/docs/user-guide/configmap/index.md similarity index 100% rename from docs/user-guide/configmap.md rename to docs/user-guide/configmap/index.md diff --git a/docs/user-guide/debugging-pods-and-replication-controllers.md b/docs/user-guide/debugging-pods-and-replication-controllers.md new file mode 100644 index 0000000000..08517c6742 --- /dev/null +++ b/docs/user-guide/debugging-pods-and-replication-controllers.md @@ -0,0 +1,105 @@ +--- +--- + +* TOC +{:toc} + +## Debugging pods + +The first step in debugging a pod is taking a look at it. Check the current +state of the pod and recent events with the following command: + + $ kubectl describe pods ${POD_NAME} + +Look at the state of the containers in the pod. Are they all `Running`? Have +there been recent restarts? + +Continue debugging depending on the state of the pods. + +### My pod stays pending + +If a pod is stuck in `Pending` it means that it can not be scheduled onto a +node. Generally this is because there are insufficient resources of one type or +another that prevent scheduling. Look at the output of the `kubectl describe +...` command above. There should be messages from the scheduler about why it +can not schedule your pod. Reasons include: + +#### Insufficient resources + +You may have exhausted the supply of CPU or Memory in your cluster. In this +case you can try several things: + +* [Add more nodes](/docs/admin/cluster-management/#resizing-a-cluster) to the cluster. + +* [Terminate unneeded pods](/docs/user-guide/pods/single-container/#deleting_a_pod) + to make room for pending pods. + +* Check that the pod is not larger than your nodes. For example, if all + nodes have a capacity of `cpu:1`, then a pod with a limit of `cpu: 1.1` + will never be scheduled. + + You can check node capacities with the `kubectl get nodes -o ` + command. Here are some example command lines that extract just the necessary + information: + + kubectl get nodes -o yaml | grep '\sname\|cpu\|memory' + kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, cap: .status.capacity}' + + The [resource quota](/docs/admin/resourcequota/) + feature can be configured to limit the total amount of + resources that can be consumed. If used in conjunction with namespaces, it can + prevent one team from hogging all the resources. + +#### Using hostPort + +When you bind a pod to a `hostPort` there are a limited number of places that +the pod can be scheduled. In most cases, `hostPort` is unnecessary; try using a +service object to expose your pod. If you do require `hostPort` then you can +only schedule as many pods as there are nodes in your container cluster. + +### My pod stays waiting + +If a pod is stuck in the `Waiting` state, then it has been scheduled to a +worker node, but it can't run on that machine. Again, the information from +`kubectl describe ...` should be informative. The most common cause of +`Waiting` pods is a failure to pull the image. There are three things to check: + +* Make sure that you have the name of the image correct. +* Have you pushed the image to the repository? +* Run a manual `docker pull ` on your machine to see if the image can be + pulled. + +### My pod is crashing or otherwise unhealthy + +First, take a look at the logs of the current container: + + $ kubectl logs ${POD_NAME} ${CONTAINER_NAME} + +If your container has previously crashed, you can access the previous +container's crash log with: + + $ kubectl logs --previous ${POD_NAME} ${CONTAINER_NAME} + +Alternately, you can run commands inside that container with `exec`: + + $ kubectl exec ${POD_NAME} -c ${CONTAINER_NAME} -- ${CMD} ${ARG1} ${ARG2} ... ${ARGN} + +Note that `-c ${CONTAINER_NAME}` is optional and can be omitted for pods that +only contain a single container. + +As an example, to look at the logs from a running Cassandra pod, you might run: + + $ kubectl exec cassandra -- cat /var/log/cassandra/system.log + +If none of these approaches work, you can find the host machine that the pod is +running on and SSH into that host. + +## Debugging Replication Controllers + +Replication controllers are fairly straightforward. They can either create pods +or they can't. If they can't create pods, then please refer to the +[instructions above](#debugging_pods) to debug your pods. + +You can also use `kubectl describe rc ${CONTROLLER_NAME}` to inspect events +related to the replication controller. + diff --git a/docs/user-guide/debugging-services.md b/docs/user-guide/debugging-services.md index 790f15f71b..b4f68e7e0c 100644 --- a/docs/user-guide/debugging-services.md +++ b/docs/user-guide/debugging-services.md @@ -3,13 +3,12 @@ An issue that comes up rather frequently for new installations of Kubernetes is that `Services` are not working properly. You've run all your `Pod`s and -`ReplicationController`s, but you get no response when you try to access them. +`Deployment`s, but you get no response when you try to access them. This document will hopefully help you to figure out what's going wrong. * TOC {:toc} - ## Conventions Throughout this doc you will see various commands that you can run. Some @@ -41,37 +40,27 @@ OUTPUT ## Running commands in a Pod For many steps here you will want to see what a `Pod` running in the cluster -sees. Kubernetes does not directly support interactive `Pod`s (yet), but you can -approximate it: +sees. You can start a busybox `Pod` and run commands in it: ```shell -$ cat < +$ kubectl exec -c -- ``` -or +or run an interactive shell with: ```shell -$ kubectl exec -ti busybox-sleep sh +$ kubectl exec -ti -c sh / # ``` @@ -86,16 +75,16 @@ $ kubectl run hostnames --image=gcr.io/google_containers/serve_hostname \ --labels=app=hostnames \ --port=9376 \ --replicas=3 -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS -hostnames hostnames gcr.io/google_containers/serve_hostname app=hostnames 3 +deployment "hostnames" created ``` -Note that this is the same as if you had started the `ReplicationController` with +`kubectl` commands will print the type and name of the resource created or mutated, which can then be used in subsequent commands. +Note that this is the same as if you had started the `Deployment` with the following YAML: ```yaml -apiVersion: v1 -kind: ReplicationController +apiVersion: extensions/v1beta1 +kind: Deployment metadata: name: hostnames spec: @@ -119,10 +108,10 @@ Confirm your `Pod`s are running: ```shell $ kubectl get pods -l app=hostnames -NAME READY STATUS RESTARTS AGE -hostnames-0uton 1/1 Running 0 12s -hostnames-bvc05 1/1 Running 0 12s -hostnames-yp2kp 1/1 Running 0 12s +NAME READY STATUS RESTARTS AGE +hostnames-632524106-bbpiw 1/1 Running 0 2m +hostnames-632524106-ly40y 1/1 Running 0 2m +hostnames-632524106-tlaok 1/1 Running 0 2m ``` ## Does the Service exist? @@ -157,7 +146,7 @@ So we have a culprit, let's create the `Service`. As before, this is for the walk-through - you can use your own `Service`'s details here. ```shell -$ kubectl expose rc hostnames --port=80 --target-port=9376 +$ kubectl expose deployment hostnames --port=80 --target-port=9376 service "hostnames" exposed ``` @@ -165,8 +154,8 @@ And read it back, just to be sure: ```shell $ kubectl get svc hostnames -NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE -hostnames 10.0.0.1 80/TCP run=hostnames 1h +NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE +hostnames 10.0.0.226 80/TCP 5s ``` As before, this is the same as if you had started the `Service` with YAML: @@ -506,6 +495,66 @@ Setting endpoints for default/hostnames:default to [10.244.0.5:9376 10.244.0.6:9 If you don't see those, try restarting `kube-proxy` with the `-V` flag set to 4, and then look at the logs again. +Services provide load balancing across a set of pods. There are several common +problems that can make services not work properly. The following instructions +should help debug service problems. + +First, verify that there are endpoints for the service. For every service +object, the apiserver makes an `endpoints` resource available. + +You can view this resource with: + + $ kubectl get endpoints ${SERVICE_NAME} + +Make sure that the endpoints match up with the number of containers that you +expect to be a member of your service. For example, if your service is for an +nginx container with 3 replicas, you would expect to see three different IP +addresses in the service's endpoints. + +### My service is missing endpoints + +If you are missing endpoints, try listing pods using the labels that service +uses. Imagine that you have a service where the labels are: + + ... + spec: + - selector: + name: nginx + type: frontend + +You can use: + + $ kubectl get pods --selector=name=nginx,type=frontend + +to list pods that match this selector. Verify that the list matches the pods +that you expect to provide your service. + +If the list of pods matches expectations, but your endpoints are still empty, +it's possible that you don't have the right ports exposed. If your service has +a `containerPort` specified, but the pods that are selected don't have that +port listed, then they won't be added to the endpoints list. + +Verify that the pod's `containerPort` matches up with the service's +`containerPort`. + +### Network traffic is not forwarded + +If you can connect to the service, but the connection is immediately dropped, +and there are endpoints in the endpoints list, it's likely that the proxy can't +contact your pods. + +There are three things to check: + +* Are your pods working correctly? Look for restart count, and + [debug pods](#debugging_pods). + +* Can you connect to your pods directly? Get the IP address for the pod, and + try to connect directly to that IP. + +* Is your application serving on the port that you configured? Container + Engine doesn't do port remapping, so if your application serves on 8080, + the `containerPort` field needs to be 8080. + ## Seek help If you get this far, something very strange is happening. Your `Service` is @@ -521,4 +570,4 @@ Contact us on ## More information -Visit [troubleshooting document](/docs/troubleshooting/) for more information. \ No newline at end of file +Visit [troubleshooting document](/docs/troubleshooting/) for more information. diff --git a/docs/user-guide/deploying-applications.md b/docs/user-guide/deploying-applications.md index 0a0e49b40f..21f4af8133 100644 --- a/docs/user-guide/deploying-applications.md +++ b/docs/user-guide/deploying-applications.md @@ -7,107 +7,91 @@ ## Launching a set of replicas using a configuration file -Kubernetes creates and manages sets of replicated containers (actually, replicated [Pods](/docs/user-guide/pods)) using [*Replication Controllers*](/docs/user-guide/replication-controller). +Kubernetes creates and manages sets of replicated containers (actually, replicated [Pods](/docs/user-guide/pods)) using [*Deployments*](/docs/user-guide/deployments). -A replication controller simply ensures that a specified number of pod "replicas" are running at any one time. If there are too many, it will kill some. If there are too few, it will start more. It's analogous to Google Compute Engine's [Instance Group Manager](https://cloud.google.com/compute/docs/instance-groups/manager/) or AWS's [Auto-scaling Group](http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroup) (with no scaling policies). +A Deployment simply ensures that a specified number of pod "replicas" are running at any one time. If there are too many, it will kill some. If there are too few, it will start more. It's analogous to Google Compute Engine's [Instance Group Manager](https://cloud.google.com/compute/docs/instance-groups/manager/) or AWS's [Auto-scaling Group](http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroup.html) (with no scaling policies). -The replication controller created to run nginx by `kubectl run` in the [Quick start](/docs/user-guide/quick-start) could be specified using YAML as follows: +The Deployment created to run nginx by `kubectl run` in the [Quick start](/docs/user-guide/quick-start) could be specified using YAML as follows: -```yaml -apiVersion: v1 -kind: ReplicationController -metadata: - name: my-nginx -spec: - replicas: 2 - template: - metadata: - labels: - app: nginx - spec: - containers: - - name: nginx - image: nginx - ports: - - containerPort: 80 -``` +{% include code.html language="yaml" file="run-my-nginx.yaml" ghlink="/docs/user-guide/run-my-nginx.yaml" %} -Some differences compared to specifying just a pod are that the `kind` is `ReplicationController`, the number of `replicas` desired is specified, and the pod specification is under the `template` field. The names of the pods don't need to be specified explicitly because they are generated from the name of the replication controller. -View the [replication controller API -object](/docs/api-reference/v1/definitions/#_v1_replicationcontroller) +Some differences compared to specifying just a pod are that the `kind` is `Deployment`, the number of `replicas` desired is specified, and the pod specification is under the `template` field. The names of the pods don't need to be specified explicitly because they are generated from the name of the Deployment. +View the [Deployment API +object](/docs/api-reference/extensions/v1beta1/definitions/#_v1beta1_deployment) to view the list of supported fields. -This replication controller can be created using `create`, just as with pods: +This Deployment can be created using `create`, just as with pods: ```shell -$ kubectl create -f ./nginx-rc.yaml -replicationcontrollers/my-nginx +$ kubectl create -f ./run-my-nginx.yaml +deployment "my-nginx" created ``` -Unlike in the case where you directly create pods, a replication controller replaces pods that are deleted or terminated for any reason, such as in the case of node failure. For this reason, we recommend that you use a replication controller for a continuously running application even if your application requires only a single pod, in which case you can omit `replicas` and it will default to a single replica. +Unlike in the case where you directly create pods, a Deployment replaces pods that are deleted or terminated for any reason, such as in the case of node failure. For this reason, we recommend that you use a Deployment for a continuously running application even if your application requires only a single pod, in which case you can omit `replicas` and it will default to a single replica. -## Viewing replication controller status +## Viewing Deployment status -You can view the replication controller you created using `get`: +You can view the Deployment you created using `get`: ```shell -$ kubectl get rc -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS -my-nginx nginx nginx app=nginx 2 +$ kubectl get deployment +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +my-nginx 2 2 2 2 6s ``` -This tells you that your controller will ensure that you have two nginx replicas. +This tells you that your Deployment will ensure that you have two nginx replicas (desired replicas = 2). You can see those replicas using `get`, just as with pods you created directly: ```shell $ kubectl get pods -NAME READY STATUS RESTARTS AGE -my-nginx-065jq 1/1 Running 0 51s -my-nginx-buaiq 1/1 Running 0 51s +NAME READY STATUS RESTARTS AGE +my-nginx-3800858182-9hk43 1/1 Running 0 8m +my-nginx-3800858182-e529s 1/1 Running 0 8m ``` -## Deleting replication controllers +## Deleting Deployments -When you want to kill your application, delete your replication controller, as in the [Quick start](/docs/user-guide/quick-start): +When you want to kill your application, delete your Deployment, as in the [Quick start](/docs/user-guide/quick-start): ```shell -$ kubectl delete rc my-nginx -replicationcontrollers/my-nginx +$ kubectl delete deployment/my-nginx +deployment "my-nginx" deleted ``` -By default, this will also cause the pods managed by the replication controller to be deleted. If there were a large number of pods, this may take a while to complete. If you want to leave the pods running, specify `--cascade=false`. +By default, this will also cause the pods managed by the Deployment to be deleted. If there were a large number of pods, this may take a while to complete. If you want to leave the pods running instead, specify `--cascade=false`. -If you try to delete the pods before deleting the replication controller, it will just replace them, as it is supposed to do. +If you try to delete the pods before deleting the Deployments, it will just replace them, as it is supposed to do. ## Labels -Kubernetes uses user-defined key-value attributes called [*labels*](/docs/user-guide/labels) to categorize and identify sets of resources, such as pods and replication controllers. The example above specified a single label in the pod template, with key `app` and value `nginx`. All pods created carry that label, which can be viewed using `-L`: +Kubernetes uses user-defined key-value attributes called [*labels*](/docs/user-guide/labels) to categorize and identify sets of resources, such as pods and Deployments. The example above specified a single label in the pod template, with key `run` and value `my-nginx`. All pods created carry that label, which can be viewed using `-L`: ```shell -$ kubectl get pods -L app -NAME READY STATUS RESTARTS AGE APP -my-nginx-afv12 0/1 Running 0 3s nginx -my-nginx-lg99z 0/1 Running 0 3s nginx +$ kubectl get pods -L run +NAME READY STATUS RESTARTS AGE RUN +my-nginx-3800858182-1v53o 1/1 Running 0 46s my-nginx +my-nginx-3800858182-2ds1q 1/1 Running 0 46s my-nginx ``` -The labels from the pod template are copied to the replication controller's labels by default, as well -- all resources in Kubernetes support labels: +The labels from the pod template are copied to the Deployment's labels by default, as well -- all resources in Kubernetes support labels: ```shell -$ kubectl get rc my-nginx -L app -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS APP -my-nginx nginx nginx app=nginx 2 nginx +$ kubectl get deployment/my-nginx -L run +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE RUN +my-nginx 2 2 2 2 2m my-nginx ``` More importantly, the pod template's labels are used to create a [`selector`](/docs/user-guide/labels/#label-selectors) that will match pods carrying those labels. You can see this field by requesting it using the [Go template output format of `kubectl get`](/docs/user-guide/kubectl/kubectl_get): ```shell -$ kubectl get rc my-nginx -o template --template="{{.spec.selector}}" -map[app:nginx] +$ kubectl get deployment/my-nginx -o template --template="{{.spec.selector}}" +map[matchLabels:map[run:my-nginx]] ``` -You could also specify the `selector` explicitly, such as if you wanted to specify labels in the pod template that you didn't want to select on, but you should ensure that the selector will match the labels of the pods created from the pod template, and that it won't match pods created by other replication controllers. The most straightforward way to ensure the latter is to create a unique label value for the replication controller, and to specify it in both the pod template's labels and in the selector. +You could also specify the `selector` explicitly, such as if you wanted to specify labels in the pod template that you didn't want to select on, but you should ensure that the selector will match the labels of the pods created from the pod template, and that it won't match pods created by other Deployments. The most straightforward way to ensure the latter is to create a unique label value for the Deployment, and to specify it in both the pod template's labels and in the selector's +matchLabels. ## What's next? -[Learn about exposing applications to users and clients, and connecting tiers of your application together.](/docs/user-guide/connecting-applications) \ No newline at end of file +[Learn about exposing applications to users and clients, and connecting tiers of your application together.](/docs/user-guide/connecting-applications) diff --git a/docs/user-guide/deployments.md b/docs/user-guide/deployments.md index e5e0b33c88..5d6ec19d5c 100644 --- a/docs/user-guide/deployments.md +++ b/docs/user-guide/deployments.md @@ -6,20 +6,23 @@ ## What is a _Deployment_? -A _Deployment_ provides declarative updates for Pods and ReplicationControllers. -Users describe the desired state in a Deployment object, and the deployment -controller changes the actual state to the desired state at a controlled rate. -Users can define Deployments to create new resources, or replace existing ones +A _Deployment_ provides declarative updates for Pods and ReplicaSets. +You only need to describe the desired state in a Deployment object, and the deployment +controller will change the actual state to the desired state at a controlled rate for you. +You can define Deployments to create new resources, or replace existing ones by new ones. A typical use case is: -* Create a Deployment to bring up a replication controller and pods. +* Create a Deployment to bring up a replica set and pods. +* Check the status of a Deployment to see if it succeeds or not. * Later, update that Deployment to recreate the pods (for example, to use a new image). +* Rollback to an earlier Deployment revision if the current Deployment isn't stable. +* Pause and resume a Deployment. ## Creating a Deployment -Here is an example Deployment. It creates a replication controller to +Here is an example Deployment. It creates a replica set to bring up 3 nginx pods. {% include code.html language="yaml" file="nginx-deployment.yaml" ghlink="/docs/user-guide/nginx-deployment.yaml" %} @@ -27,53 +30,75 @@ bring up 3 nginx pods. Run the example by downloading the example file and then running this command: ```shell -$ kubectl create -f docs/user-guide/nginx-deployment.yaml +$ kubectl create -f docs/user-guide/nginx-deployment.yaml --record deployment "nginx-deployment" created ``` -Running +Setting the kubectl flag `--record` to `true` allows you to record current command in the annotations of the resources being created or updated. It will be useful for future introspection; for example, to see the commands executed in each Deployment revision. + +Then running `get` immediately will give: ```shell $ kubectl get deployments +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +nginx-deployment 3 0 0 0 1s ``` -immediately will give: +This indicates that the Deployment's number of desired replicas is 3 (according to deployment's `.spec.replicas`), the number of current replicas (`.status.replicas`) is 0, the number of up-to-date replicas (`.status.updatedReplicas`) is 0, and the number of available replicas (`.status.availableReplicas`) is also 0. + +Running the `get` again a few seconds later, should give: ```shell $ kubectl get deployments -NAME UPDATEDREPLICAS AGE -nginx-deployment 0/3 8s +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +nginx-deployment 3 3 3 3 18s ``` -This indicates that the Deployment is trying to update 3 replicas, and has not updated any of them yet. - -Running the `get` again after a minute, should give: +This indicates that the Deployment has created all three replicas, and all replicas are up-to-date (contains the latest pod template) and available (pod status is ready for at least deployment's `.spec.minReadySeconds`). Running `kubectl get rs` and `kubectl get pods` will show the replica set (RS) and pods created. ```shell -$ kubectl get deployments -NAME UPDATEDREPLICAS AGE -nginx-deployment 3/3 1m +$ kubectl get rs +NAME DESIRED CURRENT AGE +nginx-deployment-2035384211 3 3 18s ``` -This indicates that the Deployment has created all three replicas. -Running `kubectl get rc` and `kubectl get pods` will show the replication controller (RC) and pods created. +You may notice that the name of the replica set is always `-`. ```shell -$ kubectl get rc -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS AGE -REPLICAS AGE -deploymentrc-1975012602 nginx nginx:1.7.9 pod-template-hash=1975012602,app=nginx 3 2m +$ kubectl get pods --show-labels +NAME READY STATUS RESTARTS AGE LABELS +nginx-deployment-2035384211-7ci7o 1/1 Running 0 18s app=nginx,pod-template-hash=2035384211 +nginx-deployment-2035384211-kzszj 1/1 Running 0 18s app=nginx,pod-template-hash=2035384211 +nginx-deployment-2035384211-qqcnn 1/1 Running 0 18s app=nginx,pod-template-hash=2035384211 ``` +The created replica set will ensure that there are three nginx pods at all times. + +## The Status of a Deployment + +After creating or updating a Deployment, you would want to confirm whether it succeeded or not. The best way to do this is through checking its status. + +To verify if the above Deployment succeeded or not, first compare the `.metadata.generation` and `.status.observedGeneration` of the Deployment: + ```shell -$ kubectl get pods -NAME READY STATUS RESTARTS AGE -deploymentrc-1975012602-4f2tb 1/1 Running 0 1m -deploymentrc-1975012602-j975u 1/1 Running 0 1m -deploymentrc-1975012602-uashb 1/1 Running 0 1m +$ kubectl get deployment/nginx-deployment -o yaml | grep [Gg]eneration + generation: 2 + observedGeneration: 2 ``` -The created RC will ensure that there are three nginx pods at all times. +When `observedGeneration` >= `generation`, the Deployment controller has observed current Deployment; if not, wait for a few more seconds. + +Once the above condition is met, check the Deployment's up-to-date replicas (`.status.updatedReplicas`) and see if it matches the desired replicas (`.spec.replicas`): + +```shell +$ kubectl get deployment/nginx-deployment +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +nginx-deployment 3 3 3 3 9m +``` + +Additionally, if you set `.spec.minReadySeconds`, you would also want to check if the available replicas (`.status.availableReplicas`) matches the desired replicas too. + +**Note:** It's impossible to know whether a Deployment will ever succeed, so one has to timeout and give up at some point. ## Updating a Deployment @@ -83,120 +108,303 @@ For this, we update our deployment file as follows: {% include code.html language="yaml" file="new-nginx-deployment.yaml" ghlink="/docs/user-guide/new-nginx-deployment.yaml" %} -We can then `apply` the Deployment: +We can then `apply` the new Deployment: ```shell $ kubectl apply -f docs/user-guide/new-nginx-deployment.yaml deployment "nginx-deployment" configured ``` -Running a `get` immediately will still give: +Alternatively, we can `edit` the Deployment and change `.spec.template.spec.containers[0].image` from `nginx:1.7.9` to `nginx:1.9.1`: + +```shell +$ kubectl edit deployment/nginx-deployment +deployment "nginx-deployment" edited +``` + +Running a `get` immediately will give: ```shell $ kubectl get deployments -NAME UPDATEDREPLICAS AGE -nginx-deployment 3/3 8s +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +nginx-deployment 3 3 0 3 20s ``` -This indicates that deployment status has not been updated yet (it is still -showing old status). -Running a `get` again after a minute, should show: +The 0 number of up-to-date replicas indicates that the deployment hasn't updated the replicas to the latest configuration. The current replicas indicates the total replicas (3 with old configuration and 0 with new configuration) this Deployment manages, and the available replicas indicates the number of current replicas that are available. + +The Deployment will update all the pods in a few seconds. ```shell $ kubectl get deployments -NAME UPDATEDREPLICAS AGE -nginx-deployment 1/3 1m +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +nginx-deployment 3 3 3 3 36s ``` -This indicates that the Deployment has updated one of the three pods that it needs -to update. -Eventually, it will update all the pods. +We can run `kubectl get rs` to see that the Deployment updated the pods by creating a new replica set and scaling it up to 3 replicas, as well as scaling down the old replica set to 0 replicas. ```shell -$ kubectl get deployments -NAME UPDATEDREPLICAS AGE -nginx-deployment 3/3 3m -``` - -We can run `kubectl get rc` to see that the Deployment updated the pods by creating a new RC, -which it scaled up to 3 replicas, and has scaled down the old RC to 0 replicas. - -```shell -kubectl get rc -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS AGE -deploymentrc-1562004724 nginx nginx:1.9.1 pod-template-hash=1562004724,app=nginx 3 5m -deploymentrc-1975012602 nginx nginx:1.7.9 pod-template-hash=1975012602,app=nginx 0 7m +$ kubectl get rs +NAME DESIRED CURRENT AGE +nginx-deployment-1564180365 3 3 6s +nginx-deployment-2035384211 0 0 36s ``` Running `get pods` should now show only the new pods: ```shell -kubectl get pods -NAME READY STATUS RESTARTS AGE -deploymentrc-1562004724-0tgk5 1/1 Running 0 9m -deploymentrc-1562004724-1rkfl 1/1 Running 0 8m -deploymentrc-1562004724-6v702 1/1 Running 0 8m +$ kubectl get pods +NAME READY STATUS RESTARTS AGE +nginx-deployment-1564180365-khku8 1/1 Running 0 14s +nginx-deployment-1564180365-nacti 1/1 Running 0 14s +nginx-deployment-1564180365-z9gth 1/1 Running 0 14s ``` -Next time we want to update these pods, we can just update and re-apply the Deployment again. +Next time we want to update these pods, we only need to update and re-apply the Deployment again. -Deployment ensures that not all pods are down while they are being updated. By -default, it ensures that minimum of 1 less than the desired number of pods are -up. For example, if you look at the above deployment closely, you will see that +Deployment can ensure that only a certain number of pods may be down while they are being updated. By +default, it ensures that at least 1 less than the desired number of pods are +up (1 max unavailable). + +Deployment can also ensure that only a certain number of pods may be created above the desired number of pods. By default, it ensures that at most 1 more than the desired number of pods are up (1 max surge). + +For example, if you look at the above deployment closely, you will see that it first created a new pod, then deleted some old pods and created new ones. It -does not kill old pods until a sufficient number of new pods have come up. +does not kill old pods until a sufficient number of new pods have come up, and does not create new pods until a sufficient number of old pods have been killed. It makes sure that number of available pods is at least 2 and the number of total pods is at most 4. ```shell $ kubectl describe deployments -Name: nginx-deployment -Namespace: default -CreationTimestamp: Thu, 22 Oct 2015 17:58:49 -0700 -Labels: app=nginx-deployment -Selector: app=nginx -Replicas: 3 updated / 3 total -StrategyType: RollingUpdate -RollingUpdateStrategy: 1 max unavailable, 1 max surge, 0 min ready seconds -OldReplicationControllers: deploymentrc-1562004724 (3/3 replicas created) -NewReplicationController: +Name: nginx-deployment +Namespace: default +CreationTimestamp: Tue, 15 Mar 2016 12:01:06 -0700 +Labels: app=nginx +Selector: app=nginx +Replicas: 3 updated | 3 total | 3 available | 0 unavailable +StrategyType: RollingUpdate +MinReadySeconds: 0 +RollingUpdateStrategy: 1 max unavailable, 1 max surge +OldReplicaSets: +NewReplicaSet: nginx-deployment-1564180365 (3/3 replicas created) Events: - FirstSeen LastSeen Count From SubobjectPath Reason Message - 10m 10m 1 {deployment-controller } ScalingRC Scaled up rc deploymentrc-1975012602 to 3 - 2m 2m 1 {deployment-controller } ScalingRC Scaled up rc deploymentrc-1562004724 to 1 - 2m 2m 1 {deployment-controller } ScalingRC Scaled down rc deploymentrc-1975012602 to 1 - 1m 1m 1 {deployment-controller } ScalingRC Scaled up rc deploymentrc-1562004724 to 3 - 1m 1m 1 {deployment-controller } ScalingRC Scaled down rc deploymentrc-1975012602 to 0 + FirstSeen LastSeen Count From SubobjectPath Type Reason Message + --------- -------- ----- ---- ------------- -------- ------ ------- + 36s 36s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-2035384211 to 3 + 23s 23s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-1564180365 to 1 + 23s 23s 1 {deployment-controller } Normal ScalingReplicaSet Scaled down replica set nginx-deployment-2035384211 to 2 + 23s 23s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-1564180365 to 2 + 21s 21s 1 {deployment-controller } Normal ScalingReplicaSet Scaled down replica set nginx-deployment-2035384211 to 0 + 21s 21s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-1564180365 to 3 ``` -Here we see that when we first created the Deployment, it created an RC and scaled it up to 3 replicas directly. -When we updated the Deployment, it created a new RC and scaled it up to 1 and then scaled down the old RC by 1, so that at least 2 pods were available at all times. -It then scaled up the new RC to 3 and when those pods were ready, it scaled down the old RC to 0. +Here we see that when we first created the Deployment, it created a replica set (nginx-deployment-2035384211) and scaled it up to 3 replicas directly. +When we updated the Deployment, it created a new replica set (nginx-deployment-1564180365) and scaled it up to 1 and then scaled down the old replica set to 2, so that at least 2 pods were available and at most 4 pods were created at all times. +It then continued scaling up and down the new and the old replica set, with the same rolling update strategy. Finally, we'll have 3 available replicas in the new replica set, and the old replica set is scaled down to 0. ### Multiple Updates -Each time a new deployment object is observed, a replication controller is -created to bring up the desired pods if there is no existing RC doing so. -Existing RCs controlling pods whose labels match `.spec.selector` but whose +Each time a new deployment object is observed by the deployment controller, a replica set is +created to bring up the desired pods if there is no existing replica set doing so. +Existing replica set controlling pods whose labels match `.spec.selector` but whose template does not match `.spec.template` are scaled down. -Eventually, the new RC will be scaled to `.spec.replicas` and all old RCs will +Eventually, the new replica set will be scaled to `.spec.replicas` and all old replica sets will be scaled to 0. -If the user updates a Deployment while an existing deployment is in progress, -the Deployment will create a new RC as per the update and start scaling that up, and -will roll the RC that it was scaling up previously-- it will add it to its list of old RCs and will +If you update a Deployment while an existing deployment is in progress, +the Deployment will create a new replica set as per the update and start scaling that up, and +will roll the replica set that it was scaling up previously -- it will add it to its list of old replica sets and will start scaling it down. -For example, suppose the user creates a deployment to create 5 replicas of `nginx:1.7.9`, -but then updates the deployment to create 5 replicas of `nginx:1.9.1`, when only 3 -replicas of `nginx:1.7.9` had been created. In that case, deployment will immediately start +For example, suppose you create a Deployment to create 5 replicas of `nginx:1.7.9`, +but then updates the Deployment to create 5 replicas of `nginx:1.9.1`, when only 3 +replicas of `nginx:1.7.9` had been created. In that case, Deployment will immediately start killing the 3 `nginx:1.7.9` pods that it had created, and will start creating `nginx:1.9.1` pods. It will not wait for 5 replicas of `nginx:1.7.9` to be created before changing course. +## Rolling Back a Deployment + +Sometimes we may want to rollback a Deployment; for example, when the Deployment is not stable, such as crash looping. + +Suppose that we made a typo while updating the Deployment, by putting the image name as `nginx:1.91` instead of `nginx:1.9.1`: + +{% include code.html language="yaml" file="bad-nginx-deployment.yaml" ghlink="/docs/user-guide/bad-nginx-deployment.yaml" %} + +```shell +$ kubectl apply -f docs/user-guide/bad-nginx-deployment.yaml +deployment "nginx-deployment" configured +``` + +You will see that both the number of old replicas (nginx-deployment-1564180365 and nginx-deployment-2035384211) and new replicas (nginx-deployment-3066724191) are 2. + +```shell +$ kubectl get rs +NAME DESIRED CURRENT AGE +nginx-deployment-1564180365 2 2 25s +nginx-deployment-2035384211 0 0 36s +nginx-deployment-3066724191 2 2 6s +``` + +Looking at the pods created, you will see that the 2 pods created by new replica set are stuck in an image pull loop. + +```shell +$ kubectl get pods +NAME READY STATUS RESTARTS AGE +nginx-deployment-1564180365-70iae 1/1 Running 0 25s +nginx-deployment-1564180365-jbqqo 1/1 Running 0 25s +nginx-deployment-3066724191-08mng 0/1 ImagePullBackOff 0 6s +nginx-deployment-3066724191-eocby 0/1 ImagePullBackOff 0 6s +``` + +Note that the Deployment controller will stop the bad rollout automatically, and will stop scaling up the new replica set. + +```shell +$ kubectl describe deployment +Name: nginx-deployment +Namespace: default +CreationTimestamp: Tue, 15 Mar 2016 14:48:04 -0700 +Labels: app=nginx +Selector: app=nginx +Replicas: 2 updated | 3 total | 2 available | 2 unavailable +StrategyType: RollingUpdate +MinReadySeconds: 0 +RollingUpdateStrategy: 1 max unavailable, 1 max surge +OldReplicaSets: nginx-deployment-1564180365 (2/2 replicas created) +NewReplicaSet: nginx-deployment-3066724191 (2/2 replicas created) +Events: + FirstSeen LastSeen Count From SubobjectPath Type Reason Message + --------- -------- ----- ---- ------------- -------- ------ ------- + 1m 1m 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-2035384211 to 3 + 22s 22s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-1564180365 to 1 + 22s 22s 1 {deployment-controller } Normal ScalingReplicaSet Scaled down replica set nginx-deployment-2035384211 to 2 + 22s 22s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-1564180365 to 2 + 21s 21s 1 {deployment-controller } Normal ScalingReplicaSet Scaled down replica set nginx-deployment-2035384211 to 0 + 21s 21s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-1564180365 to 3 + 13s 13s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-3066724191 to 1 + 13s 13s 1 {deployment-controller } Normal ScalingReplicaSet Scaled down replica set nginx-deployment-1564180365 to 2 + 13s 13s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-3066724191 to 2 +``` + +To fix this, we need to rollback to a previous revision of Deployment that is stable. + +First, check the revisions of this deployment: + +```shell +$ kubectl rollout history deployment/nginx-deployment +deployments "nginx-deployment": +REVISION CHANGE-CAUSE +1 kubectl create -f docs/user-guide/nginx-deployment.yaml --record +2 kubectl apply -f docs/user-guide/new-nginx-deployment.yaml +3 kubectl apply -f docs/user-guide/bad-nginx-deployment.yaml +``` + +Because we recorded the command while creating this Deployment using `--record`, we can easily see the changes we made in each revision. + +To further see the details of each revision, run: + +```shell +$ kubectl rollout history deployment/nginx-deployment --revision=2 +deployments "nginx-deployment" revision 2 +Labels: app=nginx,pod-template-hash=1564180365 +Annotations: kubernetes.io/change-cause=kubectl apply -f docs/user-guide/new-nginx-deployment.yaml +Image(s): nginx:1.9.1 +No volumes. +``` + +Now we've decided to undo the current rollout and rollback to the previous revision: + +```shell +$ kubectl rollout undo deployment/nginx-deployment +deployment "nginx-deployment" rolled back +``` + +Alternatively, you can rollback to a specific revision by specify that in `--to-revision`: + +```shell +$ kubectl rollout undo deployment/nginx-deployment --to-revision=2 +deployment "nginx-deployment" rolled back +``` + +The Deployment is now rolled back to a previous stable revision. As you can see, a `DeploymentRollback` event for rolling back to revision 2 is generated from Deployment controller. + +```shell +$ kubectl get deployment +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +nginx-deployment 3 3 3 3 30m +$ kubectl describe deployment +Name: nginx-deployment +Namespace: default +CreationTimestamp: Tue, 15 Mar 2016 14:48:04 -0700 +Labels: app=nginx +Selector: app=nginx +Replicas: 3 updated | 3 total | 3 available | 0 unavailable +StrategyType: RollingUpdate +MinReadySeconds: 0 +RollingUpdateStrategy: 1 max unavailable, 1 max surge +OldReplicaSets: +NewReplicaSet: nginx-deployment-1564180365 (3/3 replicas created) +Events: + FirstSeen LastSeen Count From SubobjectPath Type Reason Message + --------- -------- ----- ---- ------------- -------- ------ ------- + 30m 30m 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-2035384211 to 3 + 29m 29m 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-1564180365 to 1 + 29m 29m 1 {deployment-controller } Normal ScalingReplicaSet Scaled down replica set nginx-deployment-2035384211 to 2 + 29m 29m 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-1564180365 to 2 + 29m 29m 1 {deployment-controller } Normal ScalingReplicaSet Scaled down replica set nginx-deployment-2035384211 to 0 + 29m 29m 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-3066724191 to 2 + 29m 29m 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-3066724191 to 1 + 29m 29m 1 {deployment-controller } Normal ScalingReplicaSet Scaled down replica set nginx-deployment-1564180365 to 2 + 2m 2m 1 {deployment-controller } Normal ScalingReplicaSet Scaled down replica set nginx-deployment-3066724191 to 0 + 2m 2m 1 {deployment-controller } Normal DeploymentRollback Rolled back deployment "nginx-deployment" to revision 2 + 29m 2m 2 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set nginx-deployment-1564180365 to 3 +``` + +## Pausing and Resuming a Deployment + +You can also pause a Deployment mid-way and then resume it. A use case is to support canary deployment. + +Update the Deployment again and then pause the Deployment with `kubectl rollout pause`: + +```shell +$ kubectl apply -f docs/user-guide/new-nginx-deployment; kubectl rollout pause deployment/nginx-deployment +deployment "nginx-deployment" configured +deployment "nginx-deployment" paused +``` + +Note that any current state of the Deployment will continue its function, but new updates to the Deployment will not have an effect as long as the Deployment is paused. + +The Deployment was still in progress when we paused it, so the actions of scaling up and down replica sets are paused too. + +```shell +$ kubectl get rs +NAME DESIRED CURRENT AGE +nginx-deployment-1564180365 2 2 1h +nginx-deployment-2035384211 2 2 1h +nginx-deployment-3066724191 0 0 1h +``` + +To resume the Deployment, simply do `kubectl rollout resume`: + +```shell +$ kubectl rollout resume deployment/nginx-deployment +deployment "nginx-deployment" resumed +``` + +Then the Deployment will continue and finish the rollout: + +```shell +$ kubectl get rs +NAME DESIRED CURRENT AGE +nginx-deployment-1564180365 3 3 1h +nginx-deployment-2035384211 0 0 1h +nginx-deployment-3066724191 0 0 1h +``` + +Note: A paused Deployment cannot be scaled at this moment, and we will add this feature in 1.3 release, see [issue #20853](https://github.com/kubernetes/kubernetes/issues/20853). You cannot rollback a paused Deployment either, and you should resume a Deployment first before doing a rollback. + ## Writing a Deployment Spec As with all other Kubernetes configs, a Deployment needs `apiVersion`, `kind`, and `metadata` fields. For general information about working with config files, -see [here](/docs/user-guide/deploying-applications), [here](/docs/user-guide/configuring-containers), and [here](/docs/user-guide/working-with-resources). +see [deploying applications](/docs/user-guide/deploying-applications), [configuring containers](/docs/user-guide/configuring-containers), and [using kubectl to manage resources](/docs/user-guide/working-with-resources) documents. A Deployment also needs a [`.spec` section](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/devel/api-conventions.md#spec-and-status). @@ -231,13 +439,12 @@ the default value. All existing pods are killed before new ones are created when `.spec.strategy.type==Recreate`. -__Note: This is not implemented yet__. #### Rolling Update Deployment The Deployment updates pods in a [rolling update](/docs/user-guide/update-demo/) fashion when `.spec.strategy.type==RollingUpdate`. -Users can specify `maxUnavailable`, `maxSurge` and `minReadySeconds` to control +You can specify `maxUnavailable` and `maxSurge` to control the rolling update process. ##### Max Unavailable @@ -250,9 +457,9 @@ The absolute number is calculated from percentage by rounding up. This can not be 0 if `.spec.strategy.rollingUpdate.maxSurge` is 0. By default, a fixed value of 1 is used. -For example, when this value is set to 30%, the old RC can be scaled down to +For example, when this value is set to 30%, the old replica set can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are -ready, old RC can be scaled down further, followed by scaling up the new RC, +ready, old replica set can be scaled down further, followed by scaling up the new replica set, ensuring that the total number of pods available at all times during the update is at least 70% of the desired pods. @@ -266,13 +473,13 @@ This can not be 0 if `MaxUnavailable` is 0. The absolute number is calculated from percentage by rounding up. By default, a value of 1 is used. -For example, when this value is set to 30%, the new RC can be scaled up immediately when +For example, when this value is set to 30%, the new replica set can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, -the new RC can be scaled up further, ensuring that the total number of pods running +the new replica set can be scaled up further, ensuring that the total number of pods running at any time during the update is at most 130% of desired pods. -##### Min Ready Seconds +### Min Ready Seconds `.spec.minReadySeconds` is an optional field that specifies the minimum number of seconds for which a newly created pod should be ready @@ -280,9 +487,25 @@ without any of its containers crashing, for it to be considered available. This defaults to 0 (the pod will be considered available as soon as it is ready). To learn more about when a pod is considered ready, see [Container Probes](/docs/user-guide/pod-states/#container-probes). +### Rollback To + +`.spec.rollbackTo` is an optional field with the configuration the Deployment is rolling back to. Setting this field will trigger a rollback, and this field will be cleared every time a rollback is done. + +#### Revision + +`.spec.rollbackTo.revision` is an optional field specifying the revision to rollback to. This defaults to 0, meaning rollback to the last revision in history. + +### Revision History Limit + +`.spec.revisionHistoryLimit` is an optional field that specifies the number of old replica sets to retain to allow rollback. All old replica sets will be kept by default, if this field is not set. The configuration of each Deployment revision is stored in its replica sets; therefore, once an old replica set is deleted, you lose the ability to rollback to that revision of Deployment. + +### Paused + +`.spec.paused` is an optional boolean field for pausing and resuming a Deployment. It defaults to false (a Deployment is not paused). + ## Alternative to Deployments ### kubectl rolling update -[Kubectl rolling update](/docs/user-guide/kubectl/kubectl_rolling-update) also updates pods and replication controllers in a similar fashion. -But deployments is declarative and is server side. \ No newline at end of file +[Kubectl rolling update](/docs/user-guide/kubectl/kubectl_rolling-update) updates pods and replication controllers in a similar fashion. +But deployments are recommended, since they are declarative, server side, and have additional features, such as rolling back to any previous revision even after the rolling update is done. diff --git a/docs/user-guide/docker-cli-to-kubectl.md b/docs/user-guide/docker-cli-to-kubectl.md index 10bc548a4d..62c763c0e6 100644 --- a/docs/user-guide/docker-cli-to-kubectl.md +++ b/docs/user-guide/docker-cli-to-kubectl.md @@ -8,7 +8,7 @@ In this doc, we introduce the Kubernetes command line for interacting with the a #### docker run -How do I run an nginx container and expose it to the world? Checkout [kubectl run](/docs/user-guide/kubectl/kubectl_run). +How do I run an nginx Deployment and expose it to the world? Checkout [kubectl run](/docs/user-guide/kubectl/kubectl_run). With docker: @@ -25,12 +25,20 @@ With kubectl: ```shell # start the pod running nginx $ kubectl run --image=nginx nginx-app --port=80 --env="DOMAIN=cluster" -replicationcontroller "nginx-app" created -# expose a port through with a service -$ kubectl expose rc nginx-app --port=80 --name=nginx-http +deployment "nginx-app" created ``` -With kubectl, we create a [replication controller](/docs/user-guide/replication-controller) which will make sure that N pods are running nginx (where N is the number of replicas stated in the spec, which defaults to 1). We also create a [service](/docs/user-guide/services) with a selector that matches the replication controller's selector. See the [Quick start](/docs/user-guide/quick-start) for more information. +`kubectl run` creates a Deployment named "nginx" on Kubernetes cluster >= v1.2. If you are running older versions, it creates replication controllers instead. +If you want to obtain the old behavior, use `--generator=run/v1` to create replication controllers. See [`kubectl run`](/docs/user-guide/kubectl/kubectl_run/) for more details. +Note that `kubectl` commands will print the type and name of the resource created or mutated, which can then be used in subsequent commands. Now, we can expose a new Service with the deployment created above: + +```shell +# expose a port through with a service +$ kubectl expose deployment nginx-app --port=80 --name=nginx-http +service "nginx-http" exposed +``` + +With kubectl, we create a [Deployment](/docs/user-guide/deployments) which will make sure that N pods are running nginx (where N is the number of replicas stated in the spec, which defaults to 1). We also create a [service](/docs/user-guide/services) with a selector that matches the Deployment's selector. See the [Quick start](/docs/user-guide/quick-start) for more information. By default images are run in the background, similar to `docker run -d ...`, if you want to run things in the foreground, use: @@ -40,8 +48,8 @@ kubectl run [-i] [--tty] --attach --image= Unlike `docker run ...`, if `--attach` is specified, we attach to `stdin`, `stdout` and `stderr`, there is no ability to control which streams are attached (`docker -a ...`). -Because we start a replication controller for your container, it will be restarted if you terminate the attached process (e.g. `ctrl-c`), this is different than `docker run -it`. -To destroy the replication controller (and it's pods) you need to run `kubectl delete rc ` +Because we start a Deployment for your container, it will be restarted if you terminate the attached process (e.g. `ctrl-c`), this is different than `docker run -it`. +To destroy the Deployment (and its pods) you need to run `kubectl delete deployment ` #### docker ps @@ -180,20 +188,19 @@ a9ec34d98787 With kubectl: ```shell -$ kubectl get rc nginx-app -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS -nginx-app nginx-app nginx run=nginx-app 1 -$ kubectl get po -NAME READY STATUS RESTARTS AGE -nginx-app-aualv 1/1 Running 0 16s -$ kubectl delete rc nginx-app -NAME READY STATUS RESTARTS AGE -nginx-app-aualv 1/1 Running 0 16s -$ kubectl get po -NAME READY STATUS RESTARTS AGE +$ kubectl get deployment nginx-app +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +nginx-app 1 1 1 1 2m +$ kubectl get po -l run=nginx-app +NAME READY STATUS RESTARTS AGE +nginx-app-2883164633-aklf7 1/1 Running 0 2m +$ kubectl delete deployment nginx-app +deployment "nginx-app" deleted +$ kubectl get po -l run=nginx-app +# Return nothing ``` -Notice that we don't delete the pod directly. With kubectl we want to delete the replication controller that owns the pod. If we delete the pod directly, the replication controller will recreate the pod. +Notice that we don't delete the pod directly. With kubectl we want to delete the Deployment that owns the pod. If we delete the pod directly, the Deployment will recreate the pod. #### docker login @@ -263,4 +270,4 @@ KubeUI is running at https://108.59.85.141/api/v1/proxy/namespaces/kube-system/s Grafana is running at https://108.59.85.141/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana Heapster is running at https://108.59.85.141/api/v1/proxy/namespaces/kube-system/services/monitoring-heapster InfluxDB is running at https://108.59.85.141/api/v1/proxy/namespaces/kube-system/services/monitoring-influxdb -``` \ No newline at end of file +``` diff --git a/docs/user-guide/downward-api.md b/docs/user-guide/downward-api/index.md similarity index 92% rename from docs/user-guide/downward-api.md rename to docs/user-guide/downward-api/index.md index 2932423ecd..bbc0bf58f0 100644 --- a/docs/user-guide/downward-api.md +++ b/docs/user-guide/downward-api/index.md @@ -52,7 +52,7 @@ environment variable they want. This is an example of a pod that consumes its name and namespace via the downward API: -{% include code.html language="yaml" file="downward-api/dapi-pod.yaml" ghlink="/docs/user-guide/downward-api/dapi-pod.yaml" %} +{% include code.html language="yaml" file="dapi-pod.yaml" ghlink="/docs/user-guide/downward-api/dapi-pod.yaml" %} ### Downward API volume @@ -86,7 +86,7 @@ In future, it will be possible to specify a specific annotation or label. This is an example of a pod that consumes its labels and annotations via the downward API volume, labels and annotations are dumped in `/etc/labels` and in `/etc/annotations`, respectively: -{% include code.html language="yaml" file="downward-api/volume/dapi-volume.yaml" ghlink="/docs/user-guide/downward-api/volume/dapi-volume.yaml" %} +{% include code.html language="yaml" file="volume/dapi-volume.yaml" ghlink="/docs/user-guide/downward-api/volume/dapi-volume.yaml" %} Some more thorough examples: diff --git a/docs/user-guide/horizontal-pod-autoscaler.md b/docs/user-guide/horizontal-pod-autoscaler.md deleted file mode 100644 index 0a1fbca549..0000000000 --- a/docs/user-guide/horizontal-pod-autoscaler.md +++ /dev/null @@ -1,78 +0,0 @@ ---- ---- - -This document describes the current state of Horizontal Pod Autoscaler in Kubernetes. - -## What is Horizontal Pod Autoscaler? - -Horizontal pod autoscaling allows the number of pods in a replication controller or deployment -to scale automatically based on observed CPU utilization. -It is a [beta](/docs/api/)#api-versioning) feature in Kubernetes 1.1. - -The autoscaler is implemented as a Kubernetes API resource and a controller. -The resource describes behavior of the controller. -The controller periodically adjusts the number of replicas in a replication controller or deployment -to match the observed average CPU utilization to the target specified by user. - - -## How does Horizontal Pod Autoscaler work? - -![Horizontal Pod Autoscaler diagram](/images/docs/horizontal-pod-autoscaler.svg) - -The autoscaler is implemented as a control loop. -It periodically queries CPU utilization for the pods it targets. -(The period of the autoscaler is controlled by `--horizontal-pod-autoscaler-sync-period` flag of controller manager. -The default value is 30 seconds). -Then, it compares the arithmetic mean of the pods' CPU utilization with the target and adjust the number of replicas if needed. - -CPU utilization is the recent CPU usage of a pod divided by the sum of CPU requested by the pod's containers. -Please note that if some of the pod's containers do not have CPU request set, -CPU utilization for the pod will not be defined and the autoscaler will not take any action. -Further details of the autoscaling algorithm are given [here](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/horizontal-pod-autoscaler.md#autoscaling-algorithm). - -Autoscaler uses heapster to collect CPU utilization. -Therefore, it is required to deploy heapster monitoring in your cluster for autoscaling to work. - -Autoscaler accesses corresponding replication controller or deployment by scale sub-resource. -Scale is an interface which allows to dynamically set the number of replicas and to learn the current state of them. -More details on scale sub-resource can be found [here](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/horizontal-pod-autoscaler.md#scale-subresource). - - -## API Object - -Horizontal pod autoscaler is a top-level resource in the Kubernetes REST API (currently in [beta](/docs/api/)#api-versioning)). -More details about the API object can be found at -[HorizontalPodAutoscaler Object](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/horizontal-pod-autoscaler.md#horizontalpodautoscaler-object). - -## Support for horizontal pod autoscaler in kubectl - -Horizontal pod autoscaler, like every API resource, is supported in a standard way by `kubectl`. -We can create a new autoscaler using `kubectl create` command. -We can list autoscalers by `kubectl get hpa` and get detailed description by `kubectl describe hpa`. -Finally, we can delete an autoscaler using `kubectl delete hpa`. - -In addition, there is a special `kubectl autoscale` command that allows for easy creation of horizontal pod autoscaler. -For instance, executing `kubectl autoscale rc foo --min=2 --max=5 --cpu-percent=80` -will create an autoscaler for replication controller *foo*, with target CPU utilization set to `80%` -and the number of replicas between 2 and 5. -The detailed documentation of `kubectl autoscale` can be found [here](/docs/user-guide/kubectl/kubectl_autoscale). - - -## Autoscaling during rolling update - -Currently in Kubernetes, it is possible to perform a rolling update by managing replication controllers directly, -or by using the deployment object, which manages the underlying replication controllers for you. -Horizontal pod autoscaler only supports the latter approach: the horizontal pod autoscaler is bound to the deployment object, -it sets the size for the deployment object, and the deployment is responsible for setting sizes of underlying replication controllers. - -Horizontal pod autoscaler does not work with rolling update using direct manipulation of replication controllers, -i.e. you cannot bind a horizontal pod autoscaler to a replication controller and do rolling update (e.g. using `kubectl rolling-update`). -The reason this doesn't work is that when rolling update creates a new replication controller, -the horizontal pod autoscaler will not be bound to the new replication controller. - - -## Further reading - -* Design documentation: [Horizontal Pod Autoscaling](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/horizontal-pod-autoscaler.md). -* Manual of autoscale command in kubectl: [kubectl autoscale](/docs/user-guide/kubectl/kubectl_autoscale). -* Usage example of [Horizontal Pod Autoscaler](/docs/user-guide/horizontal-pod-autoscaling/). \ No newline at end of file diff --git a/docs/user-guide/horizontal-pod-autoscaling/hpa-php-apache.yaml b/docs/user-guide/horizontal-pod-autoscaling/hpa-php-apache.yaml index 8aa7804ca1..72d402743d 100644 --- a/docs/user-guide/horizontal-pod-autoscaling/hpa-php-apache.yaml +++ b/docs/user-guide/horizontal-pod-autoscaling/hpa-php-apache.yaml @@ -5,7 +5,7 @@ metadata: namespace: default spec: scaleRef: - kind: ReplicationController + kind: Deployment name: php-apache subresource: scale minReplicas: 1 diff --git a/docs/user-guide/horizontal-pod-autoscaling/index.md b/docs/user-guide/horizontal-pod-autoscaling/index.md index 074304194b..8c98d9beb7 100644 --- a/docs/user-guide/horizontal-pod-autoscaling/index.md +++ b/docs/user-guide/horizontal-pod-autoscaling/index.md @@ -1,184 +1,83 @@ --- --- -Horizontal pod autoscaling is a [beta](/docs/api/#api-versioning) feature in Kubernetes 1.1. -It allows the number of pods in a replication controller or deployment to scale automatically based on observed CPU usage. -In the future also other metrics will be supported. +This document describes the current state of Horizontal Pod Autoscaler in Kubernetes. -In this document we explain how this feature works by walking you through an example of enabling horizontal pod autoscaling with the php-apache server. +## What is Horizontal Pod Autoscaler? -## Prerequisites +Horizontal pod autoscaling allows to automatically scale the number of pods +in a replication controller, deployment or replica set based on observed CPU utilization. -This example requires a running Kubernetes cluster and kubectl in the version at least 1.1. -[Heapster](https://github.com/kubernetes/heapster) monitoring needs to be deployed in the cluster -as horizontal pod autoscaler uses it to collect metrics -(if you followed [getting started on GCE guide](/docs/getting-started-guides/gce), -heapster monitoring will be turned-on by default). +The autoscaler is implemented as a Kubernetes API resource and a controller. +The resource describes behavior of the controller. +The controller periodically adjusts the number of replicas in a replication controller or deployment +to match the observed average CPU utilization to the target specified by user. -## Step One: Run & expose php-apache server +## How does Horizontal Pod Autoscaler work? -To demonstrate horizontal pod autoscaler we will use a custom docker image based on php-apache server. -The image can be found [here](https://releases.k8s.io/{{page.githubbranch}}/docs/user-guide/horizontal-pod-autoscaling/image). -It defines [index.php](/docs/user-guide/horizontal-pod-autoscaling/image/index.php) page which performs some CPU intensive computations. +![Horizontal Pod Autoscaler diagram](/images/docs/horizontal-pod-autoscaler.svg) -First, we will start a replication controller running the image and expose it as an external service: +The autoscaler is implemented as a control loop. +It periodically queries CPU utilization for the pods it targets. +(The period of the autoscaler is controlled by `--horizontal-pod-autoscaler-sync-period` flag of controller manager. +The default value is 30 seconds). +Then, it compares the arithmetic mean of the pods' CPU utilization with the target and adjust the number of replicas if needed. - +CPU utilization is the recent CPU usage of a pod divided by the sum of CPU requested by the pod's containers. +Please note that if some of the pod's containers do not have CPU request set, +CPU utilization for the pod will not be defined and the autoscaler will not take any action. +Further details of the autoscaling algorithm are given [here](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/horizontal-pod-autoscaler.md#autoscaling-algorithm). -```shell -$ kubectl run php-apache --image=gcr.io/google_containers/hpa-example --requests=cpu=200m -replicationcontroller "php-apache" created +Autoscaler uses heapster to collect CPU utilization. +Therefore, it is required to deploy heapster monitoring in your cluster for autoscaling to work. -$ kubectl expose rc php-apache --port=80 --type=LoadBalancer -service "php-apache" exposed -``` +Autoscaler accesses corresponding replication controller, deployment or replica set by scale sub-resource. +Scale is an interface which allows to dynamically set the number of replicas and to learn the current state of them. +More details on scale sub-resource can be found [here](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/horizontal-pod-autoscaler.md#scale-subresource). -Now, we will wait some time and verify that both the replication controller and the service were correctly created and are running. We will also determine the IP address of the service: -```shell -$ kubectl get pods -NAME READY STATUS RESTARTS AGE -php-apache-wa3t1 1/1 Running 0 12m +## API Object -$ kubectl describe services php-apache | grep "LoadBalancer Ingress" -LoadBalancer Ingress: 146.148.24.244 -``` +Horizontal pod autoscaler is a top-level resource in the Kubernetes REST API. +In Kubernetes 1.2 HPA was graduated from beta to stable (more details about [api versioning](/docs/api/#api-versioning)) with compatibility between versions. +The stable version is available in `autoscaling/v1` api group whereas the beta vesion is available in `extensions/v1beta1` api group as before. +The transition plan is to depracate beta version of HPA in Kubernetes 1.3 and get it rid off completely in Kubernetes 1.4. -We may now check that php-apache server works correctly by calling `curl` with the service's IP: +**Warning!** Please have in mind that all Kubernetes components still use HPA in version `extensions/v1beta1` in Kubernetes 1.2. -```shell -$ curl http://146.148.24.244 -OK! -``` +More details about the API object can be found at +[HorizontalPodAutoscaler Object](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/horizontal-pod-autoscaler.md#horizontalpodautoscaler-object). -Please notice that when exposing the service we assumed that our cluster runs on a provider which supports load balancers (e.g.: on GCE). -If load balancers are not supported (e.g.: on Vagrant), we can expose php-apache service as ``ClusterIP`` and connect to it using the proxy on the master: +## Support for horizontal pod autoscaler in kubectl -```shell -$ kubectl expose rc php-apache --port=80 --type=ClusterIP -service "php-apache" exposed +Horizontal pod autoscaler, like every API resource, is supported in a standard way by `kubectl`. +We can create a new autoscaler using `kubectl create` command. +We can list autoscalers by `kubectl get hpa` and get detailed description by `kubectl describe hpa`. +Finally, we can delete an autoscaler using `kubectl delete hpa`. -$ kubectl cluster-info | grep master -Kubernetes master is running at https://146.148.6.215 +In addition, there is a special `kubectl autoscale` command that allows for easy creation of horizontal pod autoscaler. +For instance, executing `kubectl autoscale rc foo --min=2 --max=5 --cpu-percent=80` +will create an autoscaler for replication controller *foo*, with target CPU utilization set to `80%` +and the number of replicas between 2 and 5. +The detailed documentation of `kubectl autoscale` can be found [here](/docs/user-guide/kubectl/kubectl_autoscale). -$ curl -k -u : https://146.148.6.215/api/v1/proxy/namespaces/default/services/php-apache/ -OK! -``` -## Step Two: Create horizontal pod autoscaler +## Autoscaling during rolling update -Now that the server is running, we will create a horizontal pod autoscaler for it. -To create it, we will use the [hpa-php-apache.yaml](/docs/user-guide/horizontal-pod-autoscaling/hpa-php-apache.yaml) file, which looks like this: +Currently in Kubernetes, it is possible to perform a rolling update by managing replication controllers directly, +or by using the deployment object, which manages the underlying replication controllers for you. +Horizontal pod autoscaler only supports the latter approach: the horizontal pod autoscaler is bound to the deployment object, +it sets the size for the deployment object, and the deployment is responsible for setting sizes of underlying replication controllers. -```yaml -apiVersion: extensions/v1beta1 -kind: HorizontalPodAutoscaler -metadata: - name: php-apache - namespace: default -spec: - scaleRef: - kind: ReplicationController - name: php-apache - namespace: default - minReplicas: 1 - maxReplicas: 10 - cpuUtilization: - targetPercentage: 50 -``` +Horizontal pod autoscaler does not work with rolling update using direct manipulation of replication controllers, +i.e. you cannot bind a horizontal pod autoscaler to a replication controller and do rolling update (e.g. using `kubectl rolling-update`). +The reason this doesn't work is that when rolling update creates a new replication controller, +the horizontal pod autoscaler will not be bound to the new replication controller. -This defines a horizontal pod autoscaler that maintains between 1 and 10 replicas of the Pods -controlled by the php-apache replication controller we created in the first step of these instructions. -Roughly speaking, the horizontal autoscaler will increase and decrease the number of replicas -(via the replication controller) so as to maintain an average CPU utilization across all Pods of 50% -(since each pod requests 200 milli-cores by [kubectl run](#kubectl-run), this means average CPU utilization of 100 milli-cores). -See [here](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/horizontal-pod-autoscaler.md#autoscaling-algorithm) for more details on the algorithm. -We will create the autoscaler by executing the following command: +## Further reading -```shell -$ kubectl create -f docs/user-guide/horizontal-pod-autoscaling/hpa-php-apache.yaml -horizontalpodautoscaler "php-apache" created -``` - -Alternatively, we can create the autoscaler using [kubectl autoscale](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/user-guide/kubectl/kubectl_autoscale.md). -The following command will create the equivalent autoscaler as defined in the [hpa-php-apache.yaml](/docs/user-guide/horizontal-pod-autoscaling/hpa-php-apache.yaml) file: - -```shell -$ kubectl autoscale rc php-apache --cpu-percent=50 --min=1 --max=10 -replicationcontroller "php-apache" autoscaled -``` - -We may check the current status of autoscaler by running: - -```shell -$ kubectl get hpa -NAME REFERENCE TARGET CURRENT MINPODS MAXPODS AGE -php-apache ReplicationController/default/php-apache/ 50% 0% 1 10 27s -``` - -Please note that the current CPU consumption is 0% as we are not sending any requests to the server -(the ``CURRENT`` column shows the average across all the pods controlled by the corresponding replication controller). - -## Step Three: Increase load - -Now, we will see how the autoscaler reacts on the increased load of the server. -We will start an infinite loop of queries to our server (please run it in a different terminal): - -```shell -$ while true; do curl http://146.148.6.244; done -``` - -We may examine, how CPU load was increased (the results should be visible after about 3-4 minutes) by executing: - -```shell -$ kubectl get hpa -NAME REFERENCE TARGET CURRENT MINPODS MAXPODS AGE -php-apache ReplicationController/default/php-apache/ 50% 305% 1 10 4m -``` - -In the case presented here, it bumped CPU consumption to 305% of the request. -As a result, the replication controller was resized to 7 replicas: - -```shell -$ kubectl get rc -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS AGE -php-apache php-apache gcr.io/google_containers/hpa-example run=php-apache 7 18m -``` - -Now, we may increase the load even more by running yet another infinite loop of queries (in yet another terminal): - -```shell -$ while true; do curl http://146.148.6.244; done -``` - -In the case presented here, it increased the number of serving pods to 10: - -```shell -$ kubectl get hpa -NAME REFERENCE TARGET CURRENT MINPODS MAXPODS AGE -php-apache ReplicationController/default/php-apache/ 50% 65% 1 10 14m - -$ kubectl get rc -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS AGE -php-apache php-apache gcr.io/google_containers/hpa-example run=php-apache 10 24m -``` - -## Step Four: Stop load - -We will finish our example by stopping the user load. - -We will terminate both infinite ``while`` loops sending requests to the server and verify the result state: - -```shell -$ kubectl get hpa -NAME REFERENCE TARGET CURRENT MINPODS MAXPODS AGE -php-apache ReplicationController/default/php-apache/ 50% 0% 1 10 21m - -$ kubectl get rc -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS AGE -php-apache php-apache gcr.io/google_containers/hpa-example run=php-apache 1 31m -``` - -As we see, in the presented case CPU utilization dropped to 0, and the number of replicas dropped to 1. \ No newline at end of file +* Design documentation: [Horizontal Pod Autoscaling](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/horizontal-pod-autoscaler.md). +* Manual of autoscale command in kubectl: [kubectl autoscale](/docs/user-guide/kubectl/kubectl_autoscale). +* Usage example of [Horizontal Pod Autoscaler](/docs/user-guide/horizontal-pod-autoscaling/). diff --git a/docs/user-guide/horizontal-pod-autoscaling/walkthrough.md b/docs/user-guide/horizontal-pod-autoscaling/walkthrough.md new file mode 100644 index 0000000000..7089c53aec --- /dev/null +++ b/docs/user-guide/horizontal-pod-autoscaling/walkthrough.md @@ -0,0 +1,147 @@ +--- +--- + +Horizontal pod autoscaling allows to automatically scale the number of pods +in a replication controller, deployment or replica set based on observed CPU utilization. +In the future also other metrics will be supported. + +In this document we explain how this feature works by walking you through an example of enabling horizontal pod autoscaling for the php-apache server. + +## Prerequisites + +This example requires a running Kubernetes cluster and kubectl in the version at least 1.2. +[Heapster](https://github.com/kubernetes/heapster) monitoring needs to be deployed in the cluster +as horizontal pod autoscaler uses it to collect metrics +(if you followed [getting started on GCE guide](/docs/getting-started-guides/gce), +heapster monitoring will be turned-on by default). + +## Step One: Run & expose php-apache server + +To demonstrate horizontal pod autoscaler we will use a custom docker image based on php-apache server. +The image can be found [here](/docs/user-guide/horizontal-pod-autoscaling/image). +It defines [index.php](/docs/user-guide/horizontal-pod-autoscaling/image/index.php) page which performs some CPU intensive computations. + +First, we will start a deployment running the image and expose it as a service: + +```shell +$ kubectl run php-apache --image=gcr.io/google_containers/hpa-example --requests=cpu=200m --expose --port=80 +service "php-apache" created +deployment "php-apache" created +``` + +## Step Two: Create horizontal pod autoscaler + +Now that the server is running, we will create the autoscaler using +[kubectl autoscale](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/user-guide/kubectl/kubectl_autoscale.md). +The following command will create a horizontal pod autoscaler that maintains between 1 and 10 replicas of the Pods +controlled by the php-apache deployment we created in the first step of these instructions. +Roughly speaking, the horizontal autoscaler will increase and decrease the number of replicas +(via the deployment) to maintain an average CPU utilization across all Pods of 50% +(since each pod requests 200 milli-cores by [kubectl run](#kubectl-run), this means average CPU usage of 100 milli-cores). +See [here](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/horizontal-pod-autoscaler.md#autoscaling-algorithm) for more details on the algorithm. + +```shell +$ kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10 +deployment "php-apache" autoscaled +``` + +We may check the current status of autoscaler by running: + +```shell +$ kubectl get hpa +NAME REFERENCE TARGET CURRENT MINPODS MAXPODS AGE +php-apache Deployment/php-apache/scale 50% 0% 1 10 18s + +``` + +Please note that the current CPU consumption is 0% as we are not sending any requests to the server +(the ``CURRENT`` column shows the average across all the pods controlled by the corresponding deployment). + +## Step Three: Increase load + +Now, we will see how the autoscaler reacts on the increased load on the server. +We will start a container with `busybox` image and an infinite loop of queries to our server inside (please run it in a different terminal): + +```shell +$ kubectl run -i --tty load-generator --image=busybox /bin/sh + +Hit enter for command prompt + +$ while true; do wget -q -O- http://php-apache.default.svc.cluster.local; done +``` + +We may examine, how CPU load was increased by executing (it usually takes 1 minute): + +```shell +$ kubectl get hpa +NAME REFERENCE TARGET CURRENT MINPODS MAXPODS AGE +php-apache Deployment/php-apache/scale 50% 305% 1 10 3m + +``` + +In the case presented here, it bumped CPU consumption to 305% of the request. +As a result, the deployment was resized to 7 replicas: + +```shell +$ kubectl get deployment php-apache +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +php-apache 7 7 7 7 19m +``` + +**Warning!** Sometimes it may take few steps to stabilize the number of replicas. +Since the amount of load is not controlled in any way it may happen that the final number of replicas will +differ from this example. + +## Step Four: Stop load + +We will finish our example by stopping the user load. + +In the terminal where we created container with `busybox` image we will terminate +infinite ``while`` loop by sending `SIGINT` signal, +which can be done using ` + C` combination. + +Then we will verify the result state: + +```shell +$ kubectl get hpa +NAME REFERENCE TARGET CURRENT MINPODS MAXPODS AGE +php-apache Deployment/php-apache/scale 50% 0% 1 10 11m + +$ kubectl get deployment php-apache +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +php-apache 1 1 1 1 27m +``` + +As we see, in the presented case CPU utilization dropped to 0, and the number of replicas dropped to 1. + +**Warning!** Sometimes dropping number of replicas may take few steps. + +## Appendix: Other possible scenarios + +### Creating the autoscaler from a .yaml file + +Instead of using `kubectl autoscale` command we can use the [hpa-php-apache.yaml](/docs/user-guide/horizontal-pod-autoscaling/hpa-php-apache.yaml) file, which looks like this: + +```yaml +apiVersion: extensions/v1beta1 +kind: HorizontalPodAutoscaler +metadata: + name: php-apache + namespace: default +spec: + scaleRef: + kind: Deployment + name: php-apache + subresource: scale + minReplicas: 1 + maxReplicas: 10 + cpuUtilization: + targetPercentage: 50 +``` + +We will create the autoscaler by executing the following command: + +```shell +$ kubectl create -f docs/user-guide/horizontal-pod-autoscaling/hpa-php-apache.yaml +horizontalpodautoscaler "php-apache" created +``` diff --git a/docs/user-guide/ingress.md b/docs/user-guide/ingress.md index 851c5ab712..18d8add185 100644 --- a/docs/user-guide/ingress.md +++ b/docs/user-guide/ingress.md @@ -28,7 +28,7 @@ Typically, services and pods have IPs only routable by the cluster network. All An Ingress is a collection of rules that allow inbound connections to reach the cluster services. ``` -internet + internet | [ Ingress ] --|-----|-- @@ -39,12 +39,28 @@ It can be configured to give services externally-reachable urls, load balance tr ## Prerequisites -Before you start using the Ingress resource, there are a few things you should understand: +Before you start using the Ingress resource, there are a few things you should understand. The Ingress is a beta resource, not available in any Kubernetes release prior to 1.1. You need an Ingress controller to satisfy an Ingress, simply creating the resource will have no effect. -* The Ingress is a beta resource, not available in any Kubernetes release prior to 1.1. -* You need an Ingress controller to satisfy an Ingress. Simply creating the resource will have no effect. -* On GCE/GKE there should be a [L7 cluster addon](https://releases.k8s.io/{{page.githubbranch}}/cluster/addons/cluster-loadbalancing/glbc/README.md#prerequisites), on other platforms you either need to write your own or [deploy an existing controller](https://github.com/kubernetes/contrib/tree/master/Ingress) as a pod. -* The resource currently does not support HTTPS, but will do so before it leaves beta. +On GCE/GKE there should be a [L7 cluster addon](https://github.com/kubernetes/contrib/blob/master/ingress/controllers/gce/README.md), deployed into the `kube-system` namespace: + +```shell +$ kubectl get pods --namespace=kube-system -l name=glbc +NAME READY STATUS RESTARTS AGE +l7-lb-controller-v0.6.0-chnan 2/2 Running 0 1d +``` + +Make sure you review the [beta limitations](https://github.com/kubernetes/contrib/tree/master/ingress/controllers/gce/BETA_LIMITATIONS.md) of this controller. In particular, you need to create a single firewall-rule on your cloudprovider, to allow health checks. On GKE this would be: + +```shell +$ export TAG=$(basename `gcloud container clusters describe ${CLUSTER_NAME} --zone ${ZONE} | grep gke | awk '{print $2}'` | sed -e s/group/node/) +$ export NODE_PORT=$(kubectl get -o jsonpath="{.spec.ports[0].nodePort}" services echoheaders) +$ gcloud compute firewall-rules create allow-130-211-0-0-22 \ + --source-ranges 130.211.0.0/22 \ + --target-tags $TAG \ + --allow tcp:$NODE_PORT +``` + +In environments other than GCE/GKE, you need to [deploy a controller](https://github.com/kubernetes/contrib/tree/master/ingress/controllers) as a pod. ## The Ingress Resource @@ -75,11 +91,11 @@ __Lines 8-9__: Each http rule contains the following information: A host (eg: fo __Lines 10-12__: A backend is a service:port combination as described in the [services doc](/docs/user-guide/services). Ingress traffic is typically sent directly to the endpoints matching a backend. -__Global Parameters__: For the sake of simplicity the example Ingress has no global parameters, see the [api-reference](https://releases.k8s.io/{{page.githubbranch}}/pkg/apis/extensions/v1beta1/types.go) for a full definition of the resource. One can specify a global default backend in the absence of which requests that don't match a path in the spec are sent to the default backend of the Ingress controller. Though the Ingress resource doesn't support HTTPS yet, security configs would also be global. +__Global Parameters__: For the sake of simplicity the example Ingress has no global parameters, see the [api-reference](https://releases.k8s.io/{{page.githubbranch}}/pkg/apis/extensions/v1beta1/types.go) for a full definition of the resource. One can specify a global default backend in the absence of which requests that don't match a path in the spec are sent to the default backend of the Ingress controller. ## Ingress controllers -In order for the Ingress resource to work, the cluster must have an Ingress controller running. This is unlike other types of controllers, which typically run as part of the `kube-controller-manager` binary, and which are typically started automatically as part of cluster creation. You need to choose the ingress controller implementation that is the best fit for your cluster, or implement one. Examples and instructions can be found [here](https://github.com/kubernetes/contrib/tree/master/Ingress). +In order for the Ingress resource to work, the cluster must have an Ingress controller running. This is unlike other types of controllers, which typically run as part of the `kube-controller-manager` binary, and which are typically started automatically as part of cluster creation. You need to choose the ingress controller implementation that is the best fit for your cluster, or implement one. Examples and instructions can be found [here](https://github.com/kubernetes/contrib/tree/master/ingress/controllers). ## Types of Ingress @@ -177,6 +193,37 @@ spec: __Default Backends__: An Ingress with no rules, like the one shown in the previous section, sends all traffic to a single default backend. You can use the same technique to tell a loadbalancer where to find your website's 404 page, by specifying a set of rules *and* a default backend. Traffic is routed to your default backend if none of the Hosts in your Ingress match the Host in the request header, and/or none of the paths match the url of the request. +### TLS + +You can secure an Ingress by specifying a [secret](/docs/user-guide/secrets) that contains a TLS private key and certificate. Currently the Ingress only supports a single TLS port, 443, and assumes TLS termination. If the TLS configuration section in an Ingress specifies different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension (provided the Ingress controller supports SNI). The TLS secret must contain keys named `tls.crt` and `tls.key` that contain the certificate and private key to use for TLS, eg: + +```yaml +apiVersion: v1 +data: + tls.crt: base64 encoded cert + tls.key: base64 encoded key +kind: Secret +metadata: + name: testsecret + namespace: default +type: Opaque +``` + +Referencing this secret in an Ingress will tell the Ingress controller to secure the channel from the client to the loadbalancer using TLS: + +```yaml +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: no-rules-map +spec: + tls: + secretName: testsecret + backend: + serviceName: s1 + servicePort: 80 +``` + ### Loadbalancing An Ingress controller is bootstrapped with some loadbalancing policy settings that it applies to all Ingress, such as the loadbalancing algorithm, backend weight scheme etc. More advanced loadbalancing concepts (eg: persistent sessions, dynamic weights) are not yet exposed through the Ingress. You can still get these features through the [service loadbalancer](https://github.com/kubernetes/contrib/tree/master/service-loadbalancer). With time, we plan to distill loadbalancing patterns that are applicable cross platform into the Ingress resource. @@ -234,12 +281,12 @@ You can achieve the same by invoking `kubectl replace -f` on a modified Ingress ## Future Work -* Various modes of HTTPS/TLS support (edge termination, sni etc) +* Various modes of HTTPS/TLS support (eg: SNI, re-encryption) * Requesting an IP or Hostname via claims * Combining L4 and L7 Ingress * More Ingress controllers -Please track the [L7 and Ingress proposal](https://github.com/kubernetes/kubernetes/pull/12827) for more details on the evolution of the resource, and the [Ingress sub-repository](https://github.com/kubernetes/contrib/tree/master/Ingress) for more details on the evolution of various Ingress controllers. +Please track the [L7 and Ingress proposal](https://github.com/kubernetes/kubernetes/pull/12827) for more details on the evolution of the resource, and the [Ingress sub-repository](https://github.com/kubernetes/contrib/tree/master/ingress) for more details on the evolution of various Ingress controllers. ## Alternatives @@ -248,4 +295,4 @@ You can expose a Service in multiple ways that don't directly involve the Ingres * Use [Service.Type=LoadBalancer](/docs/user-guide/services/#type-loadbalancer) * Use [Service.Type=NodePort](/docs/user-guide/services/#type-nodeport) * Use a [Port Proxy](https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service) -* Deploy the [Service loadbalancer](https://github.com/kubernetes/contrib/tree/master/service-loadbalancer). This allows you to share a single IP among multiple Services and achieve more advanced loadbalancing through Service Annotations. \ No newline at end of file +* Deploy the [Service loadbalancer](https://github.com/kubernetes/contrib/tree/master/service-loadbalancer). This allows you to share a single IP among multiple Services and achieve more advanced loadbalancing through Service Annotations. diff --git a/docs/user-guide/introspection-and-debugging.md b/docs/user-guide/introspection-and-debugging.md index 30763db46c..e185bb46d2 100644 --- a/docs/user-guide/introspection-and-debugging.md +++ b/docs/user-guide/introspection-and-debugging.md @@ -10,13 +10,13 @@ your pods. But there are a number of ways to get even more information about you ## Using `kubectl describe pod` to fetch details about pods -For this example we'll use a ReplicationController to create two pods, similar to the earlier example. +For this example we'll use a Deployment to create two pods, similar to the earlier example. ```yaml -apiVersion: v1 -kind: ReplicationController +apiVersion: extensions/v1beta1 +kind: Deployment metadata: - name: my-nginx + name: nginx-deployment spec: replicas: 2 template: @@ -35,53 +35,67 @@ spec: - containerPort: 80 ``` +Copy this to a file *./my-nginx-dep.yaml* + ```shell -$ kubectl create -f ./my-nginx-rc.yaml -replicationcontrollers/my-nginx +$ kubectl create -f ./my-nginx-dep.yaml +deployment "nginx-deployment" created ``` ```shell $ kubectl get pods -NAME READY REASON RESTARTS AGE -my-nginx-gy1ij 1/1 Running 0 1m -my-nginx-yv5cn 1/1 Running 0 1m +NAME READY STATUS RESTARTS AGE +nginx-deployment-1006230814-6winp 1/1 Running 0 11s +nginx-deployment-1006230814-fmgu3 1/1 Running 0 11s ``` We can retrieve a lot more information about each of these pods using `kubectl describe pod`. For example: ```shell -$ kubectl describe pod my-nginx-gy1ij -Name: my-nginx-gy1ij -Image(s): nginx -Node: kubernetes-node-y3vk/10.240.154.168 -Labels: app=nginx -Status: Running -Reason: -Message: -IP: 10.244.1.4 -Replication Controllers: my-nginx (2/2 replicas created) +$ kubectl describe pod nginx-deployment-1006230814-6winp +Name: nginx-deployment-1006230814-6winp +Namespace: default +Node: kubernetes-node-wul5/10.240.0.9 +Start Time: Thu, 24 Mar 2016 01:39:49 +0000 +Labels: app=nginx,pod-template-hash=1006230814 +Status: Running +IP: 10.244.0.6 +Controllers: ReplicaSet/nginx-deployment-1006230814 Containers: nginx: - Image: nginx + Container ID: docker://90315cc9f513c724e9957a4788d3e625a078de84750f244a40f97ae355eb1149 + Image: nginx + Image ID: docker://6f62f48c4e55d700cf3eb1b5e33fa051802986b77b874cc351cce539e5163707 + Port: 80/TCP + QoS Tier: + cpu: Guaranteed + memory: Guaranteed Limits: - cpu: 500m + cpu: 500m + memory: 128Mi + Requests: memory: 128Mi + cpu: 500m State: Running - Started: Thu, 09 Jul 2015 15:33:07 -0700 + Started: Thu, 24 Mar 2016 01:39:51 +0000 Ready: True Restart Count: 0 + Environment Variables: Conditions: Type Status Ready True +Volumes: + default-token-4bcbi: + Type: Secret (a volume populated by a Secret) + SecretName: default-token-4bcbi Events: - FirstSeen LastSeen Count From SubobjectPath Reason Message - Thu, 09 Jul 2015 15:32:58 -0700 Thu, 09 Jul 2015 15:32:58 -0700 1 {scheduler } scheduled Successfully assigned my-nginx-gy1ij to kubernetes-node-y3vk - Thu, 09 Jul 2015 15:32:58 -0700 Thu, 09 Jul 2015 15:32:58 -0700 1 {kubelet kubernetes-node-y3vk} implicitly required container POD pulled Pod container image "gcr.io/google_containers/pause:0.8.0" already present on machine - Thu, 09 Jul 2015 15:32:58 -0700 Thu, 09 Jul 2015 15:32:58 -0700 1 {kubelet kubernetes-node-y3vk} implicitly required container POD created Created with docker id cd1644065066 - Thu, 09 Jul 2015 15:32:58 -0700 Thu, 09 Jul 2015 15:32:58 -0700 1 {kubelet kubernetes-node-y3vk} implicitly required container POD started Started with docker id cd1644065066 - Thu, 09 Jul 2015 15:33:06 -0700 Thu, 09 Jul 2015 15:33:06 -0700 1 {kubelet kubernetes-node-y3vk} spec.containers{nginx} pulled Successfully pulled image "nginx" - Thu, 09 Jul 2015 15:33:06 -0700 Thu, 09 Jul 2015 15:33:06 -0700 1 {kubelet kubernetes-node-y3vk} spec.containers{nginx} created Created with docker id 56d7a7b14dac - Thu, 09 Jul 2015 15:33:07 -0700 Thu, 09 Jul 2015 15:33:07 -0700 1 {kubelet kubernetes-node-y3vk} spec.containers{nginx} started Started with docker id 56d7a7b14dac + FirstSeen LastSeen Count From SubobjectPath Type Reason Message + --------- -------- ----- ---- ------------- -------- ------ ------- + 54s 54s 1 {default-scheduler } Normal Scheduled Successfully assigned nginx-deployment-1006230814-6winp to kubernetes-node-wul5 + 54s 54s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Pulling pulling image "nginx" + 53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Pulled Successfully pulled image "nginx" + 53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Created Created container with docker id 90315cc9f513 + 53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Started Started container with docker id 90315cc9f513 ``` Here you can see configuration information about the container(s) and Pod (labels, resource requirements, etc.), as well as status information about the container(s) and Pod (state, readiness, restart count, events, etc.) @@ -98,48 +112,59 @@ Lastly, you see a log of recent events related to your Pod. The system compresse ## Example: debugging Pending Pods -A common scenario that you can detect using events is when you've created a Pod that won't fit on any node. For example, the Pod might request more resources than are free on any node, or it might specify a label selector that doesn't match any nodes. Let's say we created the previous Replication Controller with 5 replicas (instead of 2) and requesting 600 millicores instead of 500, on a four-node cluster where each (virtual) machine has 1 CPU. In that case one of the Pods will not be able to schedule. (Note that because of the cluster addon pods such as fluentd, skydns, etc., that run on each node, if we requested 1000 millicores then none of the Pods would be able to schedule.) +A common scenario that you can detect using events is when you've created a Pod that won't fit on any node. For example, the Pod might request more resources than are free on any node, or it might specify a label selector that doesn't match any nodes. Let's say we created the previous Deployment with 5 replicas (instead of 2) and requesting 600 millicores instead of 500, on a four-node cluster where each (virtual) machine has 1 CPU. In that case one of the Pods will not be able to schedule. (Note that because of the cluster addon pods such as fluentd, skydns, etc., that run on each node, if we requested 1000 millicores then none of the Pods would be able to schedule.) ```shell $ kubectl get pods NAME READY REASON RESTARTS AGE -my-nginx-9unp9 0/1 Pending 0 8s -my-nginx-b7zs9 0/1 Running 0 8s -my-nginx-i595c 0/1 Running 0 8s -my-nginx-iichp 0/1 Running 0 8s -my-nginx-tc2j9 0/1 Running 0 8s +NAME READY STATUS RESTARTS AGE +nginx-deployment-1006230814-6winp 1/1 Running 0 7m +nginx-deployment-1006230814-fmgu3 1/1 Running 0 7m +nginx-deployment-1370807587-6ekbw 1/1 Running 0 1m +nginx-deployment-1370807587-fg172 0/1 Pending 0 1m +nginx-deployment-1370807587-fz9sd 0/1 Pending 0 1m ``` -To find out why the my-nginx-9unp9 pod is not running, we can use `kubectl describe pod` on the pending Pod and look at its events: +To find out why the nginx-deployment-1370807587-fz9sd pod is not running, we can use `kubectl describe pod` on the pending Pod and look at its events: ```shell -$ kubectl describe pod my-nginx-9unp9 -Name: my-nginx-9unp9 -Image(s): nginx -Node: / -Labels: app=nginx -Status: Pending -Reason: -Message: -IP: -Replication Controllers: my-nginx (5/5 replicas created) -Containers: - nginx: - Image: nginx - Limits: - cpu: 600m - memory: 128Mi - State: Waiting - Ready: False - Restart Count: 0 -Events: - FirstSeen LastSeen Count From SubobjectPath Reason Message - Thu, 09 Jul 2015 23:56:21 -0700 Fri, 10 Jul 2015 00:01:30 -0700 21 {scheduler } failedScheduling Failed for reason PodFitsResources and possibly others +$ kubectl describe pod nginx-deployment-1370807587-fz9sd + Name: nginx-deployment-1370807587-fz9sd + Namespace: default + Node: / + Labels: app=nginx,pod-template-hash=1370807587 + Status: Pending + IP: + Controllers: ReplicaSet/nginx-deployment-1370807587 + Containers: + nginx: + Image: nginx + Port: 80/TCP + QoS Tier: + memory: Guaranteed + cpu: Guaranteed + Limits: + cpu: 1 + memory: 128Mi + Requests: + cpu: 1 + memory: 128Mi + Environment Variables: + Volumes: + default-token-4bcbi: + Type: Secret (a volume populated by a Secret) + SecretName: default-token-4bcbi + Events: + FirstSeen LastSeen Count From SubobjectPath Type Reason Message + --------- -------- ----- ---- ------------- -------- ------ ------- + 1m 48s 7 {default-scheduler } Warning FailedScheduling pod (nginx-deployment-1370807587-fz9sd) failed to fit in any node + fit failure on node (kubernetes-node-6ta5): Node didn't have enough resource: CPU, requested: 1000, used: 1420, capacity: 2000 + fit failure on node (kubernetes-node-wul5): Node didn't have enough resource: CPU, requested: 1000, used: 1100, capacity: 2000 ``` -Here you can see the event generated by the scheduler saying that the Pod failed to schedule for reason `PodFitsResources` (and possibly others). `PodFitsResources` means there were not enough resources for the Pod on any of the nodes. Due to the way the event is generated, there may be other reasons as well, hence "and possibly others." +Here you can see the event generated by the scheduler saying that the Pod failed to schedule for reason `FailedScheduling` (and possibly others). The message tells us that there were not enough resources for the Pod on any of the nodes. -To correct this situation, you can use `kubectl scale` to update your Replication Controller to specify four or fewer replicas. (Or you could just leave the one Pod pending, which is harmless.) +To correct this situation, you can use `kubectl scale` to update your Deployment to specify four or fewer replicas. (Or you could just leave the one Pod pending, which is harmless.) Events such as the ones you saw at the end of `kubectl describe pod` are persisted in etcd and provide high-level information on what is happening in the cluster. To list all events you can use @@ -158,65 +183,75 @@ To see events from all namespaces, you can use the `--all-namespaces` argument. In addition to `kubectl describe pod`, another way to get extra information about a pod (beyond what is provided by `kubectl get pod`) is to pass the `-o yaml` output format flag to `kubectl get pod`. This will give you, in YAML format, even more information than `kubectl describe pod`--essentially all of the information the system has about the Pod. Here you will see things like annotations (which are key-value metadata without the label restrictions, that is used internally by Kubernetes system components), restart policy, ports, and volumes. ```yaml -$ kubectl get pod my-nginx-i595c -o yaml +$kubectl get pod nginx-deployment-1006230814-6winp -o yaml apiVersion: v1 kind: Pod metadata: annotations: - kubernetes.io/created-by: '{"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicationController","namespace":"default","name":"my-nginx","uid":"c555c14f-26d0-11e5-99cb-42010af00e4b","apiVersion":"v1","resourceVersion":"26174"}}' - creationTimestamp: 2015-07-10T06:56:21Z - generateName: my-nginx- + kubernetes.io/created-by: | + {"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"default","name":"nginx-deployment-1006230814","uid":"4c84c175-f161-11e5-9a78-42010af00005","apiVersion":"extensions","resourceVersion":"133434"}} + creationTimestamp: 2016-03-24T01:39:50Z + generateName: nginx-deployment-1006230814- labels: app: nginx - name: my-nginx-i595c + pod-template-hash: "1006230814" + name: nginx-deployment-1006230814-6winp namespace: default - resourceVersion: "26243" - selfLink: /api/v1/namespaces/default/pods/my-nginx-i595c - uid: c558e44b-26d0-11e5-99cb-42010af00e4b + resourceVersion: "133447" + selfLink: /api/v1/namespaces/default/pods/nginx-deployment-1006230814-6winp + uid: 4c879808-f161-11e5-9a78-42010af00005 spec: containers: - image: nginx - imagePullPolicy: IfNotPresent + imagePullPolicy: Always name: nginx ports: - containerPort: 80 protocol: TCP resources: limits: - cpu: 600m + cpu: 500m + memory: 128Mi + requests: + cpu: 500m memory: 128Mi terminationMessagePath: /dev/termination-log volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount - name: default-token-zkhkk + name: default-token-4bcbi readOnly: true dnsPolicy: ClusterFirst - nodeName: kubernetes-node-u619 + nodeName: kubernetes-node-wul5 restartPolicy: Always + securityContext: {} + serviceAccount: default serviceAccountName: default + terminationGracePeriodSeconds: 30 volumes: - - name: default-token-zkhkk + - name: default-token-4bcbi secret: - secretName: default-token-zkhkk + secretName: default-token-4bcbi status: conditions: - - status: "True" + - lastProbeTime: null + lastTransitionTime: 2016-03-24T01:39:51Z + status: "True" type: Ready containerStatuses: - - containerID: docker://9506ace0eb91fbc31aef1d249e0d1d6d6ef5ebafc60424319aad5b12e3a4e6a9 + - containerID: docker://90315cc9f513c724e9957a4788d3e625a078de84750f244a40f97ae355eb1149 image: nginx - imageID: docker://319d2015d149943ff4d2a20ddea7d7e5ce06a64bbab1792334c0d3273bbbff1e + imageID: docker://6f62f48c4e55d700cf3eb1b5e33fa051802986b77b874cc351cce539e5163707 lastState: {} name: nginx ready: true restartCount: 0 state: running: - startedAt: 2015-07-10T06:56:28Z - hostIP: 10.240.112.234 + startedAt: 2016-03-24T01:39:51Z + hostIP: 10.240.0.9 phase: Running - podIP: 10.244.3.4 - startTime: 2015-07-10T06:56:21Z + podIP: 10.244.0.6 + startTime: 2016-03-24T01:39:49Z ``` ## Example: debugging a down/unreachable node diff --git a/docs/user-guide/jobs.md b/docs/user-guide/jobs.md index e2fd8a8a2c..f17727cc27 100644 --- a/docs/user-guide/jobs.md +++ b/docs/user-guide/jobs.md @@ -11,7 +11,7 @@ As pods successfully complete, the _job_ tracks the successful completions. Whe of successful completions is reached, the job itself is complete. Deleting a Job will cleanup the pods it created. -A simple case is to create 1 Job object in order to reliably run one Pod to completion. +A simple case is to create one Job object in order to reliably run one Pod to completion. The Job object will start a new Pod if the first pod fails or is deleted (for example due to a node hardware failure or a node reboot). @@ -88,9 +88,9 @@ the same schema as a [pod](/docs/user-guide/pods), except it is nested and does `kind`. In addition to required fields for a Pod, a pod template in a job must specify appropriate -labels (see [pod selector](#pod-selector) and an appropriate restart policy. +labels (see [pod selector](#pod-selector)) and an appropriate restart policy. -Only a [`RestartPolicy`](/docs/user-guide/pod-states) equal to `Never` or `OnFailure` are allowed. +Only a [`RestartPolicy`](/docs/user-guide/pod-states/#restartpolicy) equal to `Never` or `OnFailure` are allowed. ### Pod Selector @@ -331,15 +331,6 @@ driver, and then cleans up. An advantage of this approach is that the overall process gets the completion guarantee of a Job object, but complete control over what pods are created and how work is assigned to them. -## Caveats - -Job objects are in the [`extensions` API Group](/docs/api/#api-groups). - -Job objects have [API version `v1beta1`](/docs/api/)#api-versioning). Beta objects may -undergo changes to their schema and/or semantics in future software releases, but -similar functionality will be supported. - ## Future work -Support for creating Jobs at specified times/dates (i.e. cron) is expected in the next minor -release. \ No newline at end of file +Support for creating Jobs at specified times/dates (i.e. cron) is expected in [1.3](https://github.com/kubernetes/kubernetes/pull/11980). diff --git a/docs/user-guide/known-issues.md b/docs/user-guide/known-issues.md deleted file mode 100644 index 9652da3610..0000000000 --- a/docs/user-guide/known-issues.md +++ /dev/null @@ -1,25 +0,0 @@ ---- ---- - -This document summarizes known issues with existing Kubernetes releases. - -Please consult this document before filing new bugs. - -### Release 1.0.1 - - * `exec` liveness/readiness probes leak resources due to Docker exec leaking resources (#10659) - * `docker load` sometimes hangs which causes the `kube-apiserver` not to start. Restarting the Docker daemon should fix the issue (#10868) - * The kubelet on the master node doesn't register with the `kube-apiserver` so statistics aren't collected for master daemons (#10891) - * Heapster and InfluxDB both leak memory (#10653) - * Wrong node cpu/memory limit metrics from Heapster (https://github.com/GoogleCloudPlatform/heapster/issues/399) - * Services that set `type=LoadBalancer` can not use port `10250` because of Google Compute Engine firewall limitations - * Add-on services can not be created or deleted via `kubectl` or the Kubernetes API (#11435) - * If a pod with a GCE PD is created and deleted in rapid succession, it may fail to attach/mount correctly leaving PD data inaccessible (or corrupted in the worst case). (http://issue.k8s.io/11231#issuecomment-122049113) - * Suggested temporary work around: introduce a 1-2 minute delay between deleting and recreating a pod with a PD on the same node. - * Explicit errors while detaching GCE PD could prevent PD from ever being detached (#11321) - * GCE PDs may sometimes fail to attach (#11302) - * If multiple Pods use the same RBD volume in read-write mode, it is possible data on the RBD volume could get corrupted. This problem has been found in environments where both apiserver and etcd rebooted and Pods were redistributed. - * A workaround is to ensure there is no other Ceph client using the RBD volume before mapping RBD image in read-write mode. For example, `rados -p poolname listwatchers image_name.rbd` can list RBD clients that are mapping the image. - - - diff --git a/docs/user-guide/kubectl/kubectl.md b/docs/user-guide/kubectl/kubectl.md index bc389b054b..e8e52452d9 100644 --- a/docs/user-guide/kubectl/kubectl.md +++ b/docs/user-guide/kubectl/kubectl.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl @@ -24,7 +20,6 @@ kubectl ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -50,36 +45,37 @@ kubectl ### SEE ALSO -* [kubectl annotate](../kubectl_annotate) - Update the annotations on a resource -* [kubectl api-versions](../kubectl_api-versions) - Print the supported API versions on the server, in the form of "group/version". -* [kubectl apply](../kubectl_apply) - Apply a configuration to a resource by filename or stdin -* [kubectl attach](../kubectl_attach) - Attach to a running container. -* [kubectl autoscale](../kubectl_autoscale) - Auto-scale a deployment or replication controller -* [kubectl cluster-info](../kubectl_cluster-info) - Display cluster info -* [kubectl config](../kubectl_config) - config modifies kubeconfig files -* [kubectl convert](../kubectl_convert) - Convert config files between different API versions -* [kubectl cordon](../kubectl_cordon) - Mark node as unschedulable -* [kubectl create](../kubectl_create) - Create a resource by filename or stdin -* [kubectl delete](../kubectl_delete) - Delete resources by filenames, stdin, resources and names, or by resources and label selector. -* [kubectl describe](../kubectl_describe) - Show details of a specific resource or group of resources -* [kubectl drain](../kubectl_drain) - Drain node in preparation for maintenance -* [kubectl edit](../kubectl_edit) - Edit a resource on the server -* [kubectl exec](../kubectl_exec) - Execute a command in a container. -* [kubectl explain](../kubectl_explain) - Documentation of resources. -* [kubectl expose](../kubectl_expose) - Take a replication controller, service or pod and expose it as a new Kubernetes Service -* [kubectl get](../kubectl_get) - Display one or many resources -* [kubectl label](../kubectl_label) - Update the labels on a resource -* [kubectl logs](../kubectl_logs) - Print the logs for a container in a pod. -* [kubectl namespace](../kubectl_namespace) - SUPERSEDED: Set and view the current Kubernetes namespace -* [kubectl patch](../kubectl_patch) - Update field(s) of a resource using strategic merge patch. -* [kubectl port-forward](../kubectl_port-forward) - Forward one or more local ports to a pod. -* [kubectl proxy](../kubectl_proxy) - Run a proxy to the Kubernetes API server -* [kubectl replace](../kubectl_replace) - Replace a resource by filename or stdin. -* [kubectl rolling-update](../kubectl_rolling-update) - Perform a rolling update of the given ReplicationController. -* [kubectl rollout](../kubectl_rollout) - rollout manages a deployment -* [kubectl run](../kubectl_run) - Run a particular image on the cluster. -* [kubectl scale](../kubectl_scale) - Set a new size for a Replication Controller, Job, or Deployment. -* [kubectl uncordon](../kubectl_uncordon) - Mark node as schedulable -* [kubectl version](../kubectl_version) - Print the client and server version information. +* [kubectl annotate](/docs/user-guide/kubectl/kubectl_annotate/) - Update the annotations on a resource +* [kubectl api-versions](/docs/user-guide/kubectl/kubectl_api-versions/) - Print the supported API versions on the server, in the form of "group/version". +* [kubectl apply](/docs/user-guide/kubectl/kubectl_apply/) - Apply a configuration to a resource by filename or stdin +* [kubectl attach](/docs/user-guide/kubectl/kubectl_attach/) - Attach to a running container. +* [kubectl autoscale](/docs/user-guide/kubectl/kubectl_autoscale/) - Auto-scale a deployment or replication controller +* [kubectl cluster-info](/docs/user-guide/kubectl/kubectl_cluster-info/) - Display cluster info +* [kubectl config](/docs/user-guide/kubectl/kubectl_config/) - config modifies kubeconfig files +* [kubectl convert](/docs/user-guide/kubectl/kubectl_convert/) - Convert config files between different API versions +* [kubectl cordon](/docs/user-guide/kubectl/kubectl_cordon/) - Mark node as unschedulable +* [kubectl create](/docs/user-guide/kubectl/kubectl_create/) - Create a resource by filename or stdin +* [kubectl delete](/docs/user-guide/kubectl/kubectl_delete/) - Delete resources by filenames, stdin, resources and names, or by resources and label selector. +* [kubectl describe](/docs/user-guide/kubectl/kubectl_describe/) - Show details of a specific resource or group of resources +* [kubectl drain](/docs/user-guide/kubectl/kubectl_drain/) - Drain node in preparation for maintenance +* [kubectl edit](/docs/user-guide/kubectl/kubectl_edit/) - Edit a resource on the server +* [kubectl exec](/docs/user-guide/kubectl/kubectl_exec/) - Execute a command in a container. +* [kubectl explain](/docs/user-guide/kubectl/kubectl_explain/) - Documentation of resources. +* [kubectl expose](/docs/user-guide/kubectl/kubectl_expose/) - Take a replication controller, service or pod and expose it as a new Kubernetes Service +* [kubectl get](/docs/user-guide/kubectl/kubectl_get/) - Display one or many resources +* [kubectl label](/docs/user-guide/kubectl/kubectl_label/) - Update the labels on a resource +* [kubectl logs](/docs/user-guide/kubectl/kubectl_logs/) - Print the logs for a container in a pod. +* [kubectl namespace](/docs/user-guide/kubectl/kubectl_namespace/) - SUPERSEDED: Set and view the current Kubernetes namespace +* [kubectl patch](/docs/user-guide/kubectl/kubectl_patch/) - Update field(s) of a resource using strategic merge patch. +* [kubectl port-forward](/docs/user-guide/kubectl/kubectl_port-forward/) - Forward one or more local ports to a pod. +* [kubectl proxy](/docs/user-guide/kubectl/kubectl_proxy/) - Run a proxy to the Kubernetes API server +* [kubectl replace](/docs/user-guide/kubectl/kubectl_replace/) - Replace a resource by filename or stdin. +* [kubectl rolling-update](/docs/user-guide/kubectl/kubectl_rolling-update/) - Perform a rolling update of the given ReplicationController. +* [kubectl rollout](/docs/user-guide/kubectl/kubectl_rollout/) - rollout manages a deployment +* [kubectl run](/docs/user-guide/kubectl/kubectl_run/) - Run a particular image on the cluster. +* [kubectl scale](/docs/user-guide/kubectl/kubectl_scale/) - Set a new size for a Replication Controller, Job, or Deployment. +* [kubectl uncordon](/docs/user-guide/kubectl/kubectl_uncordon/) - Mark node as schedulable +* [kubectl version](/docs/user-guide/kubectl/kubectl_version/) - Print the client and server version information. + +###### Auto generated by spf13/cobra on 2-Mar-2016 -###### Auto generated by spf13/cobra on 19-Jan-2016 \ No newline at end of file diff --git a/docs/user-guide/kubectl/kubectl_annotate.md b/docs/user-guide/kubectl/kubectl_annotate.md index 3cf31b7846..b111ed11dc 100644 --- a/docs/user-guide/kubectl/kubectl_annotate.md +++ b/docs/user-guide/kubectl/kubectl_annotate.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl annotate @@ -59,7 +55,7 @@ kubectl annotate pods foo description- -f, --filename=[]: Filename, directory, or URL to a file identifying the resource to update the annotation --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --overwrite[=false]: If true, allow annotations to be overwritten, otherwise reject annotation updates that overwrite existing annotations. --record[=false]: Record current kubectl command in the resource annotation. --resource-version="": If non-empty, the annotation update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource. @@ -74,7 +70,6 @@ kubectl annotate pods foo description- ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -100,17 +95,6 @@ kubectl annotate pods foo description- ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_annotate.md?pixel)]() - +###### Auto generated by spf13/cobra on 11-Mar-2016 \ No newline at end of file diff --git a/docs/user-guide/kubectl/kubectl_api-versions.md b/docs/user-guide/kubectl/kubectl_api-versions.md index de3ad2e3cb..2a0b46a2c6 100644 --- a/docs/user-guide/kubectl/kubectl_api-versions.md +++ b/docs/user-guide/kubectl/kubectl_api-versions.md @@ -1,10 +1,5 @@ --- --- - - - - - ## kubectl api-versions Print the supported API versions on the server, in the form of "group/version". @@ -22,7 +17,6 @@ kubectl api-versions ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -48,17 +42,6 @@ kubectl api-versions ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 8-Dec-2015 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_api-versions.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 \ No newline at end of file diff --git a/docs/user-guide/kubectl/kubectl_apply.md b/docs/user-guide/kubectl/kubectl_apply.md index acfdf349a8..a1a229bb60 100644 --- a/docs/user-guide/kubectl/kubectl_apply.md +++ b/docs/user-guide/kubectl/kubectl_apply.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl apply @@ -45,7 +41,6 @@ cat pod.json | kubectl apply -f - ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -71,17 +66,6 @@ cat pod.json | kubectl apply -f - ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_apply.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_attach.md b/docs/user-guide/kubectl/kubectl_attach.md index b9d4d6281c..a9f12a54fe 100644 --- a/docs/user-guide/kubectl/kubectl_attach.md +++ b/docs/user-guide/kubectl/kubectl_attach.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl attach @@ -44,7 +40,6 @@ kubectl attach 123456-7890 -c ruby-container -i -t ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -70,17 +65,6 @@ kubectl attach 123456-7890 -c ruby-container -i -t ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_attach.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_autoscale.md b/docs/user-guide/kubectl/kubectl_autoscale.md index e4ebc2b40d..4b7e00001c 100644 --- a/docs/user-guide/kubectl/kubectl_autoscale.md +++ b/docs/user-guide/kubectl/kubectl_autoscale.md @@ -1,10 +1,5 @@ --- --- - - - - - ## kubectl autoscale Auto-scale a deployment or replication controller @@ -43,7 +38,7 @@ kubectl autoscale rc foo --max=5 --cpu-percent=80 --name="": The name for the newly created object. If not specified, the name of the input resource will be used. --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --record[=false]: Record current kubectl command in the resource annotation. --save-config[=false]: If true, the configuration of current object will be saved in its annotation. This is useful when you want to perform kubectl apply on this object in the future. -a, --show-all[=false]: When printing, show all resources (default hide terminated pods.) @@ -56,7 +51,6 @@ kubectl autoscale rc foo --max=5 --cpu-percent=80 ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -82,17 +76,6 @@ kubectl autoscale rc foo --max=5 --cpu-percent=80 ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_autoscale.md?pixel)]() - +###### Auto generated by spf13/cobra on 11-Mar-2016 \ No newline at end of file diff --git a/docs/user-guide/kubectl/kubectl_cluster-info.md b/docs/user-guide/kubectl/kubectl_cluster-info.md index 9a1d6b042e..61e0292ba0 100644 --- a/docs/user-guide/kubectl/kubectl_cluster-info.md +++ b/docs/user-guide/kubectl/kubectl_cluster-info.md @@ -1,10 +1,5 @@ --- --- - - - - - ## kubectl cluster-info Display cluster info @@ -22,7 +17,6 @@ kubectl cluster-info ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -48,17 +42,6 @@ kubectl cluster-info ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 8-Dec-2015 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_cluster-info.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 \ No newline at end of file diff --git a/docs/user-guide/kubectl/kubectl_config.md b/docs/user-guide/kubectl/kubectl_config.md index be5cf2bc31..7b14316043 100644 --- a/docs/user-guide/kubectl/kubectl_config.md +++ b/docs/user-guide/kubectl/kubectl_config.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl config @@ -15,9 +11,9 @@ config modifies kubeconfig files config modifies kubeconfig files using subcommands like "kubectl config set current-context my-context" The loading order follows these rules: - 1. If the --kubeconfig flag is set, then only that file is loaded. The flag may only be set once and no merging takes place. - 2. If $KUBECONFIG environment variable is set, then it is used a list of paths (normal path delimitting rules for your system). These paths are merged together. When a value is modified, it is modified in the file that defines the stanza. When a value is created, it is created in the first file that exists. If no files in the chain exist, then it creates the last file in the list. - 3. Otherwise, ${HOME}/.kube/config is used and no merging takes place. +1. If the --kubeconfig flag is set, then only that file is loaded. The flag may only be set once and no merging takes place. +2. If $KUBECONFIG environment variable is set, then it is used a list of paths (normal path delimitting rules for your system). These paths are merged together. When a value is modified, it is modified in the file that defines the stanza. When a value is created, it is created in the first file that exists. If no files in the chain exist, then it creates the last file in the list. +3. Otherwise, ${HOME}/.kube/config is used and no merging takes place. ``` @@ -34,7 +30,6 @@ kubectl config SUBCOMMAND ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -59,25 +54,15 @@ kubectl config SUBCOMMAND ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager -* [kubectl config current-context](kubectl_config_current-context.md) - Displays the current-context -* [kubectl config set](kubectl_config_set.md) - Sets an individual value in a kubeconfig file -* [kubectl config set-cluster](kubectl_config_set-cluster.md) - Sets a cluster entry in kubeconfig -* [kubectl config set-context](kubectl_config_set-context.md) - Sets a context entry in kubeconfig -* [kubectl config set-credentials](kubectl_config_set-credentials.md) - Sets a user entry in kubeconfig -* [kubectl config unset](kubectl_config_unset.md) - Unsets an individual value in a kubeconfig file -* [kubectl config use-context](kubectl_config_use-context.md) - Sets the current-context in a kubeconfig file -* [kubectl config view](kubectl_config_view.md) - Displays merged kubeconfig settings or a specified kubeconfig file. +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager +* [kubectl config current-context](/docs/user-guide/kubectl/kubectl_config_current-context/) - Displays the current-context +* [kubectl config set](/docs/user-guide/kubectl/kubectl_config_set/) - Sets an individual value in a kubeconfig file +* [kubectl config set-cluster](/docs/user-guide/kubectl/kubectl_config_set-cluster/) - Sets a cluster entry in kubeconfig +* [kubectl config set-context](/docs/user-guide/kubectl/kubectl_config_set-context/) - Sets a context entry in kubeconfig +* [kubectl config set-credentials](/docs/user-guide/kubectl/kubectl_config_set-credentials/) - Sets a user entry in kubeconfig +* [kubectl config unset](/docs/user-guide/kubectl/kubectl_config_unset/) - Unsets an individual value in a kubeconfig file +* [kubectl config use-context](/docs/user-guide/kubectl/kubectl_config_use-context/) - Sets the current-context in a kubeconfig file +* [kubectl config view](/docs/user-guide/kubectl/kubectl_config_view/) + - Displays merged kubeconfig settings or a specified kubeconfig file. -###### Auto generated by spf13/cobra on 9-Jan-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_config.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_config_current-context.md b/docs/user-guide/kubectl/kubectl_config_current-context.md index f104271637..9f1bdf1b7e 100644 --- a/docs/user-guide/kubectl/kubectl_config_current-context.md +++ b/docs/user-guide/kubectl/kubectl_config_current-context.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl config current-context @@ -29,7 +25,6 @@ kubectl config current-context ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -55,17 +50,6 @@ kubectl config current-context ### SEE ALSO -* [kubectl config](kubectl_config.md) - config modifies kubeconfig files +* [kubectl config](/docs/user-guide/kubectl/kubectl_config/) - config modifies kubeconfig files -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_config_current-context.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 \ No newline at end of file diff --git a/docs/user-guide/kubectl/kubectl_config_set-cluster.md b/docs/user-guide/kubectl/kubectl_config_set-cluster.md index bf52eb877b..c6ac6a81d9 100644 --- a/docs/user-guide/kubectl/kubectl_config_set-cluster.md +++ b/docs/user-guide/kubectl/kubectl_config_set-cluster.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl config set-cluster @@ -16,7 +12,7 @@ Sets a cluster entry in kubeconfig. Specifying a name that already exists will merge new fields on top of existing values for those fields. ``` -kubectl config set-cluster NAME [--server=server] [--certificate-authority=path/to/certficate/authority] [--api-version=apiversion] [--insecure-skip-tls-verify=true] +kubectl config set-cluster NAME [--server=server] [--certificate-authority=path/to/certficate/authority] [--insecure-skip-tls-verify=true] ``` ### Examples @@ -68,17 +64,6 @@ kubectl config set-cluster e2e --insecure-skip-tls-verify=true ### SEE ALSO -* [kubectl config](kubectl_config.md) - config modifies kubeconfig files +* [kubectl config](/docs/user-guide/kubectl/kubectl_config/) - config modifies kubeconfig files -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_config_set-cluster.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_config_set-context.md b/docs/user-guide/kubectl/kubectl_config_set-context.md index ec8aaaf474..fc4c9067a9 100644 --- a/docs/user-guide/kubectl/kubectl_config_set-context.md +++ b/docs/user-guide/kubectl/kubectl_config_set-context.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl config set-context @@ -38,7 +34,6 @@ kubectl config set-context gce --user=cluster-admin ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -61,17 +56,6 @@ kubectl config set-context gce --user=cluster-admin ### SEE ALSO -* [kubectl config](kubectl_config.md) - config modifies kubeconfig files +* [kubectl config](/docs/user-guide/kubectl/kubectl_config/) - config modifies kubeconfig files -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_config_set-context.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 \ No newline at end of file diff --git a/docs/user-guide/kubectl/kubectl_config_set-credentials.md b/docs/user-guide/kubectl/kubectl_config_set-credentials.md index 89cf284475..a54bd237bf 100644 --- a/docs/user-guide/kubectl/kubectl_config_set-credentials.md +++ b/docs/user-guide/kubectl/kubectl_config_set-credentials.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl config set-credentials @@ -60,7 +56,6 @@ kubectl config set-credentials cluster-admin --client-certificate=~/.kube/admin. ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --cluster="": The name of the kubeconfig cluster to use --context="": The name of the kubeconfig context to use @@ -81,17 +76,6 @@ kubectl config set-credentials cluster-admin --client-certificate=~/.kube/admin. ### SEE ALSO -* [kubectl config](kubectl_config.md) - config modifies kubeconfig files +* [kubectl config](/docs/user-guide/kubectl/kubectl_config/) - config modifies kubeconfig files -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_config_set-credentials.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_config_set.md b/docs/user-guide/kubectl/kubectl_config_set.md index 41d9d017a1..ed367924b8 100644 --- a/docs/user-guide/kubectl/kubectl_config_set.md +++ b/docs/user-guide/kubectl/kubectl_config_set.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl config set @@ -24,7 +20,6 @@ kubectl config set PROPERTY_NAME PROPERTY_VALUE ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -50,17 +45,6 @@ kubectl config set PROPERTY_NAME PROPERTY_VALUE ### SEE ALSO -* [kubectl config](kubectl_config.md) - config modifies kubeconfig files +* [kubectl config](/docs/user-guide/kubectl/kubectl_config/) - config modifies kubeconfig files -###### Auto generated by spf13/cobra on 8-Dec-2015 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_config_set.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_config_unset.md b/docs/user-guide/kubectl/kubectl_config_unset.md index 07aec8fa8a..026bcb0ddc 100644 --- a/docs/user-guide/kubectl/kubectl_config_unset.md +++ b/docs/user-guide/kubectl/kubectl_config_unset.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl config unset @@ -23,7 +19,6 @@ kubectl config unset PROPERTY_NAME ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -49,17 +44,6 @@ kubectl config unset PROPERTY_NAME ### SEE ALSO -* [kubectl config](kubectl_config.md) - config modifies kubeconfig files +* [kubectl config](/docs/user-guide/kubectl/kubectl_config/) - config modifies kubeconfig files -###### Auto generated by spf13/cobra on 8-Dec-2015 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_config_unset.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_config_use-context.md b/docs/user-guide/kubectl/kubectl_config_use-context.md index 5204d6dac9..61c7ca3d62 100644 --- a/docs/user-guide/kubectl/kubectl_config_use-context.md +++ b/docs/user-guide/kubectl/kubectl_config_use-context.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl config use-context @@ -22,7 +18,6 @@ kubectl config use-context CONTEXT_NAME ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -48,17 +43,6 @@ kubectl config use-context CONTEXT_NAME ### SEE ALSO -* [kubectl config](kubectl_config.md) - config modifies kubeconfig files +* [kubectl config](/docs/user-guide/kubectl/kubectl_config/) - config modifies kubeconfig files -###### Auto generated by spf13/cobra on 8-Dec-2015 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_config_use-context.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 \ No newline at end of file diff --git a/docs/user-guide/kubectl/kubectl_config_view.md b/docs/user-guide/kubectl/kubectl_config_view.md index f4acd679f8..85e36c0437 100644 --- a/docs/user-guide/kubectl/kubectl_config_view.md +++ b/docs/user-guide/kubectl/kubectl_config_view.md @@ -1,10 +1,5 @@ --- --- - - - - - ## kubectl config view Displays merged kubeconfig settings or a specified kubeconfig file. @@ -38,7 +33,7 @@ kubectl config view -o jsonpath='{.users[?(@.name == "e2e")].user.password}' --minify[=false]: remove all information not used by current-context from the output --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --raw[=false]: display raw byte data -a, --show-all[=false]: When printing, show all resources (default hide terminated pods.) --show-labels[=false]: When printing, show all labels as the last column (default hide labels column) @@ -50,7 +45,6 @@ kubectl config view -o jsonpath='{.users[?(@.name == "e2e")].user.password}' ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -76,17 +70,7 @@ kubectl config view -o jsonpath='{.users[?(@.name == "e2e")].user.password}' ### SEE ALSO -* [kubectl config](kubectl_config.md) - config modifies kubeconfig files +* [kubectl config](/docs/user-guide/kubectl/kubectl_config/) - config modifies kubeconfig files -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 11-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_config_view.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_convert.md b/docs/user-guide/kubectl/kubectl_convert.md index e8e49b9cd7..73094994b0 100644 --- a/docs/user-guide/kubectl/kubectl_convert.md +++ b/docs/user-guide/kubectl/kubectl_convert.md @@ -1,10 +1,5 @@ --- --- - - - - - ## kubectl convert Convert config files between different API versions @@ -49,7 +44,7 @@ kubectl convert -f . | kubectl create -f - --local[=true]: If true, convert will NOT try to contact api-server but run locally. --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --schema-cache-dir="~/.kube/schema": If non-empty, load/store cached API schemas in this directory, default is '$HOME/.kube/schema' -a, --show-all[=false]: When printing, show all resources (default hide terminated pods.) --show-labels[=false]: When printing, show all labels as the last column (default hide labels column) @@ -62,7 +57,6 @@ kubectl convert -f . | kubectl create -f - ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -88,17 +82,6 @@ kubectl convert -f . | kubectl create -f - ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_convert.md?pixel)]() - +###### Auto generated by spf13/cobra on 11-Mar-2016 \ No newline at end of file diff --git a/docs/user-guide/kubectl/kubectl_cordon.md b/docs/user-guide/kubectl/kubectl_cordon.md index 3a01819b90..10622187e3 100644 --- a/docs/user-guide/kubectl/kubectl_cordon.md +++ b/docs/user-guide/kubectl/kubectl_cordon.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl cordon @@ -31,7 +27,6 @@ kubectl cordon foo ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -57,17 +52,6 @@ kubectl cordon foo ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_cordon.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_create.md b/docs/user-guide/kubectl/kubectl_create.md index cc26302650..73d57429d6 100644 --- a/docs/user-guide/kubectl/kubectl_create.md +++ b/docs/user-guide/kubectl/kubectl_create.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl create @@ -45,7 +41,6 @@ cat pod.json | kubectl create -f - ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -71,21 +66,10 @@ cat pod.json | kubectl create -f - ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager -* [kubectl create configmap](kubectl_create_configmap.md) - Create a configMap from a local file, directory or literal value. -* [kubectl create namespace](kubectl_create_namespace.md) - Create a namespace with the specified name. -* [kubectl create secret](kubectl_create_secret.md) - Create a secret using specified subcommand. -* [kubectl create serviceaccount](kubectl_create_serviceaccount.md) - Create a service account with the specified name. +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager +* [kubectl create configmap](/docs/user-guide/kubectl/kubectl_create_configmap/) - Create a configMap from a local file, directory or literal value. +* [kubectl create namespace](/docs/user-guide/kubectl/kubectl_create_namespace/) - Create a namespace with the specified name. +* [kubectl create secret](/docs/user-guide/kubectl/kubectl_create_secret/) - Create a secret using specified subcommand. +* [kubectl create serviceaccount](/docs/user-guide/kubectl/kubectl_create_serviceaccount/) - Create a service account with the specified name. -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_create.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_create_configmap.md b/docs/user-guide/kubectl/kubectl_create_configmap.md index a575740e72..140040208e 100644 --- a/docs/user-guide/kubectl/kubectl_create_configmap.md +++ b/docs/user-guide/kubectl/kubectl_create_configmap.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl create configmap @@ -50,7 +46,7 @@ kubectl create configmap NAME [--type=string] [--from-file=[key=]source] [--from --generator="configmap/v1": The name of the API generator to use. --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --save-config[=false]: If true, the configuration of current object will be saved in its annotation. This is useful when you want to perform kubectl apply on this object in the future. --schema-cache-dir="~/.kube/schema": If non-empty, load/store cached API schemas in this directory, default is '$HOME/.kube/schema' -a, --show-all[=false]: When printing, show all resources (default hide terminated pods.) @@ -64,7 +60,6 @@ kubectl create configmap NAME [--type=string] [--from-file=[key=]source] [--from ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -90,17 +85,6 @@ kubectl create configmap NAME [--type=string] [--from-file=[key=]source] [--from ### SEE ALSO -* [kubectl create](kubectl_create.md) - Create a resource by filename or stdin +* [kubectl create](/docs/user-guide/kubectl/kubectl_create/) - Create a resource by filename or stdin -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_create_configmap.md?pixel)]() - +###### Auto generated by spf13/cobra on 11-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_create_namespace.md b/docs/user-guide/kubectl/kubectl_create_namespace.md index d308a63f19..1cc5086948 100644 --- a/docs/user-guide/kubectl/kubectl_create_namespace.md +++ b/docs/user-guide/kubectl/kubectl_create_namespace.md @@ -1,10 +1,5 @@ --- --- - - - - - ## kubectl create namespace Create a namespace with the specified name. @@ -33,7 +28,7 @@ kubectl create namespace NAME [--dry-run] --generator="namespace/v1": The name of the API generator to use. --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --save-config[=false]: If true, the configuration of current object will be saved in its annotation. This is useful when you want to perform kubectl apply on this object in the future. --schema-cache-dir="~/.kube/schema": If non-empty, load/store cached API schemas in this directory, default is '$HOME/.kube/schema' -a, --show-all[=false]: When printing, show all resources (default hide terminated pods.) @@ -47,7 +42,6 @@ kubectl create namespace NAME [--dry-run] ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -73,17 +67,6 @@ kubectl create namespace NAME [--dry-run] ### SEE ALSO -* [kubectl create](kubectl_create.md) - Create a resource by filename or stdin +* [kubectl create](/docs/user-guide/kubectl/kubectl_create/) - Create a resource by filename or stdin -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_create_namespace.md?pixel)]() - +###### Auto generated by spf13/cobra on 11-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_create_secret.md b/docs/user-guide/kubectl/kubectl_create_secret.md index fe2127cae6..17277fefec 100644 --- a/docs/user-guide/kubectl/kubectl_create_secret.md +++ b/docs/user-guide/kubectl/kubectl_create_secret.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl create secret @@ -22,7 +18,6 @@ kubectl create secret ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -48,19 +43,8 @@ kubectl create secret ### SEE ALSO -* [kubectl create](kubectl_create.md) - Create a resource by filename or stdin -* [kubectl create secret docker-registry](kubectl_create_secret_docker-registry.md) - Create a secret for use with a Docker registry. -* [kubectl create secret generic](kubectl_create_secret_generic.md) - Create a secret from a local file, directory or literal value. +* [kubectl create](/docs/user-guide/kubectl/kubectl_create/) - Create a resource by filename or stdin +* [kubectl create secret docker-registry](/docs/user-guide/kubectl/kubectl_create_secret_docker-registry/) - Create a secret for use with a Docker registry. +* [kubectl create secret generic](/docs/user-guide/kubectl/kubectl_create_secret_generic/) - Create a secret from a local file, directory or literal value. -###### Auto generated by spf13/cobra on 14-Dec-2015 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_create_secret.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 \ No newline at end of file diff --git a/docs/user-guide/kubectl/kubectl_create_secret_docker-registry.md b/docs/user-guide/kubectl/kubectl_create_secret_docker-registry.md index 30e7aeca4e..e740d590ee 100644 --- a/docs/user-guide/kubectl/kubectl_create_secret_docker-registry.md +++ b/docs/user-guide/kubectl/kubectl_create_secret_docker-registry.md @@ -1,10 +1,5 @@ --- --- - - - - - ## kubectl create secret docker-registry Create a secret for use with a Docker registry. @@ -48,7 +43,7 @@ kubectl create secret docker-registry NAME --docker-username=user --docker-passw --generator="secret-for-docker-registry/v1": The name of the API generator to use. --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --save-config[=false]: If true, the configuration of current object will be saved in its annotation. This is useful when you want to perform kubectl apply on this object in the future. --schema-cache-dir="~/.kube/schema": If non-empty, load/store cached API schemas in this directory, default is '$HOME/.kube/schema' -a, --show-all[=false]: When printing, show all resources (default hide terminated pods.) @@ -62,7 +57,6 @@ kubectl create secret docker-registry NAME --docker-username=user --docker-passw ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -88,17 +82,6 @@ kubectl create secret docker-registry NAME --docker-username=user --docker-passw ### SEE ALSO -* [kubectl create secret](kubectl_create_secret.md) - Create a secret using specified subcommand. +* [kubectl create secret](/docs/user-guide/kubectl/kubectl_create_secret/) - Create a secret using specified subcommand. -###### Auto generated by spf13/cobra on 14-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_create_secret_docker-registry.md?pixel)]() - +###### Auto generated by spf13/cobra on 11-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_create_secret_generic.md b/docs/user-guide/kubectl/kubectl_create_secret_generic.md index 52de0bdadb..e443c00a5d 100644 --- a/docs/user-guide/kubectl/kubectl_create_secret_generic.md +++ b/docs/user-guide/kubectl/kubectl_create_secret_generic.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl create secret generic @@ -51,7 +47,7 @@ kubectl create secret generic NAME [--type=string] [--from-file=[key=]source] [- --generator="secret/v1": The name of the API generator to use. --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --save-config[=false]: If true, the configuration of current object will be saved in its annotation. This is useful when you want to perform kubectl apply on this object in the future. --schema-cache-dir="~/.kube/schema": If non-empty, load/store cached API schemas in this directory, default is '$HOME/.kube/schema' -a, --show-all[=false]: When printing, show all resources (default hide terminated pods.) @@ -66,7 +62,6 @@ kubectl create secret generic NAME [--type=string] [--from-file=[key=]source] [- ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -92,17 +87,6 @@ kubectl create secret generic NAME [--type=string] [--from-file=[key=]source] [- ### SEE ALSO -* [kubectl create secret](kubectl_create_secret.md) - Create a secret using specified subcommand. +* [kubectl create secret](/docs/user-guide/kubectl/kubectl_create_secret/) - Create a secret using specified subcommand. -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_create_secret_generic.md?pixel)]() - +###### Auto generated by spf13/cobra on 11-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_create_serviceaccount.md b/docs/user-guide/kubectl/kubectl_create_serviceaccount.md index d02e7f6f60..d6444333ef 100644 --- a/docs/user-guide/kubectl/kubectl_create_serviceaccount.md +++ b/docs/user-guide/kubectl/kubectl_create_serviceaccount.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl create serviceaccount @@ -33,7 +29,7 @@ kubectl create serviceaccount NAME [--dry-run] --generator="serviceaccount/v1": The name of the API generator to use. --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --save-config[=false]: If true, the configuration of current object will be saved in its annotation. This is useful when you want to perform kubectl apply on this object in the future. --schema-cache-dir="~/.kube/schema": If non-empty, load/store cached API schemas in this directory, default is '$HOME/.kube/schema' -a, --show-all[=false]: When printing, show all resources (default hide terminated pods.) @@ -47,7 +43,6 @@ kubectl create serviceaccount NAME [--dry-run] ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -73,17 +68,6 @@ kubectl create serviceaccount NAME [--dry-run] ### SEE ALSO -* [kubectl create](kubectl_create.md) - Create a resource by filename or stdin +* [kubectl create](/docs/user-guide/kubectl/kubectl_create/) - Create a resource by filename or stdin -###### Auto generated by spf13/cobra on 17-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_create_serviceaccount.md?pixel)]() - +###### Auto generated by spf13/cobra on 11-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_delete.md b/docs/user-guide/kubectl/kubectl_delete.md index 847db93a62..a2ac9ecc68 100644 --- a/docs/user-guide/kubectl/kubectl_delete.md +++ b/docs/user-guide/kubectl/kubectl_delete.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl delete @@ -65,7 +61,6 @@ kubectl delete pods --all ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -91,17 +86,7 @@ kubectl delete pods --all ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_delete.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_describe.md b/docs/user-guide/kubectl/kubectl_describe.md index c451e423de..e6ba472f04 100644 --- a/docs/user-guide/kubectl/kubectl_describe.md +++ b/docs/user-guide/kubectl/kubectl_describe.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl describe @@ -66,7 +62,6 @@ kubectl describe pods frontend ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -92,17 +87,6 @@ kubectl describe pods frontend ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_describe.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_drain.md b/docs/user-guide/kubectl/kubectl_drain.md index a887595ff2..9d6a6ed362 100644 --- a/docs/user-guide/kubectl/kubectl_drain.md +++ b/docs/user-guide/kubectl/kubectl_drain.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl drain @@ -54,7 +50,6 @@ $ kubectl drain foo --grace-period=900 ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -80,17 +75,7 @@ $ kubectl drain foo --grace-period=900 ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 2-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_drain.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_edit.md b/docs/user-guide/kubectl/kubectl_edit.md index 5192c6ad5b..69172ea722 100644 --- a/docs/user-guide/kubectl/kubectl_edit.md +++ b/docs/user-guide/kubectl/kubectl_edit.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl edit @@ -54,7 +50,7 @@ kubectl edit (RESOURCE/NAME | -f FILENAME) ``` -f, --filename=[]: Filename, directory, or URL to file to use to edit the resource -o, --output="yaml": Output format. One of: yaml|json. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --record[=false]: Record current kubectl command in the resource annotation. --save-config[=false]: If true, the configuration of current object will be saved in its annotation. This is useful when you want to perform kubectl apply on this object in the future. --windows-line-endings[=false]: Use Windows line-endings (default Unix line-endings) @@ -64,7 +60,6 @@ kubectl edit (RESOURCE/NAME | -f FILENAME) ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -90,17 +85,6 @@ kubectl edit (RESOURCE/NAME | -f FILENAME) ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_edit.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_exec.md b/docs/user-guide/kubectl/kubectl_exec.md index ffa7bd0a64..c6ae03632d 100644 --- a/docs/user-guide/kubectl/kubectl_exec.md +++ b/docs/user-guide/kubectl/kubectl_exec.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl exec @@ -45,7 +41,6 @@ kubectl exec 123456-7890 -c ruby-container -i -t -- bash -il ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -71,17 +66,6 @@ kubectl exec 123456-7890 -c ruby-container -i -t -- bash -il ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_exec.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_explain.md b/docs/user-guide/kubectl/kubectl_explain.md index 540eedb26d..60c0a9e3de 100644 --- a/docs/user-guide/kubectl/kubectl_explain.md +++ b/docs/user-guide/kubectl/kubectl_explain.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl explain @@ -44,7 +40,6 @@ kubectl explain pods.spec.containers ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -70,17 +65,7 @@ kubectl explain pods.spec.containers ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_explain.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_expose.md b/docs/user-guide/kubectl/kubectl_expose.md index 62ea5c778c..917dfdedb7 100644 --- a/docs/user-guide/kubectl/kubectl_expose.md +++ b/docs/user-guide/kubectl/kubectl_expose.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl expose @@ -60,7 +56,7 @@ kubectl expose rs nginx --port=80 --target-port=8000 --name="": The name for the newly created object. --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --overrides="": An inline JSON override for the generated object. If this is non-empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field. --port="": The port that the service should serve on. Copied from the resource being exposed, if unspecified --protocol="TCP": The network protocol for the service to be created. Default is 'tcp'. @@ -80,7 +76,6 @@ kubectl expose rs nginx --port=80 --target-port=8000 ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -106,17 +101,7 @@ kubectl expose rs nginx --port=80 --target-port=8000 ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 11-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_expose.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_get.md b/docs/user-guide/kubectl/kubectl_get.md index 2eadeb370c..d389d36cc2 100644 --- a/docs/user-guide/kubectl/kubectl_get.md +++ b/docs/user-guide/kubectl/kubectl_get.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl get @@ -30,7 +26,6 @@ kubectl get [(-o|--output=)json|yaml|wide|go-template=...|go-template-file=...|j ### Examples ``` -{% raw %} # List all pods in ps output format. kubectl get pods @@ -47,14 +42,13 @@ kubectl get -o json pod web-pod-13je7 kubectl get -f pod.yaml -o json # Return only the phase value of the specified pod. -kubectl get -o template pod/web-pod-13je7 --template={{.status.phase}} --api-version=v1 +kubectl get -o template pod/web-pod-13je7 --template={{.status.phase}} # List all replication controllers and services together in ps output format. kubectl get rc,services # List one or more resources by their type and names. kubectl get rc/web service/frontend pods/web-pod-13je7 -{% endraw %} ``` ### Options @@ -66,7 +60,7 @@ kubectl get rc/web service/frontend pods/web-pod-13je7 -L, --label-columns=[]: Accepts a comma separated list of labels that are going to be presented as columns. Names are case-sensitive. You can also use multiple flag statements like -L label1 -L label2... --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). -l, --selector="": Selector (label query) to filter on -a, --show-all[=false]: When printing, show all resources (default hide terminated pods.) --show-labels[=false]: When printing, show all labels as the last column (default hide labels column) @@ -80,7 +74,6 @@ kubectl get rc/web service/frontend pods/web-pod-13je7 ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -106,17 +99,6 @@ kubectl get rc/web service/frontend pods/web-pod-13je7 ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_get.md?pixel)]() - +###### Auto generated by spf13/cobra on 11-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_label.md b/docs/user-guide/kubectl/kubectl_label.md index 73c37cb366..2c527025bb 100644 --- a/docs/user-guide/kubectl/kubectl_label.md +++ b/docs/user-guide/kubectl/kubectl_label.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl label @@ -53,7 +49,7 @@ kubectl label pods foo bar- -f, --filename=[]: Filename, directory, or URL to a file identifying the resource to update the labels --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --overwrite[=false]: If true, allow labels to be overwritten, otherwise reject label updates that overwrite existing labels. --record[=false]: Record current kubectl command in the resource annotation. --resource-version="": If non-empty, the labels update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource. @@ -68,7 +64,6 @@ kubectl label pods foo bar- ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -94,17 +89,7 @@ kubectl label pods foo bar- ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 11-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_label.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_logs.md b/docs/user-guide/kubectl/kubectl_logs.md index 89a94b1078..588b3d5ba9 100644 --- a/docs/user-guide/kubectl/kubectl_logs.md +++ b/docs/user-guide/kubectl/kubectl_logs.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl logs @@ -54,7 +50,6 @@ kubectl logs --since=1h nginx ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -80,17 +75,7 @@ kubectl logs --since=1h nginx ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_logs.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_namespace.md b/docs/user-guide/kubectl/kubectl_namespace.md index baa6301dce..5865607194 100644 --- a/docs/user-guide/kubectl/kubectl_namespace.md +++ b/docs/user-guide/kubectl/kubectl_namespace.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl namespace @@ -25,7 +21,6 @@ kubectl namespace [namespace] ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -51,17 +46,6 @@ kubectl namespace [namespace] ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 8-Dec-2015 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_namespace.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_patch.md b/docs/user-guide/kubectl/kubectl_patch.md index 2c7faa58cd..08daf58185 100644 --- a/docs/user-guide/kubectl/kubectl_patch.md +++ b/docs/user-guide/kubectl/kubectl_patch.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl patch @@ -53,7 +49,6 @@ kubectl patch pod valid-pod -type='json' -p='[{"op": "replace", "path": "/spec/c ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -79,17 +74,7 @@ kubectl patch pod valid-pod -type='json' -p='[{"op": "replace", "path": "/spec/c ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 12-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_patch.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_port-forward.md b/docs/user-guide/kubectl/kubectl_port-forward.md index ff57bb2347..980dc2779d 100644 --- a/docs/user-guide/kubectl/kubectl_port-forward.md +++ b/docs/user-guide/kubectl/kubectl_port-forward.md @@ -1,10 +1,5 @@ --- --- - - - - - ## kubectl port-forward Forward one or more local ports to a pod. @@ -45,7 +40,6 @@ kubectl port-forward mypod 0:5000 ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -71,17 +65,7 @@ kubectl port-forward mypod 0:5000 ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_port-forward.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_proxy.md b/docs/user-guide/kubectl/kubectl_proxy.md index 467243a63e..e42ad7cff3 100644 --- a/docs/user-guide/kubectl/kubectl_proxy.md +++ b/docs/user-guide/kubectl/kubectl_proxy.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl proxy @@ -68,7 +64,6 @@ kubectl proxy --api-prefix=/k8s-api ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -94,17 +89,7 @@ kubectl proxy --api-prefix=/k8s-api ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_proxy.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_replace.md b/docs/user-guide/kubectl/kubectl_replace.md index 7d0ee5a161..667a78042c 100644 --- a/docs/user-guide/kubectl/kubectl_replace.md +++ b/docs/user-guide/kubectl/kubectl_replace.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl replace @@ -59,7 +55,6 @@ kubectl replace --force -f ./pod.json ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -85,17 +80,7 @@ kubectl replace --force -f ./pod.json ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_replace.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_rolling-update.md b/docs/user-guide/kubectl/kubectl_rolling-update.md index f7c07672e7..fddbb8069a 100644 --- a/docs/user-guide/kubectl/kubectl_rolling-update.md +++ b/docs/user-guide/kubectl/kubectl_rolling-update.md @@ -1,10 +1,5 @@ --- --- - - - - - ## kubectl rolling-update Perform a rolling update of the given ReplicationController. @@ -53,7 +48,7 @@ kubectl rolling-update frontend-v1 frontend-v2 --rollback --image="": Image to use for upgrading the replication controller. Must be distinct from the existing image (either new image or new image tag). Can not be used with --filename/-f --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --poll-interval=3s: Time delay between polling for replication controller status after the update. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". --rollback[=false]: If true, this is a request to abort an existing rollout that is partially rolled out. It effectively reverses current and next and runs a rollout --schema-cache-dir="~/.kube/schema": If non-empty, load/store cached API schemas in this directory, default is '$HOME/.kube/schema' @@ -70,7 +65,6 @@ kubectl rolling-update frontend-v1 frontend-v2 --rollback ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -96,17 +90,7 @@ kubectl rolling-update frontend-v1 frontend-v2 --rollback ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 11-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_rolling-update.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_rollout.md b/docs/user-guide/kubectl/kubectl_rollout.md index 8d3ba96301..b8ac2566a1 100644 --- a/docs/user-guide/kubectl/kubectl_rollout.md +++ b/docs/user-guide/kubectl/kubectl_rollout.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl rollout @@ -29,7 +25,6 @@ kubectl rollout undo deployment/abc ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -55,21 +50,11 @@ kubectl rollout undo deployment/abc ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager -* [kubectl rollout history](kubectl_rollout_history.md) - view rollout history -* [kubectl rollout pause](kubectl_rollout_pause.md) - Mark the provided resource as paused -* [kubectl rollout resume](kubectl_rollout_resume.md) - Resume a paused resource -* [kubectl rollout undo](kubectl_rollout_undo.md) - undoes a previous rollout +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager +* [kubectl rollout history](/docs/user-guide/kubectl/kubectl_rollout_history/) - view rollout history +* [kubectl rollout pause](/docs/user-guide/kubectl/kubectl_rollout_pause/) - Mark the provided resource as paused +* [kubectl rollout resume](/docs/user-guide/kubectl/kubectl_rollout_resume/) - Resume a paused resource +* [kubectl rollout undo](/docs/user-guide/kubectl/kubectl_rollout_undo/) - undoes a previous rollout -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_rollout.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_rollout_history.md b/docs/user-guide/kubectl/kubectl_rollout_history.md index 32e7f865a7..e0fda4c24d 100644 --- a/docs/user-guide/kubectl/kubectl_rollout_history.md +++ b/docs/user-guide/kubectl/kubectl_rollout_history.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl rollout history @@ -36,7 +32,6 @@ kubectl rollout history deployment/abc ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -62,17 +57,7 @@ kubectl rollout history deployment/abc ### SEE ALSO -* [kubectl rollout](kubectl_rollout.md) - rollout manages a deployment +* [kubectl rollout](/docs/user-guide/kubectl/kubectl_rollout/) - rollout manages a deployment -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_rollout_history.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_rollout_pause.md b/docs/user-guide/kubectl/kubectl_rollout_pause.md index d45a2bee59..1746cb356c 100644 --- a/docs/user-guide/kubectl/kubectl_rollout_pause.md +++ b/docs/user-guide/kubectl/kubectl_rollout_pause.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl rollout pause @@ -41,7 +37,6 @@ kubectl rollout pause deployment/nginx ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -67,17 +62,6 @@ kubectl rollout pause deployment/nginx ### SEE ALSO -* [kubectl rollout](kubectl_rollout.md) - rollout manages a deployment +* [kubectl rollout](/docs/user-guide/kubectl/kubectl_rollout/) - rollout manages a deployment -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_rollout_pause.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_rollout_resume.md b/docs/user-guide/kubectl/kubectl_rollout_resume.md index f77c24069f..4db2735a22 100644 --- a/docs/user-guide/kubectl/kubectl_rollout_resume.md +++ b/docs/user-guide/kubectl/kubectl_rollout_resume.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl rollout resume @@ -39,7 +35,6 @@ kubectl rollout resume deployment/nginx ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -65,17 +60,6 @@ kubectl rollout resume deployment/nginx ### SEE ALSO -* [kubectl rollout](kubectl_rollout.md) - rollout manages a deployment +* [kubectl rollout](/docs/user-guide/kubectl/kubectl_rollout/) - rollout manages a deployment -###### Auto generated by spf13/cobra on 29-Feb-2016 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_rollout_resume.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/kubectl/kubectl_rollout_undo.md b/docs/user-guide/kubectl/kubectl_rollout_undo.md index b3e029a6c4..7fde2b92d9 100644 --- a/docs/user-guide/kubectl/kubectl_rollout_undo.md +++ b/docs/user-guide/kubectl/kubectl_rollout_undo.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl rollout undo @@ -36,7 +32,6 @@ kubectl rollout undo deployment/abc ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -62,17 +57,7 @@ kubectl rollout undo deployment/abc ### SEE ALSO -* [kubectl rollout](kubectl_rollout.md) - rollout manages a deployment +* [kubectl rollout](/docs/user-guide/kubectl/kubectl_rollout/) - rollout manages a deployment -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_rollout_undo.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_run.md b/docs/user-guide/kubectl/kubectl_run.md index 35d3eef06c..74543b781a 100644 --- a/docs/user-guide/kubectl/kubectl_run.md +++ b/docs/user-guide/kubectl/kubectl_run.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl run @@ -61,7 +57,7 @@ kubectl run pi --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print --dry-run[=false]: If true, only print the object that would be sent, without sending it. --env=[]: Environment variables to set in the container --expose[=false]: If true, a public, external service is created for the container(s) which are run - --generator="": The name of the API generator to use. Default is 'deployment/v1beta1' if --restart=Always, otherwise the default is 'job/v1beta1'. + --generator="": The name of the API generator to use. Default is 'deployment/v1beta1' if --restart=Always, otherwise the default is 'job/v1'. This will happen only for cluster version at least 1.2, for olders we will fallback to 'run/v1' for --restart=Always, 'run-pod/v1' for others. --hostport=-1: The host port mapping for the container port. To demonstrate a single-machine container. --image="": The image for the container to run. -l, --labels="": Labels to apply to the pod(s). @@ -69,7 +65,7 @@ kubectl run pi --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print --limits="": The resource requirement limits for this container. For example, 'cpu=200m,memory=512Mi' --no-headers[=false]: When using the default output, don't print headers. -o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.2/docs/user-guide/jsonpath.md]. - --output-version="": Output the formatted object with the given version (default api-version). + --output-version="": Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). --overrides="": An inline JSON override for the generated object. If this is non-empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field. --port=-1: The port that this container exposes. If --expose is true, this is also the port used by the service that is created. --record[=false]: Record current kubectl command in the resource annotation. @@ -92,7 +88,6 @@ kubectl run pi --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -118,17 +113,7 @@ kubectl run pi --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 11-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_run.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_scale.md b/docs/user-guide/kubectl/kubectl_scale.md index 68e00cbbd2..f2ad13c4f9 100644 --- a/docs/user-guide/kubectl/kubectl_scale.md +++ b/docs/user-guide/kubectl/kubectl_scale.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl scale @@ -58,7 +54,6 @@ kubectl scale --replicas=3 job/cron ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -84,17 +79,7 @@ kubectl scale --replicas=3 job/cron ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 29-Feb-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_scale.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_stop.md b/docs/user-guide/kubectl/kubectl_stop.md index 78ea5383f3..3d05a93a55 100644 --- a/docs/user-guide/kubectl/kubectl_stop.md +++ b/docs/user-guide/kubectl/kubectl_stop.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl stop @@ -82,17 +78,6 @@ $ kubectl stop -f path/to/resources ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager ###### Auto generated by spf13/cobra on 24-Nov-2015 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_stop.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_uncordon.md b/docs/user-guide/kubectl/kubectl_uncordon.md index ba44ccd473..5cff571c24 100644 --- a/docs/user-guide/kubectl/kubectl_uncordon.md +++ b/docs/user-guide/kubectl/kubectl_uncordon.md @@ -1,10 +1,5 @@ --- --- - - - - - ## kubectl uncordon Mark node as schedulable @@ -31,7 +26,6 @@ $ kubectl uncordon foo ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -57,17 +51,7 @@ $ kubectl uncordon foo ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 4-Jan-2016 +###### Auto generated by spf13/cobra on 2-Mar-2016 - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_uncordon.md?pixel)]() - diff --git a/docs/user-guide/kubectl/kubectl_version.md b/docs/user-guide/kubectl/kubectl_version.md index b517439e40..4694973aab 100644 --- a/docs/user-guide/kubectl/kubectl_version.md +++ b/docs/user-guide/kubectl/kubectl_version.md @@ -1,9 +1,5 @@ --- --- - - - - ## kubectl version @@ -28,7 +24,6 @@ kubectl version ``` --alsologtostderr[=false]: log to standard error as well as files - --api-version="": The API version to use when talking to the server --certificate-authority="": Path to a cert. file for the certificate authority. --client-certificate="": Path to a client certificate file for TLS. --client-key="": Path to a client key file for TLS. @@ -54,17 +49,6 @@ kubectl version ### SEE ALSO -* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager +* [kubectl](/docs/user-guide/kubectl/kubectl/) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 8-Dec-2015 - - - - - - - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_version.md?pixel)]() - +###### Auto generated by spf13/cobra on 2-Mar-2016 diff --git a/docs/user-guide/labels.md b/docs/user-guide/labels.md index 6e6f0bd1a4..86df0df9af 100644 --- a/docs/user-guide/labels.md +++ b/docs/user-guide/labels.md @@ -165,4 +165,4 @@ selector: #### Selecting sets of nodes One use case for selecting over labels is to constrain the set of nodes onto which a pod can schedule. -See the documentation on [node selection](node-selection/README.md) for more information. +See the documentation on [node selection](/docs/user-guide/node-selection) for more information. diff --git a/docs/user-guide/liveness/index.md b/docs/user-guide/liveness/index.md index bdf9eb7bf6..4ef1641764 100644 --- a/docs/user-guide/liveness/index.md +++ b/docs/user-guide/liveness/index.md @@ -24,7 +24,7 @@ The [http-liveness.yaml](/docs/user-guide/liveness/http-liveness.yaml) demonstra The Kubelet sends an HTTP request to the specified path and port to perform the health check. If you take a look at image/server.go, you will see the server starts to respond with an error code 500 after 10 seconds, so the check fails. The Kubelet sends probes to the container's IP address, unless overridden by the optional `host` field in httpGet. If the container listens on `127.0.0.1` and `hostNetwork` is `true` (i.e., it does not use the pod-specific network), then `host` should be specified as `127.0.0.1`. Be warned that, outside of less common cases like that, `host` does probably not result in what you would expect. If you set it to a non-existing hostname (or your competitor's!), probes will never reach the pod, defeating the whole point of health checks. If your pod relies on e.g. virtual hosts, which is probably the more common case, you should not use `host`, but rather set the `Host` header in `httpHeaders`. -This [guide](/docs/user-guide/k8s201/#health-checking) has more information on health checks. +This [guide](/docs/user-guide/walkthrough/k8s201/#health-checking) has more information on health checks. ## Get your hands dirty @@ -64,4 +64,4 @@ Sat, 27 Jun 2015 13:43:03 +0200 Sat, 27 Jun 2015 13:44:34 +0200 4 {kube Sat, 27 Jun 2015 13:44:44 +0200 Sat, 27 Jun 2015 13:44:44 +0200 1 {kubelet kubernetes-node-6fbi} spec.containers{liveness} killing Killing with docker id 65b52d62c635 Sat, 27 Jun 2015 13:44:44 +0200 Sat, 27 Jun 2015 13:44:44 +0200 1 {kubelet kubernetes-node-6fbi} spec.containers{liveness} created Created with docker id ed6bb004ee10 Sat, 27 Jun 2015 13:44:44 +0200 Sat, 27 Jun 2015 13:44:44 +0200 1 {kubelet kubernetes-node-6fbi} spec.containers{liveness} started Started with docker id ed6bb004ee10 -``` \ No newline at end of file +``` diff --git a/docs/user-guide/load-balancer.md b/docs/user-guide/load-balancer.md new file mode 100644 index 0000000000..0a3ad8f837 --- /dev/null +++ b/docs/user-guide/load-balancer.md @@ -0,0 +1,73 @@ +--- +--- + +* TOC +{:toc} + +## Overview + +When creating a service, you have the option of automatically creating a +network load balancer. This provides an +externally-accessible IP address that sends traffic to the correct port on your +cluster nodes. + +## Configuration file + +To create an external load balancer, add the following line to your +[service configuration file](/docs/services/operations/#service-configuration-file): + + "type": "LoadBalancer" + +Your configuration file might look like: + + { + "kind": "Service", + "apiVersion": "v1", + "metadata": { + "name": "example-service" + }, + "spec": { + "ports": [{ + "port": 8765, + "targetPort": 9376, + }], + "selector": { + "app": "example" + }, + "type": "LoadBalancer" + } + } + +## Using kubectl + +You can alternatively create the service with the `kubectl expose` command and +its `--type=LoadBalancer` flag: + + $ kubectl expose rc example --port=8765 --target-port=9376 \ + --name=example-service --type=LoadBalancer + +This command creates a new service using the same selectors as the referenced +resource (in the case of the example above, a replication controller named +`example`.) + +For more information, including optional flags, refer to the +[`kubectl expose` reference](/docs/user-guide/kubectl/kubectl_expose/). + +## Finding your IP address + +You can find the IP address created for your service by getting the service +information through `kubectl`: + + $ kubectl describe services example-service + Name: example-service + Selector: app=example + Type: LoadBalancer + IP: 10.67.252.103 + LoadBalancer Ingress: 123.45.678.9 + Port: 80/TCP + NodePort: 32445/TCP + Endpoints: 10.64.0.4:80,10.64.1.5:80,10.64.2.4:80 + Session Affinity: None + No events. + +The IP address is listed next to `LoadBalancer Ingress`. diff --git a/docs/user-guide/managing-deployments.md b/docs/user-guide/managing-deployments.md index 8e08434028..d294277896 100644 --- a/docs/user-guide/managing-deployments.md +++ b/docs/user-guide/managing-deployments.md @@ -1,6 +1,5 @@ --- --- - You've deployed your application and exposed it via a service. Now what? Kubernetes provides a number of tools to help you manage your application deployment, including scaling and updating. Among the features we'll discuss in more depth are [configuration files](/docs/user-guide/configuring-containers/#configuration-in-kubernetes) and [labels](/docs/user-guide/deploying-applications/#labels). * TOC @@ -210,14 +209,14 @@ my-nginx-v4-sh6m8 1/1 Running 0 19m fe my-nginx-v4-wfof4 1/1 Running 0 16m fe ``` -For more information, please see [labels](/docs/user-guide/labels/) and [kubectl label](/docs/kubectl/kubectl_label/) document. +For more information, please see [labels](/docs/user-guide/labels/) and [kubectl label](/docs/user-guide/kubectl/kubectl_label/) document. ## Updating annotations Sometimes you want to attach annotations to resources. Annotations are arbitrary non-identifying metadata for retrieval by API clients such as tools, libraries, etc. This can be done with `kubectl annotate`. For example: ```shell -$ kubectl annotate pods my-nginx-v4-9gw19 decscription='my frontend running nginx' +$ kubectl annotate pods my-nginx-v4-9gw19 description='my frontend running nginx' $ kubectl get pods my-nginx-v4-9gw19 -o yaml apiversion: v1 kind: pod @@ -227,7 +226,7 @@ metadata: ... ``` -For more information, please see [annotations](annotations.md) and [kubectl annotate](kubectl/kubectl_annotate.md) document. +For more information, please see [annotations](/docs/user-guide/annotations/) and [kubectl annotate](/docs/user-guide/kubectl/kubectl_annotate/) document. ## Scaling your application @@ -257,7 +256,7 @@ NAME REFERENCE TARGET CURRENT MINPODS MA nginx ReplicationController/nginx/scale 80% 1 3 1m ``` -For more information, please see [kubectl scale](kubectl/kubectl_scale.md), [kubectl autoscale](kubectl/kubectl_autoscale.md) and [horizontal pod autoscaler](horizontal-pod-autoscaling/README.md) document. +For more information, please see [kubectl scale](/docs/user-guide/kubectl/kubectl_scale/), [kubectl autoscale](/docs/user-guide/kubectl/kubectl_autoscale/) and [horizontal pod autoscaler](/docs/user-guide/horizontal-pod-autoscaling/) document. ## Updating your application without a service outage diff --git a/docs/user-guide/monitoring.md b/docs/user-guide/monitoring.md index d3bc20ed6c..92a2f50159 100644 --- a/docs/user-guide/monitoring.md +++ b/docs/user-guide/monitoring.md @@ -1,11 +1,11 @@ --- --- -Understanding how an application behaves when deployed is crucial to scaling the application and providing a reliable service. In a Kubernetes cluster, application performance can be examined at many different levels: containers, [pods](/docs/user-guide/pods), [services](/docs/user-guide/services), and whole clusters. As part of Kubernetes we want to provide users with detailed resource usage information about their running applications at all these levels. This will give users deep insights into how their applications are performing and where possible application bottlenecks may be found. In comes [Heapster](https://github.com/GoogleCloudPlatform/heapster), a project meant to provide a base monitoring platform on Kubernetes. +Understanding how an application behaves when deployed is crucial to scaling the application and providing a reliable service. In a Kubernetes cluster, application performance can be examined at many different levels: containers, [pods](/docs/user-guide/pods), [services](/docs/user-guide/services), and whole clusters. As part of Kubernetes we want to provide users with detailed resource usage information about their running applications at all these levels. This will give users deep insights into how their applications are performing and where possible application bottlenecks may be found. In comes [Heapster](https://github.com/kubernetes/heapster), a project meant to provide a base monitoring platform on Kubernetes. ### Overview -Heapster is a cluster-wide aggregator of monitoring and event data. It currently supports Kubernetes natively and works on all Kubernetes setups. Heapster runs as a pod in the cluster, similar to how any Kubernetes application would run. The Heapster pod discovers all nodes in the cluster and queries usage information from the nodes' [Kubelet](https://releases.k8s.io/{{page.githubbranch}}/DESIGN.md#kubelet)s, the on-machine Kubernetes agent. The Kubelet itself fetches the data from [cAdvisor](https://github.com/google/cadvisor). Heapster groups the information by pod along with the relevant labels. This data is then pushed to a configurable backend for storage and visualization. Currently supported backends include [InfluxDB](http://influxdb.com/) (with [Grafana](http://grafana.org/) for visualization) and [Google Cloud Monitoring](https://cloud.google.com/monitoring/). The overall architecture of the service can be seen below: +Heapster is a cluster-wide aggregator of monitoring and event data. It currently supports Kubernetes natively and works on all Kubernetes setups. Heapster runs as a pod in the cluster, similar to how any Kubernetes application would run. The Heapster pod discovers all nodes in the cluster and queries usage information from the nodes' [Kubelet](https://releases.k8s.io/{{page.githubbranch}}/DESIGN.md#kubelet)s, the on-machine Kubernetes agent. The Kubelet itself fetches the data from [cAdvisor](https://github.com/google/cadvisor). Heapster groups the information by pod along with the relevant labels. This data is then pushed to a configurable backend for storage and visualization. Currently supported backends include [InfluxDB](http://influxdb.com/) (with [Grafana](http://grafana.org/) for visualization), [Google Cloud Monitoring](https://cloud.google.com/monitoring/) and many others described in more details [here](https://github.com/kubernetes/heapster/blob/master/docs/sink-configuration.md). The overall architecture of the service can be seen below: ![overall monitoring architecture](/images/docs/monitoring-architecture.png) diff --git a/docs/user-guide/namespaces.md b/docs/user-guide/namespaces.md index f3f9f51b07..f49748816d 100644 --- a/docs/user-guide/namespaces.md +++ b/docs/user-guide/namespaces.md @@ -13,7 +13,7 @@ need the features they provide. Namespaces provide a scope for names. Names of resources need to be unique within a namespace, but not across namespaces. -Namespaces are a way to divide cluster resources between multiple uses (via [resource quota](/docs/admin/resource-quota)). +Namespaces are a way to divide cluster resources between multiple uses (via [resource quota](/docs/admin/resourcequota/)). In future versions of Kubernetes, objects in the same namespace will have the same access control policies by default. diff --git a/docs/user-guide/node-selection/index.md b/docs/user-guide/node-selection/index.md index bfe7b2ed28..c109f2046c 100644 --- a/docs/user-guide/node-selection/index.md +++ b/docs/user-guide/node-selection/index.md @@ -76,6 +76,8 @@ This node affinity rule says the pod can only be placed on a node with a label w among nodes that meet that criteria, nodes with a label whose key is `foo` and whose value is `bar` should be preferred. +You can see the operator `In` being used in the example. The new node affinity syntax supports the following operators: `In`, `NotIn`, `Exists`, `DoesNotExist`, `Gt`, `Lt`. + If you specify both `nodeSelector` and `nodeAffinity`, *both* must be satisfied for the pod to be scheduled onto a candidate node. @@ -91,4 +93,4 @@ with a standard set of labels. As of Kubernetes v1.2 these labels are ### Conclusion -While this example only covered one node, you can attach labels to as many nodes as you want. Then when you schedule a pod with a nodeSelector, it can be scheduled on any of the nodes that satisfy that nodeSelector. Be careful that it will match at least one node, however, because if it doesn't the pod won't be scheduled at all. \ No newline at end of file +While this example only covered one node, you can attach labels to as many nodes as you want. Then when you schedule a pod with a nodeSelector, it can be scheduled on any of the nodes that satisfy that nodeSelector. Be careful that it will match at least one node, however, because if it doesn't the pod won't be scheduled at all. diff --git a/docs/user-guide/persistent-volumes.md b/docs/user-guide/persistent-volumes.md deleted file mode 100644 index b8efc7e9e8..0000000000 --- a/docs/user-guide/persistent-volumes.md +++ /dev/null @@ -1,171 +0,0 @@ ---- ---- - -This document describes the current state of `PersistentVolumes` in Kubernetes. Familiarity with [volumes](/docs/user-guide/volumes/) is suggested. - -* TOC -{:toc} - -## Introduction - -Managing storage is a distinct problem from managing compute. The `PersistentVolume` subsystem provides an API for users and administrators that abstracts details of how storage is provided from how it is consumed. To do this we introduce two new API resources: `PersistentVolume` and `PersistentVolumeClaim`. - -A `PersistentVolume` (PV) is a piece of networked storage in the cluster that has been provisioned by an administrator. It is a resource in the cluster just like a node is a cluster resource. PVs are volume plugins like Volumes, but have a lifecycle independent of any individual pod that uses the PV. This API object captures the details of the implementation of the storage, be that NFS, iSCSI, or a cloud-provider-specific storage system. - -A `PersistentVolumeClaim` (PVC) is a request for storage by a user. It is similar to a pod. Pods consume node resources and PVCs consume PV resources. Pods can request specific levels of resources (CPU and Memory). Claims can request specific size and access modes (e.g, can be mounted once read/write or many times read-only). - -Please see the [detailed walkthrough with working examples](/docs/user-guide/persistent-volumes/). - - -## Lifecycle of a volume and claim - -PVs are resources in the cluster. PVCs are requests for those resources and also act as claim checks to the resource. The interaction between PVs and PVCs follows this lifecycle: - -### Provisioning - -A cluster administrator will create a number of PVs. They carry the details of the real storage which is available for use by cluster users. They exist in the Kubernetes API and are available for consumption. - -### Binding - -A user creates a `PersistentVolumeClaim` with a specific amount of storage requested and with certain access modes. A control loop in the master watches for new PVCs, finds a matching PV (if possible), and binds them together. The user will always get at least what they asked for, but the volume may be in excess of what was requested. - -Claims will remain unbound indefinitely if a matching volume does not exist. Claims will be bound as matching volumes become available. For example, a cluster provisioned with many 50Gi PVs would not match a PVC requesting 100Gi. The PVC can be bound when a 100Gi PV is added to the cluster. - -### Using - -Pods use claims as volumes. The cluster inspects the claim to find the bound volume and mounts that volume for a pod. For volumes which support multiple access modes, the user specifies which mode desired when using their claim as a volume in a pod. - -Once a user has a claim and that claim is bound, the bound PV belongs to the user for as long as they need it. Users schedule Pods and access their claimed PVs by including a persistentVolumeClaim in their Pod's volumes block. [See below for syntax details](#claims-as-volumes). - -### Releasing - -When a user is done with their volume, they can delete the PVC objects from the API which allows reclamation of the resource. The volume is considered "released" when the claim is deleted, but it is not yet available for another claim. The previous claimant's data remains on the volume which must be handled according to policy. - -### Reclaiming - -The reclaim policy for a `PersistentVolume` tells the cluster what to do with the volume after it has been released. Currently, volumes can either be Retained or Recycled. Retention allows for manual reclamation of the resource. For those volume plugins that support it, recycling performs a basic scrub (`rm -rf /thevolume/*`) on the volume and makes it available again for a new claim. - -## Types of Persistent Volumes - -`PersistentVolume` types are implemented as plugins. Kubernetes currently supports the following plugins: - -* GCEPersistentDisk -* AWSElasticBlockStore -* NFS -* iSCSI -* RBD (Ceph Block Device) -* Glusterfs -* HostPath (single node testing only -- local storage is not supported in any way and WILL NOT WORK in a multi-node cluster) - - -## Persistent Volumes - -Each PV contains a spec and status, which is the specification and status of the volume. - -```yaml - apiVersion: v1 - kind: PersistentVolume - metadata: - name: pv0003 - spec: - capacity: - storage: 5Gi - accessModes: - - ReadWriteOnce - persistentVolumeReclaimPolicy: Recycle - nfs: - path: /tmp - server: 172.17.0.2 -``` - -### Capacity - -Generally, a PV will have a specific storage capacity. This is set using the PV's `capacity` attribute. See the Kubernetes [Resource Model](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/resources.md) to understand the units expected by `capacity`. - -Currently, storage size is the only resource that can be set or requested. Future attributes may include IOPS, throughput, etc. - -### Access Modes - -A `PersistentVolume` can be mounted on a host in any way supported by the resource provider. Providers will have different capabilities and each PV's access modes are set to the specific modes supported by that particular volume. For example, NFS can support multiple read/write clients, but a specific NFS PV might be exported on the server as read-only. Each PV gets its own set of access modes describing that specific PV's capabilities. - -The access modes are: - -* ReadWriteOnce -- the volume can be mounted as read-write by a single node -* ReadOnlyMany -- the volume can be mounted read-only by many nodes -* ReadWriteMany -- the volume can be mounted as read-write by many nodes - -In the CLI, the access modes are abbreviated to: - -* RWO - ReadWriteOnce -* ROX - ReadOnlyMany -* RWX - ReadWriteMany - -> __Important!__ A volume can only be mounted using one access mode at a time, even if it supports many. For example, a GCEPersistentDisk can be mounted as ReadWriteOnce by a single node or ReadOnlyMany by many nodes, but not at the same time. - - -### Recycling Policy - -Current recycling policies are: - -* Retain -- manual reclamation -* Recycle -- basic scrub ("rm -rf /thevolume/*") - -Currently, NFS and HostPath support recycling. - -### Phase - -A volume will be in one of the following phases: - -* Available -- a free resource that is not yet bound to a claim -* Bound -- the volume is bound to a claim -* Released -- the claim has been deleted, but the resource is not yet reclaimed by the cluster -* Failed -- the volume has failed its automatic reclamation - -The CLI will show the name of the PVC bound to the PV. - -## PersistentVolumeClaims - -Each PVC contains a spec and status, which is the specification and status of the claim. - -```yaml -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: myclaim -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 8Gi -``` - -### Access Modes - -Claims use the same conventions as volumes when requesting storage with specific access modes. - -### Resources - -Claims, like pods, can request specific quantities of a resource. In this case, the request is for storage. The same [resource model](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/resources.md) applies to both volumes and claims. - -## Claims As Volumes - -Pods access storage by using the claim as a volume. Claims must exist in the same namespace as the pod using the claim. The cluster finds the claim in the pod's namespace and uses it to get the `PersistentVolume` backing the claim. The volume is then mounted to the host and into the pod. - -```yaml -kind: Pod -apiVersion: v1 -metadata: - name: mypod -spec: - containers: - - name: myfrontend - image: dockerfile/nginx - volumeMounts: - - mountPath: "/var/www/html" - name: mypd - volumes: - - name: mypd - persistentVolumeClaim: - claimName: myclaim -``` \ No newline at end of file diff --git a/docs/user-guide/persistent-volumes/index.md b/docs/user-guide/persistent-volumes/index.md index 385cc15c52..b8efc7e9e8 100644 --- a/docs/user-guide/persistent-volumes/index.md +++ b/docs/user-guide/persistent-volumes/index.md @@ -1,96 +1,171 @@ --- --- -The purpose of this guide is to help you become familiar with [Kubernetes Persistent Volumes](/docs/user-guide/persistent-volumes/). By the end of the guide, we'll have -nginx serving content from your persistent volume. +This document describes the current state of `PersistentVolumes` in Kubernetes. Familiarity with [volumes](/docs/user-guide/volumes/) is suggested. -You can view all the files for this example in [the docs repo -here](https://github.com/kubernetes/kubernetes.github.io/tree/{{page.docsbranch}}/docs/user-guide/persistent-volumes). +* TOC +{:toc} -This guide assumes knowledge of Kubernetes fundamentals and that you have a cluster up and running. +## Introduction -See [Persistent Storage design document](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/persistent-storage.md) for more information. +Managing storage is a distinct problem from managing compute. The `PersistentVolume` subsystem provides an API for users and administrators that abstracts details of how storage is provided from how it is consumed. To do this we introduce two new API resources: `PersistentVolume` and `PersistentVolumeClaim`. -## Provisioning +A `PersistentVolume` (PV) is a piece of networked storage in the cluster that has been provisioned by an administrator. It is a resource in the cluster just like a node is a cluster resource. PVs are volume plugins like Volumes, but have a lifecycle independent of any individual pod that uses the PV. This API object captures the details of the implementation of the storage, be that NFS, iSCSI, or a cloud-provider-specific storage system. -A Persistent Volume (PV) in Kubernetes represents a real piece of underlying storage capacity in the infrastructure. Cluster administrators -must first create storage (create their Google Compute Engine (GCE) disks, export their NFS shares, etc.) in order for Kubernetes to mount it. +A `PersistentVolumeClaim` (PVC) is a request for storage by a user. It is similar to a pod. Pods consume node resources and PVCs consume PV resources. Pods can request specific levels of resources (CPU and Memory). Claims can request specific size and access modes (e.g, can be mounted once read/write or many times read-only). -PVs are intended for "network volumes" like GCE Persistent Disks, NFS shares, and AWS ElasticBlockStore volumes. `HostPath` was included -for ease of development and testing. You'll create a local `HostPath` for this example. +Please see the [detailed walkthrough with working examples](/docs/user-guide/persistent-volumes/). -> IMPORTANT! For `HostPath` to work, you will need to run a single node cluster. Kubernetes does not -support local storage on the host at this time. There is no guarantee your pod ends up on the correct node where the `HostPath` resides. -```shell -# This will be nginx's webroot -$ mkdir /tmp/data01 -$ echo 'I love Kubernetes storage!' > /tmp/data01/index.html +## Lifecycle of a volume and claim + +PVs are resources in the cluster. PVCs are requests for those resources and also act as claim checks to the resource. The interaction between PVs and PVCs follows this lifecycle: + +### Provisioning + +A cluster administrator will create a number of PVs. They carry the details of the real storage which is available for use by cluster users. They exist in the Kubernetes API and are available for consumption. + +### Binding + +A user creates a `PersistentVolumeClaim` with a specific amount of storage requested and with certain access modes. A control loop in the master watches for new PVCs, finds a matching PV (if possible), and binds them together. The user will always get at least what they asked for, but the volume may be in excess of what was requested. + +Claims will remain unbound indefinitely if a matching volume does not exist. Claims will be bound as matching volumes become available. For example, a cluster provisioned with many 50Gi PVs would not match a PVC requesting 100Gi. The PVC can be bound when a 100Gi PV is added to the cluster. + +### Using + +Pods use claims as volumes. The cluster inspects the claim to find the bound volume and mounts that volume for a pod. For volumes which support multiple access modes, the user specifies which mode desired when using their claim as a volume in a pod. + +Once a user has a claim and that claim is bound, the bound PV belongs to the user for as long as they need it. Users schedule Pods and access their claimed PVs by including a persistentVolumeClaim in their Pod's volumes block. [See below for syntax details](#claims-as-volumes). + +### Releasing + +When a user is done with their volume, they can delete the PVC objects from the API which allows reclamation of the resource. The volume is considered "released" when the claim is deleted, but it is not yet available for another claim. The previous claimant's data remains on the volume which must be handled according to policy. + +### Reclaiming + +The reclaim policy for a `PersistentVolume` tells the cluster what to do with the volume after it has been released. Currently, volumes can either be Retained or Recycled. Retention allows for manual reclamation of the resource. For those volume plugins that support it, recycling performs a basic scrub (`rm -rf /thevolume/*`) on the volume and makes it available again for a new claim. + +## Types of Persistent Volumes + +`PersistentVolume` types are implemented as plugins. Kubernetes currently supports the following plugins: + +* GCEPersistentDisk +* AWSElasticBlockStore +* NFS +* iSCSI +* RBD (Ceph Block Device) +* Glusterfs +* HostPath (single node testing only -- local storage is not supported in any way and WILL NOT WORK in a multi-node cluster) + + +## Persistent Volumes + +Each PV contains a spec and status, which is the specification and status of the volume. + +```yaml + apiVersion: v1 + kind: PersistentVolume + metadata: + name: pv0003 + spec: + capacity: + storage: 5Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Recycle + nfs: + path: /tmp + server: 172.17.0.2 ``` -PVs are created by posting them to the API server. +### Capacity -```shell -$ kubectl create -f docs/user-guide/persistent-volumes/volumes/local-01.yaml -NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON -pv0001 type=local 10737418240 RWO Available +Generally, a PV will have a specific storage capacity. This is set using the PV's `capacity` attribute. See the Kubernetes [Resource Model](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/resources.md) to understand the units expected by `capacity`. + +Currently, storage size is the only resource that can be set or requested. Future attributes may include IOPS, throughput, etc. + +### Access Modes + +A `PersistentVolume` can be mounted on a host in any way supported by the resource provider. Providers will have different capabilities and each PV's access modes are set to the specific modes supported by that particular volume. For example, NFS can support multiple read/write clients, but a specific NFS PV might be exported on the server as read-only. Each PV gets its own set of access modes describing that specific PV's capabilities. + +The access modes are: + +* ReadWriteOnce -- the volume can be mounted as read-write by a single node +* ReadOnlyMany -- the volume can be mounted read-only by many nodes +* ReadWriteMany -- the volume can be mounted as read-write by many nodes + +In the CLI, the access modes are abbreviated to: + +* RWO - ReadWriteOnce +* ROX - ReadOnlyMany +* RWX - ReadWriteMany + +> __Important!__ A volume can only be mounted using one access mode at a time, even if it supports many. For example, a GCEPersistentDisk can be mounted as ReadWriteOnce by a single node or ReadOnlyMany by many nodes, but not at the same time. + + +### Recycling Policy + +Current recycling policies are: + +* Retain -- manual reclamation +* Recycle -- basic scrub ("rm -rf /thevolume/*") + +Currently, NFS and HostPath support recycling. + +### Phase + +A volume will be in one of the following phases: + +* Available -- a free resource that is not yet bound to a claim +* Bound -- the volume is bound to a claim +* Released -- the claim has been deleted, but the resource is not yet reclaimed by the cluster +* Failed -- the volume has failed its automatic reclamation + +The CLI will show the name of the PVC bound to the PV. + +## PersistentVolumeClaims + +Each PVC contains a spec and status, which is the specification and status of the claim. + +```yaml +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: myclaim +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 8Gi ``` -## Requesting storage +### Access Modes -Users of Kubernetes request persistent storage for their pods. They don't know how the underlying cluster is provisioned. -They just know they can rely on their claim to storage and can manage its lifecycle independently from the many pods that may use it. +Claims use the same conventions as volumes when requesting storage with specific access modes. -Claims must be created in the same namespace as the pods that use them. +### Resources -```shell -$ kubectl create -f docs/user-guide/persistent-volumes/claims/claim-01.yaml +Claims, like pods, can request specific quantities of a resource. In this case, the request is for storage. The same [resource model](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/resources.md) applies to both volumes and claims. -$ kubectl get pvc -NAME LABELS STATUS VOLUME -myclaim-1 map[] - - -# A background process will attempt to match this claim to a volume. -# The eventual state of your claim will look something like this: +## Claims As Volumes -$ kubectl get pvc -NAME LABELS STATUS VOLUME -myclaim-1 map[] Bound pv0001 +Pods access storage by using the claim as a volume. Claims must exist in the same namespace as the pod using the claim. The cluster finds the claim in the pod's namespace and uses it to get the `PersistentVolume` backing the claim. The volume is then mounted to the host and into the pod. -$ kubectl get pv -NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON -pv0001 type=local 10737418240 RWO Bound default/myclaim-1 -``` - -## Using your claim as a volume - -Claims are used as volumes in pods. Kubernetes uses the claim to look up its bound PV. The PV is then exposed to the pod. - -```shell -$ kubectl create -f docs/user-guide/persistent-volumes/simpletest/pod.yaml - -$ kubectl get pods -NAME READY STATUS RESTARTS AGE -mypod 1/1 Running 0 1h - -$ kubectl create -f docs/user-guide/persistent-volumes/simpletest/service.json -$ kubectl get services -NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE -frontendservice 10.0.0.241 3000/TCP name=frontendhttp 1d -kubernetes 10.0.0.2 443/TCP 2d -``` - -## Next steps - -You should be able to query your service endpoint and see what content nginx is serving. A "forbidden" error might mean you -need to disable SELinux (setenforce 0). - -```shell -$ curl 10.0.0.241:3000 -I love Kubernetes storage! -``` - -Hopefully this simple guide is enough to get you started with PersistentVolumes. If you have any questions, join the team on [Slack](/docs/troubleshooting/#slack) and ask! - -Enjoy! \ No newline at end of file +```yaml +kind: Pod +apiVersion: v1 +metadata: + name: mypod +spec: + containers: + - name: myfrontend + image: dockerfile/nginx + volumeMounts: + - mountPath: "/var/www/html" + name: mypd + volumes: + - name: mypd + persistentVolumeClaim: + claimName: myclaim +``` \ No newline at end of file diff --git a/docs/user-guide/persistent-volumes/walkthrough.md b/docs/user-guide/persistent-volumes/walkthrough.md new file mode 100644 index 0000000000..385cc15c52 --- /dev/null +++ b/docs/user-guide/persistent-volumes/walkthrough.md @@ -0,0 +1,96 @@ +--- +--- + +The purpose of this guide is to help you become familiar with [Kubernetes Persistent Volumes](/docs/user-guide/persistent-volumes/). By the end of the guide, we'll have +nginx serving content from your persistent volume. + +You can view all the files for this example in [the docs repo +here](https://github.com/kubernetes/kubernetes.github.io/tree/{{page.docsbranch}}/docs/user-guide/persistent-volumes). + +This guide assumes knowledge of Kubernetes fundamentals and that you have a cluster up and running. + +See [Persistent Storage design document](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/persistent-storage.md) for more information. + +## Provisioning + +A Persistent Volume (PV) in Kubernetes represents a real piece of underlying storage capacity in the infrastructure. Cluster administrators +must first create storage (create their Google Compute Engine (GCE) disks, export their NFS shares, etc.) in order for Kubernetes to mount it. + +PVs are intended for "network volumes" like GCE Persistent Disks, NFS shares, and AWS ElasticBlockStore volumes. `HostPath` was included +for ease of development and testing. You'll create a local `HostPath` for this example. + +> IMPORTANT! For `HostPath` to work, you will need to run a single node cluster. Kubernetes does not +support local storage on the host at this time. There is no guarantee your pod ends up on the correct node where the `HostPath` resides. + +```shell +# This will be nginx's webroot +$ mkdir /tmp/data01 +$ echo 'I love Kubernetes storage!' > /tmp/data01/index.html +``` + +PVs are created by posting them to the API server. + +```shell +$ kubectl create -f docs/user-guide/persistent-volumes/volumes/local-01.yaml +NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON +pv0001 type=local 10737418240 RWO Available +``` + +## Requesting storage + +Users of Kubernetes request persistent storage for their pods. They don't know how the underlying cluster is provisioned. +They just know they can rely on their claim to storage and can manage its lifecycle independently from the many pods that may use it. + +Claims must be created in the same namespace as the pods that use them. + +```shell +$ kubectl create -f docs/user-guide/persistent-volumes/claims/claim-01.yaml + +$ kubectl get pvc +NAME LABELS STATUS VOLUME +myclaim-1 map[] + + +# A background process will attempt to match this claim to a volume. +# The eventual state of your claim will look something like this: + +$ kubectl get pvc +NAME LABELS STATUS VOLUME +myclaim-1 map[] Bound pv0001 + +$ kubectl get pv +NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON +pv0001 type=local 10737418240 RWO Bound default/myclaim-1 +``` + +## Using your claim as a volume + +Claims are used as volumes in pods. Kubernetes uses the claim to look up its bound PV. The PV is then exposed to the pod. + +```shell +$ kubectl create -f docs/user-guide/persistent-volumes/simpletest/pod.yaml + +$ kubectl get pods +NAME READY STATUS RESTARTS AGE +mypod 1/1 Running 0 1h + +$ kubectl create -f docs/user-guide/persistent-volumes/simpletest/service.json +$ kubectl get services +NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE +frontendservice 10.0.0.241 3000/TCP name=frontendhttp 1d +kubernetes 10.0.0.2 443/TCP 2d +``` + +## Next steps + +You should be able to query your service endpoint and see what content nginx is serving. A "forbidden" error might mean you +need to disable SELinux (setenforce 0). + +```shell +$ curl 10.0.0.241:3000 +I love Kubernetes storage! +``` + +Hopefully this simple guide is enough to get you started with PersistentVolumes. If you have any questions, join the team on [Slack](/docs/troubleshooting/#slack) and ask! + +Enjoy! \ No newline at end of file diff --git a/docs/user-guide/pods/_viewing-a-pod.md b/docs/user-guide/pods/_viewing-a-pod.md new file mode 100644 index 0000000000..11d30057c1 --- /dev/null +++ b/docs/user-guide/pods/_viewing-a-pod.md @@ -0,0 +1,58 @@ +To view a specific pod, use the `kubectl get` command: + +```shell +$ kubectl get pod NAME +NAME READY STATUS RESTARTS AGE +example 1/1 Running 0 2d +``` + +To return the name of the node on which the pod is scheduled, use the `-o wide` +option: + +```shell +$ kubectl get pod NAME -o wide +NAME READY STATUS RESTARTS AGE NODE +example 1/1 Running 0 2d gke-example-c6a38-node-xij3 +``` + +For more details about a pod, including events, use `describe` in place of +`get`: + +```shell +$ kubectl describe pod NAME +Name: example +Namespace: default +Image(s): kubernetes/example-php-redis:v2 +Node: gke-example-c6a38461-node-xij3/10.240.34.183 +Labels: name=frontend +Status: Running +Reason: +Message: +IP: 10.188.2.10 +Replication Controllers: example (5/5 replicas created) +Containers: + php-redis: + Image: kubernetes/example-php-redis:v2 + Limits: + cpu: 100m + State: Running + Started: Tue, 04 Aug 2015 09:02:46 -0700 + Ready: True + Restart Count: 0 +Conditions: + Type Status + Ready True +Events: + FirstSeen LastSeen Coun From SubobjectPath Reason Message + Thu, 06 Aug 2015 11:49:44 -0700 Thu, 06 Aug 2015 11:49:44 -0700 1 {kubelet gke-example-c6a38461-node-xij3} spec.containers{example} started Started with docker id 5705bffa65e2 +``` + +To list all pods running on a cluster: + +```shell +$ kubectl get pods + +NAME READY STATUS RESTARTS AGE +example-xypvc 1/1 Running 0 1m +frontend-7kdod 1/1 Running 0 1d +``` \ No newline at end of file diff --git a/docs/user-guide/pods.md b/docs/user-guide/pods/index.md similarity index 100% rename from docs/user-guide/pods.md rename to docs/user-guide/pods/index.md diff --git a/docs/user-guide/pods/multi-container.md b/docs/user-guide/pods/multi-container.md new file mode 100644 index 0000000000..3b4214f111 --- /dev/null +++ b/docs/user-guide/pods/multi-container.md @@ -0,0 +1,175 @@ +--- +--- + +* TOC +{:toc} + +A pod is a group of containers that are scheduled +onto the same host. Pods serve as units of scheduling, deployment, and +horizontal scaling/replication. Pods share fate, and share some resources, such +as storage volumes and IP addresses. + +## Creating a pod + +Multi-container pods must be created with the `create` command. Properties +are passed to the command as a YAML- or JSON-formatted configuration file. + +The `create` command can be used to create a pod directly, or it can create +a pod or pods through a replication controller. It is highly recommended that +you use a +[replication controller](/docs/user-guide/replication-controller/) +to create your pods. The controller watches for failed pods and will start up +new pods as required to maintain the specified number. + +For instructions on creating pods with a replication controller, refer to +[Creating replication controllers](/docs/user-guide/replication-controller/operations/). + +If you don't want a replication controller to monitor your pod (e.g. your pod +is writing non-persistent data which won't survive a restart, or your pod is +intended to be very short-lived), you can create a pod directly with the +`create` command. + +### Using `create` + +Note: We recommend using a +[replication controller](/docs/user-guide/replication-controller/) +to create pods. You should use the instructions below only if you don't want +to create a replication controller. + +If your pod will contain more than one container, or if you don't want to +create a replication controller to manage your pod, use the +`kubectl create` command and pass a pod specification as a JSON- or +YAML-formatted configuration file. + +```shell +$ kubectl create -f FILE +``` + +Where: + +* `-f FILE` or `--filename FILE` is the name of a + [pod configuration file](#pod-configuration-file) in either JSON or YAML + format. + +A successful create request returns the pod name. Use the +[`kubectl get`](#viewing_a_pod) command to view status after creation. + +### Pod configuration file + +A pod configuration file specifies required information about the pod. +It can be formatted as YAML or as JSON, and supports the following fields: + +{% capture tabspec %}configfiles +JSON,json,pod-config.json,/docs/user-guide/pods/pod-config.json +YAML,yaml,pod-config.yaml,/docs/user-guide/pods/pod-config.yaml{% endcapture %} +{% include tabs.html %} + +Required fields are: + +* `kind`: Always `Pod`. +* `apiVersion`: Currently `v1`. +* `metadata`: An object containing: + * `name`: Required if `generateName` is not specified. The name of this pod. + It must be an + [RFC1035](https://www.ietf.org/rfc/rfc1035.txt) compatible value and be + unique within the namespace. + * `labels`: Optional. Labels are arbitrary key:value pairs that can be used + by + [replication controllers](/docs/user-guide/replication-controller) + and [services](/docs/user-guide/services/) for grouping and targeting + pods. + * `generateName`: Required if `name` is not set. A prefix to use to generate + a unique name. Has the same validation rules as `name`. + * `namespace`: Required. The namespace of the pod. + * `annotations`: Optional. A map of string keys and values that can be used + by external tooling to store and retrieve arbitrary metadata about + objects. +* `spec`: The pod specification. See [The `spec` schema](#the_spec_schema) for + details. + + +### The `spec` schema + +A full description of the `spec` schema is contained in the +[Kubernetes API reference](/docs/api-reference/v1/definitions/#_v1_podspec). + +The following fields are required or commonly used in the `spec` schema: + +{% capture tabspec %}specfiles +JSON,json,pod-spec-common.json,/docs/user-guide/pods/pod-spec-common.json +YAML,yaml,pod-spec-common.yaml,/docs/user-guide/pods/pod-spec-common.yaml{% endcapture %} +{% include tabs.html %} + +#### `containers[]` + +A list of containers belonging to the pod. Containers cannot be added or removed once the pod is created, and there must be at least one container in a pod. + +The `containers` object **must contain**: + +* `name`: Name of the container. It must be a DNS_LABEL and be unique within the pod. Cannot be updated. +* `image`: Docker image name. + +The `containers` object **commonly contains** the following optional properties: + +* `command[]`: The entrypoint array. Commands are not executed within a shell. The docker image's entrypoint is used if this is not provided. Cannot be updated. +* `args[]`: A command array containing arguments to the entrypoint. The docker image's `cmd` is used if this is not provided. Cannot be updated. +* `env[]`: A list of environment variables in key:value format to set in the container. Cannot be updated. + * `name`: The name of the environment variable; must be a `C_IDENTIFIER`. + * `value`: The value of the environment variable. Defaults to empty string. +* `imagePullPolicy`: The image pull policy. Accepted values are: + * `Always` + * `Never` + * `IfNotPresent`Defaults to `Always` if `:latest` tag is specified, or `IfNotPresent` otherwise. Cannot be updated. +* `ports[]`: A list of ports to expose from the container. Cannot be updated. + * `containerPort`: The port number to expose on the pod's IP address. + * `name`: The name for the port that can be referred to by services. Must be a `DNS_LABEL` and be unique without the pod. + * `protocol`: Protocol for the port. Must be UDP or TCP. Default is TCP. +* `resources`: The Compute resources required by this container. Contains: + * `cpu`: CPUs to reserve for each container. Default is whole CPUs; scale suffixes (e.g. `100m` for one hundred milli-CPUs) are supported. If the host does not have enough available resources, your pod will not be scheduled. + * `memory`: Memory to reserve for each container. Default is bytes; [binary scale suffixes](http://en.wikipedia.org/wiki/Binary_prefix) (e.g. `100Mi` for one hundred mebibytes) are supported. If the host does not have enough available resources, your pod will not be scheduled.Cannot be updated. + +#### `restartPolicy` + +Restart policy for all containers within the pod. Options are: + +* `Always` +* `OnFailure` +* `Never` + +#### `volumes[]` + +A list of volumes that can be mounted by containers belonging to the pod. You must specify a `name` and a source for each volume. The container must also include a `volumeMount` with matching `name`. Source is one of: + +* `emptyDir`: A temporary directory that shares a pod's lifetime. Contains: + * `medium`: The type of storage used to back the volume. Must be an empty string (default) or `Memory`. +* `hostPath`: A pre-existing host file or directory. This is generally used for privileged system daemons or other agents tied to the host. Contains: + * `path`: The path of the directory on the host. +* `secret`: Secret to populate volume. Secrets are used to hold sensitive information, such as passwords, OAuth tokens, and SSH keys. Learn more from [the docs on secrets](/docs/user-guide/secrets/). Contains: + * `secretName`: The name of a secret in the pod's namespace. + +The `name` must be a DNS_LABEL and unique within the pod. + + +### Sample file + +For example, the following configuration file creates two containers: a +`redis` key-value store image, and a `django` frontend image. + +{% capture tabspec %}samplefiles +JSON,json,pod-sample.json,/docs/user-guide/pods/pod-sample.json +YAML,yaml,pod-sample.yaml,/docs/user-guide/pods/pod-sample.yaml{% endcapture %} +{% include tabs.html %} + +## Viewing a pod + +{% include_relative _viewing-a-pod.md %} + +## Deleting a pod + +If you created your pod directly with `kubectl create`, use `kubectl delete`: + +```shell +$ kubectl delete pod NAME +``` + +A successful delete request returns the name of the deleted pod. diff --git a/docs/user-guide/pods/pod-config.json b/docs/user-guide/pods/pod-config.json new file mode 100644 index 0000000000..265db0368d --- /dev/null +++ b/docs/user-guide/pods/pod-config.json @@ -0,0 +1,18 @@ +{ + "kind": "Pod", + "apiVersion": "v1", + "metadata": { + "name": "", + "labels": { + "name": "" + }, + "generateName": "", + "namespace": "", + "annotations": [] + }, + "spec": { + + // See 'The spec schema' for details. + + } +} diff --git a/docs/user-guide/pods/pod-config.yaml b/docs/user-guide/pods/pod-config.yaml new file mode 100644 index 0000000000..9eb3691a74 --- /dev/null +++ b/docs/user-guide/pods/pod-config.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "" + labels: + name: "" + namespace: "" + annotations: [] + generateName: "" +spec: + ? "// See 'The spec schema' for details." + : ~ diff --git a/docs/user-guide/pods/pod-sample.json b/docs/user-guide/pods/pod-sample.json new file mode 100644 index 0000000000..25d0373204 --- /dev/null +++ b/docs/user-guide/pods/pod-sample.json @@ -0,0 +1,32 @@ +{ + "kind": "Pod", + "apiVersion": "v1", + "metadata": { + "name": "redis-django", + "labels": { + "app": "webapp" + } + }, + "spec": { + "containers": [ + { + "name": "key-value-store", + "image": "redis", + "ports": [ + { + "containerPort": 6379, + } + ] + }, + { + "name": "frontend", + "image": "django", + "ports": [ + { + "containerPort": 8000, + } + ] + } + ] + } +} diff --git a/docs/user-guide/pods/pod-sample.yaml b/docs/user-guide/pods/pod-sample.yaml new file mode 100644 index 0000000000..84635ff24f --- /dev/null +++ b/docs/user-guide/pods/pod-sample.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Pod +metadata: + name: redis-django + labels: + app: web +spec: + containers: + - name: key-value-store + image: redis + ports: + - containerPort: 6379 + - name: frontend + image: django + ports: + - containerPort: 8000 diff --git a/docs/user-guide/pods/pod-spec-common.json b/docs/user-guide/pods/pod-spec-common.json new file mode 100644 index 0000000000..c449c34de5 --- /dev/null +++ b/docs/user-guide/pods/pod-spec-common.json @@ -0,0 +1,44 @@ +"spec": { + "containers": [ + { + "name": "", + "image": "", + "command": [ + "" + ], + "args": [ + "" + ], + "env": [ + { + "name": "", + "value": "" + } + ], + "imagePullPolicy": "", + "ports": [ + { + "containerPort": 0, + "name": "", + "protocol": "" + } + ], + "resources": { + "cpu": "" + "memory": "" + } + } + ], + "restartPolicy": "", + "volumes": [ + { + "name": "", + "emptyDir": { + "medium": "" + }, + "secret": { + "secretName": "" + } + } + ] +} diff --git a/docs/user-guide/pods/pod-spec-common.yaml b/docs/user-guide/pods/pod-spec-common.yaml new file mode 100644 index 0000000000..96e4c1c6e8 --- /dev/null +++ b/docs/user-guide/pods/pod-spec-common.yaml @@ -0,0 +1,31 @@ +spec: + containers: + - + args: + - "" + command: + - "" + env: + - + name: "" + value: "" + image: "" + imagePullPolicy: "" + name: "" + ports: + - + containerPort: 0 + name: "" + protocol: "" + resources: + cpu: "" + memory: "" + restartPolicy: "" + volumes: + - + emptyDir: + medium: "" + name: "" + secret: + secretName: "" + diff --git a/docs/user-guide/pods/single-container.md b/docs/user-guide/pods/single-container.md new file mode 100644 index 0000000000..66e606175b --- /dev/null +++ b/docs/user-guide/pods/single-container.md @@ -0,0 +1,89 @@ +--- +--- + +* TOC +{:toc} + +A pod is a group of containers that are scheduled +onto the same host. Pods serve as units of scheduling, deployment, and +horizontal scaling/replication. Pods share fate, and share some resources, such +as storage volumes and IP addresses. + +## Creating a pod + +Single-container pods can be created with the `run` command. The +pod's properties are specified with flags on the command line. + +The `run` command creates a Deployment to monitor the pod(s). +The Deployment watches for failed pods and will start up new pods as required +to maintain the specified number. + +Note: If you don't want a Deployment to monitor your pod (e.g. your pod +is writing non-persistent data which won't survive a restart, or your pod is +intended to be very short-lived), you can +[create a pod directly with the `create` command](/docs/user-guide/pods/multi-container/). + +To create a pod using the `run` command: + +```shell +$ kubectl run NAME + --image=image + [--port=port] + [--replicas=replicas] + [--labels=key=value,key=value,...] +``` + +Where: + +* `kubectl run` creates a Deployment named "nginx" on Kubernetes cluster >= v1.2. If you are running older versions, it creates replication controllers instead. If you want to obtain the old behavior, use `--generator=run/v1` to create replication controllers. See [`kubectl run`](/docs/user-guide/kubectl/kubectl_run/) for more details. +* `NAME` (required) is the name of the container to create. This value is also + applied as the name of the Deployment, and as the prefix of the + pod name. For example: + + ```shell + $ kubectl run example --image=nginx + deployment "example" created + + $ kubectl get pods -l run=example + NAME READY STATUS RESTARTS AGE + example-1934187764-scau1 1/1 Running 0 13s + ``` +* `--image=IMAGE` (required) is the Docker container image to use for this + container. +* `--port=PORT` is the port to expose on the container. +* `--replicas=NUM` is the number of replicated pods to create. If not specified, + one pod will be created. +* `--labels=key=value` specifies one or more labels to attach to the pod. In + addition to any labels specified here, `run` attaches a label of + the format `run=NAME`. This is used by the Deployment + to target the pods created by the command. + +There are additional flags that can be specified. For a complete list, run: + + $ kubectl run --help + +## Viewing a pod + +{% include_relative _viewing-a-pod.md %} + +## Deleting a pod + +If your pod was created using the `run` command, kubernetes creates a +[Deployment](/docs/user-guide/deployments/) +to manage the pod. Pods managed by a Deployment are rescheduled if +they go away, including being deleted by `kubectl delete pod`. To permanently +delete the pod, delete its Deployment. + +First, find the Deployment's name: + +```shell +$ kubectl get deployment +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +example 1 1 1 1 1m +``` + +Then, `delete` the Deployment: + +```shell +$ kubectl delete deployment DEPLOYMENT_NAME +``` diff --git a/docs/user-guide/quick-start.md b/docs/user-guide/quick-start.md index 5df122f498..00dc999d53 100644 --- a/docs/user-guide/quick-start.md +++ b/docs/user-guide/quick-start.md @@ -6,44 +6,36 @@ This guide will help you get oriented to Kubernetes and running your first conta * TOC {:toc} -## Launching a simple application +## Launching a simple application, and exposing it to the Internet Once your application is packaged into a container and pushed to an image registry, you're ready to deploy it to Kubernetes. +Through integration with some cloud providers (for example Google Compute Engine and AWS EC2), Kubernetes also enables you to request it to provision a public IP address for your application. -For example, [nginx](http://wiki.nginx.org/Main) is a popular HTTP server, with a [pre-built container on Docker hub](https://registry.hub.docker.com/_/nginx/). The [`kubectl run`](/docs/user-guide/kubectl/kubectl_run) command below will create two nginx replicas, listening on port 80. +For example, [nginx](http://wiki.nginx.org/Main) is a popular HTTP server, with a [pre-built container on Docker hub](https://registry.hub.docker.com/_/nginx/). The [`kubectl run`](/docs/user-guide/kubectl/kubectl_run) command below will create two nginx replicas, listening on port 80, and a public IP address for your application. ```shell -$ kubectl run my-nginx --image=nginx --replicas=2 --port=80 -CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS -my-nginx my-nginx nginx run=my-nginx 2 +$ kubectl run my-nginx --image=nginx --replicas=2 --port=80 --expose --service-overrides='{ "spec": { "type": "LoadBalancer" } }' +service "my-nginx" created +deployment "my-nginx" created ``` You can see that they are running by: ```shell $ kubectl get po -NAME READY STATUS RESTARTS AGE -my-nginx-l8n3i 1/1 Running 0 29m -my-nginx-q7jo3 1/1 Running 0 29m +NAME READY STATUS RESTARTS AGE +my-nginx-3800858182-h9v8d 1/1 Running 0 1m +my-nginx-3800858182-wqafx 1/1 Running 0 1m ``` Kubernetes will ensure that your application keeps running, by automatically restarting containers that fail, spreading containers across nodes, and recreating containers on new nodes when nodes fail. -## Exposing your application to the Internet - -Through integration with some cloud providers (for example Google Compute Engine and AWS EC2), Kubernetes enables you to request that it provision a public IP address for your application. To do this run: - -```shell -$ kubectl expose rc my-nginx --port=80 --type=LoadBalancer -service "my-nginx" exposed -``` - To find the public IP address assigned to your application, execute: ```shell -$ kubectl get svc my-nginx -NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE -my-nginx 10.179.240.1 25.1.2.3 80/TCP run=nginx 8d +$ kubectl get service/my-nginx +NAME CLUSTER_IP EXTERNAL_IP PORT(S) AGE +my-nginx 10.179.240.1 25.1.2.3 80/TCP 8s ``` You may need to wait for a minute or two for the external ip address to be provisioned. @@ -51,7 +43,7 @@ You may need to wait for a minute or two for the external ip address to be provi In order to access your nginx landing page, you also have to make sure that traffic from external IPs is allowed. Do this by opening a [firewall to allow traffic on port 80](/docs/user-guide/services-firewalls). If you're running on AWS, Kubernetes creates an ELB for you. ELBs use host -names, not IPs, so you will have to do `kubectl describe svc my-nginx` and look +names, not IPs, so you will have to do `kubectl describe service/my-nginx` and look for the `LoadBalancer Ingress` host name. Traffic from external IPs is allowed automatically. @@ -60,12 +52,11 @@ automatically. To kill the application and delete its containers and public IP address, do: ```shell -$ kubectl delete rc my-nginx -replicationcontrollers/my-nginx -$ kubectl delete svc my-nginx -services/my-nginx +$ kubectl delete deployment,service my-nginx +deployment "my-nginx" deleted +service "my-nginx" deleted ``` ## What's next? -[Learn about how to configure common container parameters, such as commands and environment variables.](/docs/user-guide/configuring-containers) \ No newline at end of file +[Learn about how to configure common container parameters, such as commands and environment variables.](/docs/user-guide/configuring-containers) diff --git a/docs/user-guide/replication-controller.md b/docs/user-guide/replication-controller/index.md similarity index 98% rename from docs/user-guide/replication-controller.md rename to docs/user-guide/replication-controller/index.md index ba562e5545..4b4e888c67 100644 --- a/docs/user-guide/replication-controller.md +++ b/docs/user-guide/replication-controller/index.md @@ -92,8 +92,8 @@ A Replication Controller also needs a [`.spec` section](https://github.com/kuber The `.spec.template` is the only required field of the `.spec`. -The `.spec.template` is a [pod template](/docs/user-guide/replication-controller/#pod-template). It has exactly -the same schema as a [pod](pods.md), except it is nested and does not have an `apiVersion` or +The `.spec.template` is a [pod template](#pod-template). It has exactly +the same schema as a [pod](/docs/user-guide/pods/), except it is nested and does not have an `apiVersion` or `kind`. In addition to required fields for a Pod, a pod template in a job must specify appropriate @@ -241,3 +241,7 @@ Use a [DaemonSet](/docs/admin/daemons/) instead of a replication controller for machine-level function, such as machine monitoring or machine logging. These pods have a lifetime is tied to machine lifetime: the pod needs to be running on the machine before other pods start, and are safe to terminate when the machine is otherwise ready to be rebooted/shutdown. + +## For more information + +Read [Replication Controller Operations](/docs/user-guide/replication-controller/operations/). diff --git a/docs/user-guide/replication-controller/operations.md b/docs/user-guide/replication-controller/operations.md new file mode 100644 index 0000000000..78f10dbd3f --- /dev/null +++ b/docs/user-guide/replication-controller/operations.md @@ -0,0 +1,226 @@ +--- +--- +* TOC +{:toc} + +A replication controller ensures that a specified number of pod "replicas" are +running at any one time. If there are too many, it will kill some. If there are +too few, it will start more. + +## Creating a replication controller + +Replication controllers are created with `kubectl create`: + +```shell +$ kubectl create -f FILE +``` + +Where: + +* `-f FILE` or `--filename FILE` is a relative path to a + [configuration file](#replication_controller_configuration_file) in + either JSON or YAML format. + +You can use the [sample file](#sample_file) below to try a create request. + +A successful create request returns the name of the replication controller. To +view more details about the controller, see +[Viewing replication controllers](#viewing_replication_controllers) below. + +### Replication controller configuration file + +When creating a replication controller, you must point to a configuration file +as the value of the `-f` flag. The configuration +file can be formatted as YAML or as JSON, and supports the following fields: + +```json +{ + "apiVersion": "v1", + "kind": "ReplicationController", + "metadata": { + "name": "", + "labels": "", + "namespace": "" + }, + "spec": { + "replicas": int, + "selector": { + "":"" + }, + "template": { + "metadata": { + "labels": { + "":"" + } + }, + "spec": { + // See 'The spec schema' below + } + } + } +} +``` + +Required fields are: + +* `kind`: Always `ReplicationController`. +* `apiVersion`: Currently `v1`. +* `metadata`: An object containing: + * `name`: Required if `generateName` is not specified. The name of this + replication controller. It must be an + [RFC1035](https://www.ietf.org/rfc/rfc1035.txt) compatible value and be + unique within the namespace. + * `labels`: Optional. Labels are arbitrary key:value pairs that can be used + for grouping and targeting by other resources and services. + * `generateName`: Required if `name` is not set. A prefix to use to generate + a unique name. Has the same validation rules as `name`. + * `namespace`: Optional. The namespace of the replication controller. + * `annotations`: Optional. A map of string keys and values that can be used + by external tooling to store and retrieve arbitrary metadata about + objects. +* `spec`: The configuration for this replication controller. It must + contain: + * `replicas`: The number of pods to create and maintain. + * `selector`: A map of key:value pairs assigned to the set of pods that + this replication controller is responsible for managing. **This must** + **match the key:value pairs in the `template`'s `labels` field**. + * `template` contains: + * A `metadata` object with `labels` for the pod. + * The [`spec` schema](#the_spec_schema) that defines the pod + configuration. + +### The `spec` schema + +The `spec` schema (that is a child of `template`) is described in the locations +below: + +* The [`spec` schema](/docs/user-guide/pods/multi-container/#the_spec_schema) + section of the Creating Multi-Container Pods page covers required and + frequently-used fields. +* The entire `spec` schema is documented in the + [Kubernetes API reference](/docs/api-reference/v1/definitions/#_v1_podspec). + +### Sample file + +The following sample file creates 2 pods, each containing a single container +using the `redis` image. Port 80 on each container is opened. The replication +controller is tagged with the `serving` label. The pods are given the label +`frontend` and the `selector` is set to `frontend`, to indicate that the +controller should manage pods with the `frontend` label. + +```json +{ + "kind": "ReplicationController", + "apiVersion": "v1", + "metadata": { + "name": "frontend-controller", + "labels": { + "state": "serving" + } + }, + "spec": { + "replicas": 2, + "selector": { + "app": "frontend" + }, + "template": { + "metadata": { + "labels": { + "app": "frontend" + } + }, + "spec": { + "volumes": null, + "containers": [ + { + "name": "php-redis", + "image": "redis", + "ports": [ + { + "containerPort": 80, + "protocol": "TCP" + } + ], + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "dnsPolicy": "ClusterFirst" + } + } + } +} +``` + +## Updating replication controller pods + +See [Rolling Updates](/docs/user-guide/rolling-updates/). + +## Resizing a replication controller + +See +[Resizing a replication controller](/docs/user-guide/resizing-a-replication-controller/). + +## Viewing replication controllers + +To list replication controllers on a cluster, use the `kubectl get` command: + +```shell +$ kubectl get rc +``` + +A successful get command returns all replication controllers on the cluster in +the specified or default namespace. For example: + +```shell +CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS +frontend php-redis redis name=frontend 2 +``` + +You can also use `get rc NAME` to return information about a specific +replication controller. + +To view detailed information about a specific replication controller, use the +`kubectl describe` command: + +```shell +$ kubectl describe rc NAME +``` + +A successful describe request returns details about the replication controller +including number and status of pods managed, and recent events: + +```conf +Name: frontend +Namespace: default +Image(s): gcr.io/google_samples/gb-frontend:v3 +Selector: name=frontend +Labels: name=frontend +Replicas: 2 current / 2 desired +Pods Status: 2 Running / 0 Waiting / 0 Succeeded / 0 Failed +Events: + FirstSeen LastSeen Count From SubobjectPath Reason Message + Fri, 06 Nov 2015 16:52:50 -0800 Fri, 06 Nov 2015 16:52:50 -0800 1 {replication-controller } SuccessfulCreate Created pod: frontend-gyx2h + Fri, 06 Nov 2015 16:52:50 -0800 Fri, 06 Nov 2015 16:52:50 -0800 1 {replication-controller } SuccessfulCreate Created pod: frontend-vc9w4 +``` + +## Deleting replication controllers + +To delete a replication controller as well as the pods that it controls, use +`kubectl delete`: + +```shell +$ kubectl delete rc NAME +``` + +By default, `kubectl delete rc` will resize the controller to zero (effectively +deleting all pods) before deleting it. + +To delete a replication controller without deleting its pods, use +`kubectl delete` and specify `--cascade=false`: + +```shell +$ kubectl delete rc NAME --cascade=false +``` + +A successful delete request returns the name of the deleted resource. diff --git a/docs/user-guide/replication.yaml b/docs/user-guide/replication-controller/replication.yaml similarity index 100% rename from docs/user-guide/replication.yaml rename to docs/user-guide/replication-controller/replication.yaml diff --git a/docs/user-guide/resizing-a-replication-controller.md b/docs/user-guide/resizing-a-replication-controller.md new file mode 100644 index 0000000000..ada87aade0 --- /dev/null +++ b/docs/user-guide/resizing-a-replication-controller.md @@ -0,0 +1,33 @@ +--- +--- + +To increase or decrease the number of pods under a replication controller's +control, use the `kubectl scale` command: + + $ kubectl scale rc NAME --replicas=COUNT \ + [--current-replicas=COUNT] \ + [--resource-version=VERSION] + +Tip: You can use the `rc` alias in your commands in place of +`replicationcontroller`. + +Required fields are: + +* `NAME`: The name of the replication controller to update. +* `--replicas=COUNT`: The desired number of replicas. + +Optional fields are: + +* `--current-replicas=COUNT`: A precondition for current size. If specified, + the resize will only take place if the current number of replicas matches + this value. +* `--resource-version=VERSION`: A precondition for resource version. If + specified, the resize will only take place if the current replication + controller version matches this value. Versions are specified in the + `labels` field of the replication controller's configuration file, as a + key:value pair with a key of `version`. For example, + `--resource-version test` matches: + + "labels": { + "version": "test" + } diff --git a/docs/user-guide/rolling-updates.md b/docs/user-guide/rolling-updates.md new file mode 100644 index 0000000000..fe79c7305d --- /dev/null +++ b/docs/user-guide/rolling-updates.md @@ -0,0 +1,127 @@ +--- +--- + +* TOC +{:toc} + +## Overview + +A rolling update applies changes to the configuration of pods being managed by +a replication controller. The changes can be passed as a new replication +controller configuration file; or, if only updating the image, a new container +image can be specified directly. + +A rolling update works by: + +1. Creating a new replication controller with the updated configuration. +2. Increasing/decreasing the replica count on the new and old controllers until + the correct number of replicas is reached. +3. Deleting the original replication controller. + +Rolling updates are initiated with the `kubectl rolling-update` command: + + $ kubectl rolling-update NAME \ + ([NEW_NAME] --image=IMAGE | -f FILE) + +## Passing a configuration file + +To initiate a rolling update using a configuration file, pass the new file to +`kubectl rolling-update`: + + $ kubectl rolling-update NAME -f FILE + +The configuration file must: + +* Specify a different `metadata.name` value. + +* Overwrite at least one common label in its `spec.selector` field. + +* Use the same `metadata.namespace`. + +Replication controller configuration files are described in +[Creating Replication Controllers](/docs/user-guide/replication-controller/operations/). + +### Examples + + // Update pods of frontend-v1 using new replication controller data in frontend-v2.json. + $ kubectl rolling-update frontend-v1 -f frontend-v2.json + + // Update pods of frontend-v1 using JSON data passed into stdin. + $ cat frontend-v2.json | kubectl rolling-update frontend-v1 -f - + +## Updating the container image + +To update only the container image, pass a new image name and tag with the +`--image` flag and (optionally) a new controller name: + + $ kubectl rolling-update NAME [NEW_NAME] --image=IMAGE:TAG + +The `--image` flag is only supported for single-container pods. Specifying +`--image` with multi-container pods returns an error. + +If no `NEW_NAME` is specified, a new replication controller is created with +a temporary name. Once the rollout is complete, the old controller is deleted, +and the new controller is updated to use the original name. + +The update will fail if `IMAGE:TAG` is identical to the +current value. For this reason, we recommend the use of versioned tags as +opposed to values such as `:latest`. Doing a rolling update from `image:latest` +to a new `image:latest` will fail, even if the image at that tag has changed. + +### Examples + + // Update the pods of frontend-v1 to frontend-v2 + $ kubectl rolling-update frontend-v1 frontend-v2 --image=image:v2 + + // Update the pods of frontend, keeping the replication controller name + $ kubectl rolling-update frontend --image=image:v2 + +## Required and optional fields + +Required fields are: + +* `NAME`: The name of the replication controller to update. + +as well as either: + +* `-f FILE`: A replication controller configuration file, in either JSON or + YAML format. The configuration file must specify a new top-level `id` value + and include at least one of the existing `spec.selector` key:value pairs. + See the + [Replication Controller Operations](/docs/user-guide/replication-controller/operations#replication-controller-configuration-file) + page for details. +
    +
    + or: +
    +
    +* `--image IMAGE:TAG`: The name and tag of the image to update to. Must be + different than the current image:tag currently specified. + +Optional fields are: + +* `NEW_NAME`: Only used in conjunction with `--image` (not with `-f FILE`). The + name to assign to the new replication controller. +* `--poll-interval DURATION`: The time between polling the controller status + after update. Valid units are `ns` (nanoseconds), `us` or `µs` (microseconds), + `ms` (milliseconds), `s` (seconds), `m` (minutes), or `h` (hours). Units can + be combined (e.g. `1m30s`). The default is `3s`. +* `--timeout DURATION`: The maximum time to wait for the controller to update a + pod before exiting. Default is `5m0s`. Valid units are as described for + `--poll-interval` above. +* `--update-period DURATION`: The time to wait between updating pods. Default + is `1m0s`. Valid units are as described for `--poll-interval` above. + +Additional information about the `kubectl rolling-update` command is available +from the [`kubectl` reference](/docs/user-guide/kubectl/kubectl_rolling-update/). + +## Troubleshooting + +If the `timeout` duration is reached during a rolling update, the operation will +fail with some pods belonging to the new replication controller, and some to the +original controller. + +To continue the update from where it failed, retry using the same command. + +To roll back to the original state before the attempted update, append the +`--rollback=true` flag to the original command. This will revert all changes. diff --git a/docs/user-guide/run-my-nginx.yaml b/docs/user-guide/run-my-nginx.yaml new file mode 100644 index 0000000000..1c6fc84928 --- /dev/null +++ b/docs/user-guide/run-my-nginx.yaml @@ -0,0 +1,17 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: my-nginx +spec: + replicas: 2 + template: + metadata: + labels: + run: my-nginx + spec: + containers: + - name: my-nginx + image: nginx + ports: + - containerPort: 80 + diff --git a/docs/user-guide/secrets.md b/docs/user-guide/secrets.md deleted file mode 100644 index 648e7715b9..0000000000 --- a/docs/user-guide/secrets.md +++ /dev/null @@ -1,672 +0,0 @@ ---- ---- - -Objects of type `secret` are intended to hold sensitive information, such as -passwords, OAuth tokens, and ssh keys. Putting this information in a `secret` -is safer and more flexible than putting it verbatim in a `pod` definition or in -a docker image. See [Secrets design document](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/secrets.md) for more information. - -* TOC -{:toc} - -## Overview of Secrets - -A Secret is an object that contains a small amount of sensitive data such as -a password, a token, or a key. Such information might otherwise be put in a -Pod specification or in an image; putting it in a Secret object allows for -more control over how it is used, and reduces the risk of accidental exposure. - -Users can create secrets, and the system also creates some secrets. - -To use a secret, a pod needs to reference the secret. -A secret can be used with a pod in two ways: as files in a [volume](/docs/user-guide/volumes) mounted on one or more of -its containers, or used by kubelet when pulling images for the pod. - -### Built-in Secrets - -#### Service Accounts Automatically Create and Attach Secrets with API Credentials - -Kubernetes automatically creates secrets which contain credentials for -accessing the API and it automatically modifies your pods to use this type of -secret. - -The automatic creation and use of API credentials can be disabled or overridden -if desired. However, if all you need to do is securely access the apiserver, -this is the recommended workflow. - -See the [Service Account](/docs/user-guide/service-accounts) documentation for more -information on how Service Accounts work. - -### Creating your own Secrets - -#### Creating a Secret Using kubectl create secret - -Say that some pods need to access a database. The -username and password that the pods should use is in the files -`./username.txt` and `./password.txt` on your local machine. - -```shell -# Create files needed for rest of example. -$ echo "admin" > ./username.txt -$ echo "1f2d1e2e67df" > ./password.txt -``` - -The `kubectl create secret` command -packages these files into a Secret and creates -the object on the Apiserver. - -```shell -$ kubectl create secret generic db-user-pass --from-file=./username.txt --from-file=./password.txt -secret "db-user-pass" created -``` - -You can check that the secret was created like this: - -```shell -$ kubectl get secrets -NAME TYPE DATA AGE -db-user-pass Opaque 2 51s -$ kubectl describe secrets/db-user-pass -Name: db-user-pass -Namespace: default -Labels: -Annotations: - -Type: Opaque - -Data -==== -password.txt: 13 bytes -username.txt: 6 bytes -``` - -Note that neither `get` nor `describe` shows the contents of the file by default. -This is to protect the secret from being exposed accidentally to someone looking -or from being stored in a terminal log. - -See [decoding a secret](#decoding-a-secret) for how to see the contents. - -#### Creating a Secret Manually - -You can also create a secret object in a file first, -in json or yaml format, and then create that object. - -Each item must be base64 encoded: - -```shell -$ echo "admin" | base64 -YWRtaW4K -$ echo "1f2d1e2e67df" | base64 -MWYyZDFlMmU2N2RmCg== -``` - -Now write a secret object that looks like this: - -```yaml -apiVersion: v1 -kind: Secret -metadata: - name: mysecret -type: Opaque -data: - password: MWYyZDFlMmU2N2RmCg== - username: YWRtaW4K -``` - -The data field is a map. Its keys must match -[`DNS_SUBDOMAIN`](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/design/identifiers.md), except that leading dots are also -allowed. The values are arbitrary data, encoded using base64. - -Create the secret using [`kubectl create`](/docs/user-guide/kubectl/kubectl_create/): - -```shell -$ kubectl create -f ./secret.yaml -secret "mysecret" created -``` - -**Encoding Note:** The serialized JSON and YAML values of secret data are encoded as -base64 strings. Newlines are not valid within these strings and must be -omitted (i.e. do not use `-b` option of `base64` which breaks long lines.) - -#### Decoding a Secret - -Get back the secret created in the previous section: - -```shell -$ kubectl get secret mysecret -o yaml -apiVersion: v1 -data: - password: MWYyZDFlMmU2N2RmCg== - username: YWRtaW4K -kind: Secret -metadata: - creationTimestamp: 2016-01-22T18:41:56Z - name: mysecret - namespace: default - resourceVersion: "164619" - selfLink: /api/v1/namespaces/default/secrets/mysecret - uid: cfee02d6-c137-11e5-8d73-42010af00002 -type: Opaque -``` - -Decode the password field: - -```shell -$ echo "MWYyZDFlMmU2N2RmCg==" | base64 -D -1f2d1e2e67df -``` - -### Using Secrets - -Secrets can be mounted as data volumes or be exposed as environment variables to -be used by a container in a pod. They can also be used by other parts of the -system, without being directly exposed to the pod. For example, they can hold -credentials that other parts of the system should use to interact with external -systems on your behalf. - -#### Using Secrets as Files from a Pod - -To consume a Secret in a volume in a Pod: - -1. Create a secret or use an existing one. Multiple pods can reference the same secret. -1. Modify your Pod definition to add a volume under `spec.volumes[]`. Name the volume anything, and have a `spec.volumes[].secret.secretName` field equal to the name of the secret object. -1. Add a `spec.containers[].volumeMounts[]` to each container that needs the secret. Specify `spec.containers[].volumeMounts[].readOnly = true` and `spec.containers[].volumeMounts[].mountPath` to an unused directory name where you would like the secrets to appear. -1. Modify your image and/or command line so that the the program looks for files in that directory. Each key in the secret `data` map becomes the filename under `mountPath`. - -This is an example of a pod that mounts a secret in a volume: - -```json -{ - "apiVersion": "v1", - "kind": "Pod", - "metadata": { - "name": "mypod", - "namespace": "myns" - }, - "spec": { - "containers": [{ - "name": "mypod", - "image": "redis", - "volumeMounts": [{ - "name": "foo", - "mountPath": "/etc/foo", - "readOnly": true - }] - }], - "volumes": [{ - "name": "foo", - "secret": { - "secretName": "mysecret" - } - }] - } -} -``` - -Each secret you want to use needs to be referred to in `spec.volumes`. - -If there are multiple containers in the pod, then each container needs its -own `volumeMounts` block, but only one `spec.volumes` is needed per secret. - -You can package many files into one secret, or use many secrets, whichever is convenient. - -See another example of creating a secret and a pod that consumes that secret in a volume [here](/docs/user-guide/secrets/). - -##### Consuming Secret Values from Volumes - -Inside the container that mounts a secret volume, the secret keys appear as -files and the secret values are base-64 decoded and stored inside these files. -This is the result of commands -executed inside the container from the example above: - -```shell -$ ls /etc/foo/ -username -password -$ cat /etc/foo/username -admin -$ cat /etc/foo/password -1f2d1e2e67df -``` - -The program in a container is responsible for reading the secret(s) from the -files. - -#### Using Secrets as Environment Variables - -To use a secret in an environment variable in a pod: - -1. Create a secret or use an existing one. Multiple pods can reference the same secret. -1. Modify your Pod definition in each container that you wish to consume the value of a secret key to add an environment variable for each secret key you wish to consume. The environment variable that consumes the secret key should populate the secret's name and key in `env[x].valueFrom.secretKeyRef`. -1. Modify your image and/or command line so that the the program looks for values in the specified environment variabless - -This is an example of a pod that mounts a secret in a volume: - -```yaml -apiVersion: v1 -kind: Pod -metadata: - name: secret-env-pod -spec: - containers: - - name: mycontainer - image: redis - env: - - name: SECRET_USERNAME - valueFrom: - secretKeyRef: - name: mysecret - key: username - - name: SECRET_PASSWORD - valueFrom: - secretKeyRef: - name: mysecret - key: password - restartPolicy: Never -``` - -##### Consuming Secret Values from Environment Variables - -Inside a container that consumes a secret in an environment variables, the secret keys appear as -normal environment variables containing the base-64 decoded values of the secret data. -This is the result of commands executed inside the container from the example above: - -```shell -$ echo $SECRET_USERNAME -admin -$ cat /etc/foo/password -1f2d1e2e67df -``` - -#### Using imagePullSecrets - -An imagePullSecret is a way to pass a secret that contains a Docker (or other) image registry -password to the Kubelet so it can pull a private image on behalf of your Pod. - -##### Manually specifying an imagePullSecret - -Use of imagePullSecrets is described in the [images documentation](/docs/user-guide/images/#specifying-imagepullsecrets-on-a-pod) - -### Arranging for imagePullSecrets to be Automatically Attached - -You can manually create an imagePullSecret, and reference it from -a serviceAccount. Any pods created with that serviceAccount -or that default to use that serviceAccount, will get their imagePullSecret -field set to that of the service account. -See [here](/docs/user-guide/service-accounts/#adding-imagepullsecrets-to-a-service-account) - for a detailed explanation of that process. - -#### Automatic Mounting of Manually Created Secrets - -We plan to extend the service account behavior so that manually created -secrets (e.g. one containing a token for accessing a github account) -can be automatically attached to pods based on their service account. -*This is not implemented yet. See [issue 9902](http://issue.k8s.io/9902).* - -## Details - -### Restrictions - -Secret volume sources are validated to ensure that the specified object -reference actually points to an object of type `Secret`. Therefore, a secret -needs to be created before any pods that depend on it. - -Secret API objects reside in a namespace. They can only be referenced by pods -in that same namespace. - -Individual secrets are limited to 1MB in size. This is to discourage creation -of very large secrets which would exhaust apiserver and kubelet memory. -However, creation of many smaller secrets could also exhaust memory. More -comprehensive limits on memory usage due to secrets is a planned feature. - -Kubelet only supports use of secrets for Pods it gets from the API server. -This includes any pods created using kubectl, or indirectly via a replication -controller. It does not include pods created via the kubelets -`--manifest-url` flag, its `--config` flag, or its REST API (these are -not common ways to create pods.) - -### Secret and Pod Lifetime interaction - -When a pod is created via the API, there is no check whether a referenced -secret exists. Once a pod is scheduled, the kubelet will try to fetch the -secret value. If the secret cannot be fetched because it does not exist or -because of a temporary lack of connection to the API server, kubelet will -periodically retry. It will report an event about the pod explaining the -reason it is not started yet. Once the a secret is fetched, the kubelet will -create and mount a volume containing it. None of the pod's containers will -start until all the pod's volumes are mounted. - -Once the kubelet has started a pod's containers, its secret volumes will not -change, even if the secret resource is modified. To change the secret used, -the original pod must be deleted, and a new pod (perhaps with an identical -`PodSpec`) must be created. Therefore, updating a secret follows the same -workflow as deploying a new container image. The `kubectl rolling-update` -command can be used ([man page](/docs/user-guide/kubectl/kubectl_rolling-update)). - -The [`resourceVersion`](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/devel/api-conventions.md#concurrency-control-and-consistency) -of the secret is not specified when it is referenced. -Therefore, if a secret is updated at about the same time as pods are starting, -then it is not defined which version of the secret will be used for the pod. It -is not possible currently to check what resource version of a secret object was -used when a pod was created. It is planned that pods will report this -information, so that a replication controller restarts ones using an old -`resourceVersion`. In the interim, if this is a concern, it is recommended to not -update the data of existing secrets, but to create new ones with distinct names. - -## Use cases - -### Use-Case: Pod with ssh keys - -Create a secret containing some ssh keys: - -```shell -$ kubectl create secret generic my-secret --from-file=ssh-privatekey=/path/to/.ssh/id_rsa --from-file=ssh-publickey=/path/to/.ssh/id_rsa.pub -``` - -**Security Note:** think carefully before sending your own ssh keys: other users of the cluster may have access to the secret. Use a service account which you want to have accessible to all the users with whom you share the kubernetes cluster, and can revoke if they are compromised. - - -Now we can create a pod which references the secret with the ssh key and -consumes it in a volume: - -```json -{ - "kind": "Pod", - "apiVersion": "v1", - "metadata": { - "name": "secret-test-pod", - "labels": { - "name": "secret-test" - } - }, - "spec": { - "volumes": [ - { - "name": "secret-volume", - "secret": { - "secretName": "ssh-key-secret" - } - } - ], - "containers": [ - { - "name": "ssh-test-container", - "image": "mySshImage", - "volumeMounts": [ - { - "name": "secret-volume", - "readOnly": true, - "mountPath": "/etc/secret-volume" - } - ] - } - ] - } -} -``` - -When the container's command runs, the pieces of the key will be available in: - -```shell -/etc/secret-volume/id-rsa.pub -/etc/secret-volume/id-rsa -``` - -The container is then free to use the secret data to establish an ssh connection. - -### Use-Case: Pods with prod / test credentials - -This example illustrates a pod which consumes a secret containing prod -credentials and another pod which consumes a secret with test environment -credentials. - -Make the secrets: - -```shell -$ kubectl create secret generic prod-db-password --from-literal=user=produser --from-literal=password=Y4nys7f11 -secret "prod-db-password" created -$ kubectl create secret generic test-db-password --from-literal=user=testuser --from-literal=password=iluvtests -secret "test-db-password" created -``` - -Now make the pods: - -```json -{ - "apiVersion": "v1", - "kind": "List", - "items": - [{ - "kind": "Pod", - "apiVersion": "v1", - "metadata": { - "name": "prod-db-client-pod", - "labels": { - "name": "prod-db-client" - } - }, - "spec": { - "volumes": [ - { - "name": "secret-volume", - "secret": { - "secretName": "prod-db-secret" - } - } - ], - "containers": [ - { - "name": "db-client-container", - "image": "myClientImage", - "volumeMounts": [ - { - "name": "secret-volume", - "readOnly": true, - "mountPath": "/etc/secret-volume" - } - ] - } - ] - } - }, - { - "kind": "Pod", - "apiVersion": "v1", - "metadata": { - "name": "test-db-client-pod", - "labels": { - "name": "test-db-client" - } - }, - "spec": { - "volumes": [ - { - "name": "secret-volume", - "secret": { - "secretName": "test-db-secret" - } - } - ], - "containers": [ - { - "name": "db-client-container", - "image": "myClientImage", - "volumeMounts": [ - { - "name": "secret-volume", - "readOnly": true, - "mountPath": "/etc/secret-volume" - } - ] - } - ] - } - }] -} -``` - -Both containers will have the following files present on their filesystems: - -```shell -/etc/secret-volume/username -/etc/secret-volume/password -``` - -Note how the specs for the two pods differ only in one field; this facilitates -creating pods with different capabilities from a common pod config template. - -You could further simplify the base pod specification by using two Service Accounts: -one called, say, `prod-user` with the `prod-db-secret`, and one called, say, -`test-user` with the `test-db-secret`. Then, the pod spec can be shortened to, for example: - -```json -{ -"kind": "Pod", -"apiVersion": "v1", -"metadata": { - "name": "prod-db-client-pod", - "labels": { - "name": "prod-db-client" - } -}, -"spec": { - "serviceAccount": "prod-db-client", - "containers": [ - { - "name": "db-client-container", - "image": "myClientImage" - } - ] -} -``` - -### Use-case: Dotfiles in secret volume - -In order to make piece of data 'hidden' (ie, in a file whose name begins with a dot character), simply -make that key begin with a dot. For example, when the following secret secret is mounted into a volume: - -```json -{ - "kind": "Secret", - "apiVersion": "v1", - "metadata": { - "name": "dotfile-secret" - }, - "data": { - ".secret-file": "dmFsdWUtMg0KDQo=", - } -} - -{ - "kind": "Pod", - "apiVersion": "v1", - "metadata": { - "name": "secret-dotfiles-pod", - }, - "spec": { - "volumes": [ - { - "name": "secret-volume", - "secret": { - "secretName": "dotfile-secret" - } - } - ], - "containers": [ - { - "name": "dotfile-test-container", - "image": "gcr.io/google_containers/busybox", - "command": "ls -l /etc/secret-volume" - "volumeMounts": [ - { - "name": "secret-volume", - "readOnly": true, - "mountPath": "/etc/secret-volume" - } - ] - } - ] - } -} -``` - - -The `secret-volume` will contain a single file, called `.secret-file`, and -the `dotfile-test-container` will have this file present at the path -`/etc/secret-volume/.secret-file`. - -**NOTE** - -Files beginning with dot characters are hidden from the output of `ls -l`; -you must use `ls -la` to see them when listing directory contents. - - -### Use-case: Secret visible to one container in a pod - - - -Consider a program that needs to handle HTTP requests, do some complex business -logic, and then sign some messages with an HMAC. Because it has complex -application logic, there might be an unnoticed remote file reading exploit in -the server, which could expose the private key to an attacker. - -This could be divided into two processes in two containers: a frontend container -which handles user interaction and business logic, but which cannot see the -private key; and a signer container that can see the private key, and responds -to simple signing requests from the frontend (e.g. over localhost networking). - -With this partitioned approach, an attacker now has to trick the application -server into doing something rather arbitrary, which may be harder than getting -it to read a file. - - - -## Security Properties - -### Protections - -Because `secret` objects can be created independently of the `pods` that use -them, there is less risk of the secret being exposed during the workflow of -creating, viewing, and editing pods. The system can also take additional -precautions with `secret` objects, such as avoiding writing them to disk where -possible. - -A secret is only sent to a node if a pod on that node requires it. It is not -written to disk. It is stored in a tmpfs. It is deleted once the pod that -depends on it is deleted. - -On most Kubernetes-project-maintained distributions, communication between user -to the apiserver, and from apiserver to the kubelets, is protected by SSL/TLS. -Secrets are protected when transmitted over these channels. - -Secret data on nodes is stored in tmpfs volumes and thus does not come to rest -on the node. - -There may be secrets for several pods on the same node. However, only the -secrets that a pod requests are potentially visible within its containers. -Therefore, one Pod does not have access to the secrets of another pod. - -There may be several containers in a pod. However, each container in a pod has -to request the secret volume in its `volumeMounts` for it to be visible within -the container. This can be used to construct useful [security partitions at the -Pod level](#use-case-two-containers). - -### Risks - - - In the API server secret data is stored as plaintext in etcd; therefore: - - Administrators should limit access to etcd to admin users - - Secret data in the API server is at rest on the disk that etcd uses; admins may want to wipe/shred disks - used by etcd when no longer in use - - Applications still need to protect the value of secret after reading it from the volume, - such as not accidentally logging it or transmitting it to an untrusted party. - - A user who can create a pod that uses a secret can also see the value of that secret. Even - if apiserver policy does not allow that user to read the secret object, the user could - run a pod which exposes the secret. - - If multiple replicas of etcd are run, then the secrets will be shared between them. - By default, etcd does not secure peer-to-peer communication with SSL/TLS, though this can be configured. - - It is not possible currently to control which users of a Kubernetes cluster can - access a secret. Support for this is planned. - - Currently, anyone with root on any node can read any secret from the apiserver, - by impersonating the kubelet. It is a planned feature to only send secrets to - nodes that actually require them, to restrict the impact of a root exploit on a - single node. diff --git a/docs/user-guide/secrets/index.md b/docs/user-guide/secrets/index.md index 1bb3d262eb..648e7715b9 100644 --- a/docs/user-guide/secrets/index.md +++ b/docs/user-guide/secrets/index.md @@ -1,59 +1,672 @@ --- --- -Following this example, you will create a secret and a [pod](/docs/user-guide/pods/) that consumes that secret in a [volume](/docs/user-guide/volumes/). See [Secrets design document](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/secrets.md) for more information. +Objects of type `secret` are intended to hold sensitive information, such as +passwords, OAuth tokens, and ssh keys. Putting this information in a `secret` +is safer and more flexible than putting it verbatim in a `pod` definition or in +a docker image. See [Secrets design document](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/secrets.md) for more information. -## Step Zero: Prerequisites +* TOC +{:toc} -This example assumes you have a Kubernetes cluster installed and running, and that you have -installed the `kubectl` command line tool somewhere in your path. Please see the [getting -started](/docs/getting-started-guides/) for installation instructions for your platform. +## Overview of Secrets -## Step One: Create the secret +A Secret is an object that contains a small amount of sensitive data such as +a password, a token, or a key. Such information might otherwise be put in a +Pod specification or in an image; putting it in a Secret object allows for +more control over how it is used, and reduces the risk of accidental exposure. -A secret contains a set of named byte arrays. +Users can create secrets, and the system also creates some secrets. -Use the [`secret.yaml`](/docs/user-guide/secrets/secret.yaml) file to create a secret: +To use a secret, a pod needs to reference the secret. +A secret can be used with a pod in two ways: as files in a [volume](/docs/user-guide/volumes) mounted on one or more of +its containers, or used by kubelet when pulling images for the pod. + +### Built-in Secrets + +#### Service Accounts Automatically Create and Attach Secrets with API Credentials + +Kubernetes automatically creates secrets which contain credentials for +accessing the API and it automatically modifies your pods to use this type of +secret. + +The automatic creation and use of API credentials can be disabled or overridden +if desired. However, if all you need to do is securely access the apiserver, +this is the recommended workflow. + +See the [Service Account](/docs/user-guide/service-accounts) documentation for more +information on how Service Accounts work. + +### Creating your own Secrets + +#### Creating a Secret Using kubectl create secret + +Say that some pods need to access a database. The +username and password that the pods should use is in the files +`./username.txt` and `./password.txt` on your local machine. ```shell -$ kubectl create -f docs/user-guide/secrets/secret.yaml +# Create files needed for rest of example. +$ echo "admin" > ./username.txt +$ echo "1f2d1e2e67df" > ./password.txt ``` -You can use `kubectl` to see information about the secret: +The `kubectl create secret` command +packages these files into a Secret and creates +the object on the Apiserver. + +```shell +$ kubectl create secret generic db-user-pass --from-file=./username.txt --from-file=./password.txt +secret "db-user-pass" created +``` + +You can check that the secret was created like this: ```shell $ kubectl get secrets -NAME TYPE DATA -test-secret Opaque 2 +NAME TYPE DATA AGE +db-user-pass Opaque 2 51s +$ kubectl describe secrets/db-user-pass +Name: db-user-pass +Namespace: default +Labels: +Annotations: -$ kubectl describe secret test-secret -Name: test-secret -Labels: -Annotations: - -Type: Opaque +Type: Opaque Data ==== -data-1: 9 bytes -data-2: 11 bytes +password.txt: 13 bytes +username.txt: 6 bytes ``` -## Step Two: Create a pod that consumes a secret +Note that neither `get` nor `describe` shows the contents of the file by default. +This is to protect the secret from being exposed accidentally to someone looking +or from being stored in a terminal log. -Pods consume secrets in volumes. Now that you have created a secret, you can create a pod that -consumes it. +See [decoding a secret](#decoding-a-secret) for how to see the contents. -Use the [`secret-pod.yaml`](/docs/user-guide/secrets/secret-pod.yaml) file to create a Pod that consumes the secret. +#### Creating a Secret Manually + +You can also create a secret object in a file first, +in json or yaml format, and then create that object. + +Each item must be base64 encoded: ```shell -$ kubectl create -f docs/user-guide/secrets/secret-pod.yaml +$ echo "admin" | base64 +YWRtaW4K +$ echo "1f2d1e2e67df" | base64 +MWYyZDFlMmU2N2RmCg== ``` -This pod runs a binary that displays the content of one of the pieces of secret data in the secret -volume: +Now write a secret object that looks like this: + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: mysecret +type: Opaque +data: + password: MWYyZDFlMmU2N2RmCg== + username: YWRtaW4K +``` + +The data field is a map. Its keys must match +[`DNS_SUBDOMAIN`](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/design/identifiers.md), except that leading dots are also +allowed. The values are arbitrary data, encoded using base64. + +Create the secret using [`kubectl create`](/docs/user-guide/kubectl/kubectl_create/): ```shell -$ kubectl logs secret-test-pod -2015-04-29T21:17:24.712206409Z content of file "/etc/secret-volume/data-1": value-1 -``` \ No newline at end of file +$ kubectl create -f ./secret.yaml +secret "mysecret" created +``` + +**Encoding Note:** The serialized JSON and YAML values of secret data are encoded as +base64 strings. Newlines are not valid within these strings and must be +omitted (i.e. do not use `-b` option of `base64` which breaks long lines.) + +#### Decoding a Secret + +Get back the secret created in the previous section: + +```shell +$ kubectl get secret mysecret -o yaml +apiVersion: v1 +data: + password: MWYyZDFlMmU2N2RmCg== + username: YWRtaW4K +kind: Secret +metadata: + creationTimestamp: 2016-01-22T18:41:56Z + name: mysecret + namespace: default + resourceVersion: "164619" + selfLink: /api/v1/namespaces/default/secrets/mysecret + uid: cfee02d6-c137-11e5-8d73-42010af00002 +type: Opaque +``` + +Decode the password field: + +```shell +$ echo "MWYyZDFlMmU2N2RmCg==" | base64 -D +1f2d1e2e67df +``` + +### Using Secrets + +Secrets can be mounted as data volumes or be exposed as environment variables to +be used by a container in a pod. They can also be used by other parts of the +system, without being directly exposed to the pod. For example, they can hold +credentials that other parts of the system should use to interact with external +systems on your behalf. + +#### Using Secrets as Files from a Pod + +To consume a Secret in a volume in a Pod: + +1. Create a secret or use an existing one. Multiple pods can reference the same secret. +1. Modify your Pod definition to add a volume under `spec.volumes[]`. Name the volume anything, and have a `spec.volumes[].secret.secretName` field equal to the name of the secret object. +1. Add a `spec.containers[].volumeMounts[]` to each container that needs the secret. Specify `spec.containers[].volumeMounts[].readOnly = true` and `spec.containers[].volumeMounts[].mountPath` to an unused directory name where you would like the secrets to appear. +1. Modify your image and/or command line so that the the program looks for files in that directory. Each key in the secret `data` map becomes the filename under `mountPath`. + +This is an example of a pod that mounts a secret in a volume: + +```json +{ + "apiVersion": "v1", + "kind": "Pod", + "metadata": { + "name": "mypod", + "namespace": "myns" + }, + "spec": { + "containers": [{ + "name": "mypod", + "image": "redis", + "volumeMounts": [{ + "name": "foo", + "mountPath": "/etc/foo", + "readOnly": true + }] + }], + "volumes": [{ + "name": "foo", + "secret": { + "secretName": "mysecret" + } + }] + } +} +``` + +Each secret you want to use needs to be referred to in `spec.volumes`. + +If there are multiple containers in the pod, then each container needs its +own `volumeMounts` block, but only one `spec.volumes` is needed per secret. + +You can package many files into one secret, or use many secrets, whichever is convenient. + +See another example of creating a secret and a pod that consumes that secret in a volume [here](/docs/user-guide/secrets/). + +##### Consuming Secret Values from Volumes + +Inside the container that mounts a secret volume, the secret keys appear as +files and the secret values are base-64 decoded and stored inside these files. +This is the result of commands +executed inside the container from the example above: + +```shell +$ ls /etc/foo/ +username +password +$ cat /etc/foo/username +admin +$ cat /etc/foo/password +1f2d1e2e67df +``` + +The program in a container is responsible for reading the secret(s) from the +files. + +#### Using Secrets as Environment Variables + +To use a secret in an environment variable in a pod: + +1. Create a secret or use an existing one. Multiple pods can reference the same secret. +1. Modify your Pod definition in each container that you wish to consume the value of a secret key to add an environment variable for each secret key you wish to consume. The environment variable that consumes the secret key should populate the secret's name and key in `env[x].valueFrom.secretKeyRef`. +1. Modify your image and/or command line so that the the program looks for values in the specified environment variabless + +This is an example of a pod that mounts a secret in a volume: + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: secret-env-pod +spec: + containers: + - name: mycontainer + image: redis + env: + - name: SECRET_USERNAME + valueFrom: + secretKeyRef: + name: mysecret + key: username + - name: SECRET_PASSWORD + valueFrom: + secretKeyRef: + name: mysecret + key: password + restartPolicy: Never +``` + +##### Consuming Secret Values from Environment Variables + +Inside a container that consumes a secret in an environment variables, the secret keys appear as +normal environment variables containing the base-64 decoded values of the secret data. +This is the result of commands executed inside the container from the example above: + +```shell +$ echo $SECRET_USERNAME +admin +$ cat /etc/foo/password +1f2d1e2e67df +``` + +#### Using imagePullSecrets + +An imagePullSecret is a way to pass a secret that contains a Docker (or other) image registry +password to the Kubelet so it can pull a private image on behalf of your Pod. + +##### Manually specifying an imagePullSecret + +Use of imagePullSecrets is described in the [images documentation](/docs/user-guide/images/#specifying-imagepullsecrets-on-a-pod) + +### Arranging for imagePullSecrets to be Automatically Attached + +You can manually create an imagePullSecret, and reference it from +a serviceAccount. Any pods created with that serviceAccount +or that default to use that serviceAccount, will get their imagePullSecret +field set to that of the service account. +See [here](/docs/user-guide/service-accounts/#adding-imagepullsecrets-to-a-service-account) + for a detailed explanation of that process. + +#### Automatic Mounting of Manually Created Secrets + +We plan to extend the service account behavior so that manually created +secrets (e.g. one containing a token for accessing a github account) +can be automatically attached to pods based on their service account. +*This is not implemented yet. See [issue 9902](http://issue.k8s.io/9902).* + +## Details + +### Restrictions + +Secret volume sources are validated to ensure that the specified object +reference actually points to an object of type `Secret`. Therefore, a secret +needs to be created before any pods that depend on it. + +Secret API objects reside in a namespace. They can only be referenced by pods +in that same namespace. + +Individual secrets are limited to 1MB in size. This is to discourage creation +of very large secrets which would exhaust apiserver and kubelet memory. +However, creation of many smaller secrets could also exhaust memory. More +comprehensive limits on memory usage due to secrets is a planned feature. + +Kubelet only supports use of secrets for Pods it gets from the API server. +This includes any pods created using kubectl, or indirectly via a replication +controller. It does not include pods created via the kubelets +`--manifest-url` flag, its `--config` flag, or its REST API (these are +not common ways to create pods.) + +### Secret and Pod Lifetime interaction + +When a pod is created via the API, there is no check whether a referenced +secret exists. Once a pod is scheduled, the kubelet will try to fetch the +secret value. If the secret cannot be fetched because it does not exist or +because of a temporary lack of connection to the API server, kubelet will +periodically retry. It will report an event about the pod explaining the +reason it is not started yet. Once the a secret is fetched, the kubelet will +create and mount a volume containing it. None of the pod's containers will +start until all the pod's volumes are mounted. + +Once the kubelet has started a pod's containers, its secret volumes will not +change, even if the secret resource is modified. To change the secret used, +the original pod must be deleted, and a new pod (perhaps with an identical +`PodSpec`) must be created. Therefore, updating a secret follows the same +workflow as deploying a new container image. The `kubectl rolling-update` +command can be used ([man page](/docs/user-guide/kubectl/kubectl_rolling-update)). + +The [`resourceVersion`](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/devel/api-conventions.md#concurrency-control-and-consistency) +of the secret is not specified when it is referenced. +Therefore, if a secret is updated at about the same time as pods are starting, +then it is not defined which version of the secret will be used for the pod. It +is not possible currently to check what resource version of a secret object was +used when a pod was created. It is planned that pods will report this +information, so that a replication controller restarts ones using an old +`resourceVersion`. In the interim, if this is a concern, it is recommended to not +update the data of existing secrets, but to create new ones with distinct names. + +## Use cases + +### Use-Case: Pod with ssh keys + +Create a secret containing some ssh keys: + +```shell +$ kubectl create secret generic my-secret --from-file=ssh-privatekey=/path/to/.ssh/id_rsa --from-file=ssh-publickey=/path/to/.ssh/id_rsa.pub +``` + +**Security Note:** think carefully before sending your own ssh keys: other users of the cluster may have access to the secret. Use a service account which you want to have accessible to all the users with whom you share the kubernetes cluster, and can revoke if they are compromised. + + +Now we can create a pod which references the secret with the ssh key and +consumes it in a volume: + +```json +{ + "kind": "Pod", + "apiVersion": "v1", + "metadata": { + "name": "secret-test-pod", + "labels": { + "name": "secret-test" + } + }, + "spec": { + "volumes": [ + { + "name": "secret-volume", + "secret": { + "secretName": "ssh-key-secret" + } + } + ], + "containers": [ + { + "name": "ssh-test-container", + "image": "mySshImage", + "volumeMounts": [ + { + "name": "secret-volume", + "readOnly": true, + "mountPath": "/etc/secret-volume" + } + ] + } + ] + } +} +``` + +When the container's command runs, the pieces of the key will be available in: + +```shell +/etc/secret-volume/id-rsa.pub +/etc/secret-volume/id-rsa +``` + +The container is then free to use the secret data to establish an ssh connection. + +### Use-Case: Pods with prod / test credentials + +This example illustrates a pod which consumes a secret containing prod +credentials and another pod which consumes a secret with test environment +credentials. + +Make the secrets: + +```shell +$ kubectl create secret generic prod-db-password --from-literal=user=produser --from-literal=password=Y4nys7f11 +secret "prod-db-password" created +$ kubectl create secret generic test-db-password --from-literal=user=testuser --from-literal=password=iluvtests +secret "test-db-password" created +``` + +Now make the pods: + +```json +{ + "apiVersion": "v1", + "kind": "List", + "items": + [{ + "kind": "Pod", + "apiVersion": "v1", + "metadata": { + "name": "prod-db-client-pod", + "labels": { + "name": "prod-db-client" + } + }, + "spec": { + "volumes": [ + { + "name": "secret-volume", + "secret": { + "secretName": "prod-db-secret" + } + } + ], + "containers": [ + { + "name": "db-client-container", + "image": "myClientImage", + "volumeMounts": [ + { + "name": "secret-volume", + "readOnly": true, + "mountPath": "/etc/secret-volume" + } + ] + } + ] + } + }, + { + "kind": "Pod", + "apiVersion": "v1", + "metadata": { + "name": "test-db-client-pod", + "labels": { + "name": "test-db-client" + } + }, + "spec": { + "volumes": [ + { + "name": "secret-volume", + "secret": { + "secretName": "test-db-secret" + } + } + ], + "containers": [ + { + "name": "db-client-container", + "image": "myClientImage", + "volumeMounts": [ + { + "name": "secret-volume", + "readOnly": true, + "mountPath": "/etc/secret-volume" + } + ] + } + ] + } + }] +} +``` + +Both containers will have the following files present on their filesystems: + +```shell +/etc/secret-volume/username +/etc/secret-volume/password +``` + +Note how the specs for the two pods differ only in one field; this facilitates +creating pods with different capabilities from a common pod config template. + +You could further simplify the base pod specification by using two Service Accounts: +one called, say, `prod-user` with the `prod-db-secret`, and one called, say, +`test-user` with the `test-db-secret`. Then, the pod spec can be shortened to, for example: + +```json +{ +"kind": "Pod", +"apiVersion": "v1", +"metadata": { + "name": "prod-db-client-pod", + "labels": { + "name": "prod-db-client" + } +}, +"spec": { + "serviceAccount": "prod-db-client", + "containers": [ + { + "name": "db-client-container", + "image": "myClientImage" + } + ] +} +``` + +### Use-case: Dotfiles in secret volume + +In order to make piece of data 'hidden' (ie, in a file whose name begins with a dot character), simply +make that key begin with a dot. For example, when the following secret secret is mounted into a volume: + +```json +{ + "kind": "Secret", + "apiVersion": "v1", + "metadata": { + "name": "dotfile-secret" + }, + "data": { + ".secret-file": "dmFsdWUtMg0KDQo=", + } +} + +{ + "kind": "Pod", + "apiVersion": "v1", + "metadata": { + "name": "secret-dotfiles-pod", + }, + "spec": { + "volumes": [ + { + "name": "secret-volume", + "secret": { + "secretName": "dotfile-secret" + } + } + ], + "containers": [ + { + "name": "dotfile-test-container", + "image": "gcr.io/google_containers/busybox", + "command": "ls -l /etc/secret-volume" + "volumeMounts": [ + { + "name": "secret-volume", + "readOnly": true, + "mountPath": "/etc/secret-volume" + } + ] + } + ] + } +} +``` + + +The `secret-volume` will contain a single file, called `.secret-file`, and +the `dotfile-test-container` will have this file present at the path +`/etc/secret-volume/.secret-file`. + +**NOTE** + +Files beginning with dot characters are hidden from the output of `ls -l`; +you must use `ls -la` to see them when listing directory contents. + + +### Use-case: Secret visible to one container in a pod + + + +Consider a program that needs to handle HTTP requests, do some complex business +logic, and then sign some messages with an HMAC. Because it has complex +application logic, there might be an unnoticed remote file reading exploit in +the server, which could expose the private key to an attacker. + +This could be divided into two processes in two containers: a frontend container +which handles user interaction and business logic, but which cannot see the +private key; and a signer container that can see the private key, and responds +to simple signing requests from the frontend (e.g. over localhost networking). + +With this partitioned approach, an attacker now has to trick the application +server into doing something rather arbitrary, which may be harder than getting +it to read a file. + + + +## Security Properties + +### Protections + +Because `secret` objects can be created independently of the `pods` that use +them, there is less risk of the secret being exposed during the workflow of +creating, viewing, and editing pods. The system can also take additional +precautions with `secret` objects, such as avoiding writing them to disk where +possible. + +A secret is only sent to a node if a pod on that node requires it. It is not +written to disk. It is stored in a tmpfs. It is deleted once the pod that +depends on it is deleted. + +On most Kubernetes-project-maintained distributions, communication between user +to the apiserver, and from apiserver to the kubelets, is protected by SSL/TLS. +Secrets are protected when transmitted over these channels. + +Secret data on nodes is stored in tmpfs volumes and thus does not come to rest +on the node. + +There may be secrets for several pods on the same node. However, only the +secrets that a pod requests are potentially visible within its containers. +Therefore, one Pod does not have access to the secrets of another pod. + +There may be several containers in a pod. However, each container in a pod has +to request the secret volume in its `volumeMounts` for it to be visible within +the container. This can be used to construct useful [security partitions at the +Pod level](#use-case-two-containers). + +### Risks + + - In the API server secret data is stored as plaintext in etcd; therefore: + - Administrators should limit access to etcd to admin users + - Secret data in the API server is at rest on the disk that etcd uses; admins may want to wipe/shred disks + used by etcd when no longer in use + - Applications still need to protect the value of secret after reading it from the volume, + such as not accidentally logging it or transmitting it to an untrusted party. + - A user who can create a pod that uses a secret can also see the value of that secret. Even + if apiserver policy does not allow that user to read the secret object, the user could + run a pod which exposes the secret. + - If multiple replicas of etcd are run, then the secrets will be shared between them. + By default, etcd does not secure peer-to-peer communication with SSL/TLS, though this can be configured. + - It is not possible currently to control which users of a Kubernetes cluster can + access a secret. Support for this is planned. + - Currently, anyone with root on any node can read any secret from the apiserver, + by impersonating the kubelet. It is a planned feature to only send secrets to + nodes that actually require them, to restrict the impact of a root exploit on a + single node. diff --git a/docs/user-guide/secrets/walkthrough.md b/docs/user-guide/secrets/walkthrough.md new file mode 100644 index 0000000000..1bb3d262eb --- /dev/null +++ b/docs/user-guide/secrets/walkthrough.md @@ -0,0 +1,59 @@ +--- +--- + +Following this example, you will create a secret and a [pod](/docs/user-guide/pods/) that consumes that secret in a [volume](/docs/user-guide/volumes/). See [Secrets design document](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/secrets.md) for more information. + +## Step Zero: Prerequisites + +This example assumes you have a Kubernetes cluster installed and running, and that you have +installed the `kubectl` command line tool somewhere in your path. Please see the [getting +started](/docs/getting-started-guides/) for installation instructions for your platform. + +## Step One: Create the secret + +A secret contains a set of named byte arrays. + +Use the [`secret.yaml`](/docs/user-guide/secrets/secret.yaml) file to create a secret: + +```shell +$ kubectl create -f docs/user-guide/secrets/secret.yaml +``` + +You can use `kubectl` to see information about the secret: + +```shell +$ kubectl get secrets +NAME TYPE DATA +test-secret Opaque 2 + +$ kubectl describe secret test-secret +Name: test-secret +Labels: +Annotations: + +Type: Opaque + +Data +==== +data-1: 9 bytes +data-2: 11 bytes +``` + +## Step Two: Create a pod that consumes a secret + +Pods consume secrets in volumes. Now that you have created a secret, you can create a pod that +consumes it. + +Use the [`secret-pod.yaml`](/docs/user-guide/secrets/secret-pod.yaml) file to create a Pod that consumes the secret. + +```shell +$ kubectl create -f docs/user-guide/secrets/secret-pod.yaml +``` + +This pod runs a binary that displays the content of one of the pieces of secret data in the secret +volume: + +```shell +$ kubectl logs secret-test-pod +2015-04-29T21:17:24.712206409Z content of file "/etc/secret-volume/data-1": value-1 +``` \ No newline at end of file diff --git a/docs/user-guide/security-context.md b/docs/user-guide/security-context.md index 434ae29d38..df159de8e4 100644 --- a/docs/user-guide/security-context.md +++ b/docs/user-guide/security-context.md @@ -1,4 +1,83 @@ --- --- -A security context defines the operating system security settings (uid, gid, capabilities, SELinux role, etc..) applied to a container. See [security context design](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/security_context.md) for more details. \ No newline at end of file +A security context defines the operating system security settings (uid, gid, capabilities, SELinux role, etc..) applied to a container. See [security context design](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/security_context.md) for more details. + +There are two levels of security context: pod level security context, and container level security context. + +## Pod Level Security Context +Setting security context at the pod applies those settings to all containers in the pod + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: hello-world +spec: + containers: + # specification of the pod’s containers + # ... + securityContext: + fsGroup: 1234 + supplementalGroups: [5678] + seLinuxOptions: + level: "s0:c123,c456" +``` + +Please refer to the [API documentation](/docs/api-reference/v1/definitions/#_v1_podsecuritycontext) for a detailed listing and +description of all the fields available within the pod security +context. + +### Volume Security context + +Another functionality of pod level security context is that it applies +those settings to volumes where applicable. Specifically `fsGroup` and +`seLinuxOptions` are applied to the volume as follows: + +#### `fsGroup` + +Volumes which support ownership management are modified to be owned +and writable by the GID specified in `fsGroup`. See the +[Ownership Management design document](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/proposals/volume-ownership-management.md) +for more details. + +#### `selinuxOptions` + +Volumes which support SELinux labeling are relabled to be accessable +by the label specified unders `seLinuxOptions`. Usually you will only +need to set the `level` section. This sets the SELinux MCS label given +to all containers within the pod as well as the volume. + +**Attention**: Once the MCS label is specified in the pod description +all pods with the same label will able to access the +volume. So if interpod protection is needed you must ensure each pod +is assigned a unique MCS label. + +## Container Level Security Context + +Container level security context settings are applied to the specific +container and override settings made at the pod level where there is +overlap. Container level settings however do not affect the pod's +volumes. + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: hello-world +spec: + containers: + - name: hello-world-container + # The container definition + # ... + securityContext: + privileged: true + seLinuxOptions: + level: "s0:c123,c456" +``` + +Please refer to the +[API documentation](/docs/api-reference/v1/definitions/#_v1_securitycontext) +for a detailed listing and description of all the fields available +within the container security context. + diff --git a/docs/user-guide/services.md b/docs/user-guide/services/index.md similarity index 99% rename from docs/user-guide/services.md rename to docs/user-guide/services/index.md index 60a373c385..10189ddad0 100644 --- a/docs/user-guide/services.md +++ b/docs/user-guide/services/index.md @@ -138,7 +138,7 @@ created. You can manually map the service to your own specific endpoints: ``` NOTE: Endpoint IPs may not be loopback (127.0.0.0/8), link-local -(169.254.0.0/16), or link-local multicast ((224.0.0.0/24). +(169.254.0.0/16), or link-local multicast (224.0.0.0/24). Accessing a `Service` without a selector works the same as if it had selector. The traffic will be routed to endpoints defined by the user (`1.2.3.4:9376` in @@ -569,3 +569,7 @@ through a load-balancer, though in those cases the client IP does get altered. Service is a top-level resource in the kubernetes REST API. More details about the API object can be found at: [Service API object](/docs/api-reference/v1/definitions/#_v1_service). + +## For More Information + +Read [Service Operations](/docs/user-guide/services/operations/). diff --git a/docs/user-guide/services/load-balancer-sample.json b/docs/user-guide/services/load-balancer-sample.json new file mode 100644 index 0000000000..847f21dbb6 --- /dev/null +++ b/docs/user-guide/services/load-balancer-sample.json @@ -0,0 +1,17 @@ +{ + "kind": "Service", + "apiVersion": "v1", + "metadata": { + "name": "myapp" + }, + "spec": { + "ports": [{ + "port": 8765, + "targetPort": 9376 + }], + "selector": { + "app": "example" + }, + "type": "LoadBalancer" + } +} diff --git a/docs/user-guide/services/load-balancer-sample.yaml b/docs/user-guide/services/load-balancer-sample.yaml new file mode 100644 index 0000000000..b66c5ea231 --- /dev/null +++ b/docs/user-guide/services/load-balancer-sample.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: myapp +spec: + ports: + - + port: 8765 + targetPort: 9376 + selector: + app: example + type: LoadBalancer diff --git a/docs/user-guide/services/operations.md b/docs/user-guide/services/operations.md new file mode 100644 index 0000000000..64551d47a4 --- /dev/null +++ b/docs/user-guide/services/operations.md @@ -0,0 +1,161 @@ +--- +--- +* TOC +{:toc} + +Services map a port on each cluster node to ports on one or more pods. + +The mapping uses a `selector` key:value pair in the service, and the +`labels` property of pods. Any pods whose labels match the service selector +are made accessible through the service's port. + +For more information, see the +[Services Overview](/docs/user-guide/services/). + +## Create a service + +Services are created by passing a configuration file to the `kubectl create` +command: + +```shell +$ kubectl create -f FILE +``` + +Where: + +* `-f FILE` or `--filename FILE` is a relative path to a + [service configuration file](#service-configuration-file) in either JSON + or YAML format. + +A successful service create request returns the service name. You can use +a [sample file](#sample_files) below to try a create request. + +### Service configuration file + +When creating a service, you must point to a service configuration file as the +value of the `-f` flag. The configuration file can be formatted as +YAML or as JSON, and supports the following fields: + +```json +{ + "kind": "Service", + "apiVersion": "v1", + "metadata": { + "name": string + }, + "spec": { + "ports": [{ + "port": int, + "targetPort": int + }], + "selector": { + string: string + }, + "type": "LoadBalancer" + } +} +``` + +Required fields are: + +* `kind`: Always `Service`. +* `apiVersion`: Currently `v1`. +* `metadata`: Contains: + * `name`: The name to give to this service. +* `spec`: Contains: + * `ports`: The ports to map. `port` is the service port to expose on the + cluster IP. `targetPort` is the port to target on the pods that are part + of this service. + * `selector`: The label key:value pair that defines the pods to + target. + * `type`: Optional. If the type is `LoadBalancer`, sets up a [network load balancer](/docs/user-guide/load-balancer/) + for your service. This provides an externally-accessible IP address that + sends traffic to the correct port on your cluster nodes. + +For the full `service` schema see the +[Kubernetes api reference](/docs/api-reference/v1/definitions/#_v1_service). + +### Sample files + +The following service configuration files assume that you have a set of pods +that expose port 9376 and carry the label `app=example`. + +Both files create a new service named `myapp` which resolves to TCP port 9376 +on any pod with the `app=example` label. + +The difference in the files is in how the service is accessed. The first file +does not create an external load balancer; the service can be accessed through +port 8765 on any of the nodes' IP addresses. + +{% capture tabspec %}servicesample +JSON,json,service-sample.json,/docs/user-guide/services/service-sample.json +YAML,yaml,service-sample.yaml,/docs/user-guide/services/service-sample.yaml{% endcapture %} +{% include tabs.html %} + +The second file uses +[network load balancing](/docs/user-guide/load-balancer/) to create a +single IP address that spreads traffic to all of the nodes in +your cluster. This option is specified with the +`"type": "LoadBalancer"` property. + +{% capture tabspec %}loadbalancesample +JSON,json,load-balancer-sample.json,/docs/user-guide/services/load-balancer-sample.json +YAML,yaml,load-balancer-sample.yaml,/docs/user-guide/services/load-balancer-sample.yaml{% endcapture %} +{% include tabs.html %} + +To access the service, a client connects to the external IP address, which +forwards to port 8765 on a node in the cluster, which in turn accesses +port 9376 on the pod. See the +[Service configuration file](#service-configuration-file) section of this doc +for directions on finding the external IP address. + +## View a service + +To list all services on a cluster, use the +`kubectl get` command: + +```shell +$ kubectl get services +``` + +A successful get request returns all services that exist on the specified +cluster: + +```shell +NAME LABELS SELECTOR IP PORT +myapp app=MyApp 10.123.255.83 8765/TCP +``` + +To return information about a specific service, use the +`kubectl describe` command: + +```shell +$ kubectl describe service NAME +``` + +Details about the specific service are returned: + +```conf +Name: myapp +Labels: +Selector: app=MyApp +IP: 10.123.255.83 +Port: 8765/TCP +NodePort: 31474/TCP +Endpoints: +Session Affinity: None +No events. +``` + +To return information about a service when event information is not required, +substitute `get` for `describe`. + +## Delete a service + +To delete a service, use the `kubectl delete` command: + +```shell +$ kubectl delete service NAME +``` + +A successful delete request returns the deleted service's name. diff --git a/docs/user-guide/services/service-sample.json b/docs/user-guide/services/service-sample.json new file mode 100644 index 0000000000..764bb32d19 --- /dev/null +++ b/docs/user-guide/services/service-sample.json @@ -0,0 +1,16 @@ +{ + "kind": "Service", + "apiVersion": "v1", + "metadata": { + "name": "myapp" + }, + "spec": { + "ports": [{ + "port": 8765, + "targetPort": 9376 + }], + "selector": { + "app": "example" + } + } +} diff --git a/docs/user-guide/services/service-sample.yaml b/docs/user-guide/services/service-sample.yaml new file mode 100644 index 0000000000..b9c214226f --- /dev/null +++ b/docs/user-guide/services/service-sample.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: myapp +spec: + ports: + - + port: 8765 + targetPort: 9376 + selector: + app: example diff --git a/docs/user-guide/ui.md b/docs/user-guide/ui.md index 0acae37975..f9f19a172e 100644 --- a/docs/user-guide/ui.md +++ b/docs/user-guide/ui.md @@ -98,7 +98,7 @@ Kubernetes supports declarative configuration. In this style, all configuration As an alternative to specifying application details in the deploy wizard, you can define your Replication Controllers and Services in YAML or JSON files, and upload the files to your Pods: -![Kubernetes Dashboard deploy from file upload](ui-dashboard-deploy-file.png) +![Kubernetes Dashboard deploy from file upload](/images/docs/ui-dashboard-deploy-file.png) ### Applications view diff --git a/docs/user-guide/update-demo/local/index.html b/docs/user-guide/update-demo/local/index.html index 47a1965b75..8399db9644 100644 --- a/docs/user-guide/update-demo/local/index.html +++ b/docs/user-guide/update-demo/local/index.html @@ -23,14 +23,26 @@ limitations under the License.
    - ID: {{server.podName}}
    - Host: {{server.host}}
    - Status: {{server.status}}
    - Image: {{server.dockerImage}}
    - Labels: -
      -
    • {{key}}={{value}}
    • -
    +
    + ID {{server.podName}} +
    +
    + Host {{server.host}} +
    +
    + Status {{server.status}} +
    +
    + Image {{server.dockerImage}} +
    +
    + Labels + +
      +
    • {{key}}={{value}}
    • +
    +
    +
    diff --git a/docs/user-guide/update-demo/local/style.css b/docs/user-guide/update-demo/local/style.css index ea8941c0ac..8d747d9779 100644 --- a/docs/user-guide/update-demo/local/style.css +++ b/docs/user-guide/update-demo/local/style.css @@ -19,9 +19,9 @@ img { width: 100px; float: right; background-size: 100px 100px; - background-color: black; margin-left: 10px; border: none; + border-radius: 50%; } ul { @@ -33,8 +33,27 @@ ul { font-family: Roboto, Open Sans, arial; border: 1px solid black; border-radius: 5px; + border: 1px groove #DCDDDE; padding: 10px; margin: 10px; display: inline-block; - background-color: #D1D1D1; + box-shadow: 3px 3px 3px 1px #CFCFCF; + background-color: #FFFFFF; +} + +body { + background-color: #E8E8E8; +} + +.k8s-example-update-demo-card-section { + color: black; + font-size: 13px; +} + +.k8s-example-update-demo-card-section .k8s-title { + color: #7D7D7D; +} + +.k8s-example-update-demo-card-section .k8s-card-id { + font-size: bigger; } diff --git a/docs/user-guide/walkthrough/k8s201.md b/docs/user-guide/walkthrough/k8s201.md index f184f6a454..0a20740d18 100644 --- a/docs/user-guide/walkthrough/k8s201.md +++ b/docs/user-guide/walkthrough/k8s201.md @@ -183,4 +183,4 @@ For more information about health checking, see [Container Probes](/docs/user-gu ## What's Next? -For a complete application see the [guestbook example](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/examples/guestbook/). \ No newline at end of file +For a complete application see the [guestbook example](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/examples/guestbook/). diff --git a/docs/whatisk8s.md b/docs/whatisk8s.md index cf59eb1091..6e85ef9f52 100644 --- a/docs/whatisk8s.md +++ b/docs/whatisk8s.md @@ -77,7 +77,7 @@ Kubernetes satisfies a number of common needs of applications running in product * [distributing secrets](/docs/user-guide/secrets/), * [application health checking](/docs/user-guide/production-pods/#liveness-and-readiness-probes-aka-health-checks), * [replicating application instances](/docs/user-guide/replication-controller/), -* [horizontal auto-scaling](/docs/user-guide/horizontal-pod-autoscaler/), +* [horizontal auto-scaling](/docs/user-guide/horizontal-pod-autoscaling/), * [naming and discovery](/docs/user-guide/connecting-applications/), * [load balancing](/docs/user-guide/services/), * [rolling updates](/docs/user-guide/update-demo/), diff --git a/images/copycode.svg b/images/copycode.svg new file mode 100644 index 0000000000..5ad51cc151 --- /dev/null +++ b/images/copycode.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/images/docs/services-iptables-overview.svg b/images/docs/services-iptables-overview.svg index 28c9dc4c29..9745c4555e 100644 --- a/images/docs/services-iptables-overview.svg +++ b/images/docs/services-iptables-overview.svg @@ -1,498 +1,125 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Backend Pod 1 - labels: app=MyAppport: 9376 - - - - - - Backend Pod 2 - labels: app=MyAppport: 9376 - - - - - - Backend Pod 3 - labels: app=MyAppport: 9376 - - - - - - - - - - - Client - - - - - - kube-proxy - - - - - - - apiserver - - - - - - ServiceIP(iptables) - - Node - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Backend Pod 1 + labels: app=MyApp + port: 9376 + + + + + + Backend Pod 2 + labels: app=MyApp + port: 9376 + + + + + + Backend Pod 3 + labels: app=MyApp + port: 9376 + + + + + + + + + + + + Client + + + + + + kube-proxy + + + + + + + apiserver + + + + + + ServiceIP + (iptables) + + Node + diff --git a/images/docs/services-userspace-overview.svg b/images/docs/services-userspace-overview.svg index b764d12fd7..011de754bb 100644 --- a/images/docs/services-userspace-overview.svg +++ b/images/docs/services-userspace-overview.svg @@ -1,496 +1,124 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - Backend Pod 1 - labels: app=MyAppport: 9376 - - - - - - Backend Pod 2 - labels: app=MyAppport: 9376 - - - - - - Backend Pod 3 - labels: app=MyAppport: 9376 - - - - - - - - - - - - - - - Client - - - - - - kube-proxy - - - - - - - apiserver - - - - - - ServiceIP(iptables) - - - Node - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Backend Pod 1 + labels: app=MyApp + port: 9376 + + + + + + Backend Pod 2 + labels: app=MyApp + port: 9376 + + + + + + Backend Pod 3 + labels: app=MyApp + port: 9376 + + + + + + + + + + + + + + + + + Client + + + + + + kube-proxy + + + + + + + apiserver + + + + + + ServiceIP + (iptables) + + + Node + diff --git a/images/docs/ui-dashboard-deploy-file.png b/images/docs/ui-dashboard-deploy-file.png index 215b6c1555..459d7772b0 100755 Binary files a/images/docs/ui-dashboard-deploy-file.png and b/images/docs/ui-dashboard-deploy-file.png differ diff --git a/images/docs/ui-dashboard-deploy-more.png b/images/docs/ui-dashboard-deploy-more.png index 58aeda80cd..9285682b6e 100755 Binary files a/images/docs/ui-dashboard-deploy-more.png and b/images/docs/ui-dashboard-deploy-more.png differ diff --git a/images/docs/ui-dashboard-deploy-simple.png b/images/docs/ui-dashboard-deploy-simple.png index 045b4667c0..f0df6f93af 100755 Binary files a/images/docs/ui-dashboard-deploy-simple.png and b/images/docs/ui-dashboard-deploy-simple.png differ diff --git a/images/docs/ui-dashboard-zerostate.png b/images/docs/ui-dashboard-zerostate.png index 348bfeefcb..f321625308 100755 Binary files a/images/docs/ui-dashboard-zerostate.png and b/images/docs/ui-dashboard-zerostate.png differ diff --git a/images/hellonode/image_13.png b/images/hellonode/image_13.png index 2aa4031640..371f82c98c 100755 Binary files a/images/hellonode/image_13.png and b/images/hellonode/image_13.png differ diff --git a/images/icon-pencil.svg b/images/icon-pencil.svg new file mode 100644 index 0000000000..eb4ff91e85 --- /dev/null +++ b/images/icon-pencil.svg @@ -0,0 +1 @@ +icon-pencil \ No newline at end of file diff --git a/images/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png b/images/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png new file mode 100755 index 0000000000..ed793737cc Binary files /dev/null and b/images/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png differ diff --git a/images/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png b/images/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png new file mode 100755 index 0000000000..337d9ed0f9 Binary files /dev/null and b/images/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png differ diff --git a/images/jquery-ui/ui-bg_flat_10_000000_40x100.png b/images/jquery-ui/ui-bg_flat_10_000000_40x100.png new file mode 100755 index 0000000000..2fd24e2036 Binary files /dev/null and b/images/jquery-ui/ui-bg_flat_10_000000_40x100.png differ diff --git a/images/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png b/images/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png new file mode 100755 index 0000000000..0fccfbcf32 Binary files /dev/null and b/images/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png differ diff --git a/images/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png b/images/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png new file mode 100755 index 0000000000..d7899969c4 Binary files /dev/null and b/images/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png differ diff --git a/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png b/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png new file mode 100755 index 0000000000..3945b3e95a Binary files /dev/null and b/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png differ diff --git a/images/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png b/images/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png new file mode 100755 index 0000000000..06a7321e28 Binary files /dev/null and b/images/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png differ diff --git a/images/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png b/images/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png new file mode 100755 index 0000000000..2561545372 Binary files /dev/null and b/images/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png differ diff --git a/images/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png b/images/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png new file mode 100755 index 0000000000..367be20d6d Binary files /dev/null and b/images/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png differ diff --git a/images/jquery-ui/ui-icons_222222_256x240.png b/images/jquery-ui/ui-icons_222222_256x240.png new file mode 100755 index 0000000000..82fad68f5f Binary files /dev/null and b/images/jquery-ui/ui-icons_222222_256x240.png differ diff --git a/images/jquery-ui/ui-icons_228ef1_256x240.png b/images/jquery-ui/ui-icons_228ef1_256x240.png new file mode 100755 index 0000000000..0c554acbc6 Binary files /dev/null and b/images/jquery-ui/ui-icons_228ef1_256x240.png differ diff --git a/images/jquery-ui/ui-icons_444444_256x240.png b/images/jquery-ui/ui-icons_444444_256x240.png new file mode 100644 index 0000000000..a802263b58 Binary files /dev/null and b/images/jquery-ui/ui-icons_444444_256x240.png differ diff --git a/images/jquery-ui/ui-icons_555555_256x240.png b/images/jquery-ui/ui-icons_555555_256x240.png new file mode 100644 index 0000000000..7009bf752f Binary files /dev/null and b/images/jquery-ui/ui-icons_555555_256x240.png differ diff --git a/images/jquery-ui/ui-icons_777620_256x240.png b/images/jquery-ui/ui-icons_777620_256x240.png new file mode 100644 index 0000000000..e0a1fdfdc0 Binary files /dev/null and b/images/jquery-ui/ui-icons_777620_256x240.png differ diff --git a/images/jquery-ui/ui-icons_777777_256x240.png b/images/jquery-ui/ui-icons_777777_256x240.png new file mode 100644 index 0000000000..8e26ee4fd8 Binary files /dev/null and b/images/jquery-ui/ui-icons_777777_256x240.png differ diff --git a/images/jquery-ui/ui-icons_cc0000_256x240.png b/images/jquery-ui/ui-icons_cc0000_256x240.png new file mode 100644 index 0000000000..28154300a6 Binary files /dev/null and b/images/jquery-ui/ui-icons_cc0000_256x240.png differ diff --git a/images/jquery-ui/ui-icons_ef8c08_256x240.png b/images/jquery-ui/ui-icons_ef8c08_256x240.png new file mode 100755 index 0000000000..d76d10a839 Binary files /dev/null and b/images/jquery-ui/ui-icons_ef8c08_256x240.png differ diff --git a/images/jquery-ui/ui-icons_ffd27a_256x240.png b/images/jquery-ui/ui-icons_ffd27a_256x240.png new file mode 100755 index 0000000000..5e9d27a724 Binary files /dev/null and b/images/jquery-ui/ui-icons_ffd27a_256x240.png differ diff --git a/images/jquery-ui/ui-icons_ffffff_256x240.png b/images/jquery-ui/ui-icons_ffffff_256x240.png new file mode 100644 index 0000000000..4d66f596e5 Binary files /dev/null and b/images/jquery-ui/ui-icons_ffffff_256x240.png differ diff --git a/images/nav_logo.svg b/images/nav_logo.svg old mode 100755 new mode 100644 index 59d6acfde9..666997a143 --- a/images/nav_logo.svg +++ b/images/nav_logo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/images/nav_logo2.svg b/images/nav_logo2.svg old mode 100755 new mode 100644 index 99cb6aa0b9..1c88bd436a --- a/images/nav_logo2.svg +++ b/images/nav_logo2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/images/pencil.png b/images/pencil.png deleted file mode 100644 index 300600da05..0000000000 Binary files a/images/pencil.png and /dev/null differ diff --git a/jquery-ui.html b/jquery-ui.html new file mode 100755 index 0000000000..2473b49692 --- /dev/null +++ b/jquery-ui.html @@ -0,0 +1,513 @@ + + + + + jQuery UI Example Page + + + + + +

    Welcome to jQuery UI!

    + +
    +

    This page demonstrates the widgets and theme you selected in Download Builder. Please make sure you are using them with a compatible jQuery version.

    +
    + +

    YOUR COMPONENTS:

    + + + +

    Accordion

    +
    +

    First

    +
    Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
    +

    Second

    +
    Phasellus mattis tincidunt nibh.
    +

    Third

    +
    Nam dui erat, auctor a, dignissim quis.
    +
    + + + + +

    Autocomplete

    +
    + +
    + + + + +

    Button

    + +
    +
    + + + +
    +
    + + + + +

    Tabs

    +
    + +
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
    +
    Phasellus mattis tincidunt nibh. Cras orci urna, blandit id, pretium vel, aliquet ornare, felis. Maecenas scelerisque sem non nisl. Fusce sed lorem in enim dictum bibendum.
    +
    Nam dui erat, auctor a, dignissim quis, sollicitudin eu, felis. Pellentesque nisi urna, interdum eget, sagittis et, consequat vestibulum, lacus. Mauris porttitor ullamcorper augue.
    +
    + + + + +

    Dialog

    +

    Open Dialog

    + +

    Overlay and Shadow Classes (not currently used in UI widgets)

    +
    +

    Lorem ipsum dolor sit amet, Nulla nec tortor. Donec id elit quis purus consectetur consequat.

    Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci.

    Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat.

    Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam.

    Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante.

    Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi.

    + + +
    +
    +
    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    +
    +
    + +
    + + +
    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    +
    + + + +

    Framework Icons (content color preview)

    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    + + + +

    Slider

    +
    + + + + +

    Datepicker

    +
    + + + + +

    Progressbar

    +
    + + + + +

    Selectmenu

    + + + + + +

    Spinner

    + + + + + +

    Menu

    + + + + + +

    Tooltip

    +

    + Tooltips can be attached to any element. When you hover +the element with your mouse, the title attribute is displayed in a little box next to the element, just like a native tooltip. +

    + + + +

    Highlight / Error

    +
    +
    +

    + Hey! Sample ui-state-highlight style.

    +
    +
    +
    +
    +
    +

    + Alert: Sample ui-state-error style.

    +
    +
    + + + + + + diff --git a/js/jquery-ui.min.js b/js/jquery-ui.min.js new file mode 100755 index 0000000000..5824d1292d --- /dev/null +++ b/js/jquery-ui.min.js @@ -0,0 +1,13 @@ +/*! jQuery UI - v1.11.4 - 2015-03-11 +* http://jqueryui.com +* Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ + +(function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a,o,r=t.nodeName.toLowerCase();return"area"===r?(n=t.parentNode,a=n.name,t.href&&a&&"map"===n.nodeName.toLowerCase()?(o=e("img[usemap='#"+a+"']")[0],!!o&&i(o)):!1):(/^(input|select|textarea|button|object)$/.test(r)?!t.disabled:"a"===r?t.href||s:s)&&i(t)}function i(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}function s(e){for(var t,i;e.length&&e[0]!==document;){if(t=e.css("position"),("absolute"===t||"relative"===t||"fixed"===t)&&(i=parseInt(e.css("zIndex"),10),!isNaN(i)&&0!==i))return i;e=e.parent()}return 0}function n(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},e.extend(this._defaults,this.regional[""]),this.regional.en=e.extend(!0,{},this.regional[""]),this.regional["en-US"]=e.extend(!0,{},this.regional.en),this.dpDiv=a(e("
    "))}function a(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",o)}function o(){e.datepicker._isDisabledDatepicker(v.inline?v.dpDiv.parent()[0]:v.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))}function r(t,i){e.extend(t,i);for(var s in i)null==i[s]&&(t[s]=i[s]);return t}function h(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.ui=e.ui||{},e.extend(e.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(t){var i=this.css("position"),s="absolute"===i,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,a=this.parents().filter(function(){var t=e(this);return s&&"static"===t.css("position")?!1:n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==i&&a.length?a:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,"tabindex")))},tabbable:function(i){var s=e.attr(i,"tabindex"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+i]=function(t){return void 0===t?o["inner"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+"px")})},e.fn["outer"+i]=function(t,n){return"number"!=typeof t?o["outer"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(t){if(void 0!==t)return this.css("zIndex",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css("position"),("absolute"===i||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var l=0,u=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,"events"),s&&s.remove&&e(n).triggerHandler("remove")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,n=u.call(arguments,1),a=0,o=n.length;o>a;a++)for(i in n[a])s=n[a][i],n[a].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(n){var a="string"==typeof n,o=u.call(arguments,1),r=this;return a?this.each(function(){var i,a=e.data(this,s);return"instance"===n?(r=a,!1):a?e.isFunction(a[n])&&"_"!==n.charAt(0)?(i=a[n].apply(a,o),i!==a&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+n+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+n+"'")}):(o.length&&(n=e.widget.extend.apply(null,[n].concat(o))),this.each(function(){var t=e.data(this,s);t?(t.option(n||{}),t._init&&t._init()):e.data(this,s,new i(n,this))})),r}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
    ",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=l++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var d=!1;e(document).mouseup(function(){d=!1}),e.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!d){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n="string"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),d=!0,!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t);if(!t.which)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),d=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e("
    "),a=s.children()[0];return e("body").append(s),t=a.offsetWidth,s.css("overflow","scroll"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.widthi?"left":t>0?"right":"center",vertical:0>a?"top":s>0?"bottom":"middle"};d>m&&m>r(t+i)&&(h.horizontal="center"),c>g&&g>r(s+a)&&(h.vertical="middle"),h.important=o(r(t),r(i))>o(r(s),r(a))?"horizontal":"vertical",n.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c="top"===t.my[1],p=c?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName("body")[0],h=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()}(),e.ui.position,e.widget("ui.accordion",{version:"1.11.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),e=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&(this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)),void 0)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,s=this.headers.length,n=this.headers.index(t.target),a=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(e(t.target).attr("tabIndex",-1),e(a).attr("tabIndex",0),a.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var e=this.headers,t=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),t&&(this._off(e.not(this.headers)),this._off(t.not(this.panels)))},_refresh:function(){var t,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var t=e(this),i=t.uniqueId().attr("id"),s=t.next(),n=s.uniqueId().attr("id");t.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(t=n.height(),this.element.siblings(":visible").each(function(){var i=e(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(t-=i.outerHeight(!0))}),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?e():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?e():n,newPanel:r};t.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",t,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?e():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,s=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,t):(s.hide(),i.show(),this._toggleComplete(t)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(e(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(e,t,i){var s,n,a,o=this,r=0,h=e.css("box-sizing"),l=e.length&&(!t.length||e.index()",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault()},"click .ui-menu-item":function(t){var i=e(t.target);!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&e(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){if(!this.previousFilter){var i=e(t.currentTarget); +i.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(t,i)}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){var i,s,n,a,o=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:o=!1,s=this.previousFilter||"",n=String.fromCharCode(t.keyCode),a=!1,clearTimeout(this.filterTimer),n===s?a=!0:n=s+n,i=this._filterMenuItems(n),i=a&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(t.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(t,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}o&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(e):this.select(e))},refresh:function(){var t,i,s=this,n=this.options.icons.submenu,a=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),a.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),i=t.parent(),s=e("").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))}),t=a.add(this.element),i=t.find(this.options.items),i.not(".ui-menu-item").each(function(){var t=e(this);s._isDivider(t)&&t.addClass("ui-widget-content ui-menu-divider")}),i.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){"icons"===e&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},focus:function(e,t){var i,s;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(".ui-menu"),i.length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=t.outerHeight(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=e(this),0>i.offset().top-s-n}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(t),void 0)},previousPage:function(t){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=e(this),i.offset().top-s+n>0}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())),void 0):(this.next(t),void 0)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,void 0;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),void 0):(this._searchTimeout(e),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(e),this._change(e),void 0)}}),this._initSource(),this.menu=e("