From 943725d2b60139393ad97be72c7bced53ca2e1f5 Mon Sep 17 00:00:00 2001 From: Abdul Halim Date: Fri, 22 Jun 2018 12:07:06 +0100 Subject: [PATCH 001/102] Update device-plugins.md (#8749) adding SRIOV Network device plugin in Examples section. --- .../extend-kubernetes/compute-storage-net/device-plugins.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md b/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md index f9e5d88bb7..3a66035948 100644 --- a/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md +++ b/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md @@ -147,5 +147,6 @@ For examples of device plugin implementations, see: * The [Solarflare device plugin](https://github.com/vikaschoudhary16/sfc-device-plugin) * The [AMD GPU device plugin](https://github.com/RadeonOpenCompute/k8s-device-plugin) {{% /capture %}} +* The [SRIOV Network device plugin](https://github.com/intel/sriov-network-device-plugin) From ec95f6b8154b4795c115b536c09d451a215d3c8b Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Fri, 22 Jun 2018 13:48:06 +0200 Subject: [PATCH 002/102] Typo: name of the secret (#9200) Change the name of the secret in the patch command --- .../tasks/configure-pod-container/configure-service-account.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/configure-pod-container/configure-service-account.md b/content/en/docs/tasks/configure-pod-container/configure-service-account.md index 2c96fc6b15..223652f067 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-service-account.md +++ b/content/en/docs/tasks/configure-pod-container/configure-service-account.md @@ -181,7 +181,7 @@ myregistrykey   kubernetes.io/.dockerconfigjson   1       1d Next, modify the default service account for the namespace to use this secret as an imagePullSecret. ```shell -kubectl patch serviceaccount default -p '{\"imagePullSecrets\": [{\"name\": \"acrkey\"}]}' +kubectl patch serviceaccount default -p '{\"imagePullSecrets\": [{\"name\": \"myregistrykey\"}]}' ``` Interactive version requiring manual edit: From aa17a3cf20a0298b89a7a53b6a6b43ebab19d1e9 Mon Sep 17 00:00:00 2001 From: yongsong you Date: Fri, 22 Jun 2018 21:34:05 +0800 Subject: [PATCH 003/102] bash syntax error (#9199) bash variable missing right curly brace. --- .../docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md b/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md index b03be78baa..6b93e91c14 100644 --- a/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md +++ b/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md @@ -67,7 +67,7 @@ no other cryptographic tooling is required for this example. peerCertSANs: - "${HOST}" extraArgs: - initial-cluster: infra0=https://${ETCDHOST0}:2380,infra1=https://${ETCDHOST1}:2380,infra2=https://${ETCDHOST2:2380 + initial-cluster: infra0=https://${ETCDHOST0}:2380,infra1=https://${ETCDHOST1}:2380,infra2=https://${ETCDHOST2}:2380 initial-cluster-state: new name: ${NAME} listen-peer-urls: https://${HOST}:2380 From 7ff7b27be8ef2d59ff5099cf1df3ba952705d7f9 Mon Sep 17 00:00:00 2001 From: Takeaki Matsumoto Date: Fri, 22 Jun 2018 22:58:04 +0900 Subject: [PATCH 004/102] Update etcd config description of kubeadm HA doc (#9178) * Update etcd config description of kubeadm HA doc - Fix url from http to https - Add etcd-listen-ip description * Edit for clarity and list markup * More minor edits --- .../setup/independent/high-availability.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/content/en/docs/setup/independent/high-availability.md b/content/en/docs/setup/independent/high-availability.md index ceff01d0ed..a589c4384d 100644 --- a/content/en/docs/setup/independent/high-availability.md +++ b/content/en/docs/setup/independent/high-availability.md @@ -244,14 +244,14 @@ Please select one of the tabs to see installation instructions for the respectiv LimitNOFILE=40000 TimeoutStartSec=0 - ExecStart=/usr/local/bin/etcd --name --data-dir /var/lib/etcd --listen-client-urls http://localhost:2379 --advertise-client-urls http://localhost:2379 --listen-peer-urls http://localhost:2380 --initial-advertise-peer-urls http://localhost:2380 --cert-file=/etc/kubernetes/pki/etcd/server.pem --key-file=/etc/kubernetes/pki/etcd/server-key.pem --client-cert-auth --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.pem --peer-cert-file=/etc/kubernetes/pki/etcd/peer.pem --peer-key-file=/etc/kubernetes/pki/etcd/peer-key.pem --peer-client-cert-auth --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.pem --initial-cluster =https://:2380,=https://:2380,=https://:2380 --initial-cluster-token my-etcd-token --initial-cluster-state new + ExecStart=/usr/local/bin/etcd --name --data-dir /var/lib/etcd --listen-client-urls https://:2379 --advertise-client-urls https://:2379 --listen-peer-urls https://:2380 --initial-advertise-peer-urls https://:2380 --cert-file=/etc/kubernetes/pki/etcd/server.pem --key-file=/etc/kubernetes/pki/etcd/server-key.pem --client-cert-auth --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.pem --peer-cert-file=/etc/kubernetes/pki/etcd/peer.pem --peer-key-file=/etc/kubernetes/pki/etcd/peer-key.pem --peer-client-cert-auth --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.pem --initial-cluster =https://:2380,=https://:2380,=https://:2380 --initial-cluster-token my-etcd-token --initial-cluster-state new [Install] WantedBy=multi-user.target EOF ``` - Make sure you replace ``, `` and `` with the appropriate IPv4 addresses. Replace `` with the name of this etcd member. Modify the values of `--listen-client-urls`, `--advertise-client-urls`, `--listen-peer-urls` and `--initial-advertise-peer-urls` if needed. Replace ``, `` and `` with real hostnames of each machine. These machines must be able to reach every other using DNS or make sure that records are added to `/etc/hosts`. + Make sure you replace ``, `` and `` with the appropriate IPv4 addresses. Replace `` with the name of this etcd member. Replace `` with the IPv4 address of this etcd node. Replace ``, `` and `` with real hostnames of each machine. These machines must be able to reach each other using DNS or by adding records to `/etc/hosts`. 1. Finally, launch etcd: ```bash @@ -285,10 +285,10 @@ Run the following to generate the manifest file: - command: - etcd --name - --data-dir /var/lib/etcd - - --listen-client-urls http://localhost:2379 - - --advertise-client-urls http://localhost:2379 - - --listen-peer-urls http://localhost:2380 - - --initial-advertise-peer-urls http://localhost:2380 + - --listen-client-urls https://:2379 + - --advertise-client-urls https://:2379 + - --listen-peer-urls https://:2380 + - --initial-advertise-peer-urls https://:2380 - --cert-file=/certs/server.pem - --key-file=/certs/server-key.pem - --client-cert-auth @@ -339,8 +339,11 @@ Run the following to generate the manifest file: EOF Make sure you replace: -* `` with the name of the node you're running on (e.g. `etcd0`, `etcd1` or `etcd2`) + +* `` with the name of the node you're running on (for example, `etcd0`, `etcd1` or `etcd2`) +* `` with the public IPv4 address of the node you're running on * ``, `` and `` with the public IPv4s of the other machines that host etcd. + {{% /tab %}} {{< /tabs >}} @@ -400,7 +403,7 @@ As an example we outline a simple setup based on keepalived. Depending on enviro } ``` - In the section `vrrp_instance VI_1`, change few lines depending on your setup: + In the section `vrrp_instance VI_1`, change the following lines depending on your setup: * `state` is either `MASTER` (on the first master nodes) or `BACKUP` (the other master nodes). * `interface` is the name of an existing public interface to bind the virtual IP to (usually the primary interface). From ec15f3fab9eb443a72aa38daf0d3ca7107443303 Mon Sep 17 00:00:00 2001 From: Chandan Kumar Date: Fri, 22 Jun 2018 21:47:06 +0530 Subject: [PATCH 005/102] Fix the double hyphen inside minikube docs (#9186) Signed-off-by: chandan kumar --- content/en/docs/tasks/tools/install-minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/tools/install-minikube.md b/content/en/docs/tasks/tools/install-minikube.md index 830469052f..a825d09dd0 100644 --- a/content/en/docs/tasks/tools/install-minikube.md +++ b/content/en/docs/tasks/tools/install-minikube.md @@ -32,7 +32,7 @@ If you do not already have a hypervisor installed, install one now. [KVM](http://www.linux-kvm.org/). {{< note >}} - **Note:** Minikube also supports a `--vm-driver=none` option that runs the Kubernetes components on the host and not in a VM. Docker is required to use this driver but a hypervisor is not required. + **Note:** Minikube also supports a `-\-vm-driver=none` option that runs the Kubernetes components on the host and not in a VM. Docker is required to use this driver but a hypervisor is not required. {{< /note >}} * For Windows, install From 75f00dfc602cd4fd1ce2c37f77e0e70b9fa5c5cb Mon Sep 17 00:00:00 2001 From: Steve Perry Date: Fri, 22 Jun 2018 11:20:04 -0700 Subject: [PATCH 006/102] Apply templates to all concepts and tasks to fix double bullets in TOC (#9149) * Apply concept template to fix double bullet issue. * Apply concept template * Apply templates to tasks --- .../concepts/architecture/cloud-controller.md | 11 +- .../architecture/master-node-communication.md | 12 +- .../en/docs/concepts/architecture/nodes.md | 13 +- .../concepts/cluster-administration/addons.md | 12 +- .../cluster-administration/certificates.md | 12 +- .../kubelet-garbage-collection.md | 15 +- .../cluster-administration/logging.md | 9 + .../manage-deployment.md | 13 +- .../cluster-administration/networking.md | 12 +- .../docs/concepts/overview/kubernetes-api.md | 11 + .../overview/working-with-objects/labels.md | 9 + .../overview/working-with-objects/names.md | 11 + .../working-with-objects/namespaces.md | 11 + .../concepts/policy/pod-security-policy.md | 9 + .../docs/concepts/policy/resource-quotas.md | 15 +- .../concepts/storage/persistent-volumes.md | 9 + .../docs/concepts/storage/storage-classes.md | 9 + .../workloads/controllers/cron-jobs.md | 13 +- .../workloads/controllers/daemonset.md | 13 +- .../controllers/jobs-run-to-completion.md | 13 +- .../en/docs/concepts/workloads/pods/pod.md | 12 +- .../access-cluster.md | 48 ++-- .../configure-access-multiple-clusters.md | 8 + .../configure-cloud-provider-firewall.md | 33 ++- .../configure-dns-cluster.md | 8 +- .../web-ui-dashboard.md | 13 +- .../setup-extension-api-server.md | 6 + .../administer-cluster/cluster-management.md | 11 +- .../configure-multiple-schedulers.md | 29 ++- .../configure-upgrade-etcd.md | 22 +- .../cpu-management-policies.md | 18 +- .../declare-network-policy.md | 5 + .../developing-cloud-controller-manager.md | 17 +- .../dns-horizontal-autoscaling.md | 6 + .../tasks/administer-cluster/encrypt-data.md | 8 + ...aranteed-scheduling-critical-addon-pods.md | 13 +- .../highly-available-master.md | 25 +- .../namespaces-walkthrough.md | 24 +- .../administer-cluster/out-of-resource.md | 11 +- .../reserve-compute-resources.md | 21 +- .../running-cloud-controller.md | 15 +- .../tasks/administer-cluster/static-pod.md | 13 +- .../tasks/administer-federation/deployment.md | 7 +- .../tasks/administer-federation/events.md | 10 +- .../tasks/administer-federation/secret.md | 23 +- .../configure-service-account.md | 16 ++ .../translate-compose-kubernetes.md | 241 ++++++++++-------- .../tasks/debug-application-cluster/audit.md | 23 +- .../core-metrics-pipeline.md | 11 + .../debug-application-introspection.md | 17 +- .../debug-application.md | 13 +- .../debug-cluster.md | 11 + .../debug-pod-replication-controller.md | 12 +- .../debug-service.md | 20 +- .../events-stackdriver.md | 13 +- .../logging-elasticsearch-kibana.md | 12 + .../logging-stackdriver.md | 15 +- .../monitor-node-health.md | 21 +- .../resource-usage-monitoring.md | 17 +- .../troubleshooting.md | 11 + .../federation-service-discovery.md | 78 +++--- .../set-up-cluster-federation-kubefed.md | 18 +- .../inject-data-application/podpreset.md | 19 +- .../coarse-parallel-processing-work-queue.md | 27 +- .../fine-parallel-processing-work-queue.md | 32 ++- .../job/parallel-processing-expansion.md | 13 +- .../docs/tasks/manage-gpus/scheduling-gpus.md | 11 + .../horizontal-pod-autoscale-walkthrough.md | 30 ++- .../horizontal-pod-autoscale.md | 19 +- .../rolling-update-replication-controller.md | 13 +- .../tasks/tls/managing-tls-in-a-cluster.md | 29 ++- 71 files changed, 1059 insertions(+), 321 deletions(-) diff --git a/content/en/docs/concepts/architecture/cloud-controller.md b/content/en/docs/concepts/architecture/cloud-controller.md index b83dc23124..eae58ff8b8 100644 --- a/content/en/docs/concepts/architecture/cloud-controller.md +++ b/content/en/docs/concepts/architecture/cloud-controller.md @@ -1,9 +1,10 @@ --- title: Concepts Underlying the Cloud Controller Manager +content_template: templates/concept weight: 30 --- -## Cloud Controller Manager +{{% capture overview %}} The cloud controller manager (CCM) concept (not to be confused with the binary) was originally created to allow cloud specific vendor code and the Kubernetes core to evolve independent of one another. The cloud controller manager runs alongside other master components such as the Kubernetes controller manager, the API server, and scheduler. It can also be started as a Kubernetes addon, in which case it runs on top of Kubernetes. @@ -15,6 +16,12 @@ Here's the architecture of a Kubernetes cluster without the cloud controller man ![Pre CCM Kube Arch](/images/docs/pre-ccm-arch.png) +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Design In the preceding diagram, Kubernetes and the cloud provider are integrated through several different components: @@ -254,3 +261,5 @@ The following cloud providers have implemented CCMs: Complete instructions for configuring and running the CCM are provided [here](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager). + +{{% /capture %}} diff --git a/content/en/docs/concepts/architecture/master-node-communication.md b/content/en/docs/concepts/architecture/master-node-communication.md index 7b95443abd..4f73d41287 100644 --- a/content/en/docs/concepts/architecture/master-node-communication.md +++ b/content/en/docs/concepts/architecture/master-node-communication.md @@ -4,12 +4,11 @@ reviewers: - roberthbailey - liggitt title: Master-Node communication +content_template: templates/concept weight: 20 --- -{{< toc >}} - -## Overview +{{% capture overview %}} This document catalogs the communication paths between the master (really the apiserver) and the Kubernetes cluster. The intent is to allow users to @@ -17,6 +16,12 @@ customize their installation to harden the network configuration such that the cluster can be run on an untrusted network (or on fully public IPs on a cloud provider). +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Cluster -> Master All communication paths from the cluster to the master terminate at the @@ -91,3 +96,4 @@ connection will be encrypted, it will not provide any guarantees of integrity. These connections **are not currently safe** to run over untrusted and/or public networks. +{{% /capture %}} diff --git a/content/en/docs/concepts/architecture/nodes.md b/content/en/docs/concepts/architecture/nodes.md index e52dc0eb38..ea4cef0a36 100644 --- a/content/en/docs/concepts/architecture/nodes.md +++ b/content/en/docs/concepts/architecture/nodes.md @@ -3,12 +3,11 @@ reviewers: - caesarxuchao - dchen1107 title: Nodes +content_template: templates/concept weight: 10 --- -{{< toc >}} - -## What is a node? +{{% capture overview %}} A `node` is a worker machine in Kubernetes, previously known as a `minion`. A node may be a VM or physical machine, depending on the cluster. Each node has @@ -17,6 +16,12 @@ components. The services on a node include Docker, kubelet and kube-proxy. See [The Kubernetes Node](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md#the-kubernetes-node) section in the architecture design doc for more details. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Node Status A node's status contains the following information: @@ -279,3 +284,5 @@ on each kubelet where you want to reserve resources. Node is a top-level resource in the Kubernetes REST API. More details about the API object can be found at: [Node API object](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core). + +{{% /capture %}} diff --git a/content/en/docs/concepts/cluster-administration/addons.md b/content/en/docs/concepts/cluster-administration/addons.md index 33b065ac7c..b8a70ecc08 100644 --- a/content/en/docs/concepts/cluster-administration/addons.md +++ b/content/en/docs/concepts/cluster-administration/addons.md @@ -1,8 +1,10 @@ --- title: Installing Addons +content_template: templates/concept --- -## Overview +{{% capture overview %}} + Add-ons extend the functionality of Kubernetes. @@ -10,6 +12,12 @@ This page lists some of the available add-ons and links to their respective inst Add-ons in each section are sorted alphabetically - the ordering does not imply any preferential status. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Networking and Network Policy @@ -40,3 +48,5 @@ Add-ons in each section are sorted alphabetically - the ordering does not imply There are several other add-ons documented in the deprecated [cluster/addons](https://git.k8s.io/kubernetes/cluster/addons) directory. Well-maintained ones should be linked to here. PRs welcome! + +{{% /capture %}} diff --git a/content/en/docs/concepts/cluster-administration/certificates.md b/content/en/docs/concepts/cluster-administration/certificates.md index 7df5cd0411..129470ddf0 100644 --- a/content/en/docs/concepts/cluster-administration/certificates.md +++ b/content/en/docs/concepts/cluster-administration/certificates.md @@ -1,15 +1,21 @@ --- title: Certificates +content_template: templates/concept weight: 20 --- -{{< toc >}} -## Creating Certificates +{{% capture overview %}} When using client certificate authentication, you can generate certificates manually through `easyrsa`, `openssl` or `cfssl`. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ### easyrsa **easyrsa** can manually generate certificates for your cluster. @@ -239,3 +245,5 @@ done. You can use the `certificates.k8s.io` API to provision x509 certificates to use for authentication as documented [here](/docs/tasks/tls/managing-tls-in-a-cluster). + +{{% /capture %}} diff --git a/content/en/docs/concepts/cluster-administration/kubelet-garbage-collection.md b/content/en/docs/concepts/cluster-administration/kubelet-garbage-collection.md index 9b25a524c8..99364fc56e 100644 --- a/content/en/docs/concepts/cluster-administration/kubelet-garbage-collection.md +++ b/content/en/docs/concepts/cluster-administration/kubelet-garbage-collection.md @@ -2,15 +2,22 @@ reviewers: - mikedanese title: Configuring kubelet Garbage Collection +content_template: templates/concept weight: 70 --- -{{< toc >}} +{{% capture overview %}} Garbage collection is a helpful function of kubelet that will clean up unused images and unused containers. Kubelet will perform garbage collection for containers every minute and garbage collection for images every five minutes. External garbage collection tools are not recommended as these tools can potentially break the behavior of kubelet by removing containers expected to exist. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Image Collection Kubernetes manages lifecycle of all images through imageManager, with the cooperation @@ -72,4 +79,10 @@ Including: | `--low-diskspace-threshold-mb` | `--eviction-hard` or `eviction-soft` | eviction generalizes disk thresholds to other resources | | `--outofdisk-transition-frequency` | `--eviction-pressure-transition-period` | eviction generalizes disk pressure transition to other resources | +{{% /capture %}} + +{{% capture whatsnext %}} + See [Configuring Out Of Resource Handling](/docs/tasks/administer-cluster/out-of-resource/) for more details. + +{{% /capture %}} diff --git a/content/en/docs/concepts/cluster-administration/logging.md b/content/en/docs/concepts/cluster-administration/logging.md index 7611a4fcd1..d96e8bfc45 100644 --- a/content/en/docs/concepts/cluster-administration/logging.md +++ b/content/en/docs/concepts/cluster-administration/logging.md @@ -3,15 +3,22 @@ reviewers: - piosz - x13n title: Logging Architecture +content_template: templates/concept weight: 60 --- +{{% capture overview %}} + Application and systems logs can help you understand what is happening inside your cluster. The logs are particularly useful for debugging problems and monitoring cluster activity. Most modern applications have some kind of logging mechanism; as such, most container engines are likewise designed to support some kind of logging. The easiest and most embraced logging method for containerized applications is to write to the standard output and standard error streams. However, the native functionality provided by a container engine or runtime is usually not enough for a complete logging solution. For example, if a container crashes, a pod is evicted, or a node dies, you'll usually still want to access your application's logs. As such, logs should have a separate storage and lifecycle independent of nodes, pods, or containers. This concept is called _cluster-level-logging_. Cluster-level logging requires a separate backend to store, analyze, and query logs. Kubernetes provides no native storage solution for log data, but you can integrate many existing logging solutions into your Kubernetes cluster. +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + Cluster-level logging architectures are described in assumption that a logging backend is present inside or outside of your cluster. If you're not interested in having cluster-level logging, you might still find @@ -243,3 +250,5 @@ container. You can implement cluster-level logging by exposing or pushing logs directly from every application; however, the implementation for such a logging mechanism is outside the scope of Kubernetes. + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/cluster-administration/manage-deployment.md b/content/en/docs/concepts/cluster-administration/manage-deployment.md index 26dda7bbbf..a91813c558 100644 --- a/content/en/docs/concepts/cluster-administration/manage-deployment.md +++ b/content/en/docs/concepts/cluster-administration/manage-deployment.md @@ -4,13 +4,20 @@ reviewers: - janetkuo - mikedanese title: Managing Resources +content_template: templates/concept weight: 40 --- +{{% capture overview %}} + 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 that we will discuss in more depth are [configuration files](/docs/concepts/configuration/overview/) and [labels](/docs/concepts/overview/working-with-objects/labels/). +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + ## Organizing resource configurations Many applications require multiple resources to be created, such as a Deployment and a Service. Management of multiple resources can be simplified by grouping them together in the same file (separated by `---` in YAML). For example: @@ -391,7 +398,11 @@ $ kubectl edit deployment/my-nginx That's it! The Deployment will declaratively update the deployed nginx application progressively behind the scene. It ensures that only a certain number of old replicas may be down while they are being updated, and only a certain number of new replicas may be created above the desired number of pods. To learn more details about it, visit [Deployment page](/docs/concepts/workloads/controllers/deployment/). -## What's next? +{{% /capture %}} + +{{% capture whatsnext %}} - [Learn about how to use `kubectl` for application introspection and debugging.](/docs/tasks/debug-application-cluster/debug-application-introspection/) - [Configuration Best Practices and Tips](/docs/concepts/configuration/overview/) + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/cluster-administration/networking.md b/content/en/docs/concepts/cluster-administration/networking.md index 10abe8854b..6d0dfc6af4 100644 --- a/content/en/docs/concepts/cluster-administration/networking.md +++ b/content/en/docs/concepts/cluster-administration/networking.md @@ -2,9 +2,11 @@ reviewers: - thockin title: Cluster Networking +content_template: templates/concept weight: 50 --- +{{% capture overview %}} Kubernetes approaches networking somewhat differently than Docker does by default. There are 4 distinct networking problems to solve: @@ -14,10 +16,11 @@ default. There are 4 distinct networking problems to solve: 3. Pod-to-Service communications: this is covered by [services](/docs/concepts/services-networking/service/). 4. External-to-Service communications: this is covered by [services](/docs/concepts/services-networking/service/). +{{% /capture %}} + {{< toc >}} - -## Summary +{{% capture body %}} Kubernetes assumes that pods can communicate with other pods, regardless of which host they land on. Every pod gets its own IP address so you do not @@ -266,9 +269,12 @@ Weave Net runs as a [CNI plug-in](https://www.weave.works/docs/net/latest/cni-pl or stand-alone. In either version, it doesn't require any configuration or extra code to run, and in both cases, the network provides one IP address per pod - as is standard for Kubernetes. +{{% /capture %}} -## Other reading +{{% capture whatsnext %}} 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://git.k8s.io/community/contributors/design-proposals/network/networking.md). + +{{% /capture %}} diff --git a/content/en/docs/concepts/overview/kubernetes-api.md b/content/en/docs/concepts/overview/kubernetes-api.md index e55b435c7a..e4295b7ab3 100644 --- a/content/en/docs/concepts/overview/kubernetes-api.md +++ b/content/en/docs/concepts/overview/kubernetes-api.md @@ -2,9 +2,12 @@ reviewers: - chenopis title: The Kubernetes API +content_template: templates/concept weight: 30 --- +{{% capture overview %}} + Overall API conventions are described in the [API conventions doc](https://git.k8s.io/community/contributors/devel/api-conventions.md). API endpoints, resource types and samples are described in [API Reference](/docs/reference). @@ -17,6 +20,12 @@ Kubernetes also stores its serialized state (currently in [etcd](https://coreos. Kubernetes itself is decomposed into multiple components, which interact through its API. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## API changes In our experience, any system that is successful needs to grow and change as new use cases emerge or existing ones change. Therefore, we expect the Kubernetes API to continuously change and grow. However, we intend to not break compatibility with existing clients, for an extended period of time. In general, new API resources and new resource fields can be expected to be added frequently. Elimination of resources or fields will require following the [API deprecation policy](/docs/reference/using-api/deprecation-policy/). @@ -121,3 +130,5 @@ DaemonSets, Deployments, HorizontalPodAutoscalers, Ingress, Jobs and ReplicaSets Other extensions resources can be enabled by setting `--runtime-config` on apiserver. `--runtime-config` accepts comma separated values. For example: to disable deployments and ingress, set `--runtime-config=extensions/v1beta1/deployments=false,extensions/v1beta1/ingress=false` + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/overview/working-with-objects/labels.md b/content/en/docs/concepts/overview/working-with-objects/labels.md index 538e3561e6..b4fb6959cc 100644 --- a/content/en/docs/concepts/overview/working-with-objects/labels.md +++ b/content/en/docs/concepts/overview/working-with-objects/labels.md @@ -2,9 +2,12 @@ reviewers: - mikedanese title: Labels and Selectors +content_template: templates/concept weight: 40 --- +{{% capture overview %}} + _Labels_ are key/value pairs that are attached to objects, such as pods. Labels are intended to be used to specify identifying attributes of objects that are meaningful and relevant to users, but do not directly imply semantics to the core system. Labels can be used to organize and to select subsets of objects. Labels can be attached to objects at creation time and subsequently added and modified at any time. @@ -21,8 +24,12 @@ Each object can have a set of key/value labels defined. Each Key must be unique We'll eventually index and reverse-index labels for efficient queries and watches, use them to sort and group in UIs and CLIs, etc. We don't want to pollute labels with non-identifying, especially large and/or structured, data. Non-identifying information should be recorded using [annotations](/docs/concepts/overview/working-with-objects/annotations/). +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + ## Motivation Labels enable users to map their own organizational structures onto system objects in a loosely coupled fashion, without requiring clients to store these mappings. @@ -194,3 +201,5 @@ selector: 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](/docs/concepts/configuration/assign-pod-node/) for more information. + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/overview/working-with-objects/names.md b/content/en/docs/concepts/overview/working-with-objects/names.md index 4e81494a92..2c3cbec15d 100644 --- a/content/en/docs/concepts/overview/working-with-objects/names.md +++ b/content/en/docs/concepts/overview/working-with-objects/names.md @@ -3,15 +3,24 @@ reviewers: - mikedanese - thockin title: Names +content_template: templates/concept weight: 20 --- +{{% capture overview %}} + All objects in the Kubernetes REST API are unambiguously identified by a Name and a UID. For non-unique user-provided attributes, Kubernetes provides [labels](/docs/user-guide/labels) and [annotations](/docs/concepts/overview/working-with-objects/annotations/). See the [identifiers design doc](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md) for the precise syntax rules for Names and UIDs. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Names {{< glossary_definition term_id="name" length="all" >}} @@ -21,3 +30,5 @@ By convention, the names of Kubernetes resources should be up to maximum length ## UIDs {{< glossary_definition term_id="uid" length="all" >}} + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/overview/working-with-objects/namespaces.md b/content/en/docs/concepts/overview/working-with-objects/namespaces.md index 52a9aabe01..c0de016bbb 100644 --- a/content/en/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/en/docs/concepts/overview/working-with-objects/namespaces.md @@ -4,12 +4,21 @@ reviewers: - mikedanese - thockin title: Namespaces +content_template: templates/concept weight: 30 --- +{{% capture overview %}} + Kubernetes supports multiple virtual clusters backed by the same physical cluster. These virtual clusters are called namespaces. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## When to Use Multiple Namespaces Namespaces are intended for use in environments with many users spread across multiple @@ -88,3 +97,5 @@ Most Kubernetes resources (e.g. pods, services, replication controllers, and oth in some namespaces. However namespace resources are not themselves in a namespace. And low-level resources, such as [nodes](/docs/admin/node) and persistentVolumes, are not in any namespace. + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/policy/pod-security-policy.md b/content/en/docs/concepts/policy/pod-security-policy.md index 3c998b6384..fc9c8426ec 100644 --- a/content/en/docs/concepts/policy/pod-security-policy.md +++ b/content/en/docs/concepts/policy/pod-security-policy.md @@ -3,16 +3,23 @@ reviewers: - pweil- - tallclair title: Pod Security Policies +content_template: templates/concept weight: 20 --- +{{% capture overview %}} + {{< feature-state state="beta" >}} Pod Security Policies enable fine-grained authorization of pod creation and updates. +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + ## What is a Pod Security Policy? A _Pod Security Policy_ is a cluster-level resource that controls security @@ -558,3 +565,5 @@ default cannot be changed. Controlled via annotations on the PodSecurityPolicy. Refer to the [Sysctl documentation]( /docs/concepts/cluster-administration/sysctl-cluster/#podsecuritypolicy-annotations). + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/policy/resource-quotas.md b/content/en/docs/concepts/policy/resource-quotas.md index 2d69664bcb..32f8dd4159 100644 --- a/content/en/docs/concepts/policy/resource-quotas.md +++ b/content/en/docs/concepts/policy/resource-quotas.md @@ -2,14 +2,23 @@ reviewers: - derekwaynecarr title: Resource Quotas +content_template: templates/concept weight: 10 --- +{{% capture overview %}} + 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. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + A resource quota, defined by a `ResourceQuota` object, provides constraints that limit aggregate resource consumption per namespace. It can limit the quantity of objects that can be created in a namespace by type, as well as the total amount of compute resources that may @@ -307,6 +316,10 @@ restrictions around nodes: pods from several namespaces may run on the same node See a [detailed example for how to use resource quota](/docs/tasks/administer-cluster/quota-api-object/). -## Read More +{{% /capture %}} + +{{% capture whatsnext %}} See [ResourceQuota design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md) for more information. + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/storage/persistent-volumes.md b/content/en/docs/concepts/storage/persistent-volumes.md index 72b66b9807..dd1cb3406f 100644 --- a/content/en/docs/concepts/storage/persistent-volumes.md +++ b/content/en/docs/concepts/storage/persistent-volumes.md @@ -5,13 +5,20 @@ reviewers: - thockin - msau42 title: Persistent Volumes +content_template: templates/concept weight: 20 --- +{{% capture overview %}} + This document describes the current state of `PersistentVolumes` in Kubernetes. Familiarity with [volumes](/docs/concepts/storage/volumes/) is suggested. +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + ## 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`. @@ -608,3 +615,5 @@ and need persistent storage, we recommend that you use the following pattern: dynamic storage support (in which case the user should create a matching PV) or the cluster has no storage system (in which case the user cannot deploy config requiring PVCs). + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/storage/storage-classes.md b/content/en/docs/concepts/storage/storage-classes.md index 7e49d36b28..a4a0bf145d 100644 --- a/content/en/docs/concepts/storage/storage-classes.md +++ b/content/en/docs/concepts/storage/storage-classes.md @@ -5,15 +5,22 @@ reviewers: - thockin - msau42 title: Storage Classes +content_template: templates/concept weight: 30 --- +{{% capture overview %}} + This document describes the concept of `StorageClass` in Kubernetes. Familiarity with [volumes](/docs/concepts/storage/volumes/) and [persistent volumes](/docs/concepts/storage/persistent-volumes) is suggested. +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + ## Introduction A `StorageClass` provides a way for administrators to describe the "classes" of @@ -670,3 +677,5 @@ specified by the `WaitForFirstConsumer` volume binding mode. Delaying volume binding allows the scheduler to consider all of a pod's scheduling constraints when choosing an appropriate PersistentVolume for a PersistentVolumeClaim. + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/workloads/controllers/cron-jobs.md b/content/en/docs/concepts/workloads/controllers/cron-jobs.md index 84abde442e..521a69b44f 100644 --- a/content/en/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/en/docs/concepts/workloads/controllers/cron-jobs.md @@ -4,12 +4,11 @@ reviewers: - soltysh - janetkuo title: CronJob +content_template: templates/concept weight: 80 --- -{{< toc >}} - -## What is a cron job? +{{% capture overview %}} A _Cron Job_ manages time based [Jobs](/docs/concepts/workloads/controllers/jobs-run-to-completion/), namely: @@ -21,6 +20,12 @@ on a given schedule, written in [Cron](https://en.wikipedia.org/wiki/Cron) forma For instructions on creating and working with cron jobs, and for an example of a spec file for a cron job, see [Running automated tasks with cron jobs](/docs/tasks/job/automated-tasks-with-cron-jobs). +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Cron Job Limitations A cron job creates a job object _about_ once per execution time of its schedule. We say "about" because there @@ -43,3 +48,5 @@ starting at all. The Cronjob is only responsible for creating Jobs that match its schedule, and the Job in turn is responsible for the management of the Pods it represents. + +{{% /capture %}} diff --git a/content/en/docs/concepts/workloads/controllers/daemonset.md b/content/en/docs/concepts/workloads/controllers/daemonset.md index 15237bf250..4ef6e7f325 100644 --- a/content/en/docs/concepts/workloads/controllers/daemonset.md +++ b/content/en/docs/concepts/workloads/controllers/daemonset.md @@ -6,12 +6,11 @@ reviewers: - janetkuo - kow3ns title: DaemonSet +content_template: templates/concept weight: 50 --- -{{< toc >}} - -## What is a DaemonSet? +{{% capture overview %}} A _DaemonSet_ ensures that all (or some) Nodes run a copy of a Pod. As nodes are added to the cluster, Pods are added to them. As nodes are removed from the cluster, those Pods are garbage @@ -28,6 +27,12 @@ In a simple case, one DaemonSet, covering all nodes, would be used for each type A more complex setup might use multiple DaemonSets for a single type of daemon, but with different flags and/or different memory and cpu requests for different hardware types. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Writing a DaemonSet Spec ### Create a DaemonSet @@ -201,3 +206,5 @@ Use a Deployment for stateless services, like frontends, where scaling up and do number of replicas and rolling out updates are more important than controlling exactly which host the Pod runs on. Use a DaemonSet when it is important that a copy of a Pod always run on all or certain hosts, and when it needs to start before other Pods. + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md b/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md index 9b9b8ab124..32141476d5 100644 --- a/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md +++ b/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md @@ -3,12 +3,11 @@ reviewers: - erictune - soltysh title: Jobs - Run to Completion +content_template: templates/concept weight: 70 --- -{{< toc >}} - -## What is a Job? +{{% capture overview %}} A _job_ creates one or more pods and ensures that a specified number of them successfully terminate. As pods successfully complete, the _job_ tracks the successful completions. When a specified number @@ -21,6 +20,12 @@ due to a node hardware failure or a node reboot). A Job can also be used to run multiple pods in parallel. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Running an example Job Here is an example Job config. It computes π to 2000 places and prints it out. @@ -395,3 +400,5 @@ object, but complete control over what pods are created and how work is assigned ## Cron Jobs Support for creating Jobs at specified times/dates (i.e. cron) is available in Kubernetes [1.4](https://github.com/kubernetes/kubernetes/pull/11980). More information is available in the [cron job documents](/docs/concepts/workloads/controllers/cron-jobs/) + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/workloads/pods/pod.md b/content/en/docs/concepts/workloads/pods/pod.md index 23f3cf3fe5..d3fbee3e91 100644 --- a/content/en/docs/concepts/workloads/pods/pod.md +++ b/content/en/docs/concepts/workloads/pods/pod.md @@ -1,15 +1,21 @@ --- reviewers: title: Pods +content_template: templates/concept weight: 20 --- -{{< toc >}} - +{{% capture overview %}} _Pods_ are the smallest deployable units of computing that can be created and managed in Kubernetes. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## What is a Pod? A _pod_ (as in a pod of whales or pea pod) is a group of one or more containers @@ -199,3 +205,5 @@ spec.containers[0].securityContext.privileged: forbidden '<*>(0xc20b222db0)true' Pod is a top-level resource in the Kubernetes REST API. More details about the API object can be found at: [Pod API object](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core). + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/access-application-cluster/access-cluster.md b/content/en/docs/tasks/access-application-cluster/access-cluster.md index 062787551d..92717cd7a1 100644 --- a/content/en/docs/tasks/access-application-cluster/access-cluster.md +++ b/content/en/docs/tasks/access-application-cluster/access-cluster.md @@ -1,13 +1,20 @@ --- title: Accessing Clusters weight: 20 +content_template: templates/concept --- +{{% capture overview %}} + +This topic discusses multiple ways to interact with clusters. + +{{% /capture %}} + {{< toc >}} -## Accessing the cluster API +{{% capture body %}} -### Accessing for the first time with kubectl +## Accessing for the first time with kubectl When accessing the Kubernetes API for the first time, we suggest using the Kubernetes CLI, `kubectl`. @@ -26,7 +33,7 @@ $ kubectl config view Many of the [examples](/docs/user-guide/kubectl-cheatsheet) provide an introduction to using kubectl and complete documentation is found in the [kubectl manual](/docs/user-guide/kubectl-overview). -### Directly accessing the REST API +## Directly accessing the REST API Kubectl handles locating and authenticating to the apiserver. If you want to directly access the REST API with an http client like @@ -43,7 +50,7 @@ curl or wget, or a browser, there are several ways to locate and authenticate: - Works with some types of client code that are confused by using a proxy. - Need to import a root cert into your browser to protect against MITM. -#### Using kubectl proxy +### Using kubectl proxy The following command runs kubectl in a mode where it acts as a reverse proxy. It handles locating the apiserver and authenticating. @@ -67,27 +74,12 @@ $ curl http://localhost:8080/api/ } ``` -#### Without kubectl proxy (before v1.3.x) -It is possible to avoid using kubectl proxy by passing an authentication token -directly to the apiserver, like this: - -```shell -$ APISERVER=$(kubectl config view | grep server | cut -f 2- -d ":" | tr -d " ") -$ TOKEN=$(kubectl config view | grep token | cut -f 2 -d ":" | tr -d " ") -$ curl $APISERVER/api --header "Authorization: Bearer $TOKEN" --insecure -{ - "versions": [ - "v1" - ] -} -``` - -#### Without kubectl proxy (post v1.3.x) +### Without kubectl proxy In Kubernetes version 1.3 or later, `kubectl config view` no longer displays the token. Use `kubectl describe secret...` to get the token for the default service account, like this: -``` shell +```shell $ APISERVER=$(kubectl config view | grep server | cut -f 2- -d ":" | tr -d " ") $ TOKEN=$(kubectl describe secret $(kubectl get secrets | grep default | cut -f1 -d ' ') | grep -E '^token' | cut -f2 -d':' | tr -d '\t') $ curl $APISERVER/api --header "Authorization: Bearer $TOKEN" --insecure @@ -118,12 +110,12 @@ for this. [Configuring Access to the API](/docs/admin/accessing-the-api) describes how a cluster admin can configure this. Such approaches may conflict with future high-availability support. -### Programmatic access to the API +## Programmatic access to the API Kubernetes officially supports [Go](#go-client) and [Python](#python-client) client libraries. -#### Go client +### Go client * To get the library, run the following command: `go get k8s.io/client-go//kubernetes`. See [https://github.com/kubernetes/client-go](https://github.com/kubernetes/client-go) to see which versions are supported. * Write an application atop of the client-go clients. Note that client-go defines its own API objects, so if needed, please import API definitions from client-go rather than from the main repository, e.g., `import "k8s.io/client-go/1.4/pkg/api/v1"` is correct. @@ -133,19 +125,19 @@ as the kubectl CLI does to locate and authenticate to the apiserver. See this [e If the application is deployed as a Pod in the cluster, please refer to the [next section](#accessing-the-api-from-a-pod). -#### Python client +### Python client To use [Python client](https://github.com/kubernetes-client/python), run the following command: `pip install kubernetes`. See [Python Client Library page](https://github.com/kubernetes-client/python) for more installation options. The Python client can use the same [kubeconfig file](/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/) as the kubectl CLI does to locate and authenticate to the apiserver. See this [example](https://github.com/kubernetes-client/python/tree/master/examples/example1.py). -#### Other languages +### Other languages There are [client libraries](/docs/reference/using-api/client-libraries/) for accessing the API from other languages. See documentation for other libraries for how they authenticate. -### Accessing the API from a Pod +## Accessing the API from a Pod When accessing the API from a pod, locating and authenticating to the apiserver are somewhat different. @@ -275,7 +267,7 @@ The supported formats for the name segment of the URL are: } ``` -#### Using web browsers to access services running on the cluster +### Using web browsers to access services running on the cluster You may be able to put an apiserver proxy url into the address bar of a browser. However: @@ -334,3 +326,5 @@ There are several different proxies you may encounter when using Kubernetes: Kubernetes users will typically not need to worry about anything other than the first two types. The cluster admin will typically ensure that the latter types are setup correctly. + +{{% /capture %}} diff --git a/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index 41e873a1e8..cdebb3015c 100644 --- a/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -26,6 +26,14 @@ You need to have the [`kubectl`](/docs/tasks/tools/install-kubectl/) command-lin {{% /capture %}} +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + {{% capture steps %}} ## Define clusters, users, and contexts diff --git a/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md b/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md index eeae6bc0f4..cd1cce6410 100644 --- a/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md +++ b/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md @@ -3,15 +3,30 @@ reviewers: - bprashanth - davidopp title: Configure Your Cloud Provider's Firewalls +content_template: templates/task weight: 90 --- +{{% capture prerequisites %}} + Many cloud providers (e.g. Google Compute Engine) define firewalls that help prevent inadvertent exposure to the internet. When exposing a service to the external world, you may need to open up one or more ports in these firewalls to serve traffic. This document describes this process, as well as any provider specific details that may be necessary. -### Restrict Access For LoadBalancer Service +{{% /capture %}} + +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + +## Restrict Access For LoadBalancer Service When using a Service with `spec.type: LoadBalancer`, you can specify the IP ranges that are allowed to access the load balancer by using `spec.loadBalancerSourceRanges`. This field takes a list of IP CIDR ranges, which Kubernetes will use to configure firewall exceptions. @@ -55,7 +70,7 @@ spec: - 130.211.204.2/32 ``` -### Google Compute Engine +## Google Compute Engine When using a Service with `spec.type: LoadBalancer`, the firewall will be opened automatically. When using `spec.type: NodePort`, however, the firewall @@ -69,11 +84,9 @@ You can add a firewall with the `gcloud` command line tool: gcloud compute firewall-rules create my-rule --allow=tcp: ``` -**Note** -There is one important security note when using firewalls on Google Compute Engine: - -as of Kubernetes v1.0.0, GCE firewalls are defined per-vm, rather than per-ip -address. This means that when you open a firewall for a service's ports, +{{< note >}} +**Note**: GCE firewalls are defined per-vm, rather than per-ip +address. This means that when you open a firewall for a service's ports, anything that serves on that port on that VM's host IP address may potentially serve traffic. Note that this is not a problem for other Kubernetes services, as they listen on IP addresses that are different than the host node's external @@ -93,8 +106,6 @@ Consequently, please be careful when opening firewalls in Google Compute Engine or Google Kubernetes Engine. You may accidentally be exposing other services to the wilds of the internet. -This will be fixed in an upcoming release of Kubernetes. +{{< /note >}} -### Other cloud providers - -Coming soon. +{{% /capture %}} diff --git a/content/en/docs/tasks/access-application-cluster/configure-dns-cluster.md b/content/en/docs/tasks/access-application-cluster/configure-dns-cluster.md index f66673e3b2..cde20991cd 100644 --- a/content/en/docs/tasks/access-application-cluster/configure-dns-cluster.md +++ b/content/en/docs/tasks/access-application-cluster/configure-dns-cluster.md @@ -1,7 +1,13 @@ --- title: Configure DNS for a Cluster weight: 120 +content_template: templates/concept --- -Kubernetes offers a DNS cluster addon, which most of the supported environments enable by default. For more information on how to configure DNS for a Kubernetes cluster, see the [Kubernetes DNS sample plugin.](https://github.com/kubernetes/kubernetes/tree/release-1.5/examples/cluster-dns) +{{% capture overview %}} +Kubernetes offers a DNS cluster addon, which most of the supported environments enable by default. +{{% /capture %}} +{{% capture body %}} +For more information on how to configure DNS for a Kubernetes cluster, see the [Kubernetes DNS sample plugin.](https://github.com/kubernetes/kubernetes/tree/release-1.5/examples/cluster-dns) +{{% /capture %}} diff --git a/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md index c60ceaf04f..a38a9552f4 100644 --- a/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -4,17 +4,24 @@ reviewers: - mikedanese - rf232 title: Web UI (Dashboard) +content_template: templates/concept weight: 10 --- +{{% capture overview %}} + Dashboard is a web-based Kubernetes user interface. You can use Dashboard to deploy containerized applications to a Kubernetes cluster, troubleshoot your containerized application, and manage the cluster itself along with its attendant resources. You can use Dashboard to get an overview of applications running on your cluster, as well as for creating or modifying individual Kubernetes resources (such as Deployments, Jobs, DaemonSets, etc). For example, you can scale a Deployment, initiate a rolling update, restart a pod or deploy new applications using a deploy wizard. Dashboard also provides information on the state of Kubernetes resources in your cluster, and on any errors that may have occurred. ![Kubernetes Dashboard UI](/images/docs/ui-dashboard.png) +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + ## Deploying the Dashboard UI The Dashboard UI is not deployed by default. To deploy it, run the following command: @@ -165,7 +172,11 @@ Pod lists and detail pages link to logs viewer that is built into Dashboard. The ![Logs viewer](/images/docs/ui-dashboard-logs-view.png) -## More information +{{% /capture %}} + +{{% capture whatsnext %}} For more information, see the [Kubernetes Dashboard project page](https://github.com/kubernetes/dashboard). + +{{% /capture %}} diff --git a/content/en/docs/tasks/access-kubernetes-api/setup-extension-api-server.md b/content/en/docs/tasks/access-kubernetes-api/setup-extension-api-server.md index 92a234e80c..62b5704dfc 100644 --- a/content/en/docs/tasks/access-kubernetes-api/setup-extension-api-server.md +++ b/content/en/docs/tasks/access-kubernetes-api/setup-extension-api-server.md @@ -20,6 +20,12 @@ Setting up an extension API server to work the aggregation layer allows the Kube {{% /capture %}} +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + {{% capture steps %}} ## Setup an extension api-server to work with the aggregation layer diff --git a/content/en/docs/tasks/administer-cluster/cluster-management.md b/content/en/docs/tasks/administer-cluster/cluster-management.md index 413248cc72..1a3c985afd 100644 --- a/content/en/docs/tasks/administer-cluster/cluster-management.md +++ b/content/en/docs/tasks/administer-cluster/cluster-management.md @@ -3,15 +3,22 @@ reviewers: - lavalamp - thockin title: Cluster Management +content_template: templates/concept --- -{{< toc >}} +{{% capture overview %}} This document describes several topics related to the lifecycle of a cluster: creating a new cluster, upgrading your cluster's master and worker nodes, performing node maintenance (e.g. kernel upgrades), and upgrading the Kubernetes API version of a running cluster. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Creating and configuring a Cluster To install Kubernetes on a set of machines, consult one of the existing [Getting Started guides](/docs/setup/) depending on your environment. @@ -211,3 +218,5 @@ kubectl convert -f pod.yaml --output-version v1 ``` For more options, please refer to the usage of [kubectl convert](/docs/reference/generated/kubectl/kubectl-commands/#convert) command. + +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md b/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md index bad469431f..e1b55f3b28 100644 --- a/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md +++ b/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md @@ -3,8 +3,11 @@ reviewers: - davidopp - madhusudancs title: Configure Multiple Schedulers +content_template: templates/task --- +{{% capture overview %}} + Kubernetes ships with a default scheduler that is described [here](/docs/admin/kube-scheduler/). If the default scheduler does not suit your needs you can implement your own scheduler. Not just that, you can even run multiple schedulers simultaneously alongside the default @@ -16,7 +19,19 @@ document. Please refer to the kube-scheduler implementation in [pkg/scheduler](https://github.com/kubernetes/kubernetes/tree/{{< param "githubbranch" >}}/pkg/scheduler) in the Kubernetes source directory for a canonical example. -### 1. Package the scheduler +{{% /capture %}} + +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + +## Package the scheduler Package your scheduler binary into a container image. For the purposes of this example, let's just use the default scheduler (kube-scheduler) as our second scheduler as well. @@ -48,7 +63,7 @@ docker build -t gcr.io/my-gcp-project/my-kube-scheduler:1.0 . gcloud docker -- push gcr.io/my-gcp-project/my-kube-scheduler:1.0 ``` -### 2. Define a Kubernetes Deployment for the scheduler +## Define a Kubernetes Deployment for the scheduler Now that we have our scheduler in a container image, we can just create a pod config for it and run it in our Kubernetes cluster. But instead of creating a pod @@ -70,7 +85,7 @@ Please see the [kube-scheduler documentation](/docs/admin/kube-scheduler/) for detailed description of other command line arguments. -### 3. Run the second scheduler in the cluster +## Run the second scheduler in the cluster In order to run your scheduler in a Kubernetes cluster, just create the deployment specified in the config above in a Kubernetes cluster: @@ -126,7 +141,7 @@ $ kubectl edit clusterrole system:kube-scheduler - update ``` -### 4. Specify schedulers for pods +## Specify schedulers for pods Now that our second scheduler is running, let's create some pods, and direct them to be scheduled by either the default scheduler or the one we just deployed. In order to schedule a given pod using a specific scheduler, we specify the name of the scheduler in that pod spec. Let's look at three examples. @@ -178,6 +193,10 @@ kubectl create -f pod3.yaml kubectl get pods ``` +{{% /capture %}} + +{{% capture discussion %}} + ### Verifying that the pods were scheduled using the desired schedulers In order to make it easier to work through these examples, we did not verify that the @@ -195,3 +214,5 @@ verify that the pods were scheduled by the desired schedulers. ```shell kubectl get events ``` + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md b/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md index 38b82096a8..4eff0d0846 100644 --- a/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md +++ b/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md @@ -3,16 +3,24 @@ reviewers: - mml - wojtek-t title: Operating etcd clusters for Kubernetes +content_template: templates/task --- +{{% capture overview %}} + {{< glossary_definition term_id="etcd" length="all" prepend="etcd is a ">}} - +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} ## Prerequisites @@ -276,6 +284,10 @@ be back with new resource version. That would mean that restarting node components is not needed. But the assumptions here may not hold forever. {{< /note >}} +{{% /capture %}} + +{{% capture discussion %}} + ### Design This section describes how we are going to do the migration, given the @@ -399,3 +411,5 @@ you can talk to your cluster's etcd), try: ```shell curl -X PUT "http://${host}:${port}/v2/keys/_test" ``` + +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-cluster/cpu-management-policies.md b/content/en/docs/tasks/administer-cluster/cpu-management-policies.md index e79d9a31d0..0dd23ad78c 100644 --- a/content/en/docs/tasks/administer-cluster/cpu-management-policies.md +++ b/content/en/docs/tasks/administer-cluster/cpu-management-policies.md @@ -4,11 +4,12 @@ reviewers: - sjenning - ConnorDoyle - balajismaniam +content_template: templates/task --- -{{< feature-state state="beta" >}} +{{% capture overview %}} -{{< toc >}} +{{< feature-state state="beta" >}} Kubernetes keeps many aspects of how pods execute on nodes abstracted from the user. This is by design.  However, some workloads require @@ -17,6 +18,18 @@ acceptably. The kubelet provides methods to enable more complex workload placement policies while keeping the abstraction free from explicit placement directives. +{{% /capture %}} + +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + ## CPU Management Policies By default, the kubelet uses [CFS quota](https://en.wikipedia.org/wiki/Completely_Fair_Scheduler) @@ -197,3 +210,4 @@ and `requests` are set equal to `limits` when not explicitly specified. And the container's resource limit for the CPU resource is an integer greater than or equal to one. The `nginx` container is granted 2 exclusive CPUs. +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-cluster/declare-network-policy.md b/content/en/docs/tasks/administer-cluster/declare-network-policy.md index 64602625a7..6c471332d8 100644 --- a/content/en/docs/tasks/administer-cluster/declare-network-policy.md +++ b/content/en/docs/tasks/administer-cluster/declare-network-policy.md @@ -21,6 +21,11 @@ You'll need to have a Kubernetes cluster in place, with network policy support. **Note**: The above list is sorted alphabetically by product name, not by recommendation or preference. This example is valid for a Kubernetes cluster using any of these providers. {{% /capture %}} +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} {{% capture steps %}} diff --git a/content/en/docs/tasks/administer-cluster/developing-cloud-controller-manager.md b/content/en/docs/tasks/administer-cluster/developing-cloud-controller-manager.md index 9168b8b138..9a39764526 100644 --- a/content/en/docs/tasks/administer-cluster/developing-cloud-controller-manager.md +++ b/content/en/docs/tasks/administer-cluster/developing-cloud-controller-manager.md @@ -4,20 +4,23 @@ reviewers: - thockin - wlan0 title: Developing Cloud Controller Manager +content_template: templates/concept --- -**Cloud Controller Manager is an alpha feature in 1.8. In upcoming releases it will -be the preferred way to integrate Kubernetes with any cloud. This will ensure cloud providers -can develop their features independently from the core Kubernetes release cycles.** +{{% capture overview %}} -{{< toc >}} - -## Background +{{< feature-state for_k8s_version="1.8" state="alpha" >}} Before going into how to build your own cloud controller manager, some background on how it works under the hood is helpful. The cloud controller manager is code from `kube-controller-manager` utilizing Go interfaces to allow implementations from any cloud to be plugged in. Most of the scaffolding and generic controller implementations will be in core, but it will always exec out to the cloud interfaces it is provided, so long as the [cloud provider interface](https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/cloud.go#L29-L50) is satisfied. To dive a little deeper into implementation details, all cloud controller managers will import packages from Kubernetes core, the only difference being each project will register their own cloud providers by calling [cloudprovider.RegisterCloudProvider](https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/plugins.go#L42-L52) where a global variable of available cloud providers is updated. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Developing ### Out of Tree @@ -33,3 +36,5 @@ Using existing out-of-tree cloud providers as an example may be helpful. You can ### In Tree For in-tree cloud providers, you can run the in-tree cloud controller manager as a [Daemonset](/docs/tasks/administer-cluster/cloud-controller-manager-daemonset-example.yaml) in your cluster. See the [running cloud controller manager docs](/docs/tasks/administer-cluster/running-cloud-controller.md) for more details. + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md b/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md index 795abbc654..27d0107cd6 100644 --- a/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md +++ b/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md @@ -18,6 +18,12 @@ Kubernetes cluster. {{% /capture %}} +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + {{% capture steps %}} ## Determining whether DNS horizontal autoscaling is already enabled diff --git a/content/en/docs/tasks/administer-cluster/encrypt-data.md b/content/en/docs/tasks/administer-cluster/encrypt-data.md index 3d68a1b44e..ff291a33f8 100644 --- a/content/en/docs/tasks/administer-cluster/encrypt-data.md +++ b/content/en/docs/tasks/administer-cluster/encrypt-data.md @@ -21,6 +21,14 @@ This page shows how to enable and configure encryption of secret data at rest. {{% /capture %}} +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + {{% capture steps %}} ## Configuration and determining whether encryption at rest is already enabled diff --git a/content/en/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md b/content/en/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md index 6b72b8ffba..ccff3750be 100644 --- a/content/en/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md +++ b/content/en/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md @@ -4,11 +4,10 @@ reviewers: - filipg - piosz title: Guaranteed Scheduling For Critical Add-On Pods +content_template: templates/concept --- -{{< toc >}} - -## Overview +{{% capture overview %}} In addition to Kubernetes core components like api-server, scheduler, controller-manager running on a master machine there are a number of add-ons which, for various reasons, must run on a regular cluster node (rather than the Kubernetes master). @@ -17,6 +16,12 @@ A cluster may stop working properly if a critical add-on is evicted (either manu and becomes pending (for example when the cluster is highly utilized and either there are other pending pods that schedule into the space vacated by the evicted critical add-on pod or the amount of resources available on the node changed for some other reason). +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Rescheduler: guaranteed scheduling of critical add-ons **Rescheduler is deprecated as of Kubernetes 1.10 and will be removed in version 1.12 in accordance with the [deprecation policy](/docs/reference/deprecation-policy) for beta features.** @@ -62,3 +67,5 @@ A pod could also be considered critical, if its priority is greater than or equa To be considered critical, the pod has to run in the `kube-system` namespace (configurable via flag) and * Have the priorityClass set as "system-cluster-critical" or "system-node-critical", the latter being the highest for entire cluster and `scheduler.alpha.kubernetes.io/critical-pod` annotation set to empty string(This will be deprecated too). + +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-cluster/highly-available-master.md b/content/en/docs/tasks/administer-cluster/highly-available-master.md index f789f21b6c..5427e198e1 100644 --- a/content/en/docs/tasks/administer-cluster/highly-available-master.md +++ b/content/en/docs/tasks/administer-cluster/highly-available-master.md @@ -2,12 +2,27 @@ reviewers: - jszczepkowski title: Set up High-Availability Kubernetes Masters +content_template: templates/task --- +{{% capture overview %}} + +{{< feature-state for_k8s_version="1.5" state="alpha" >}} + +You can replicate Kubernetes masters in `kube-up` or `kube-down` scripts for Google Compute Engine. +This document describes how to use kube-up/down scripts to manage highly available (HA) masters and how HA masters are implemented for use with GCE. + +{{% /capture %}} + {{< toc >}} -Kubernetes version 1.5 adds alpha support for replicating Kubernetes masters in `kube-up` or `kube-down` scripts for Google Compute Engine. -This document describes how to use kube-up/down scripts to manage highly available (HA) masters and how HA masters are implemented for use with GCE. +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} ## Starting an HA-compatible cluster @@ -104,6 +119,10 @@ If the cluster is large, it may take a long time to duplicate its state. This operation may be sped up by migrating etcd data directory, as described [here](https://coreos.com/etcd/docs/latest/admin_guide.html#member-migration) (we are considering adding support for etcd data dir migration in future). +{{% /capture %}} + +{{% capture discussion %}} + ## Implementation notes ![ha-master-gce](/images/docs/ha-master-gce.png) @@ -154,3 +173,5 @@ To make such deployment secure, communication between etcd instances is authoriz ## Additional reading [Automated HA master deployment - design doc](https://git.k8s.io/community/contributors/design-proposals/cluster-lifecycle/ha_master.md) + +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md b/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md index 898ba5fa8d..898d8ff029 100644 --- a/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md +++ b/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md @@ -3,8 +3,10 @@ reviewers: - derekwaynecarr - janetkuo title: Namespaces Walkthrough +content_template: templates/task --- +{{% capture overview %}} Kubernetes _namespaces_ help different projects, teams, or customers to share a Kubernetes cluster. It does this by providing the following: @@ -16,14 +18,26 @@ Use of multiple namespaces is optional. This example demonstrates how to use Kubernetes namespaces to subdivide your cluster. -### Step Zero: Prerequisites +{{% /capture %}} + +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + +## Prerequisites This example assumes the following: 1. You have an [existing Kubernetes cluster](/docs/setup/). 2. You have a basic understanding of Kubernetes _[Pods](/docs/concepts/workloads/pods/pod/)_, _[Services](/docs/concepts/services-networking/service/)_, and _[Deployments](/docs/concepts/workloads/controllers/deployment/)_. -### Step One: Understand the default namespace +## 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. @@ -36,7 +50,7 @@ NAME STATUS AGE default Active 13m ``` -### Step Two: Create new namespaces +## Create new namespaces For this exercise, we will create two additional Kubernetes namespaces to hold our content. @@ -83,7 +97,7 @@ development Active 29s name=development production Active 23s name=production ``` -### Step Three: Create pods in each namespace +## Create pods in each namespace A Kubernetes namespace provides the scope for Pods, Services, and Deployments in the cluster. @@ -251,3 +265,5 @@ At this point, it should be clear that the resources users create in one namespa As the policy support in Kubernetes evolves, we will extend this scenario to show how you can provide different authorization rules for each namespace. + +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-cluster/out-of-resource.md b/content/en/docs/tasks/administer-cluster/out-of-resource.md index d225988e21..62c9f8344d 100644 --- a/content/en/docs/tasks/administer-cluster/out-of-resource.md +++ b/content/en/docs/tasks/administer-cluster/out-of-resource.md @@ -4,9 +4,10 @@ reviewers: - vishh - timstclair title: Configure Out Of Resource Handling +content_template: templates/concept --- -{{< toc >}} +{{% capture overview %}} This page explains how to configure out of resource handling with `kubelet`. @@ -15,6 +16,12 @@ are low. This is especially important when dealing with incompressible compute resources, such as memory or disk space. If such resources are exhausted, nodes become unstable. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Eviction Policy The `kubelet` can proactively monitor for and prevent total starvation of a @@ -369,3 +376,5 @@ to prevent system OOMs, and promote eviction of workloads so cluster state can r The Pod eviction may evict more Pods than needed due to stats collection timing gap. This can be mitigated by adding the ability to get root container stats on an on-demand basis [(https://github.com/google/cadvisor/issues/1247)](https://github.com/google/cadvisor/issues/1247) in the future. + +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-cluster/reserve-compute-resources.md b/content/en/docs/tasks/administer-cluster/reserve-compute-resources.md index bad61545e7..21ad5376aa 100644 --- a/content/en/docs/tasks/administer-cluster/reserve-compute-resources.md +++ b/content/en/docs/tasks/administer-cluster/reserve-compute-resources.md @@ -4,9 +4,10 @@ reviewers: - derekwaynecarr - dashpole title: Reserve Compute Resources for System Daemons +content_template: templates/task --- -{{< toc >}} +{{% capture overview %}} Kubernetes nodes can be scheduled to `Capacity`. Pods can consume all the available capacity on a node by default. This is an issue because nodes @@ -20,6 +21,18 @@ compute resources for system daemons. Kubernetes recommends cluster administrators to configure `Node Allocatable` based on their workload density on each node. +{{% /capture %}} + +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + ## Node Allocatable ```text @@ -185,6 +198,10 @@ more features are added. Over time, kubernetes project will attempt to bring down utilization of node system daemons, but that is not a priority as of now. So expect a drop in `Allocatable` capacity in future releases. +{{% /capture %}} + +{{% capture discussion %}} + ## Example Scenario Here is an example to illustrate Node Allocatable computation: @@ -230,3 +247,5 @@ the proper part of the cgroup hierarchy. As of Kubernetes version 1.7, `kubelet` supports specifying `storage` as a resource for `kube-reserved` and `system-reserved`. + +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-cluster/running-cloud-controller.md b/content/en/docs/tasks/administer-cluster/running-cloud-controller.md index f79be347f8..107d23a48b 100644 --- a/content/en/docs/tasks/administer-cluster/running-cloud-controller.md +++ b/content/en/docs/tasks/administer-cluster/running-cloud-controller.md @@ -4,18 +4,23 @@ reviewers: - thockin - wlan0 title: Kubernetes Cloud Controller Manager +content_template: templates/concept --- +{{% capture overview %}} + {{< feature-state state="alpha" >}} -{{< toc >}} - -## Cloud Controller Manager - Kubernetes v1.6 introduced a new binary called `cloud-controller-manager`. `cloud-controller-manager` is a daemon that embeds cloud-specific control loops. These cloud-specific control loops were originally in the `kube-controller-manager`. Since cloud providers develop and release at a different pace compared to the Kubernetes project, abstracting the provider-specific code to the `cloud-controller-manager` binary allows cloud vendors to evolve independently from the core Kubernetes code. The `cloud-controller-manager` can be linked to any cloud provider that satisfies [cloudprovider.Interface](https://git.k8s.io/kubernetes/pkg/cloudprovider/cloud.go). For backwards compatibility, the [cloud-controller-manager](https://github.com/kubernetes/kubernetes/tree/master/cmd/cloud-controller-manager) provided in the core Kubernetes project uses the same cloud libraries as `kube-controller-manager`. Cloud providers already supported in Kubernetes core are expected to use the in-tree cloud-controller-manager to transition out of Kubernetes core. In future Kubernetes releases, all cloud controller managers will be developed outside of the core Kubernetes project managed by sig leads or cloud vendors. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Administration ### Requirements @@ -91,3 +96,5 @@ As this initiative evolves, changes will be made to address these issues in upco ## Developing your own Cloud Controller Manager To build and develop your own cloud controller manager, read the [Developing Cloud Controller Manager](/docs/tasks/administer-cluster/developing-cloud-controller-manager.md) doc. + +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-cluster/static-pod.md b/content/en/docs/tasks/administer-cluster/static-pod.md index c8d3511b23..139ecf40da 100644 --- a/content/en/docs/tasks/administer-cluster/static-pod.md +++ b/content/en/docs/tasks/administer-cluster/static-pod.md @@ -2,8 +2,11 @@ reviewers: - jsafrane title: Static Pods +content_template: templates/concept --- +{{% capture overview %}} + **If you are running clustered Kubernetes and are using static pods to run a pod on every node, you should probably be using a [DaemonSet](/docs/concepts/workloads/controllers/daemonset/)!** *Static pods* are managed directly by kubelet daemon on a specific node, without the API server observing it. It does not have an associated replication controller, and kubelet daemon itself watches it and restarts it when it crashes. There is no health check. Static pods are always bound to one kubelet daemon and always run on the same node with it. @@ -11,6 +14,12 @@ title: Static Pods Kubelet automatically tries to create a *mirror pod* on the Kubernetes API server for each static pod. This means that the pods are visible on the API server but cannot be controlled from there. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Static pod creation Static pod can be created in two ways: either by using configuration file(s) or by HTTP. @@ -108,7 +117,7 @@ static-web-my-node1 1/1 Running 0 12s Back to our `my-node1` host, we can try to stop the container manually and see, that kubelet automatically restarts it in a while: -```shell +```none [joe@host ~] $ ssh my-node1 [joe@my-node1 ~] $ docker stop f6d05272b57e [joe@my-node1 ~] $ sleep 20 @@ -132,3 +141,5 @@ Running kubelet periodically scans the configured directory (`/etc/kubelet.d` in CONTAINER ID IMAGE COMMAND CREATED ... e7a62e3427f1 nginx:latest "nginx -g 'daemon of 27 seconds ago ``` + +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-federation/deployment.md b/content/en/docs/tasks/administer-federation/deployment.md index db1a4043dc..4c73ae39aa 100644 --- a/content/en/docs/tasks/administer-federation/deployment.md +++ b/content/en/docs/tasks/administer-federation/deployment.md @@ -15,9 +15,10 @@ Deployment](/docs/concepts/workloads/controllers/deployment/) and provide the sa Creating them in the federation control plane ensures that the desired number of replicas exist across the registered clusters. -**As of Kubernetes version 1.5, Federated Deployment is an Alpha feature. The core -functionality of Deployment is present, but some features -(such as full rollout compatibility) are still in development.** +{{< feature-state for_k8s_version="1.5" state="alpha" >}} + +Some features +(such as full rollout compatibility) are still in development. {{% /capture %}} {{% capture prerequisites %}} diff --git a/content/en/docs/tasks/administer-federation/events.md b/content/en/docs/tasks/administer-federation/events.md index 4f1a2f23b5..299d36215a 100644 --- a/content/en/docs/tasks/administer-federation/events.md +++ b/content/en/docs/tasks/administer-federation/events.md @@ -1,14 +1,20 @@ --- title: Federated Events +content_template: templates/concept --- +{{% capture overview %}} + {{< include "federation-current-state.md" >}} This guide explains how to use events in federation control plane to help in debugging. +{{% /capture %}} {{< toc >}} +{{% capture body %}} + ## Prerequisites This guide assumes that you have a running Kubernetes Cluster @@ -23,7 +29,7 @@ You are also expected to have a basic [working knowledge of Kubernetes](/docs/setup/) in general. -## Overview +## View federation events Events in federation control plane (referred to as "federation events" in this guide) are very similar to the traditional Kubernetes @@ -39,3 +45,5 @@ kubectl --context=federation-cluster get events ``` The standard kubectl get, update, delete commands will all work. + +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-federation/secret.md b/content/en/docs/tasks/administer-federation/secret.md index 48795b0dd1..028a1f1624 100644 --- a/content/en/docs/tasks/administer-federation/secret.md +++ b/content/en/docs/tasks/administer-federation/secret.md @@ -1,13 +1,25 @@ --- title: Federated Secrets +content_template: templates/concept --- +{{% capture overview %}} + {{< include "federation-current-state.md" >}} This guide explains how to use secrets in Federation control plane. +Secrets in federation control plane (referred to as "federated secrets" in +this guide) are very similar to the traditional [Kubernetes +Secrets](/docs/concepts/configuration/secret/) providing the same functionality. +Creating them in the federation control plane ensures that they are synchronized +across all the clusters in federation. +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + ## Prerequisites This guide assumes that you have a running Kubernetes Cluster @@ -22,15 +34,6 @@ You are also expected to have a basic [working knowledge of Kubernetes](/docs/setup/) in general and [Secrets](/docs/concepts/configuration/secret/) in particular. -## Overview - -Secrets in federation control plane (referred to as "federated secrets" in -this guide) are very similar to the traditional [Kubernetes -Secrets](/docs/concepts/configuration/secret/) providing the same functionality. -Creating them in the federation control plane ensures that they are synchronized -across all the clusters in federation. - - ## Creating a Federated Secret The API for Federated Secret is 100% compatible with the @@ -86,3 +89,5 @@ Note that at this point, deleting a federated secret will not delete the corresponding secrets from underlying clusters. You must delete the underlying secrets manually. We intend to fix this in the future. + +{{% /capture %}} diff --git a/content/en/docs/tasks/configure-pod-container/configure-service-account.md b/content/en/docs/tasks/configure-pod-container/configure-service-account.md index 223652f067..5f8d628995 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-service-account.md +++ b/content/en/docs/tasks/configure-pod-container/configure-service-account.md @@ -4,9 +4,11 @@ reviewers: - liggitt - thockin title: Configure Service Accounts for Pods +content_template: templates/task weight: 90 --- +{{% capture overview %}} A service account provides an identity for processes that run in a Pod. *This is a user introduction to Service Accounts. See also the @@ -26,6 +28,18 @@ cluster). Processes in containers inside pods can also contact the apiserver. When they do, they are authenticated as a particular Service Account (for example, `default`). +{{% /capture %}} + +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + ## Use the Default Service Account to access the API server. When you create a pod, if you do not specify a service account, it is @@ -233,3 +247,5 @@ spec: TODO: Test and explain how to use additional non-K8s secrets with an existing service account. --> + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md b/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md index 634a05628b..de377395e4 100644 --- a/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md +++ b/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md @@ -2,129 +2,33 @@ reviewers: - cdrage title: Translate a Docker Compose File to Kubernetes Resources +content_template: templates/task weight: 170 --- -{{< toc >}} - -# Kubernetes + Compose = Kompose +{{% capture overview %}} What's Kompose? It's a conversion tool for all things compose (namely Docker Compose) to container orchestrators (Kubernetes or OpenShift). More information can be found on the Kompose website at [http://kompose.io](http://kompose.io). -In three simple steps, we'll take you from Docker Compose to Kubernetes. +{{% /capture %}} -__1. Take a sample docker-compose.yaml file__ +{{< toc >}} -```yaml -version: "2" +{{% capture prerequisites %}} -services: +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} - redis-master: - image: k8s.gcr.io/redis:e2e - ports: - - "6379" +{{% /capture %}} - redis-slave: - image: gcr.io/google_samples/gb-redisslave:v1 - ports: - - "6379" - environment: - - GET_HOSTS_FROM=dns +{{% capture steps %}} - frontend: - image: gcr.io/google-samples/gb-frontend:v4 - ports: - - "80:80" - environment: - - GET_HOSTS_FROM=dns - labels: - kompose.service.type: LoadBalancer -``` - -__2. Run `kompose up` in the same directory__ - -```bash -$ kompose up -We are going to create Kubernetes Deployments, Services and PersistentVolumeClaims for your Dockerized application. -If you need different kind of resources, use the 'kompose convert' and 'kubectl create -f' commands instead. - -INFO Successfully created Service: redis -INFO Successfully created Service: web -INFO Successfully created Deployment: redis -INFO Successfully created Deployment: web - -Your application has been deployed to Kubernetes. You can run 'kubectl get deployment,svc,pods,pvc' for details. -``` - -__Alternatively, you can run `kompose convert` and deploy with `kubectl`__ - -__2.1. Run `kompose convert` in the same directory__ - -```bash -$ kompose convert -INFO Kubernetes file "frontend-service.yaml" created -INFO Kubernetes file "redis-master-service.yaml" created -INFO Kubernetes file "redis-slave-service.yaml" created -INFO Kubernetes file "frontend-deployment.yaml" created -INFO Kubernetes file "redis-master-deployment.yaml" created -INFO Kubernetes file "redis-slave-deployment.yaml" created -``` - -__2.2. And start it on Kubernetes!__ - -```bash -$ kubectl create -f frontend-service.yaml,redis-master-service.yaml,redis-slave-service.yaml,frontend-deployment.yaml,redis-master-deployment.yaml,redis-slave-deployment.yaml -service "frontend" created -service "redis-master" created -service "redis-slave" created -deployment "frontend" created -deployment "redis-master" created -deployment "redis-slave" created -``` - -__3. View the newly deployed service__ - -Now that your service has been deployed, let's access it. - -If you're already using `minikube` for your development process: - -```bash -$ minikube service frontend -``` - -Otherwise, let's look up what IP your service is using! - -```sh -$ kubectl describe svc frontend -Name: frontend -Namespace: default -Labels: service=frontend -Selector: service=frontend -Type: LoadBalancer -IP: 10.0.0.183 -LoadBalancer Ingress: 123.45.67.89 -Port: 80 80/TCP -NodePort: 80 31144/TCP -Endpoints: 172.17.0.4:80 -Session Affinity: None -No events. - -``` - -If you're using a cloud provider, your IP will be listed next to `LoadBalancer Ingress`. - -```sh -$ curl http://123.45.67.89 -``` - -# Installation +## Install Kompose We have multiple ways to install Kompose. Our preferred method is downloading the binary from the latest GitHub release. -#### GitHub release +### GitHub release Kompose is released via GitHub on a three-week cycle, you can see all current releases on the [GitHub release page](https://github.com/kubernetes/kompose/releases). @@ -144,7 +48,7 @@ sudo mv ./kompose /usr/local/bin/kompose Alternatively, you can download the [tarball](https://github.com/kubernetes/kompose/releases). -#### Go +### Go Installing using `go get` pulls from the master branch with the latest development changes. @@ -152,7 +56,7 @@ Installing using `go get` pulls from the master branch with the latest developme go get -u github.com/kubernetes/kompose ``` -#### CentOS +### CentOS Kompose is in [EPEL](https://fedoraproject.org/wiki/EPEL) CentOS repository. If you don't have [EPEL](https://fedoraproject.org/wiki/EPEL) repository already installed and enabled you can do it by running `sudo yum install epel-release` @@ -163,14 +67,14 @@ If you have [EPEL](https://fedoraproject.org/wiki/EPEL) enabled in your system, sudo yum -y install kompose ``` -#### Fedora +### Fedora Kompose is in Fedora 24, 25 and 26 repositories. You can install it just like any other package. ```bash sudo dnf -y install kompose ``` -#### macOS +### macOS On macOS you can install latest release via [Homebrew](https://brew.sh): ```bash @@ -178,7 +82,120 @@ brew install kompose ``` -# User Guide +## Use Kompose + +In just a few steps, we'll take you from Docker Compose to Kubernetes. All +you need is an existing `docker-compose.yml` file. + +1. Go to the directory containing your `docker-compose.yml` file. If you don't + have one, test using this one. + + ```yaml + version: "2" + + services: + + redis-master: + image: k8s.gcr.io/redis:e2e + ports: + - "6379" + + redis-slave: + image: gcr.io/google_samples/gb-redisslave:v1 + ports: + - "6379" + environment: + - GET_HOSTS_FROM=dns + + frontend: + image: gcr.io/google-samples/gb-frontend:v4 + ports: + - "80:80" + environment: + - GET_HOSTS_FROM=dns + labels: + kompose.service.type: LoadBalancer + ``` + +2. Run the `kompose up` command to deploy to Kubernetes directly, or skip to + the next step instead to generate a file to use with `kubectl`. + + ```bash + $ kompose up + We are going to create Kubernetes Deployments, Services and PersistentVolumeClaims for your Dockerized application. + If you need different kind of resources, use the 'kompose convert' and 'kubectl create -f' commands instead. + + INFO Successfully created Service: redis + INFO Successfully created Service: web + INFO Successfully created Deployment: redis + INFO Successfully created Deployment: web + + Your application has been deployed to Kubernetes. You can run 'kubectl get deployment,svc,pods,pvc' for details. + ``` + +3. To convert the `docker-compose.yml` file to files that you can use with + `kubectl`, run `kompose convert` and then `kubectl create -f `. + + ```bash + $ kompose convert + INFO Kubernetes file "frontend-service.yaml" created + INFO Kubernetes file "redis-master-service.yaml" created + INFO Kubernetes file "redis-slave-service.yaml" created + INFO Kubernetes file "frontend-deployment.yaml" created + INFO Kubernetes file "redis-master-deployment.yaml" created + INFO Kubernetes file "redis-slave-deployment.yaml" created + ``` + + ```bash + $ kubectl create -f frontend-service.yaml,redis-master-service.yaml,redis-slave-service.yaml,frontend-deployment.yaml,redis-master-deployment.yaml,redis-slave-deployment.yaml + service "frontend" created + service "redis-master" created + service "redis-slave" created + deployment "frontend" created + deployment "redis-master" created + deployment "redis-slave" created + ``` + + Your deployments are running in Kubernetes. + +4. Access your application. + + If you're already using `minikube` for your development process: + + ```bash + $ minikube service frontend + ``` + + Otherwise, let's look up what IP your service is using! + + ```sh + $ kubectl describe svc frontend + Name: frontend + Namespace: default + Labels: service=frontend + Selector: service=frontend + Type: LoadBalancer + IP: 10.0.0.183 + LoadBalancer Ingress: 123.45.67.89 + Port: 80 80/TCP + NodePort: 80 31144/TCP + Endpoints: 172.17.0.4:80 + Session Affinity: None + No events. + + ``` + + If you're using a cloud provider, your IP will be listed next to `LoadBalancer Ingress`. + + ```sh + $ curl http://123.45.67.89 + ``` + +{{% /capture %}} + +{{% capture discussion %}} + +## User Guide - CLI - [`kompose convert`](#kompose-convert) @@ -568,3 +585,5 @@ Please note that changing service name might break some `docker-compose` files. Kompose supports Docker Compose versions: 1, 2 and 3. We have limited support on versions 2.1 and 3.2 due to their experimental nature. A full list on compatibility between all three versions is listed in our [conversion document](https://github.com/kubernetes/kompose/blob/master/docs/conversion.md) including a list of all incompatible Docker Compose keys. + +{{% /capture %}} diff --git a/content/en/docs/tasks/debug-application-cluster/audit.md b/content/en/docs/tasks/debug-application-cluster/audit.md index f5c406b9c4..75c9656fd2 100644 --- a/content/en/docs/tasks/debug-application-cluster/audit.md +++ b/content/en/docs/tasks/debug-application-cluster/audit.md @@ -3,10 +3,11 @@ reviewers: - soltysh - sttts - ericchiang +content_template: templates/concept title: Auditing --- -{{< toc >}} +{{% capture overview %}} {{< feature-state state="beta" >}} @@ -23,6 +24,12 @@ answer the following questions: - from where was it initiated? - to where was it going? +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + [Kube-apiserver][kube-apiserver] performs auditing. Each request on each stage of its execution generates an event, which is then pre-processed according to a certain policy and written to a backend. The policy determines what's recorded @@ -97,6 +104,7 @@ In both cases, audit events structure is defined by the API in the `audit.k8s.io` API group. The current version of the API is [`v1beta1`][auditing-api]. +{{< note >}} **Note:** In case of patches, request body is a JSON array with patch operations, not a JSON object with an appropriate Kubernetes API object. For example, the following request body is a valid patch request to `/apis/batch/v1/namespaces/some-namespace/jobs/some-job-name`. @@ -114,6 +122,7 @@ request to `/apis/batch/v1/namespaces/some-namespace/jobs/some-job-name`. } ] ``` +{{< /note >}} ### Log backend @@ -200,7 +209,7 @@ In this example, we will use fluentd to split audit events by different namespac 1. install [fluentd, fluent-plugin-forest and fluent-plugin-rewrite-tag-filter][fluentd_install_doc] in the kube-apiserver node 1. create a config file for fluentd - ```shell + ```none $ cat < /etc/fluentd/config # fluentd conf runs in the same host with kube-apiserver @@ -260,7 +269,7 @@ In this example, we will use fluentd to split audit events by different namespac --audit-policy-file=/etc/kubernetes/audit-policy.yaml --audit-log-path=/var/log/kube-audit --audit-log-format=json ``` -1. check audits for different namespaces in /var/log/audit-*.log +1. check audits for different namespaces in `/var/log/audit-*.log` ### Use logstash to collect and distribute audit events from webhook backend @@ -271,7 +280,7 @@ different users into different files. 1. install [logstash][logstash_install_doc] 1. create config file for logstash - ```shell + ```none $ cat < /etc/logstash/config input{ http{ @@ -308,7 +317,7 @@ different users into different files. 1. create a [kubeconfig file](/docs/tasks/access-application-cluster/authenticate-across-clusters-kubeconfig/) for kube-apiserver webhook audit backend - ```shell + ```none $ cat < /etc/kubernetes/audit-webhook-kubeconfig apiVersion: v1 clusters: @@ -333,7 +342,7 @@ different users into different files. --audit-policy-file=/etc/kubernetes/audit-policy.yaml --audit-webhook-config-file=/etc/kubernetes/audit-webhook-kubeconfig ``` -1. check audits in logstash node's directories /var/log/kube-audit-*/audit +1. check audits in logstash node's directories `/var/log/kube-audit-*/audit` Note that in addition to file output plugin, logstash has a variety of outputs that let users route data where they want. For example, users can emit audit events to elasticsearch @@ -392,3 +401,5 @@ and `audit-log-maxage` options. [logstash]: https://www.elastic.co/products/logstash [logstash_install_doc]: https://www.elastic.co/guide/en/logstash/current/installing-logstash.html [kube-aggregator]: /docs/concepts/api-extension/apiserver-aggregation + +{{% /capture %}} diff --git a/content/en/docs/tasks/debug-application-cluster/core-metrics-pipeline.md b/content/en/docs/tasks/debug-application-cluster/core-metrics-pipeline.md index ea1fd9dcad..f289704423 100644 --- a/content/en/docs/tasks/debug-application-cluster/core-metrics-pipeline.md +++ b/content/en/docs/tasks/debug-application-cluster/core-metrics-pipeline.md @@ -3,13 +3,22 @@ reviewers: - fgrzadkowski - piosz title: Core metrics pipeline +content_template: templates/concept --- +{{% capture overview %}} + Starting from Kubernetes 1.8, resource usage metrics, such as container CPU and memory usage, are available in Kubernetes through the Metrics API. These metrics can be either accessed directly by user, for example by using `kubectl top` command, or used by a controller in the cluster, e.g. Horizontal Pod Autoscaler, to make decisions. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## The Metrics API Through the Metrics API you can get the amount of resource currently used @@ -42,3 +51,5 @@ Metrics Server registered in the main API server through which was introduced in Kubernetes 1.7. Learn more about the metrics server in [the design doc](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/metrics-server.md). + +{{% /capture %}} diff --git a/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md b/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md index 07c8a135e5..27cf1dc7df 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md @@ -2,15 +2,22 @@ reviewers: - janetkuo - thockin +content_template: templates/concept title: Application Introspection and Debugging --- +{{% capture overview %}} + Once your application is running, you'll inevitably need to debug problems with it. Earlier we described how you can use `kubectl get pods` to retrieve simple status information about your pods. But there are a number of ways to get even more information about your application. +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + ## Using `kubectl describe pod` to fetch details about pods For this example we'll use a Deployment to create two pods, similar to the earlier example. @@ -255,7 +262,9 @@ kubernetes-node-861h NotReady 1h v1.6.0+fff5156 kubernetes-node-bols Ready 1h v1.6.0+fff5156 kubernetes-node-st6x Ready 1h v1.6.0+fff5156 kubernetes-node-unaj Ready 1h v1.6.0+fff5156 +``` +```shell $ kubectl describe node kubernetes-node-861h Name: kubernetes-node-861h Role @@ -307,8 +316,12 @@ Allocated resources: ------------ ---------- --------------- ------------- 900m (60%) 2200m (146%) 1009286400 (66%) 5681286400 (375%) Events: +``` +```shell $ kubectl get node kubernetes-node-861h -o yaml +``` +```yaml apiVersion: v1 kind: Node metadata: @@ -350,7 +363,7 @@ status: systemUUID: ABE5F6B4-D44B-108B-C46A-24CCE16C8B6E ``` -## What's next? +{{% capture whatsnext %}} Learn about additional debugging tools, including: @@ -360,4 +373,4 @@ Learn about additional debugging tools, including: * [Connecting to containers via proxies](/docs/tasks/access-kubernetes-api/http-proxy-access-api/) * [Connecting to containers via port forwarding](/docs/tasks/access-application-cluster/port-forward-access-application-cluster/) - +{{% /capture %}} diff --git a/content/en/docs/tasks/debug-application-cluster/debug-application.md b/content/en/docs/tasks/debug-application-cluster/debug-application.md index 829b6e2a1e..969be001bd 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-application.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-application.md @@ -3,14 +3,21 @@ reviewers: - mikedanese - thockin title: Troubleshoot Applications +content_template: templates/concept --- +{{% capture overview %}} + This guide is to help users debug applications that are deployed into Kubernetes and not behaving correctly. This is *not* a guide for people who want to debug their cluster. For that you should check out [this guide](/docs/admin/cluster-troubleshooting). +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + ## Diagnosing the problem The first step in troubleshooting is triage. What is the problem? Is it your Pods, your Replication Controller or @@ -183,8 +190,12 @@ check: * 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? Kubernetes doesn't do port remapping, so if your application serves on 8080, the `containerPort` field needs to be 8080. -#### More information +{{% /capture %}} + +{{% capture whatsnext %}} If none of the above solves your problem, follow the instructions in [Debugging Service document](/docs/user-guide/debugging-services) to make sure that your `Service` is running, has `Endpoints`, and your `Pods` are actually serving; you have DNS working, iptables rules installed, and kube-proxy does not seem to be misbehaving. You may also visit [troubleshooting document](/docs/troubleshooting/) for more information. + +{{% /capture %}} diff --git a/content/en/docs/tasks/debug-application-cluster/debug-cluster.md b/content/en/docs/tasks/debug-application-cluster/debug-cluster.md index 8031cbc9f8..01c4b86a44 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-cluster.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-cluster.md @@ -2,13 +2,22 @@ reviewers: - davidopp title: Troubleshoot Clusters +content_template: templates/concept --- +{{% capture overview %}} + This doc is about cluster troubleshooting; we assume you have already ruled out your application as the root cause of the problem you are experiencing. See the [application troubleshooting guide](/docs/tasks/debug-application-cluster/debug-application) for tips on application debugging. You may also visit [troubleshooting document](/docs/troubleshooting/) for more information. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Listing your cluster The first thing to debug in your cluster is if your nodes are all registered correctly. @@ -113,3 +122,5 @@ Mitigations: - Action: [Multiple independent clusters](/docs/concepts/cluster-administration/federation/) (and avoid making risky changes to all clusters at once) - Mitigates: Everything listed above. + +{{% /capture %}} diff --git a/content/en/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md b/content/en/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md index f196853172..8aec219b4d 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md @@ -2,11 +2,10 @@ reviewers: - bprashanth title: Debug Pods and Replication Controllers +content_template: templates/concept --- -{{< toc >}} - -## Debugging pods +{{% capture overview %}} 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: @@ -18,6 +17,12 @@ there been recent restarts? Continue debugging depending on the state of the pods. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ### My pod stays pending If a pod is stuck in `Pending` it means that it can not be scheduled onto a @@ -105,3 +110,4 @@ or they can't. If they can't create pods, then please refer to the You can also use `kubectl describe rc ${CONTROLLER_NAME}` to inspect events related to the replication controller. +{{% /capture %}} diff --git a/content/en/docs/tasks/debug-application-cluster/debug-service.md b/content/en/docs/tasks/debug-application-cluster/debug-service.md index 67c72c908d..9b9c4ab8f4 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-service.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-service.md @@ -2,16 +2,22 @@ reviewers: - thockin - bowei +content_template: templates/concept title: Debug Services --- +{{% capture overview %}} An issue that comes up rather frequently for new installations of Kubernetes is that a `Service` is not working properly. You've run your `Deployment` and created a `Service`, but you get no response when you try to access it. This document will hopefully help you to figure out what's going wrong. +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + ## Conventions Throughout this doc you will see various commands that you can run. Some @@ -45,7 +51,7 @@ OUTPUT For many steps here you will want to see what a `Pod` running in the cluster sees. The simplest way to do this is to run an interactive busybox `Pod`: -```shell +```none $ kubectl run -it --rm --restart=Never busybox --image=busybox sh If you don't see a command prompt, try pressing enter. / # @@ -291,6 +297,8 @@ and verify it: ```shell $ kubectl get service hostnames -o json +``` +```json { "kind": "Service", "apiVersion": "v1", @@ -430,7 +438,7 @@ depends on your `Node` OS. On some OSes it is a file, such as /var/log/kube-proxy.log, while other OSes use `journalctl` to access logs. You should see something like: -```shell +```none I1027 22:14:53.995134 5063 server.go:200] Running in resource-only container "/kube-proxy" I1027 22:14:53.998163 5063 server.go:247] Using iptables Proxier. I1027 22:14:53.999055 5063 server.go:255] Tearing down userspace rules. Errors here are acceptable. @@ -584,7 +592,7 @@ the permission to operate in `/sys` on node. If everything works properly, you should see something like: ```shell -u@node$ for intf in /sys/devices/virtual/net/cbr0/brif/*; do cat $intf/hairpin_mode; done +for intf in /sys/devices/virtual/net/cbr0/brif/*; do cat $intf/hairpin_mode; done 1 1 1 @@ -603,7 +611,6 @@ UP BROADCAST RUNNING PROMISC MULTICAST MTU:1460 Metric:1 * Seek help if none of above works out. - ## Seek help If you get this far, something very strange is happening. Your `Service` is @@ -617,7 +624,10 @@ Contact us on [email](https://groups.google.com/forum/#!forum/kubernetes-users) or [GitHub](https://github.com/kubernetes/kubernetes). -## More information +{{% /capture %}} + +{{% capture whatsnext %}} Visit [troubleshooting document](/docs/troubleshooting/) for more information. +{{% /capture %}} diff --git a/content/en/docs/tasks/debug-application-cluster/events-stackdriver.md b/content/en/docs/tasks/debug-application-cluster/events-stackdriver.md index 0c3ba613be..6755fa6843 100644 --- a/content/en/docs/tasks/debug-application-cluster/events-stackdriver.md +++ b/content/en/docs/tasks/debug-application-cluster/events-stackdriver.md @@ -2,10 +2,11 @@ reviewers: - piosz - x13n +content_template: templates/concept title: Events in Stackdriver --- - +{{% capture overview %}} Kubernetes events are objects that provide insight into what is happening inside a cluster, such as what decisions were made by scheduler or why some @@ -23,18 +24,24 @@ to capture events. This article describes a solution that exports Kubernetes events to Stackdriver Logging, where they can be processed and analyzed. +{{< note >}} **Note:** it is not guaranteed that all events happening in a cluster will be exported to Stackdriver. One possible scenario when events will not be exported is when event exporter is not running (e.g. during restart or upgrade). In most cases it's fine to use events for purposes like setting up [metrics][sdLogMetrics] and [alerts][sdAlerts], but you should be aware of the potential inaccuracy. +{{< /note >}} [sdLogMetrics]: https://cloud.google.com/logging/docs/view/logs_based_metrics [sdAlerts]: https://cloud.google.com/logging/docs/view/logs_based_metrics#creating_an_alerting_policy +{{% /capture %}} + {{< toc >}} +{{% capture body %}} + ## Deployment ### Google Kubernetes Engine @@ -85,4 +92,6 @@ jsonPayload.source.component="default-scheduler" jsonPayload.involvedObject.name:"nginx-deployment" ``` -Filtered events in the Stackdriver Logging interface +{{< figure src="/images/docs/stackdriver-event-exporter-filter.png" alt="Filtered events in the Stackdriver Logging interface" width="500" >}} + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md b/content/en/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md index e772927207..78ef4bfe8f 100644 --- a/content/en/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md +++ b/content/en/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md @@ -2,9 +2,12 @@ reviewers: - piosz - x13n +content_template: templates/concept title: Logging Using Elasticsearch and Kibana --- +{{% capture overview %}} + On the Google Compute Engine (GCE) platform, the default logging support targets [Stackdriver Logging](https://cloud.google.com/logging/), which is described in detail in the [Logging With Stackdriver Logging](/docs/user-guide/logging/stackdriver). @@ -16,6 +19,10 @@ Stackdriver Logging when running on GCE. Note that Elasticsearch and Kibana cannot be setup automatically in the Kubernetes cluster hosted on Google Kubernetes Engine, you have to deploy it manually. +{{% /capture %}} + +{{% capture body %}} + To use Elasticsearch and Kibana for cluster logging, you should set the following environment variable as shown below when creating your cluster with kube-up.sh: @@ -101,6 +108,11 @@ Here is a typical view of ingested logs from the Kibana viewer: ![Kibana logs](/images/docs/kibana-logs.png) +{{% /capture %}} + +{{% capture whatsnext %}} + Kibana opens up all sorts of powerful options for exploring your logs! For some ideas on how to dig into it, check out [Kibana's documentation](https://www.elastic.co/guide/en/kibana/current/discover.html). +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/debug-application-cluster/logging-stackdriver.md b/content/en/docs/tasks/debug-application-cluster/logging-stackdriver.md index 9085d4cf94..97399790d8 100644 --- a/content/en/docs/tasks/debug-application-cluster/logging-stackdriver.md +++ b/content/en/docs/tasks/debug-application-cluster/logging-stackdriver.md @@ -3,15 +3,26 @@ reviewers: - piosz - x13n title: Logging Using Stackdriver +content_template: templates/concept --- +{{% capture overview %}} + Before reading this page, it's highly recommended to familiarize yourself with the [overview of logging in Kubernetes](/docs/concepts/cluster-administration/logging). +{{< note >}} **Note:** By default, Stackdriver logging collects only your container's standard output and standard error streams. To collect any logs your application writes to a file (for example), see the [sidecar approach](/docs/concepts/cluster-administration/logging#sidecar-container-with-a-logging-agent) in the Kubernetes logging overview. +{{< /note >}} + +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} ## Deploying @@ -213,7 +224,7 @@ command line interface from the [Google Cloud SDK](https://cloud.google.com/sdk/ It uses Stackdriver Logging [filtering syntax](https://cloud.google.com/logging/docs/view/advanced_filters) to query specific logs. For example, you can run the following command: -```shell +```none $ gcloud beta logging read 'logName="projects/$YOUR_PROJECT_ID/logs/count"' --format json | jq '.[].textPayload' ... "2: Mon Jan 1 00:01:02 UTC 2001\n" @@ -335,3 +346,5 @@ with minor changes: Then run `make build push` from this directory. After updating `DaemonSet` to pick up the new image, you can use the plugin you installed in the fluentd configuration. + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/debug-application-cluster/monitor-node-health.md b/content/en/docs/tasks/debug-application-cluster/monitor-node-health.md index beab96da8e..ca308d2b0d 100644 --- a/content/en/docs/tasks/debug-application-cluster/monitor-node-health.md +++ b/content/en/docs/tasks/debug-application-cluster/monitor-node-health.md @@ -2,12 +2,11 @@ reviewers: - Random-Liu - dchen1107 +content_template: templates/task title: Monitor Node Health --- -{{< toc >}} - -## Node Problem Detector +{{% capture overview %}} *Node problem detector* is a [DaemonSet](/docs/concepts/workloads/controllers/daemonset/) monitoring the node health. It collects node problems from various daemons and reports them @@ -24,6 +23,16 @@ introduced to deal with node problems. See more information [here](https://github.com/kubernetes/node-problem-detector). +{{% /capture %}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + ## Limitations * The kernel issue detection of node problem detector only supports file based @@ -153,6 +162,10 @@ Kernel monitor uses [`Translator`](https://github.com/kubernetes/node-problem-de plugin to translate kernel log the internal data structure. It is easy to implement a new translator for a new log format. +{{% /capture %}} + +{{% capture discussion %}} + ## Caveats It is recommended to run the node problem detector in your cluster to monitor @@ -163,3 +176,5 @@ resource overhead on each node. Usually this is fine, because: * Resource limit is set for node problem detector. * Even under high load, the resource usage is acceptable. (see [benchmark result](https://github.com/kubernetes/node-problem-detector/issues/2#issuecomment-220255629)) + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md index 6435ebaa9b..665e52ef1a 100644 --- a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md +++ b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md @@ -1,12 +1,19 @@ --- reviewers: - mikedanese +content_template: templates/concept title: Tools for Monitoring Compute, Storage, and Network Resources --- +{{% capture overview %}} + 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 +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} 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](/docs/admin/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://git.k8s.io/heapster/docs/sink-configuration.md). The overall architecture of the service can be seen below: @@ -54,10 +61,10 @@ Here is a snapshot of the Google Cloud Monitoring dashboard showing cluster-wide ![Google Cloud Monitoring dashboard](/images/docs/gcm.png) -## Try it out! +{{% /capture %}} + +{{% capture whatsnext %}} Now that you've learned a bit about Heapster, feel free to try it out on your own clusters! The [Heapster repository](https://github.com/kubernetes/heapster) is available on GitHub. It contains detailed instructions to setup Heapster and its storage backends. Heapster runs by default on most Kubernetes clusters, so you may already have it! Feedback is always welcome. Please let us know if you run into any issues via the troubleshooting [channels](/docs/troubleshooting/). -*** -*Authors: Vishnu Kannan and Victor Marmol, Google Software Engineers.* -*This article was originally posted in [Kubernetes Blog](https://kubernetes.io/blog/2015/05/resource-usage-monitoring-kubernetes).* +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/debug-application-cluster/troubleshooting.md b/content/en/docs/tasks/debug-application-cluster/troubleshooting.md index 073884d16f..c0d98cfeb2 100644 --- a/content/en/docs/tasks/debug-application-cluster/troubleshooting.md +++ b/content/en/docs/tasks/debug-application-cluster/troubleshooting.md @@ -2,9 +2,12 @@ reviewers: - brendandburns - davidopp +content_template: templates/concept title: Troubleshooting --- +{{% capture overview %}} + Sometimes things go wrong. This guide is aimed at making them right. It has two sections: @@ -14,6 +17,12 @@ two sections: You should also check the known issues for the [release](https://github.com/kubernetes/kubernetes/releases) you're using. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Getting help If your problem isn't answered by any of the guides above, there are variety of @@ -93,3 +102,5 @@ problem, such as: * Kubernetes version: `kubectl version` * Cloud provider, OS distro, network configuration, and Docker version * Steps to reproduce the problem + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/federation/federation-service-discovery.md b/content/en/docs/tasks/federation/federation-service-discovery.md index 01d0e4b396..8b14127fcc 100644 --- a/content/en/docs/tasks/federation/federation-service-discovery.md +++ b/content/en/docs/tasks/federation/federation-service-discovery.md @@ -2,9 +2,12 @@ reviewers: - bprashanth - quinton-hoole +content_template: templates/task title: Cross-cluster Service Discovery using Federated Services --- +{{% capture overview %}} + {{< include "federation-current-state.md" >}} This guide explains how to use Kubernetes Federated Services to deploy @@ -13,24 +16,6 @@ easy to achieve cross-cluster service discovery and availability zone fault tolerance for your Kubernetes applications. -{{< toc >}} - -## Prerequisites - -This guide assumes that you have a running Kubernetes Cluster -Federation installation. If not, then head over to the -[federation admin guide](/docs/admin/federation/) to learn how to -bring up a cluster federation (or have your cluster administrator do -this for you). Other tutorials, for example -[this one](https://github.com/kelseyhightower/kubernetes-cluster-federation) -by Kelsey Hightower, are also available to help you. - -You are also expected to have a basic -[working knowledge of Kubernetes](/docs/setup/) in -general, and [Services](/docs/concepts/services-networking/service/) in particular. - -## Overview - Federated Services are created in much that same way as traditional [Kubernetes Services](/docs/concepts/services-networking/service/) by making an API call which specifies the desired properties of your service. In the @@ -52,6 +37,32 @@ automatically find the local shard of the Federated Service in their cluster if it exists and is healthy, or the closest healthy shard in a different cluster if it does not. +{{% /capture %}} + +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + +## Prerequisites + +This guide assumes that you have a running Kubernetes Cluster +Federation installation. If not, then head over to the +[federation admin guide](/docs/admin/federation/) to learn how to +bring up a cluster federation (or have your cluster administrator do +this for you). Other tutorials, for example +[this one](https://github.com/kelseyhightower/kubernetes-cluster-federation) +by Kelsey Hightower, are also available to help you. + +You are also expected to have a basic +[working knowledge of Kubernetes](/docs/setup/) in +general, and [Services](/docs/concepts/services-networking/service/) in particular. + ## Hybrid cloud capabilities Federations of Kubernetes Clusters can include clusters running in @@ -186,7 +197,7 @@ nameServers: - ns-cloud-a4.googledomains.com. ``` -``` shell +```shell $ gcloud dns record-sets list --zone example-dot-com NAME TYPE TTL DATA example.com. NS 21600 ns-cloud-e1.googledomains.com., ns-cloud-e2.googledomains.com. @@ -268,10 +279,10 @@ So, using our NGINX example service above, and the Federated Service DNS name form just described, let's consider an example: A Pod in a cluster in the `us-central1-f` availability zone needs to contact our NGINX service. Rather than use the service's traditional cluster-local -DNS name (```"nginx.mynamespace"```, which is automatically expanded -to ```"nginx.mynamespace.svc.cluster.local"```) it can now use the +DNS name (`"nginx.mynamespace"`, which is automatically expanded +to `"nginx.mynamespace.svc.cluster.local"`) it can now use the service's Federated DNS name, which is -```"nginx.mynamespace.myfederation"```. This will be automatically +`"nginx.mynamespace.myfederation"`. This will be automatically expanded and resolved to the closest healthy shard of my NGINX service, wherever in the world that may be. If a healthy shard exists in the local cluster, that service's cluster-local (typically @@ -343,9 +354,13 @@ endpoint (see e.g. us-central1 above, which has three alternatives) many clients will fail over automatically to one of the alternative IP's in less time than that given appropriate configuration. +{{% /capture %}} + +{{% capture discussion %}} + ## Troubleshooting -#### I cannot connect to my cluster federation API +### I cannot connect to my cluster federation API Check that your 1. Client (typically kubectl) is correctly configured (including API endpoints and login credentials). @@ -354,16 +369,18 @@ Check that your See the [federation admin guide](/docs/admin/federation/) to learn how to bring up a cluster federation correctly (or have your cluster administrator do this for you), and how to correctly configure your client. -#### I can create a federated service successfully against the cluster federation API, but no matching services are created in my underlying clusters +### I can create a federated service successfully against the cluster federation API, but no matching services are created in my underlying clusters Check that: 1. Your clusters are correctly registered in the Cluster Federation API (`kubectl describe clusters`). -2. Your clusters are all 'Active'. This means that the cluster Federation system was able to connect and authenticate against the clusters' endpoints. If not, consult the logs of the federation-controller-manager pod to ascertain what the failure might be. -```kubectl --namespace=federation logs $(kubectl get pods --namespace=federation -l module=federation-controller-manager -o name)``` +2. Your clusters are all 'Active'. This means that the cluster Federation system was able to connect and authenticate against the clusters' endpoints. If not, consult the logs of the federation-controller-manager pod to ascertain what the failure might be. + ``` + kubectl --namespace=federation logs $(kubectl get pods --namespace=federation -l module=federation-controller-manager -o name) + ``` 3. That the login credentials provided to the Cluster Federation API for the clusters have the correct authorization and quota to create services in the relevant namespace in the clusters. Again you should see associated error messages providing more detail in the above log file if this is not the case. 4. Whether any other error is preventing the service creation operation from succeeding (look for `service-controller` errors in the output of `kubectl logs federation-controller-manager --namespace federation`). -#### I can create a federated service successfully, but no matching DNS records are created in my DNS provider. +### I can create a federated service successfully, but no matching DNS records are created in my DNS provider. Check that: 1. Your federation name, DNS provider, DNS domain name are configured correctly. Consult the [federation admin guide](/docs/admin/federation/) or [tutorial](https://github.com/kelseyhightower/kubernetes-cluster-federation) to learn @@ -371,15 +388,16 @@ how to configure your Cluster Federation system's DNS provider (or have your clu 2. Confirm that the Cluster Federation's service-controller is successfully connecting to and authenticating against your selected DNS provider (look for `service-controller` errors or successes in the output of `kubectl logs federation-controller-manager --namespace federation`). 3. Confirm that the Cluster Federation's service-controller is successfully creating DNS records in your DNS provider (or outputting errors in its logs explaining in more detail what's failing). -#### Matching DNS records are created in my DNS provider, but clients are unable to resolve against those names +### Matching DNS records are created in my DNS provider, but clients are unable to resolve against those names Check that: 1. The DNS registrar that manages your federation DNS domain has been correctly configured to point to your configured DNS provider's nameservers. See for example [Google Domains Documentation](https://support.google.com/domains/answer/3290309?hl=en&ref_topic=3251230) and [Google Cloud DNS Documentation](https://cloud.google.com/dns/update-name-servers), or equivalent guidance from your domain registrar and DNS provider. -#### This troubleshooting guide did not help me solve my problem +### This troubleshooting guide did not help me solve my problem -1. Please use one of our [support channels](/docs/tasks/debug-application-cluster/troubleshooting/) to seek assistance. +1. Please use one of our [support channels](/docs/tasks/debug-application-cluster/troubleshooting/) to seek assistance. ## For more information * [Federation proposal](https://git.k8s.io/community/contributors/design-proposals/multicluster/federation.md) details use cases that motivated this work. +{{% /capture %}} diff --git a/content/en/docs/tasks/federation/set-up-cluster-federation-kubefed.md b/content/en/docs/tasks/federation/set-up-cluster-federation-kubefed.md index bba21741bc..3b9be17f39 100644 --- a/content/en/docs/tasks/federation/set-up-cluster-federation-kubefed.md +++ b/content/en/docs/tasks/federation/set-up-cluster-federation-kubefed.md @@ -1,13 +1,13 @@ --- reviewers: - madhusudancs +content_template: templates/task title: Set up Cluster Federation with Kubefed --- +{{% capture overview %}} {{< include "federation-current-state.md" >}} -{{< toc >}} - Kubernetes version 1.5 and above includes a new command line tool called [`kubefed`](/docs/admin/kubefed/) to help you administrate your federated clusters. `kubefed` helps you to deploy a new Kubernetes cluster federation @@ -19,6 +19,18 @@ using `kubefed`. > Note: `kubefed` is a beta feature in Kubernetes 1.6. +{{% /capture %}} + +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + ## Prerequisites This guide assumes that you have a running Kubernetes cluster. Please @@ -535,3 +547,5 @@ kubectl delete ns federation-system --context=rivendell Note that `rivendell` is the host cluster name, replace that with the appropriate name in your configuration. + +{{% /capture %}} diff --git a/content/en/docs/tasks/inject-data-application/podpreset.md b/content/en/docs/tasks/inject-data-application/podpreset.md index 0a37c92e97..6bb469295a 100644 --- a/content/en/docs/tasks/inject-data-application/podpreset.md +++ b/content/en/docs/tasks/inject-data-application/podpreset.md @@ -2,17 +2,31 @@ reviewers: - jessfraz title: Inject Information into Pods Using a PodPreset +content_template: templates/task weight: 60 --- +{{% capture overview %}} + You can use a `podpreset` object to inject information like secrets, volume mounts, and environment variables etc into pods at creation time. This task shows some examples on using the `PodPreset` resource. -You can get an overview of PodPresets at -[Understanding Pod Presets](/docs/concepts/workloads/pods/podpreset/). + +{{% /capture %}} {{< toc >}} +{{% capture prerequisites %}} + +Get an overview of PodPresets at +[Understanding Pod Presets](/docs/concepts/workloads/pods/podpreset/). + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + ## Create a Pod Preset ### Simple Pod Spec Example @@ -162,3 +176,4 @@ $ kubectl delete podpreset allow-database podpreset "allow-database" deleted ``` +{{% /capture %}} diff --git a/content/en/docs/tasks/job/coarse-parallel-processing-work-queue.md b/content/en/docs/tasks/job/coarse-parallel-processing-work-queue.md index 2fde1b5e72..d609a9661b 100644 --- a/content/en/docs/tasks/job/coarse-parallel-processing-work-queue.md +++ b/content/en/docs/tasks/job/coarse-parallel-processing-work-queue.md @@ -1,20 +1,19 @@ --- title: Coarse Parallel Processing Using a Work Queue +content_template: templates/task weight: 30 --- {{< toc >}} -# Example: Job with Work Queue with Pod Per Work Item +{{% capture overview %}} In this example, we will run a Kubernetes Job with multiple parallel -worker processes. You may want to be familiar with the basic, -non-parallel, use of [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/) first. +worker processes. In this example, as each pod is created, it picks up one unit of work from a task queue, completes it, deletes it from the queue, and exits. - Here is an overview of the steps in this example: 1. **Start a message queue service.** In this example, we use RabbitMQ, but you could use another @@ -24,6 +23,21 @@ Here is an overview of the steps in this example: 1. **Start a Job that works on tasks from the queue**. The Job starts several pods. Each pod takes one task from the message queue, processes it, and repeats until the end of the queue is reached. +{{% /capture %}} + +{{< toc >}} + +{{% capture prerequisites %}} + +Be familiar with the basic, +non-parallel, use of [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/). + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + ## Starting a message queue service This example uses RabbitMQ, but it should be easy to adapt to another AMQP-type message service. @@ -260,6 +274,9 @@ Events: All our pods succeeded. Yay. +{{% /capture %}} + +{{% capture discussion %}} ## Alternatives @@ -295,3 +312,5 @@ that the message is acknowledged by the amqp-consume command and the time that t exits with success, or if the node crashes before the kubelet is able to post the success of the pod back to the api-server, then the Job will not appear to be complete, even though all items in the queue have been processed. + +{{% /capture %}} diff --git a/content/en/docs/tasks/job/fine-parallel-processing-work-queue.md b/content/en/docs/tasks/job/fine-parallel-processing-work-queue.md index ea8612ce52..ee979f7935 100644 --- a/content/en/docs/tasks/job/fine-parallel-processing-work-queue.md +++ b/content/en/docs/tasks/job/fine-parallel-processing-work-queue.md @@ -1,15 +1,13 @@ --- title: Fine Parallel Processing Using a Work Queue +content_template: templates/task weight: 40 --- -{{< toc >}} - -# Example: Job with Work Queue with Multiple Work Items Per Pod +{{% capture overview %}} In this example, we will run a Kubernetes Job with multiple parallel -worker processes. You may want to be familiar with the basic, -non-parallel, use of [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/) first. +worker processes in a given pod. In this example, as each pod is created, it picks up one unit of work from a task queue, processes it, and repeats until the end of the queue is reached. @@ -27,6 +25,24 @@ Here is an overview of the steps in this example: 1. **Start a Job that works on tasks from the queue**. The Job starts several pods. Each pod takes one task from the message queue, processes it, and repeats until the end of the queue is reached. +{{% /capture %}} + +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + +Be familiar with the basic, +non-parallel, use of [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/). + +{{% /capture %}} + +{{% capture steps %}} ## Starting Redis @@ -212,6 +228,10 @@ Working on lemon As you can see, one of our pods worked on several work units. +{{% /capture %}} + +{{% capture discussion %}} + ## Alternatives If running a queue service or modifying your containers to use a work queue is inconvenient, you may @@ -221,3 +241,5 @@ If you have a continuous stream of background processing work to run, then consider running your background workers with a `replicationController` instead, and consider running a background processing library such as [https://github.com/resque/resque](https://github.com/resque/resque). + +{{% /capture %}} diff --git a/content/en/docs/tasks/job/parallel-processing-expansion.md b/content/en/docs/tasks/job/parallel-processing-expansion.md index 18cd4b4b54..cddd89ad98 100644 --- a/content/en/docs/tasks/job/parallel-processing-expansion.md +++ b/content/en/docs/tasks/job/parallel-processing-expansion.md @@ -1,16 +1,21 @@ --- title: Parallel Processing using Expansions +content_template: templates/concept weight: 20 --- -{{< toc >}} - -# Example: Multiple Job Objects from Template Expansion +{{% capture overview %}} In this example, we will run multiple Kubernetes Jobs created from a common template. You may want to be familiar with the basic, non-parallel, use of [Jobs](/docs/concepts/jobs/run-to-completion-finite-workloads/) first. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Basic Template Expansion First, download the following template of a job to a file called `job.yaml` @@ -189,3 +194,5 @@ If you have a large number of job objects, you may find that: In this case, you can consider one of the other [job patterns](/docs/concepts/jobs/run-to-completion-finite-workloads/#job-patterns). + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/manage-gpus/scheduling-gpus.md b/content/en/docs/tasks/manage-gpus/scheduling-gpus.md index 5f548e4352..58077bdbee 100644 --- a/content/en/docs/tasks/manage-gpus/scheduling-gpus.md +++ b/content/en/docs/tasks/manage-gpus/scheduling-gpus.md @@ -1,14 +1,23 @@ --- reviewers: - vishh +content_template: templates/concept title: Schedule GPUs --- +{{% capture overview %}} + Kubernetes includes **experimental** support for managing NVIDIA GPUs spread across nodes. The support for NVIDIA GPUs was added in v1.6 and has gone through multiple backwards incompatible iterations. This page describes how users can consume GPUs across different Kubernetes versions and the current limitations. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## v1.8 onwards **From 1.8 onwards, the recommended way to consume GPUs is to use [device @@ -208,3 +217,5 @@ works on 1.8 and 1.9 as well. It will be deprecated in 1.10 and removed in - Support for hardware accelerators in Kubernetes is still in alpha. - Better APIs will be introduced to provision and consume accelerators in a scalable manner. - Kubernetes will automatically ensure that applications consuming GPUs get the best possible performance. + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md b/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md index bc715cd627..798236e5ea 100644 --- a/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md +++ b/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md @@ -5,10 +5,11 @@ reviewers: - justinsb - directxman12 title: Horizontal Pod Autoscaler Walkthrough +content_template: templates/task weight: 100 --- -{{< toc >}} +{{% capture overview %}} Horizontal Pod Autoscaler automatically scales the number of pods in a replication controller, deployment or replica set based on observed CPU utilization @@ -16,7 +17,12 @@ in a replication controller, deployment or replica set based on observed CPU uti This document walks you through an example of enabling Horizontal Pod Autoscaler for the php-apache server. For more information on how Horizontal Pod Autoscaler behaves, see the [Horizontal Pod Autoscaler user guide](/docs/tasks/run-application/horizontal-pod-autoscale/). -## Prerequisites +{{% /capture %}} + +{{< toc >}} + + +{{% capture prerequisites %}} This example requires a running Kubernetes cluster and kubectl, version 1.2 or later. [Heapster](https://github.com/kubernetes/heapster) monitoring needs to be deployed in the cluster @@ -31,7 +37,11 @@ not related to any Kubernetes object you must have a Kubernetes cluster at versi you must be able to communicate with the API server that provides the external metrics API. See the [Horizontal Pod Autoscaler user guide](/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics) for more details. -## Step One: Run & expose php-apache server +{{% /capture %}} + +{{% capture steps %}} + +## Run & expose php-apache server To demonstrate Horizontal Pod Autoscaler we will use a custom docker image based on the php-apache image. The Dockerfile has the following content: @@ -62,7 +72,7 @@ service "php-apache" created deployment "php-apache" created ``` -## Step Two: Create Horizontal Pod Autoscaler +## Create Horizontal Pod Autoscaler Now that the server is running, we will create the autoscaler using [kubectl autoscale](https://github.com/kubernetes/kubernetes/blob/{{< param "githubbranch" >}}/docs/user-guide/kubectl/kubectl_autoscale.md). @@ -90,7 +100,7 @@ php-apache Deployment/php-apache/scale 0% / 50% 1 10 1 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 +## Increase load Now, we will see how the autoscaler reacts to increased load. We will start a container, and send an infinite loop of queries to the php-apache service (please run it in a different terminal): @@ -125,7 +135,7 @@ php-apache 7 7 7 7 19m 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 +## Stop load We will finish our example by stopping the user load. @@ -146,7 +156,13 @@ php-apache 1 1 1 1 27m Here CPU utilization dropped to 0, and so HPA autoscaled the number of replicas back down to 1. +{{< note >}} **Note** autoscaling the replicas may take a few minutes. +{{< /note >}} + +{{% /capture %}} + +{{% capture discussion %}} ## Autoscaling on multiple metrics and custom metrics @@ -377,3 +393,5 @@ We will create the autoscaler by executing the following command: $ kubectl create -f https://k8s.io/docs/tasks/run-application/hpa-php-apache.yaml horizontalpodautoscaler "php-apache" created ``` + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md index 46f2615624..663ebca21c 100644 --- a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md +++ b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md @@ -4,14 +4,11 @@ reviewers: - jszczepkowski - directxman12 title: Horizontal Pod Autoscaler +content_template: templates/concept weight: 90 --- -{{< toc >}} - -This document describes the current state of the Horizontal Pod Autoscaler in Kubernetes. - -## What is the Horizontal Pod Autoscaler? +{{% capture overview %}} The Horizontal Pod Autoscaler automatically scales the number of pods in a replication controller, deployment or replica set based on observed CPU utilization (or, with @@ -24,6 +21,12 @@ The resource determines the 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. +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## How does the Horizontal Pod Autoscaler work? ![Horizontal Pod Autoscaler diagram](/images/docs/horizontal-pod-autoscaler.svg) @@ -180,8 +183,12 @@ custom metrics API and, optionally, external metrics API with the API aggregatio In Kubernetes 1.7, the standard aggregation layer that Kubernetes provides runs in-process with the kube-apiserver, so the target IP address can be found with `kubectl get pods --selector k8s-app=kube-apiserver --namespace kube-system -o jsonpath='{.items[0].status.podIP}'`. -## Further reading +{{% /capture %}} + +{{% capture whatsnext %}} * Design documentation: [Horizontal Pod Autoscaling](https://git.k8s.io/community/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md). * kubectl autoscale command: [kubectl autoscale](/docs/reference/generated/kubectl/kubectl-commands/#autoscale). * Usage example of [Horizontal Pod Autoscaler](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/). + +{{% /capture %}} diff --git a/content/en/docs/tasks/run-application/rolling-update-replication-controller.md b/content/en/docs/tasks/run-application/rolling-update-replication-controller.md index 027726a3bc..5e2e2c0b97 100644 --- a/content/en/docs/tasks/run-application/rolling-update-replication-controller.md +++ b/content/en/docs/tasks/run-application/rolling-update-replication-controller.md @@ -2,12 +2,11 @@ reviewers: - janetkuo title: Perform Rolling Update Using a Replication Controller +content_template: templates/concept weight: 80 --- -{{< toc >}} - -## Overview +{{% capture overview %}} {{< note >}} **Note**: The preferred way to create a replicated application is to use a @@ -41,6 +40,12 @@ Rolling updates are initiated with the `kubectl rolling-update` command: $ kubectl rolling-update NAME \ ([NEW_NAME] --image=IMAGE | -f FILE) +{{% /capture %}} + +{{< toc >}} + +{{% capture body %}} + ## Passing a configuration file To initiate a rolling update using a configuration file, pass the new file to @@ -261,3 +266,5 @@ 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. + +{{% /capture %}} diff --git a/content/en/docs/tasks/tls/managing-tls-in-a-cluster.md b/content/en/docs/tasks/tls/managing-tls-in-a-cluster.md index ce9bc6c0ae..1452291997 100644 --- a/content/en/docs/tasks/tls/managing-tls-in-a-cluster.md +++ b/content/en/docs/tasks/tls/managing-tls-in-a-cluster.md @@ -1,14 +1,13 @@ --- title: Manage TLS Certificates in a Cluster +content_template: templates/task reviewers: - mikedanese - beacham - liggit --- -{{< toc >}} - -## Overview +{{% capture overview %}} Every Kubernetes cluster has a cluster root Certificate Authority (CA). The CA is generally used by cluster components to validate the API server's @@ -20,6 +19,18 @@ can request a certificate signing using the `certificates.k8s.io` API using a protocol that is similar to the [ACME draft](https://github.com/ietf-wg-acme/acme/). +{{% /capture %}} + +{{< toc >}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + ## Trusting TLS in a Cluster Trusting the cluster root CA from an application running as a pod usually @@ -43,12 +54,12 @@ Kubernetes service accessed through DNS. **Note:** This tutorial uses CFSSL: Cloudflare's PKI and TLS toolkit [click here](https://blog.cloudflare.com/introducing-cfssl/) to know more. {{< /note >}} -### Step 0. Download and install CFSSL +## Download and install CFSSL The cfssl tools used in this example can be downloaded at [https://pkg.cfssl.org/](https://pkg.cfssl.org/). -### Step 1. Create a Certificate Signing Request +## Create a Certificate Signing Request Generate a private key and certificate signing request (or CSR) by running the following command: @@ -88,7 +99,7 @@ encoded [pkcs#10](https://tools.ietf.org/html/rfc2986) certification request, and `server-key.pem` containing the PEM encoded key to the certificate that is still to be created. -### Step 2. Create a Certificate Signing Request object to send to the Kubernetes API +## Create a Certificate Signing Request object to send to the Kubernetes API Generate a CSR yaml blob and send it to the apiserver by running the following command: @@ -139,13 +150,13 @@ Subject Alternative Names: Events: ``` -### Step 3. Get the Certificate Signing Request Approved +## Get the Certificate Signing Request Approved Approving the certificate signing request is either done by an automated approval process or on a one off basis by a cluster administrator. More information on what this involves is covered below. -### Step 4. Download the Certificate and Use It +## Download the Certificate and Use It Once the CSR is signed and approved you should see the following: @@ -206,3 +217,5 @@ Kubernetes controller manager provides a default implementation of a signer. To enable it, pass the `--cluster-signing-cert-file` and `--cluster-signing-key-file` parameters to the controller manager with paths to your Certificate Authority's keypair. + +{{% /capture %}} From 7bd3e30edce8a09050235a6dac185a69d3ff0fb4 Mon Sep 17 00:00:00 2001 From: Damien Lespiau Date: Fri, 22 Jun 2018 19:24:04 +0100 Subject: [PATCH 007/102] Fix dead links to the kubelet configuration (#9204) Those links are dead, pointing at what I assume in the previous place for the Kubelet TLS bootstrapping documentation. Update them with the new location! --- .../reference/command-line-tools-reference/feature-gates.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index a12ad8c143..cb6492d8e6 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -196,9 +196,9 @@ Each feature gate is designed for enabling/disabling a specific feature: the input Pod's cpu and memory limits. The intent is to break ties between nodes with same scores. - `RotateKubeletClientCertificate`: Enable the rotation of the client TLS certificate on the kubelet. - See [kubelet configuration](/docs/admin/kubelet-tls-bootstrapping/#kubelet-configuration) for more details. + See [kubelet configuration](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/#kubelet-configuration) for more details. - `RotateKubeletServerCertificate`: Enable the rotation of the server TLS certificate on the kubelet. - See [kubelet configuration](/docs/admin/kubelet-tls-bootstrapping/#kubelet-configuration) for more details. + See [kubelet configuration](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/#kubelet-configuration) for more details. - `RunAsGroup`: Enable control over the primary group ID set on the init processes of containers. - `ScheduleDaemonSetPods`: Enable DaemonSet Pods to be scheduled by the default scheduler instead of the DaemonSet controller. - `ServiceNodeExclusion`: Enable the exclusion of nodes from load balancers created by a cloud provider. From 91396cb44dfaa293c2b39b33056fa9aa8721e4c0 Mon Sep 17 00:00:00 2001 From: Abdul Halim Date: Fri, 22 Jun 2018 19:25:05 +0100 Subject: [PATCH 008/102] Update device-plugins.md (#9203) fixed a misplaced list item --- .../extend-kubernetes/compute-storage-net/device-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md b/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md index 3a66035948..71e542b1ba 100644 --- a/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md +++ b/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md @@ -146,7 +146,7 @@ For examples of device plugin implementations, see: * The [RDMA device plugin](https://github.com/hustcat/k8s-rdma-device-plugin) * The [Solarflare device plugin](https://github.com/vikaschoudhary16/sfc-device-plugin) * The [AMD GPU device plugin](https://github.com/RadeonOpenCompute/k8s-device-plugin) -{{% /capture %}} * The [SRIOV Network device plugin](https://github.com/intel/sriov-network-device-plugin) +{{% /capture %}} From 203391835dca1f741aab74dd00feb4eb44f3da22 Mon Sep 17 00:00:00 2001 From: makocchi Date: Sat, 23 Jun 2018 03:26:06 +0900 Subject: [PATCH 009/102] Apply templates and fix dead links under "/docs/reference/access-authn-authz/" (#9202) * fix double bullets in TOC and apply an tempalte. * fix url prefix * anchor link with lower strings * fix another url prefix --- .../admission-controllers.md | 81 ++++++++++--------- .../access-authn-authz/authentication.md | 32 +++++--- .../access-authn-authz/authorization.md | 36 ++++----- .../access-authn-authz/bootstrap-tokens.md | 23 +++--- .../access-authn-authz/controlling-access.md | 10 ++- .../extensible-admission-controllers.md | 31 ++++--- .../docs/reference/access-authn-authz/node.md | 15 ++-- .../docs/reference/access-authn-authz/rbac.md | 54 ++++++++----- .../service-accounts-admin.md | 24 +++--- 9 files changed, 181 insertions(+), 125 deletions(-) diff --git a/content/en/docs/reference/access-authn-authz/admission-controllers.md b/content/en/docs/reference/access-authn-authz/admission-controllers.md index cfcf69225c..af953ed954 100644 --- a/content/en/docs/reference/access-authn-authz/admission-controllers.md +++ b/content/en/docs/reference/access-authn-authz/admission-controllers.md @@ -7,11 +7,15 @@ reviewers: - janetkuo - thockin title: Using Admission Controllers +content_template: templates/concept weight: 30 --- -{{< toc >}} +{{% capture overview %}} +This page provides an overview of Admission Controllers. +{{% /capture %}} +{{% capture body %}} ## What are they? An admission controller is a piece of code that intercepts requests to the @@ -79,11 +83,11 @@ kube-apiserver --disable-admission-plugins=PodNodeSelector,AlwaysDeny ... ## What does each admission controller do? -### AlwaysAdmit (DEPRECATED) +### AlwaysAdmit (DEPRECATED) {#alwaysadmit} Use this admission controller by itself to pass-through all requests. AlwaysAdmit is DEPRECATED as no real meaning. -### AlwaysPullImages +### AlwaysPullImages {#alwayspullimages} This admission controller modifies every new Pod to force the image pull policy to Always. This is useful in a multitenant cluster so that users can be assured that their private images can only be used by those @@ -93,11 +97,11 @@ scheduled onto the right node), without any authorization check against the imag is enabled, images are always pulled prior to starting containers, which means valid credentials are required. -### AlwaysDeny (DEPRECATED) +### AlwaysDeny (DEPRECATED) {#alwaysdeny} Rejects all requests. AlwaysDeny is DEPRECATED as no real meaning. -### DefaultStorageClass +### DefaultStorageClass {#defaultstorageclass} This admission controller observes creation of `PersistentVolumeClaim` objects that do not request any specific storage class and automatically adds a default storage class to them. @@ -112,7 +116,7 @@ This admission controller ignores any `PersistentVolumeClaim` updates; it acts o See [persistent volume](/docs/concepts/storage/persistent-volumes/) documentation about persistent volume claims and storage classes and how to mark a storage class as default. -### DefaultTolerationSeconds +### DefaultTolerationSeconds {#defaulttolerationseconds} This admission controller sets the default forgiveness toleration for pods to tolerate the taints `notready:NoExecute` and `unreachable:NoExecute` for 5 minutes, @@ -120,7 +124,7 @@ if the pods don't already have toleration for taints `node.kubernetes.io/not-ready:NoExecute` or `node.alpha.kubernetes.io/unreachable:NoExecute`. -### DenyExecOnPrivileged (deprecated) +### DenyExecOnPrivileged (deprecated) {#denyexeconprivileged} This admission controller will intercept all requests to exec a command in a pod if that pod has a privileged container. @@ -129,7 +133,7 @@ commands in those containers, we strongly encourage enabling this admission cont This functionality has been merged into [DenyEscalatingExec](#denyescalatingexec). -### DenyEscalatingExec +### DenyEscalatingExec {#denyescalatingexec} This admission controller will deny exec and attach commands to pods that run with escalated privileges that allow host access. This includes pods that run as privileged, have access to the host IPC namespace, and @@ -139,7 +143,7 @@ If your cluster supports containers that run with escalated privileges, and you restrict the ability of end-users to exec commands in those containers, we strongly encourage enabling this admission controller. -### EventRateLimit (alpha) +### EventRateLimit (alpha) {#eventratelimit} This admission controller mitigates the problem where the API server gets flooded by event requests. The cluster admin can specify event rate limits by: @@ -183,7 +187,7 @@ limits: See the [EventRateLimit proposal](https://git.k8s.io/community/contributors/design-proposals/api-machinery/admission_control_event_rate_limit.md) for more details. -### ExtendedResourceToleration +### ExtendedResourceToleration {#extendedresourcetoleration} This plug-in facilitates creation of dedicated nodes with extended resources. If operators want to create dedicated nodes with extended resources (like GPUs, FPGAs etc.), they are expected to @@ -192,7 +196,7 @@ name as the key. This admission controller, if enabled, automatically adds tolerations for such taints to pods requesting extended resources, so users don't have to manually add these tolerations. -### ImagePolicyWebhook +### ImagePolicyWebhook {#imagepolicywebhook} The ImagePolicyWebhook admission controller allows a backend webhook to make admission decisions. @@ -315,14 +319,14 @@ Examples of information you might put here are: In any case, the annotations are provided by the user and are not validated by Kubernetes in any way. In the future, if an annotation is determined to be widely useful, it may be promoted to a named field of ImageReviewSpec. -### Initializers (alpha) +### Initializers (alpha) {#initializers} The admission controller determines the initializers of a resource based on the existing `InitializerConfiguration`s. It sets the pending initializers by modifying the metadata of the resource to be created. For more information, please check [Dynamic Admission Control](/docs/admin/extensible-admission-controllers/). -### InitialResources (experimental) +### InitialResources (experimental) {#initialresources} This admission controller observes pod creation requests. If a container omits compute resource requests and limits, then the admission controller auto-populates a compute resource request based on historical usage of containers running the same image. @@ -333,12 +337,12 @@ The annotations added contain the information on what compute resources were aut See the [InitialResources proposal](https://git.k8s.io/community/contributors/design-proposals/autoscaling/initial-resources.md) for more details. -### LimitPodHardAntiAffinityTopology +### LimitPodHardAntiAffinityTopology {#limitpodhardantiaffinitytopology} This admission controller denies any pod that defines `AntiAffinity` topology key other than `kubernetes.io/hostname` in `requiredDuringSchedulingRequiredDuringExecution`. -### LimitRanger +### LimitRanger {#limitranger} This admission controller will observe the incoming request and ensure that it does not violate any of the constraints enumerated in the `LimitRange` object in a `Namespace`. If you are using `LimitRange` objects in @@ -348,7 +352,7 @@ applies a 0.1 CPU requirement to all Pods in the `default` namespace. See the [limitRange design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_limit_range.md) and the [example of Limit Range](/docs/tasks/administer-cluster/memory-default-namespace/) for more details. -### MutatingAdmissionWebhook (beta in 1.9) +### MutatingAdmissionWebhook (beta in 1.9) {#mutatingadmissionwebhook} This admission controller calls any mutating webhooks which match the request. Matching webhooks are called in serial; each one may modify the object if it desires. @@ -379,7 +383,7 @@ versions >= 1.9). is finalized, not all possible webhook behaviors will be guaranteed to be supported indefinitely. -### NamespaceAutoProvision +### NamespaceAutoProvision {#namespaceautoprovision} This admission controller examines all incoming requests on namespaced resources and checks if the referenced namespace does exist. @@ -387,12 +391,12 @@ It creates a namespace if it cannot be found. This admission controller is useful in deployments that do not want to restrict creation of a namespace prior to its usage. -### NamespaceExists +### NamespaceExists {#namespaceexists} This admission controller checks all requests on namespaced resources other than `Namespace` itself. If the namespace referenced from a request doesn't exist, the request is rejected. -### NamespaceLifecycle +### NamespaceLifecycle {#namespacelifecycle} This admission controller enforces that a `Namespace` that is undergoing termination cannot have new objects created in it, and ensures that requests in a non-existent `Namespace` are rejected. This admission controller also prevents deletion of @@ -401,14 +405,14 @@ three system reserved namespaces `default`, `kube-system`, `kube-public`. A `Namespace` deletion kicks off a sequence of operations that remove all objects (pods, services, etc.) in that namespace. In order to enforce integrity of that process, we strongly recommend running this admission controller. -### NodeRestriction +### NodeRestriction {#noderestriction} This admission controller limits the `Node` and `Pod` objects a kubelet can modify. In order to be limited by this admission controller, kubelets must use credentials in the `system:nodes` group, with a username in the form `system:node:`. Such kubelets will only be allowed to modify their own `Node` API object, and only modify `Pod` API objects that are bound to their node. Future versions may add additional restrictions to ensure kubelets have the minimal set of permissions required to operate correctly. -### OwnerReferencesPermissionEnforcement +### OwnerReferencesPermissionEnforcement {#ownerreferencespermissionenforcement} This admission controller protects the access to the `metadata.ownerReferences` of an object so that only users with "delete" permission to the object can change it. @@ -416,7 +420,7 @@ This admission controller also protects the access to `metadata.ownerReferences[ of an object, so that only users with "update" permission to the `finalizers` subresource of the referenced *owner* can change it. -### PersistentVolumeLabel (DEPRECATED) +### PersistentVolumeLabel (DEPRECATED) {#persistentvolumelabel} This admission controller automatically attaches region or zone labels to PersistentVolumes as defined by the cloud provider (for example, GCE or AWS). @@ -426,7 +430,7 @@ If the admission controller doesn't support automatic labelling your PersistentV may need to add the labels manually to prevent pods from mounting volumes from a different zone. PersistentVolumeLabel is DEPRECATED and labeling persistent volumes has been taken over by [cloud controller manager](/docs/tasks/administer-cluster/running-cloud-controller/). -### PodNodeSelector +### PodNodeSelector {#podnodeselector} This admission controller defaults and limits what node selectors may be used within a namespace by reading a namespace annotation and a global configuration. @@ -482,7 +486,7 @@ This admission controller has the following behavior: admission plugin, which allows preventing pods from running on specifically tainted nodes. {{< /note >}} -### PersistentVolumeClaimResize +### PersistentVolumeClaimResize {#persistentvolumeclaimresize} This admission controller implements additional validations for checking incoming `PersistentVolumeClaim` resize requests. @@ -511,16 +515,16 @@ parameters: allowVolumeExpansion: true ``` -For more information about persistent volume claims, see ["PersistentVolumeClaims"](/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims). +For more information about persistent volume claims, see [PersistentVolumeClaims](/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims). -### PodPreset +### PodPreset {#podpreset} This admission controller injects a pod with the fields specified in a matching PodPreset. See also [PodPreset concept](/docs/concepts/workloads/pods/podpreset/) and [Inject Information into Pods Using a PodPreset](/docs/tasks/inject-data-application/podpreset) for more information. -### PodSecurityPolicy +### PodSecurityPolicy {#podsecuritypolicy} This admission controller acts on creation and modification of the pod and determines if it should be admitted based on the requested security context and the available Pod Security Policies. @@ -531,7 +535,7 @@ extensions group (`--runtime-config=extensions/v1beta1/podsecuritypolicy=true`). See also [Pod Security Policy documentation](/docs/concepts/policy/pod-security-policy/) for more information. -### PodTolerationRestriction +### PodTolerationRestriction {#podtolerationrestriction} This admission controller first verifies any conflict between a pod's tolerations and its namespace's tolerations, and rejects the pod request if there is a conflict. @@ -549,11 +553,11 @@ Tolerations to a namespace are assigned via the `scheduler.alpha.kubernetes.io/tolerationsWhitelist` annotation keys. -### Priority +### Priority {#priority} The priority admission controller uses the `priorityClassName` field and populates the integer value of the priority. If the priority class is not found, the Pod is rejected. -### ResourceQuota +### ResourceQuota {#resourcequota} This admission controller will observe the incoming request and ensure that it does not violate any of the constraints enumerated in the `ResourceQuota` object in a `Namespace`. If you are using `ResourceQuota` @@ -562,20 +566,20 @@ objects in your Kubernetes deployment, you MUST use this admission controller to See the [resourceQuota design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md) and the [example of Resource Quota](/docs/concepts/policy/resource-quotas/) for more details. -### SecurityContextDeny +### SecurityContextDeny {#securitycontextdeny} This admission controller will deny any pod that attempts to set certain escalating [SecurityContext](/docs/tasks/configure-pod-container/security-context/) fields. This should be enabled if a cluster doesn't utilize [pod security policies](/docs/concepts/policy/pod-security-policy/) to restrict the set of values a security context can take. -### ServiceAccount +### ServiceAccount {#serviceaccount} This admission controller implements automation for [serviceAccounts](/docs/tasks/configure-pod-container/configure-service-account/). We strongly recommend using this admission controller if you intend to make use of Kubernetes `ServiceAccount` objects. -### Storage Object in Use Protection (beta) +### StorageObjectInUseProtection (beta) {#storageobjectinuseprotection} {{< feature-state for_k8s_version="v1.10" state="beta" >}} The `StorageObjectInUseProtection` plugin adds the `kubernetes.io/pvc-protection` or `kubernetes.io/pv-protection` finalizers to newly created Persistent Volume Claims (PVCs) or Persistent Volumes (PV). In case a user deletes a PVC or PV the PVC or PV is not removed until the finalizer is removed from the PVC or PV by PVC or PV Protection Controller. Refer to the [Storage Object in Use Protection](/docs/concepts/storage/persistent-volumes/#storage-object-in-use-protection) for more detailed information. -### ValidatingAdmissionWebhook (alpha in 1.8; beta in 1.9) +### ValidatingAdmissionWebhook (alpha in 1.8; beta in 1.9) {#validatingadmissionwebhook} This admission controller calls any validating webhooks which match the request. Matching webhooks are called in parallel; if any of them rejects the request, the request @@ -596,15 +600,17 @@ versions 1.9 and later). Yes. -For Kubernetes version 1.10 and later, we recommend running the following set of admission controllers using the ```--enable-admission-plugins``` flag (**order doesn't matter**). +For Kubernetes version 1.10 and later, we recommend running the following set of admission controllers using the `--enable-admission-plugins` flag (**order doesn't matter**). -Note: ```--admission-control``` was deprecated in 1.10 and replaced with ```--enable-admission-plugins```. +{{< note >}} +**Note:** `--admission-control` was deprecated in 1.10 and replaced with `--enable-admission-plugins`. +{{< /note >}} ```shell --enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota ``` -For Kubernetes 1.9 and earlier, we recommend running the following set of admission controllers using the ```--admission-control``` flag (**order matters**). +For Kubernetes 1.9 and earlier, we recommend running the following set of admission controllers using the `--admission-control` flag (**order matters**). * v1.9 @@ -644,3 +650,4 @@ admission controllers ran in the exact order specified. ```shell --admission-control=NamespaceLifecycle,LimitRanger,SecurityContextDeny,ServiceAccount,PersistentVolumeLabel,ResourceQuota ``` +{{% /capture %}} diff --git a/content/en/docs/reference/access-authn-authz/authentication.md b/content/en/docs/reference/access-authn-authz/authentication.md index 296fd4d3a6..abf4835638 100644 --- a/content/en/docs/reference/access-authn-authz/authentication.md +++ b/content/en/docs/reference/access-authn-authz/authentication.md @@ -6,11 +6,15 @@ reviewers: - deads2k - liggitt title: Authenticating +content_template: templates/concept weight: 10 --- -{{< toc >}} +{{% capture overview %}} +This page provides an overview of authenticating. +{{% /capture %}} +{{% capture body %}} ## Users in Kubernetes All Kubernetes clusters have two categories of users: service accounts managed @@ -90,12 +94,15 @@ The API server reads bearer tokens from a file when given the `--token-auth-file changed without restarting API server. The token file is a csv file with a minimum of 3 columns: token, user name, user uid, -followed by optional group names. Note, if you have more than one group the column must be -double quoted e.g. +followed by optional group names. + +{{< note >}} +**Note:** If you have more than one group the column must be double quoted e.g. ```conf token,user,uid,"group1,group2,group3" ``` +{{< /note >}} #### Putting a Bearer Token in a Request @@ -182,9 +189,11 @@ mounted into pods at well-known locations, and allow in-cluster processes to talk to the API server. Accounts may be explicitly associated with pods using the `serviceAccountName` field of a `PodSpec`. -NOTE: `serviceAccountName` is usually omitted because this is done automatically. +{{< note >}} +**Note:** `serviceAccountName` is usually omitted because this is done automatically. +{{< /note >}} -``` +```yaml apiVersion: apps/v1 # this apiVersion is relevant as of Kubernetes 1.9 kind: Deployment metadata: @@ -236,7 +245,9 @@ metadata: type: kubernetes.io/service-account-token ``` -Note: values are base64 encoded because secrets are always base64 encoded. +{{< note >}} +**Note:** Values are base64 encoded because secrets are always base64 encoded. +{{< /note >}} The signed JWT can be used as a bearer token to authenticate as the given service account. See [above](#putting-a-bearer-token-in-a-request) for how the token is included @@ -393,8 +404,8 @@ Webhook authentication is a hook for verifying bearer tokens. * `--authentication-token-webhook-cache-ttl` how long to cache authentication decisions. Defaults to two minutes. The configuration file uses the [kubeconfig](/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/) -file format. Within the file "users" refers to the API server webhook and -"clusters" refers to the remote service. An example would be: +file format. Within the file `users` refers to the API server webhook and +`clusters` refers to the remote service. An example would be: ```yaml # clusters refers to the remote service. @@ -506,7 +517,7 @@ For example, with this configuration: this request: -``` +```http GET / HTTP/1.1 X-Remote-User: fido X-Remote-Group: dogs @@ -694,7 +705,7 @@ To authenticate against the API: ### Configuration -Credential plugins are configured through [`kubectl` config files](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) +Credential plugins are configured through [kubectl config files](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) as part of the user fields. ```yaml @@ -818,3 +829,4 @@ is triggered each time the tool using the plugin is invoked. } } ``` +{{% /capture %}} diff --git a/content/en/docs/reference/access-authn-authz/authorization.md b/content/en/docs/reference/access-authn-authz/authorization.md index 40dd7d47ab..f352f4caf0 100644 --- a/content/en/docs/reference/access-authn-authz/authorization.md +++ b/content/en/docs/reference/access-authn-authz/authorization.md @@ -17,7 +17,7 @@ policies using the supported authorization modules. {{% capture body %}} In Kubernetes, you must be authenticated (logged in) before your request can be authorized (granted permission to access). For information about authentication, -see [Accessing Control Overview](/docs/admin/accessing-the-api/). +see [Accessing Control Overview](/docs/reference/access-authn-authz/controlling-access/). Kubernetes expects attributes that are common to REST API requests. This means that Kubernetes authorization works with existing organization-wide or @@ -44,10 +44,10 @@ Kubernetes reviews only the following API request attributes: * **user** - The `user` string provided during authentication. * **group** - The list of group names to which the authenticated user belongs. - * **"extra"** - A map of arbitrary string keys to string values, provided by the authentication layer. + * **extra** - A map of arbitrary string keys to string values, provided by the authentication layer. * **API** - Indicates whether the request is for an API resource. * **Request path** - Path to miscellaneous non-resource endpoints like `/api` or `/healthz`. - * **API request verb** - API verbs `get`, `list`, `create`, `update`, `patch`, `watch`, `proxy`, `redirect`, `delete`, and `deletecollection` are used for resource requests. To determine the request verb for a resource API endpoint, see **Determine the request verb** below. + * **API request verb** - API verbs `get`, `list`, `create`, `update`, `patch`, `watch`, `proxy`, `redirect`, `delete`, and `deletecollection` are used for resource requests. To determine the request verb for a resource API endpoint, see [Determine the request verb](/docs/reference/access-authn-authz/authorization/#determine-whether-a-request-is-allowed-or-denied) below. * **HTTP request verb** - HTTP verbs `get`, `post`, `put`, and `delete` are used for non-resource requests. * **Resource** - The ID or name of the resource that is being accessed (for resource requests only) -- For resource requests using `get`, `update`, `patch`, and `delete` verbs, you must provide the resource name. * **Subresource** - The subresource that is being accessed (for resource requests only). @@ -70,17 +70,17 @@ DELETE | delete (for individual resources), deletecollection (for collections Kubernetes sometimes checks authorization for additional permissions using specialized verbs. For example: * [PodSecurityPolicy](/docs/concepts/policy/pod-security-policy/) checks for authorization of the `use` verb on `podsecuritypolicies` resources in the `policy` API group. -* [RBAC](/docs/admin/authorization/rbac/#privilege-escalation-prevention-and-bootstrapping) checks for authorization +* [RBAC](/docs/reference/access-authn-authz/rbac/#privilege-escalation-prevention-and-bootstrapping) checks for authorization of the `bind` verb on `roles` and `clusterroles` resources in the `rbac.authorization.k8s.io` API group. -* [Authentication](/docs/admin/authentication/) layer checks for authorization of the `impersonate` verb on `users`, `groups`, and `serviceaccounts` in the core API group, and the `userextras` in the `authentication.k8s.io` API group. +* [Authentication](/docs/reference/access-authn-authz/authentication/) layer checks for authorization of the `impersonate` verb on `users`, `groups`, and `serviceaccounts` in the core API group, and the `userextras` in the `authentication.k8s.io` API group. ## Authorization Modules - * **Node** - A special-purpose authorizer that grants permissions to kubelets based on the pods they are scheduled to run. To learn more about using the Node authorization mode, see [Node Authorization](/docs/admin/authorization/node/). - * **ABAC** - Attribute-based access control (ABAC) defines an access control paradigm whereby access rights are granted to users through the use of policies which combine attributes together. The policies can use any type of attributes (user attributes, resource attributes, object, environment attributes, etc). To learn more about using the ABAC mode, see [ABAC Mode](/docs/admin/authorization/abac/). - * **RBAC** - Role-based access control (RBAC) is a method of regulating access to computer or network resources based on the roles of individual users within an enterprise. In this context, access is the ability of an individual user to perform a specific task, such as view, create, or modify a file. To learn more about using the RBAC mode, see [RBAC Mode](/docs/admin/authorization/rbac/) - * When specified "RBAC" (Role-Based Access Control) uses the "rbac.authorization.k8s.io" API group to drive authorization decisions, allowing admins to dynamically configure permission policies through the Kubernetes API. + * **Node** - A special-purpose authorizer that grants permissions to kubelets based on the pods they are scheduled to run. To learn more about using the Node authorization mode, see [Node Authorization](/docs/reference/access-authn-authz/node/). + * **ABAC** - Attribute-based access control (ABAC) defines an access control paradigm whereby access rights are granted to users through the use of policies which combine attributes together. The policies can use any type of attributes (user attributes, resource attributes, object, environment attributes, etc). To learn more about using the ABAC mode, see [ABAC Mode](/docs/reference/access-authn-authz/abac/). + * **RBAC** - Role-based access control (RBAC) is a method of regulating access to computer or network resources based on the roles of individual users within an enterprise. In this context, access is the ability of an individual user to perform a specific task, such as view, create, or modify a file. To learn more about using the RBAC mode, see [RBAC Mode](/docs/reference/access-authn-authz/rbac/) + * When specified RBAC (Role-Based Access Control) uses the `rbac.authorization.k8s.io` API group to drive authorization decisions, allowing admins to dynamically configure permission policies through the Kubernetes API. * To enable RBAC, start the apiserver with `--authorization-mode=RBAC`. - * **Webhook** - A WebHook is an HTTP callback: an HTTP POST that occurs when something happens; a simple event-notification via HTTP POST. A web application implementing WebHooks will POST a message to a URL when certain things happen. To learn more about using the Webhook mode, see [Webhook Mode](/docs/admin/authorization/webhook/). + * **Webhook** - A WebHook is an HTTP callback: an HTTP POST that occurs when something happens; a simple event-notification via HTTP POST. A web application implementing WebHooks will POST a message to a URL when certain things happen. To learn more about using the Webhook mode, see [Webhook Mode](/docs/reference/access-authn-authz/webhook/). #### Checking API Access @@ -96,7 +96,7 @@ $ kubectl auth can-i create deployments --namespace prod no ``` -Administrators can combine this with ["user impersonation"](/docs/admin/authentication/#user-impersonation) +Administrators can combine this with [user impersonation](/docs/reference/access-authn-authz/authentication/#user-impersonation) to determine what action other users can perform. ```bash @@ -159,14 +159,6 @@ The following flags can be used: You can choose more than one authorization module. Modules are checked in order so an earlier module has higher priority to allow or deny a request. -{{% /capture %}} -{{% capture whatsnext %}} -* To learn more about Authentication, see **Authentication** in [Controlling Access to the Kubernetes API](/docs/admin/accessing-the-api/). -* To learn more about Admission Control, see [Using Admission Controllers](/docs/admin/admission-controllers/). -{{% /capture %}} - - - ## Privilege escalation via pod creation Users who have the ability to create pods in a namespace can potentially @@ -183,3 +175,9 @@ maps in the namespace; and impersonate any service account in the namespace and take any action the account could take. This applies regardless of authorization mode. {{< /caution >}} +{{% /capture %}} + +{{% capture whatsnext %}} +* To learn more about Authentication, see **Authentication** in [Controlling Access to the Kubernetes API](/docs/reference/access-authn-authz/controlling-access/). +* To learn more about Admission Control, see [Using Admission Controllers](/docs/reference/access-authn-authz/admission-controllers/). +{{% /capture %}} diff --git a/content/en/docs/reference/access-authn-authz/bootstrap-tokens.md b/content/en/docs/reference/access-authn-authz/bootstrap-tokens.md index de9d77e81b..736461481d 100644 --- a/content/en/docs/reference/access-authn-authz/bootstrap-tokens.md +++ b/content/en/docs/reference/access-authn-authz/bootstrap-tokens.md @@ -2,19 +2,21 @@ reviewers: - jbeda title: Authenticating with Bootstrap Tokens +content_template: templates/concept weight: 20 --- -{{< toc >}} - -## Overview - +{{% capture overview %}} Bootstrap tokens are a simple bearer token that is meant to be used when creating new clusters or joining new nodes to an existing cluster. It was built -to support [`kubeadm`](/docs/admin/kubeadm/), but can be used in other contexts +to support [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/), but can be used in other contexts for users that wish to start clusters without `kubeadm`. It is also built to work, via RBAC policy, with the [Kubelet TLS -Bootstrapping](/docs/admin/kubelet-tls-bootstrapping/) system. +Bootstrapping](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/) system. +{{% /capture %}} + +{{% capture body %}} +## Bootstrap Tokens Overview Bootstrap Tokens are defined with a specific type (`bootstrap.kubernetes.io/token`) of secrets that lives in the `kube-system` @@ -117,10 +119,10 @@ rejected when used for authentication and ignored during ConfigMap signing. The expiry value is encoded as an absolute UTC time using RFC3339. Enable the `tokencleaner` controller to automatically delete expired tokens. -## Token Management with `kubeadm` +## Token Management with kubeadm You can use the `kubeadm` tool to manage tokens on a running cluster. See the -[`kubeadm token` docs](/docs/admin/kubeadm/#manage-tokens) for details. +[kubeadm token docs](/docs/reference/setup-tools/kubeadm/kubeadm-token/) for details. ## ConfigMap Signing @@ -176,10 +178,13 @@ verify the JWS using the `HS256` scheme (HMAC-SHA256) with the full token (e.g. `07401b.f395accd246ae52d`) as the shared secret. Users _must_ verify that HS256 is used. -WARNING: Any party with a bootstrapping token can create a valid signature for that +{{< warning >}} +**Warning:** Any party with a bootstrapping token can create a valid signature for that token. When using ConfigMap signing it's discouraged to share the same token with many clients, since a compromised client can potentially man-in-the middle another client relying on the signature to bootstrap TLS trust. +{{< /warning >}} Consult the [kubeadm security model](/docs/reference/generated/kubeadm/#security-model) section for more information. +{{% /capture %}} diff --git a/content/en/docs/reference/access-authn-authz/controlling-access.md b/content/en/docs/reference/access-authn-authz/controlling-access.md index 30c2aeee60..723a10463f 100644 --- a/content/en/docs/reference/access-authn-authz/controlling-access.md +++ b/content/en/docs/reference/access-authn-authz/controlling-access.md @@ -4,9 +4,15 @@ reviewers: - erictune - lavalamp title: Controlling Access to the Kubernetes API +content_template: templates/concept weight: 5 --- +{{% capture overview %}} +This page provides an overview of controlling access to the Kubernetes API. +{{% /capture %}} + +{{% capture body %}} Users [access the API](/docs/tasks/access-application-cluster/access-cluster/) using `kubectl`, client libraries, or by making REST requests. Both human users and [Kubernetes service accounts](/docs/tasks/configure-pod-container/configure-service-account/) can be @@ -52,7 +58,7 @@ is available to subsequent steps to use in their decisions. Some authenticators also provide the group memberships of the user, while other authenticators do not. -While Kubernetes uses "usernames" for access control decisions and in request logging, +While Kubernetes uses `usernames` for access control decisions and in request logging, it does not have a `user` object nor does it store usernames or other information about users in its object store. @@ -156,4 +162,4 @@ When the cluster is created by `kube-up.sh`, on Google Compute Engine (GCE), and on several other cloud providers, the API server serves on port 443. On GCE, a firewall rule is configured on the project to allow external HTTPS access to the API. Other cluster setup methods vary. - +{{% /capture %}} diff --git a/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md b/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md index baa0a9a37e..6c307d08ad 100644 --- a/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md +++ b/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md @@ -6,14 +6,12 @@ reviewers: - caesarxuchao - deads2k title: Dynamic Admission Control +content_template: templates/concept weight: 40 --- -{{< toc >}} - -## Overview - -The [admission controllers documentation](/docs/admin/admission-controllers/) +{{% capture overview %}} +The [admission controllers documentation](/docs/reference/access-authn-authz/admission-controllers/) introduces how to use standard, plugin-style admission controllers. However, plugin admission controllers are not flexible enough for all use cases, due to the following: @@ -26,16 +24,18 @@ address these limitations. They allow admission controllers to be developed out-of-tree and configured at runtime. This page describes how to use Admission Webhooks and Initializers. +{{% /capture %}} +{{% capture body %}} ## Admission Webhooks ### What are admission webhooks? Admission webhooks are HTTP callbacks that receive admission requests and do something with them. You can define two types of admission webhooks, -[validating admission Webhook](/docs/admin/admission-controllers/#validatingadmissionwebhook-alpha-in-18-beta-in-19) +[validating admission Webhook](/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook-alpha-in-1-8-beta-in-1-9) and -[mutating admission webhook](/docs/admin/admission-controllers/#mutatingadmissionwebhook-beta-in-19). +[mutating admission webhook](/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook-beta-in-1-9). With validating admission Webhooks, you may reject requests to enforce custom admission policies. With mutating admission Webhooks, you may change requests to enforce custom defaults. @@ -44,7 +44,7 @@ enforce custom defaults. Admission webhooks are essentially part of the cluster control-plane. You should write and deploy them with great caution. Please read the [user -guides](https://github.com/kubernetes/website/pull/6836/files)(WIP) for +guides](/docs/reference/access-authn-authz/extensible-admission-controllers/#write-an-admission-webhook-server) for instructions if you intend to write/deploy production-grade admission webhooks. In the following, we describe how to quickly experiment with admission webhooks. @@ -54,7 +54,7 @@ In the following, we describe how to quickly experiment with admission webhooks. * Ensure that MutatingAdmissionWebhook and ValidatingAdmissionWebhook admission controllers are enabled. - [Here](/docs/admin/admission-controllers.md#is-there-a-recommended-set-of-admission-controllers-to-use) + [Here](/docs/reference/access-authn-authz/admission-controllers/#is-there-a-recommended-set-of-admission-controllers-to-use) is a recommended set of admission controllers to enable in general. * Ensure that the admissionregistration.k8s.io/v1beta1 API is enabled. @@ -119,8 +119,10 @@ webhooks: caBundle: ``` -*Note*: When using `clientConfig.service`, the server cert must be valid for +{{< note >}} +**Note:** When using `clientConfig.service`, the server cert must be valid for `..svc`. +{{< /note >}} When an apiserver receives a request that matches one of the `rules`, the apiserver sends an `admissionReview` request to webhook as specified in the @@ -130,7 +132,7 @@ After you create the webhook configuration, the system will take a few seconds to honor the new configuration. {{< note >}} -**Note** When the webhook plugin is deployed into the Kubernetes cluster as a +**Note:** When the webhook plugin is deployed into the Kubernetes cluster as a service, it has to expose its service on the 443 port. The communication between the API server and the webhook service may fail if a different port is used. @@ -220,13 +222,15 @@ and are not visible in the API unless specifically requested by using the query ### When to use initializers? Initializers are useful for admins to force policies (e.g., the -[AlwaysPullImages](/docs/admin/admission-controllers/#alwayspullimages) +[AlwaysPullImages](/docs/reference/access-authn-authz/admission-controllers/#alwayspullimages) admission controller), or to inject defaults (e.g., the -[DefaultStorageClass](/docs/admin/admission-controllers/#defaultstorageclass) +[DefaultStorageClass](/docs/reference/access-authn-authz/admission-controllers/#defaultstorageclass) admission controller), etc. +{{< note >}} **Note:** If your use case does not involve mutating objects, consider using external admission webhooks, as they have better performance. +{{< /note >}} ### How are initializers triggered? @@ -304,3 +308,4 @@ the pods will be stuck in an uninitialized state. Make sure that all expansions of the `` tuple in a `rule` are valid. If they are not, separate them in different `rules`. +{{% /capture %}} diff --git a/content/en/docs/reference/access-authn-authz/node.md b/content/en/docs/reference/access-authn-authz/node.md index d61b43ac74..5c6d0242e5 100644 --- a/content/en/docs/reference/access-authn-authz/node.md +++ b/content/en/docs/reference/access-authn-authz/node.md @@ -5,13 +5,15 @@ reviewers: - liggitt - ericchiang title: Using Node Authorization +content_template: templates/concept weight: 90 --- -{{< toc >}} - +{{% capture overview %}} Node authorization is a special-purpose authorization mode that specifically authorizes API requests made by kubelets. +{{% /capture %}} +{{% capture body %}} ## Overview The Node authorizer allows a kubelet to perform API operations. This includes: @@ -41,11 +43,11 @@ have the minimal set of permissions required to operate correctly. In order to be authorized by the Node authorizer, kubelets must use a credential that identifies them as being in the `system:nodes` group, with a username of `system:node:`. This group and user name format match the identity created for each kubelet as part of -[kubelet TLS bootstrapping](/docs/admin/kubelet-tls-bootstrapping/). +[kubelet TLS bootstrapping](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/). To enable the Node authorizer, start the apiserver with `--authorization-mode=Node`. -To limit the API objects kubelets are able to write, enable the [NodeRestriction](/docs/admin/admission-controllers#NodeRestriction) admission plugin by starting the apiserver with `--enable-admission-plugins=...,NodeRestriction,...` +To limit the API objects kubelets are able to write, enable the [NodeRestriction](/docs/reference/access-authn-authz/admission-controllers#NodeRestriction) admission plugin by starting the apiserver with `--enable-admission-plugins=...,NodeRestriction,...` ## Migration considerations @@ -68,7 +70,7 @@ since the default node identifier implementation would not consider that a node ### Upgrades from previous versions using RBAC -Upgraded pre-1.7 clusters using [RBAC](/docs/admin/authorization/rbac/) will continue functioning as-is because the `system:nodes` group binding will already exist. +Upgraded pre-1.7 clusters using [RBAC](/docs/reference/access-authn-authz/rbac/) will continue functioning as-is because the `system:nodes` group binding will already exist. If a cluster admin wishes to start using the `Node` authorizer and `NodeRestriction` admission plugin to limit node access to the API, that can be done non-disruptively: @@ -80,7 +82,7 @@ to limit node access to the API, that can be done non-disruptively: ### RBAC Node Permissions -In 1.6, the `system:node` cluster role was automatically bound to the `system:nodes` group when using the [RBAC Authorization mode](/docs/admin/authorization/rbac/). +In 1.6, the `system:node` cluster role was automatically bound to the `system:nodes` group when using the [RBAC Authorization mode](/docs/reference/access-authn-authz/rbac/). In 1.7, the automatic binding of the `system:nodes` group to the `system:node` role is deprecated because the node authorizer accomplishes the same purpose with the benefit of additional restrictions @@ -91,3 +93,4 @@ In 1.8, the binding will not be created at all. When using RBAC, the `system:node` cluster role will continue to be created, for compatibility with deployment methods that bind other users or groups to that role. +{{% /capture %}} diff --git a/content/en/docs/reference/access-authn-authz/rbac.md b/content/en/docs/reference/access-authn-authz/rbac.md index 0a470c66ba..0da410aeb5 100644 --- a/content/en/docs/reference/access-authn-authz/rbac.md +++ b/content/en/docs/reference/access-authn-authz/rbac.md @@ -4,12 +4,16 @@ reviewers: - deads2k - liggitt title: Using RBAC Authorization +content_template: templates/concept weight: 70 --- -{{< toc >}} +{{% capture overview %}} +Role-based access control (RBAC) is a method of regulating access to computer or network resources based on the roles of individual users within an enterprise. +{{% /capture %}} -Role-Based Access Control ("RBAC") uses the "rbac.authorization.k8s.io" API group +{{% capture body %}} +`RBAC` uses the `rbac.authorization.k8s.io` API group to drive authorization decisions, allowing admins to dynamically configure policies through the Kubernetes API. @@ -150,7 +154,7 @@ Most resources are represented by a string representation of their name, such as appears in the URL for the relevant API endpoint. However, some Kubernetes APIs involve a "subresource", such as the logs for a pod. The URL for the pods logs endpoint is: -``` +```http GET /api/v1/namespaces/{namespace}/pods/{name}/log ``` @@ -332,7 +336,7 @@ Subjects can be groups, users or service accounts. Users are represented by strings. These can be plain usernames, like "alice", email-style names, like "bob@example.com", or numeric IDs represented as a string. It is up to the Kubernetes admin to configure -the [authentication modules](/docs/admin/authentication/) to produce +the [authentication modules](/docs/reference/access-authn-authz/authentication/) to produce usernames in the desired format. The RBAC authorization system does not require any particular format. However, the prefix `system:` is reserved for Kubernetes system use, and so the admin should ensure @@ -721,11 +725,15 @@ Grants a `Role` or `ClusterRole` within a specific namespace. Examples: * Grant the `admin` `ClusterRole` to a user named "bob" in the namespace "acme": - `kubectl create rolebinding bob-admin-binding --clusterrole=admin --user=bob --namespace=acme` + ``` + kubectl create rolebinding bob-admin-binding --clusterrole=admin --user=bob --namespace=acme + ``` * Grant the `view` `ClusterRole` to a service account named "myapp" in the namespace "acme": - `kubectl create rolebinding myapp-view-binding --clusterrole=view --serviceaccount=acme:myapp --namespace=acme` + ``` + kubectl create rolebinding myapp-view-binding --clusterrole=view --serviceaccount=acme:myapp --namespace=acme + ``` ### `kubectl create clusterrolebinding` @@ -733,22 +741,28 @@ Grants a `ClusterRole` across the entire cluster, including all namespaces. Exam * Grant the `cluster-admin` `ClusterRole` to a user named "root" across the entire cluster: - `kubectl create clusterrolebinding root-cluster-admin-binding --clusterrole=cluster-admin --user=root` + ``` + kubectl create clusterrolebinding root-cluster-admin-binding --clusterrole=cluster-admin --user=root + ``` * Grant the `system:node` `ClusterRole` to a user named "kubelet" across the entire cluster: - `kubectl create clusterrolebinding kubelet-node-binding --clusterrole=system:node --user=kubelet` + ``` + kubectl create clusterrolebinding kubelet-node-binding --clusterrole=system:node --user=kubelet + ``` * Grant the `view` `ClusterRole` to a service account named "myapp" in the namespace "acme" across the entire cluster: - `kubectl create clusterrolebinding myapp-view-binding --clusterrole=view --serviceaccount=acme:myapp` + ``` + kubectl create clusterrolebinding myapp-view-binding --clusterrole=view --serviceaccount=acme:myapp + ``` See the CLI help for detailed usage. ## Service Account Permissions Default RBAC policies grant scoped permissions to control-plane components, nodes, -and controllers, but grant *no permissions* to service accounts outside the "kube-system" namespace +and controllers, but grant *no permissions* to service accounts outside the `kube-system` namespace (beyond discovery permissions given to all authenticated users). This allows you to grant particular roles to particular service accounts as needed. @@ -775,7 +789,7 @@ In order from most secure to least secure, the approaches are: If an application does not specify a `serviceAccountName`, it uses the "default" service account. - {{< note >}}**NOTE:** Permissions given to the "default" service + {{< note >}}**Note:** Permissions given to the "default" service account are available to any pod in the namespace that does not specify a `serviceAccountName`.{{< /note >}} @@ -788,10 +802,10 @@ In order from most secure to least secure, the approaches are: --namespace=my-namespace ``` - Many [add-ons](/docs/concepts/cluster-administration/addons/) currently run as the "default" service account in the "kube-system" namespace. - To allow those add-ons to run with super-user access, grant cluster-admin permissions to the "default" service account in the "kube-system" namespace. + Many [add-ons](/docs/concepts/cluster-administration/addons/) currently run as the "default" service account in the `kube-system` namespace. + To allow those add-ons to run with super-user access, grant cluster-admin permissions to the "default" service account in the `kube-system` namespace. - {{< note >}}**NOTE:** Enabling this means the "kube-system" + {{< note >}}**Note:** Enabling this means the `kube-system` namespace contains secrets that grant super-user access to the API.{{< /note >}} @@ -831,7 +845,7 @@ In order from most secure to least secure, the approaches are: If you don't care about partitioning permissions at all, you can grant super-user access to all service accounts. - {{< warning >}}**WARNING:** This allows any user with read access + {{< warning >}}**Warning:** This allows any user with read access to secrets or the ability to create a pod to access super-user credentials.{{< /warning >}} @@ -847,7 +861,7 @@ Prior to Kubernetes 1.6, many deployments used very permissive ABAC policies, including granting full API access to all service accounts. Default RBAC policies grant scoped permissions to control-plane components, nodes, -and controllers, but grant *no permissions* to service accounts outside the "kube-system" namespace +and controllers, but grant *no permissions* to service accounts outside the `kube-system` namespace (beyond discovery permissions given to all authenticated users). While far more secure, this can be disruptive to existing workloads expecting to automatically receive API permissions. @@ -856,7 +870,7 @@ Here are two approaches for managing this transition: ### Parallel Authorizers Run both the RBAC and ABAC authorizers, and specify a policy file that contains -[the legacy ABAC policy](/docs/admin/authorization/abac#policy-file-format): +[the legacy ABAC policy](/docs/reference/access-authn-authz/abac/#policy-file-format): ``` --authorization-mode=RBAC,ABAC --authorization-policy-file=mypolicy.json @@ -876,11 +890,10 @@ in the server logs, you can remove the ABAC authorizer. You can replicate a permissive policy using RBAC role bindings. {{< warning >}} -**WARNING:** The following policy allows **ALL** service accounts to act as cluster administrators. +**Warning:** The following policy allows **ALL** service accounts to act as cluster administrators. Any application running in a container receives service account credentials automatically, and could perform any action against the API, including viewing secrets and modifying permissions. This is not a recommended policy. -{{< /warning >}} ``` kubectl create clusterrolebinding permissive-binding \ @@ -889,3 +902,6 @@ kubectl create clusterrolebinding permissive-binding \ --user=kubelet \ --group=system:serviceaccounts ``` +{{< /warning >}} + +{{% /capture %}} diff --git a/content/en/docs/reference/access-authn-authz/service-accounts-admin.md b/content/en/docs/reference/access-authn-authz/service-accounts-admin.md index 51387e0069..932f9fb225 100644 --- a/content/en/docs/reference/access-authn-authz/service-accounts-admin.md +++ b/content/en/docs/reference/access-authn-authz/service-accounts-admin.md @@ -5,15 +5,19 @@ reviewers: - lavalamp - liggitt title: Managing Service Accounts +content_template: templates/concept weight: 50 --- -*This is a Cluster Administrator guide to service accounts. It assumes knowledge of -the [User Guide to Service Accounts](/docs/user-guide/service-accounts).* +{{% capture overview %}} +This is a Cluster Administrator guide to service accounts. It assumes knowledge of +the [User Guide to Service Accounts](/docs/user-guide/service-accounts). -*Support for authorization and user accounts is planned but incomplete. Sometimes -incomplete features are referred to in order to better describe service accounts.* +Support for authorization and user accounts is planned but incomplete. Sometimes +incomplete features are referred to in order to better describe service accounts. +{{% /capture %}} +{{% capture body %}} ## User accounts vs service accounts Kubernetes distinguishes between the concept of a user account and a service account @@ -45,16 +49,15 @@ Three separate components cooperate to implement the automation around service a ### Service Account Admission Controller The modification of pods is implemented via a plugin -called an [Admission Controller](/docs/admin/admission-controllers). It is part of the apiserver. +called an [Admission Controller](/docs/reference/access-authn-authz/admission-controllers/). It is part of the apiserver. It acts synchronously to modify pods as they are created or updated. When this plugin is active (and it is by default on most distributions), then it does the following when a pod is created or modified: 1. If the pod does not have a `ServiceAccount` set, it sets the `ServiceAccount` to `default`. - 2. It ensures that the `ServiceAccount` referenced by the pod exists, and otherwise rejects it. - 4. If the pod does not contain any `ImagePullSecrets`, then `ImagePullSecrets` of the -`ServiceAccount` are added to the pod. - 5. It adds a `volume` to the pod which contains a token for API access. - 6. It adds a `volumeSource` to each container of the pod mounted at `/var/run/secrets/kubernetes.io/serviceaccount`. + 1. It ensures that the `ServiceAccount` referenced by the pod exists, and otherwise rejects it. + 1. If the pod does not contain any `ImagePullSecrets`, then `ImagePullSecrets` of the `ServiceAccount` are added to the pod. + 1. It adds a `volume` to the pod which contains a token for API access. + 1. It adds a `volumeSource` to each container of the pod mounted at `/var/run/secrets/kubernetes.io/serviceaccount`. ### Token Controller @@ -108,3 +111,4 @@ kubectl delete secret mysecretname Service Account Controller manages ServiceAccount inside namespaces, and ensures a ServiceAccount named "default" exists in every active namespace. +{{% /capture %}} From b8e053480d70f2e2ec9a810b338b880300f385b4 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Singh Date: Sat, 23 Jun 2018 00:01:05 +0530 Subject: [PATCH 010/102] Updated configure-pod-configmap.md with correct `wget` params for Download Options. (#9201) Fixed `wget` command with correct `-O` file params for Download Options. --- .../configure-pod-container/configure-pod-configmap.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/en/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/en/docs/tasks/configure-pod-container/configure-pod-configmap.md index e1315a727e..da9f205286 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/en/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -45,8 +45,8 @@ For example: ```shell mkdir -p configure-pod-container/configmap/kubectl/ -wget https://k8s.io/docs/tasks/configure-pod-container/configmap/kubectl/game.properties -o configure-pod-container/configmap/kubectl/game.properties -wget https://k8s.io/docs/tasks/configure-pod-container/configmap/kubectl/ui.properties -o configure-pod-container/configmap/kubectl/ui.properties +wget https://k8s.io/docs/tasks/configure-pod-container/configmap/kubectl/game.properties -O configure-pod-container/configmap/kubectl/game.properties +wget https://k8s.io/docs/tasks/configure-pod-container/configmap/kubectl/ui.properties -O configure-pod-container/configmap/kubectl/ui.properties kubectl create configmap game-config --from-file=configure-pod-container/configmap/kubectl/ ``` @@ -157,7 +157,7 @@ Use the option `--from-env-file` to create a ConfigMap from an env-file, for exa # Blank lines are ignored. # There is no special handling of quotation marks (i.e. they will be part of the ConfigMap value)). -wget https://k8s.io/docs/tasks/configure-pod-container/configmap/kubectl/game-env-file.properties -o configure-pod-container/configmap/kubectl/game-env-file.properties +wget https://k8s.io/docs/tasks/configure-pod-container/configmap/kubectl/game-env-file.properties -O configure-pod-container/configmap/kubectl/game-env-file.properties cat configure-pod-container/configmap/kubectl/game-env-file.properties enemies=aliens lives=3 @@ -196,7 +196,7 @@ metadata: When passing `--from-env-file` multiple times to create a ConfigMap from multiple data sources, only the last env-file is used: ```shell -wget https://k8s.io/docs/tasks/configure-pod-container/configmap/kubectl/ui-env-file.properties -o configure-pod-container/configmap/kubectl/ui-env-file.properties +wget https://k8s.io/docs/tasks/configure-pod-container/configmap/kubectl/ui-env-file.properties -O configure-pod-container/configmap/kubectl/ui-env-file.properties kubectl create configmap config-multi-env-files \ --from-env-file=configure-pod-container/configmap/kubectl/game-env-file.properties \ --from-env-file=configure-pod-container/configmap/kubectl/ui-env-file.properties From 9b2fd1ff096c517cc3eff45dbf7fdce5c8e7f9f3 Mon Sep 17 00:00:00 2001 From: Peter Benjamin Date: Fri, 22 Jun 2018 11:36:05 -0700 Subject: [PATCH 011/102] Add redirect for broken kubelet auth link (#9195) --- static/_redirects | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/static/_redirects b/static/_redirects index 304d17d12e..7a0756d0d9 100644 --- a/static/_redirects +++ b/static/_redirects @@ -32,6 +32,7 @@ /docs/admin/ha-master-gce.md/ /docs/tasks/administer-cluster/highly-available-master/ 301 /docs/admin/high-availability/ /docs/admin/high-availability/building/ 301 /docs/admin/kubeadm-upgrade-1-7/ /docs/tasks/administer-cluster/upgrade-downgrade/kubeadm-upgrade-1-7/ 301 +/docs/admin/kubelet-authentication-authorization/ /docs/reference/command-line-tools-reference/kubelet-authentication-authorization/ 301 /docs/admin/limitrange/ /docs/tasks/administer-cluster/cpu-memory-limit/ 301 /docs/admin/limitrange/Limits/ /docs/tasks/administer-cluster/limit-storage-consumption/#limitrange-to-limit-requests-for-storage/ 301 /docs/admin/master-node-communication/ /docs/concepts/architecture/master-node-communication/ 301 @@ -495,7 +496,7 @@ https://kubernetes-io-v1-7.netlify.com/* https://v1-7.docs.kubernetes.io/:spl /docs/reference/generated/kubeadm/ /docs/reference/setup-tools/kubeadm/kubeadm/ 301 -/editdocs/ /docs/home/contribute/ 301 +/editdocs/ /docs/home/contribute/ 301 /docs/admin/accessing-the-api/ /docs/reference/access-authn-authz/controlling-access/ 301 /docs/admin/admission-controllers/ /docs/reference/access-authn-authz/admission-controllers/ 301 From e2adcde55daea872e758f54ce36c95135a41f653 Mon Sep 17 00:00:00 2001 From: "A. Ishikawa" Date: Mon, 25 Jun 2018 10:41:02 +0900 Subject: [PATCH 012/102] Update a command to run correctly for a reader (#9167) # Issue The command of jobs does not run correctly if its job already finished. Some readers may confuse that they can't succeed to run a command to follow this tutorial. So, we should add `--show-all` option to show pods that may be completed. # The log to show that we need to add an --show-all option ``` $ kubectl get jobs NAME DESIRED SUCCESSFUL AGE busybox 1 0 27d hello-1529501040 1 1 2m hello-1529501100 1 1 1m hello-1529501160 1 1 43s $ kubectl get pods --selector=job-name=hello-1529501160 No resources found, use --show-all to see completed objects. $ kubectl get pods --show-all --selector=job-name=hello-1529501160 NAME READY STATUS RESTARTS AGE hello-1529501160-dckjv 0/1 Completed 0 1m ``` --- content/en/docs/tasks/job/automated-tasks-with-cron-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/job/automated-tasks-with-cron-jobs.md b/content/en/docs/tasks/job/automated-tasks-with-cron-jobs.md index dc8cc0d9fd..fd6ff6ca5b 100755 --- a/content/en/docs/tasks/job/automated-tasks-with-cron-jobs.md +++ b/content/en/docs/tasks/job/automated-tasks-with-cron-jobs.md @@ -93,7 +93,7 @@ Note that the job name and pod name are different. ```shell # Replace "hello-4111706356" with the job name in your system -$ pods=$(kubectl get pods --selector=job-name=hello-4111706356 --output=jsonpath={.items..metadata.name}) +$ pods=$(kubectl get pods --show-all --selector=job-name=hello-4111706356 --output=jsonpath={.items..metadata.name}) $ echo $pods hello-4111706356-o9qcm From bad6ab958d5bdfab471797c1de2fc0e55b57b1f5 Mon Sep 17 00:00:00 2001 From: Alex Robinson Date: Sun, 24 Jun 2018 21:18:03 -0500 Subject: [PATCH 013/102] Fix rendering of example federated service DNS name (#9161) --- .../federation/federation-service-discovery.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/content/en/docs/tasks/federation/federation-service-discovery.md b/content/en/docs/tasks/federation/federation-service-discovery.md index 8b14127fcc..fc905d76a4 100644 --- a/content/en/docs/tasks/federation/federation-service-discovery.md +++ b/content/en/docs/tasks/federation/federation-service-discovery.md @@ -268,12 +268,13 @@ With the introduction of Federated Services and Cross-Cluster Service Discovery, this concept is extended to cover Kubernetes services running in any other cluster across your Cluster Federation, globally. To take advantage of this extended range, you use a slightly different -DNS name (of the form "..", -e.g. myservice.mynamespace.myfederation) to resolve Federated -Services. Using a different DNS name also avoids having your existing -applications accidentally traversing cross-zone or cross-region -networks and you incurring perhaps unwanted network charges or -latency, without you explicitly opting in to this behavior. +DNS name of the form ```".."``` +to resolve Federated Services. For example, you might use +`myservice.mynamespace.myfederation`. Using a different DNS name also +avoids having your existing applications accidentally traversing +cross-zone or cross-region networks and you incurring perhaps unwanted +network charges or latency, without you explicitly opting in to this +behavior. So, using our NGINX example service above, and the Federated Service DNS name form just described, let's consider an example: A Pod in a From 2efc30878370dc73fcd54dda8636aeb7cb42d50a Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Mon, 25 Jun 2018 05:36:02 +0200 Subject: [PATCH 014/102] Trivial markdown fix regarding the headers (#9134) I noticed that the three last headers were missing from the index, so I inspected the markdown and realized that they had only one hashtag (#) as compared to two (##) as all the other headers had. I simply made those three topics follow the same pattern I observed the other did. --- content/en/docs/tasks/run-application/configure-pdb.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/docs/tasks/run-application/configure-pdb.md b/content/en/docs/tasks/run-application/configure-pdb.md index 1e0a3b67ad..42e7e86fbf 100644 --- a/content/en/docs/tasks/run-application/configure-pdb.md +++ b/content/en/docs/tasks/run-application/configure-pdb.md @@ -163,13 +163,13 @@ For example, if the above `zk-pdb` object selects the pods of a StatefulSet of s specifications have the exact same meaning. The use of `maxUnavailable` is recommended as it automatically responds to changes in the number of replicas of the corresponding controller. -# Create the PDB object +## Create the PDB object You can create the PDB object with a command like `kubectl create -f mypdb.yaml`. You cannot update PDB objects. They must be deleted and re-created. -# Check the status of the PDB +## Check the status of the PDB Use kubectl to check that your PDB is created. @@ -213,7 +213,7 @@ status: observedGeneration: 1 ``` -# Arbitrary Controllers and Selectors +## Arbitrary Controllers and Selectors You can skip this section if you only use PDBs with the built-in application controllers (Deployment, ReplicationController, ReplicaSet, and StatefulSet), From 6eda6dbc4c80993978bb8bb30b809a1822976fed Mon Sep 17 00:00:00 2001 From: SUNNY Date: Mon, 25 Jun 2018 14:29:02 +0530 Subject: [PATCH 015/102] shell command missing fix in docs (#9213) https://kubernetes.io/docs/concepts/overview/object-management-kubectl/imperative-config/#migrating-from-imperative-commands-to-imperative-object-configuration : kubectl shell command broken fix by wrapping kubecl-cmd around codeblock. Added two lines at bottom - Reviewer suggestion --- .../object-management-kubectl/imperative-config.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/content/en/docs/concepts/overview/object-management-kubectl/imperative-config.md b/content/en/docs/concepts/overview/object-management-kubectl/imperative-config.md index 7a44a27fc5..f0681fd9b6 100644 --- a/content/en/docs/concepts/overview/object-management-kubectl/imperative-config.md +++ b/content/en/docs/concepts/overview/object-management-kubectl/imperative-config.md @@ -100,14 +100,16 @@ Migrating from imperative commands to imperative object configuration involves several manual steps. 1. Export the live object to a local object configuration file: - - kubectl get / -o yaml --export > _.yaml +```sh +kubectl get / -o yaml --export > _.yaml +``` 1. Manually remove the status field from the object configuration file. 1. For subsequent object management, use `replace` exclusively. - - kubectl replace -f _.yaml +```sh +kubectl replace -f _.yaml +``` ## Defining controller selectors and PodTemplate labels From 909c550e8dc0da03ca7dcf8b96f3cdc64d249fb2 Mon Sep 17 00:00:00 2001 From: Stewart-YU Date: Mon, 25 Jun 2018 21:30:02 +0800 Subject: [PATCH 016/102] Update high-availability.md (#9198) fix bad command line --- content/en/docs/setup/independent/high-availability.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/en/docs/setup/independent/high-availability.md b/content/en/docs/setup/independent/high-availability.md index a589c4384d..07323f8522 100644 --- a/content/en/docs/setup/independent/high-availability.md +++ b/content/en/docs/setup/independent/high-availability.md @@ -213,7 +213,8 @@ Please select one of the tabs to see installation instructions for the respectiv {{% tab name="systemd" %}} 1. First, install etcd binaries: ```bash - ETCD_VERSION="v3.1.12" curl -sSL https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz | tar -xzv --strip-components=1 -C /usr/local/bin/ + export ETCD_VERSION="v3.1.12" + curl -sSL https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz | tar -xzv --strip-components=1 -C /usr/local/bin/ ``` It is worth noting that etcd v3.1.12 is the preferred version for Kubernetes v1.10. For other versions of Kubernetes please consult [the changelog](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG.md). From 9ca357177dc45a3d0837de5ee2ad54d1546e2855 Mon Sep 17 00:00:00 2001 From: Mario Kleinsasser Date: Mon, 25 Jun 2018 15:32:03 +0200 Subject: [PATCH 017/102] Add missing "Set up master Load Balancer" heading (#9219) This heading is missing in the 1.10 documentations which makes it hard to find the needed information because the anchor `setting up a master load balancer` points to nowhere. This was working in the 1.19 documentation and it was really useful. --- content/en/docs/setup/independent/high-availability.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/en/docs/setup/independent/high-availability.md b/content/en/docs/setup/independent/high-availability.md index 07323f8522..0253de8508 100644 --- a/content/en/docs/setup/independent/high-availability.md +++ b/content/en/docs/setup/independent/high-availability.md @@ -348,6 +348,7 @@ Make sure you replace: {{% /tab %}} {{< /tabs >}} +## Set up master Load Balancer ## {{< tabs name="lb_mode" >}} {{% tab name="Choose one..." %}} From 9d5a1f6637c1cc0b411662fc3e7cbe3f41f80164 Mon Sep 17 00:00:00 2001 From: AdamDang Date: Mon, 25 Jun 2018 21:35:03 +0800 Subject: [PATCH 018/102] Small typo: an PodSpec->a PodSpec (#9211) an PodSpec->a PodSpec --- .../en/docs/reference/command-line-tools-reference/kubelet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/reference/command-line-tools-reference/kubelet.md b/content/en/docs/reference/command-line-tools-reference/kubelet.md index 1026c4fc48..3a70a9abd3 100644 --- a/content/en/docs/reference/command-line-tools-reference/kubelet.md +++ b/content/en/docs/reference/command-line-tools-reference/kubelet.md @@ -17,7 +17,7 @@ various mechanisms (primarily through the apiserver) and ensures that the contai described in those PodSpecs are running and healthy. The kubelet doesn't manage containers which were not created by Kubernetes. -Other than from an PodSpec from the apiserver, there are three ways that a container +Other than from a PodSpec from the apiserver, there are three ways that a container manifest can be provided to the Kubelet. File: Path passed as a flag on the command line. Files under this path will be monitored From 80a4782a437d552c174cc1930dc628baecd298cc Mon Sep 17 00:00:00 2001 From: Stanton Date: Mon, 25 Jun 2018 11:30:23 -0700 Subject: [PATCH 019/102] Update run-single-instance-stateful-application.md (#9148) After deploying the PV and PVC via the YAML file, run `kubectl describe pvc mysql-pv-claim` should show `mysql-pv-volume` as the `Volume`, instead of `mysql-pv`. --- .../run-application/run-single-instance-stateful-application.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/run-application/run-single-instance-stateful-application.md b/content/en/docs/tasks/run-application/run-single-instance-stateful-application.md index ea02502645..b82dfbb759 100644 --- a/content/en/docs/tasks/run-application/run-single-instance-stateful-application.md +++ b/content/en/docs/tasks/run-application/run-single-instance-stateful-application.md @@ -114,7 +114,7 @@ for a secure solution. Namespace: default StorageClass: Status: Bound - Volume: mysql-pv + Volume: mysql-pv-volume Labels: Annotations: pv.kubernetes.io/bind-completed=yes pv.kubernetes.io/bound-by-controller=yes From c063914ff9111f2e3bcc0330878588b78e1994aa Mon Sep 17 00:00:00 2001 From: makocchi Date: Tue, 26 Jun 2018 03:31:22 +0900 Subject: [PATCH 020/102] wrap by note shortcodes (#9144) --- .../basic-stateful-set.md | 4 ++- .../mysql-wordpress-persistent-volume.md | 34 ++++++++----------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/content/en/docs/tutorials/stateful-application/basic-stateful-set.md b/content/en/docs/tutorials/stateful-application/basic-stateful-set.md index ea2e70eecf..e5320d9e86 100644 --- a/content/en/docs/tutorials/stateful-application/basic-stateful-set.md +++ b/content/en/docs/tutorials/stateful-application/basic-stateful-set.md @@ -283,7 +283,8 @@ web-0 web-1 ``` -Note, if you instead see 403 Forbidden responses for the above curl command, +{{< note >}} +**Note:** if you instead see 403 Forbidden responses for the above curl command, you will need to fix the permissions of the directory mounted by the `volumeMounts` (due to a [bug when using hostPath volumes](https://github.com/kubernetes/kubernetes/issues/2630)) with: @@ -292,6 +293,7 @@ for i in 0 1; do kubectl exec web-$i -- chmod 755 /usr/share/nginx/html; done ``` before retrying the curl command above. +{{< /note >}} In one terminal, watch the StatefulSet's Pods. diff --git a/content/en/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md b/content/en/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md index 398b3b9e14..51c3325eeb 100644 --- a/content/en/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md +++ b/content/en/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md @@ -71,13 +71,13 @@ A [Secret](/docs/concepts/configuration/secret/) is an object that stores a piec 1. Create the Secret object from the following command. You will need to replace `YOUR_PASSWORD` with the password you want to use. - ``` + ```shell kubectl create secret generic mysql-pass --from-literal=password=YOUR_PASSWORD ``` 2. Verify that the Secret exists by running the following command: - ``` + ```shell kubectl get secrets ``` @@ -100,14 +100,14 @@ The following manifest describes a single-instance MySQL Deployment. The MySQL c 1. Deploy MySQL from the `mysql-deployment.yaml` file: - ``` + ```shell kubectl create -f mysql-deployment.yaml ``` 2. Verify that a PersistentVolume got dynamically provisioned. Note that it can It can take up to a few minutes for the PVs to be provisioned and bound. - ``` + ```shell kubectl get pvc ``` @@ -120,11 +120,11 @@ The following manifest describes a single-instance MySQL Deployment. The MySQL c 3. Verify that the Pod is running by running the following command: - ``` + ```shell kubectl get pods ``` - **Note:** It can take up to a few minutes for the Pod's Status to be `RUNNING`. + {{< note >}}**Note:** It can take up to a few minutes for the Pod's Status to be `RUNNING`.{{< /note >}} The response should be like this: @@ -141,17 +141,17 @@ The following manifest describes a single-instance WordPress Deployment and Serv 1. Create a WordPress Service and Deployment from the `wordpress-deployment.yaml` file: - ``` + ```shell kubectl create -f wordpress-deployment.yaml ``` 2. Verify that a PersistentVolume got dynamically provisioned: - ``` + ```shell kubectl get pvc ``` - **Note:** It can take up to a few minutes for the PVs to be provisioned and bound. + {{< note >}}**Note:** It can take up to a few minutes for the PVs to be provisioned and bound.{{< /note >}} The response should be like this: @@ -162,7 +162,7 @@ The following manifest describes a single-instance WordPress Deployment and Serv 3. Verify that the Service is running by running the following command: - ``` + ```shell kubectl get services wordpress ``` @@ -173,15 +173,11 @@ The following manifest describes a single-instance WordPress Deployment and Serv wordpress 10.0.0.89 80:32406/TCP 4m ``` - **Note:** Minikube can only expose Services through `NodePort`. - - ``` - The EXTERNAL-IP is always . - ``` + {{< note >}}**Note:** Minikube can only expose Services through `NodePort`. The EXTERNAL-IP is always pending.{{< /note >}} 4. Run the following command to get the IP Address for the WordPress Service: - ``` + ```shell minikube service wordpress --url ``` @@ -207,20 +203,20 @@ The following manifest describes a single-instance WordPress Deployment and Serv 1. Run the following command to delete your Secret: - ``` + ```shell kubectl delete secret mysql-pass ``` 2. Run the following commands to delete all Deployments and Services: - ``` + ```shell kubectl delete deployment -l app=wordpress kubectl delete service -l app=wordpress ``` 3. Run the following commands to delete the PersistentVolumeClaims. The dynamically provisioned PersistentVolumes will be automatically deleted. - ``` + ```shell kubectl delete pvc -l app=wordpress ``` From e63f47b284b6adcd455bbe02b3f0f397176395ee Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 25 Jun 2018 14:34:21 -0400 Subject: [PATCH 021/102] Update overview.md (#9126) --- content/en/docs/reference/kubectl/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/reference/kubectl/overview.md b/content/en/docs/reference/kubectl/overview.md index d720792670..4a80a4573b 100644 --- a/content/en/docs/reference/kubectl/overview.md +++ b/content/en/docs/reference/kubectl/overview.md @@ -161,7 +161,7 @@ Output format | Description In this example, the following command outputs the details for a single pod as a YAML formatted object: ```shell -$ kubectl get pod web-pod-13je7 -o=yaml` +$ kubectl get pod web-pod-13je7 -o=yaml ``` Remember: See the [kubectl](/docs/user-guide/kubectl/) reference documentation for details about which output format is supported by each command. From 639001434f565642ae794baa50898f3b5560174f Mon Sep 17 00:00:00 2001 From: Ahmet Soormally Date: Mon, 25 Jun 2018 19:40:22 +0100 Subject: [PATCH 022/102] include image-pull-policy=Never for kubectl run (#9100) * include image-pull-policy=Never for kubectl run * Copyedit --- content/en/docs/tutorials/hello-minikube.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/en/docs/tutorials/hello-minikube.md b/content/en/docs/tutorials/hello-minikube.md index b0ef031ba5..8284081f48 100644 --- a/content/en/docs/tutorials/hello-minikube.md +++ b/content/en/docs/tutorials/hello-minikube.md @@ -204,10 +204,12 @@ Pod and restarts the Pod's Container if it terminates. Deployments are the recommended way to manage the creation and scaling of Pods. Use the `kubectl run` command to create a Deployment that manages a Pod. The -Pod runs a Container based on your `hello-node:v1` Docker image: +Pod runs a Container based on your `hello-node:v1` Docker image. Set the +`--image-pull-policy` flag to `Never` to always use the local image, rather than +pulling it from your Docker registry (since you haven't pushed it there): ```shell -kubectl run hello-node --image=hello-node:v1 --port=8080 +kubectl run hello-node --image=hello-node:v1 --port=8080 --image-pull-policy=Never ``` View the Deployment: From 96039a7e72e0bdd3b265f1615386bccb20e56bf4 Mon Sep 17 00:00:00 2001 From: John Kerkstra Date: Mon, 25 Jun 2018 13:41:22 -0500 Subject: [PATCH 023/102] fix wording of 'kubectl apply' conventions section (#8789) --- content/en/docs/reference/kubectl/conventions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/reference/kubectl/conventions.md b/content/en/docs/reference/kubectl/conventions.md index fd328cf0b1..70125b743a 100644 --- a/content/en/docs/reference/kubectl/conventions.md +++ b/content/en/docs/reference/kubectl/conventions.md @@ -65,4 +65,4 @@ flag, which provides the object to be submitted to the cluster. ### `kubectl apply` -* When you use `kubectl apply` to update resources, always create resources initially using `kubectl create` or using `--save-config`. See [managing resources with kubectl apply](/docs/concepts/cluster-administration/manage-deployment/#kubectl-apply) for more information. +* You can use `kubectl apply` to create or update resources. However, to update a resource you should have created the resource by using `kubectl apply` or `kubectl create --save-config`. For more information about using kubectl apply to update resources, see [Managing Resources](/docs/concepts/cluster-administration/manage-deployment/#kubectl-apply). From 4a8f9e8fd5dcdad3a08d8c1c0e21d5262f62675e Mon Sep 17 00:00:00 2001 From: Emile Vauge Date: Mon, 25 Jun 2018 20:42:22 +0200 Subject: [PATCH 024/102] Add Traefik ingress controller (#8921) --- content/en/docs/concepts/services-networking/ingress.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/en/docs/concepts/services-networking/ingress.md b/content/en/docs/concepts/services-networking/ingress.md index e1dc9447f7..01aa25d21c 100644 --- a/content/en/docs/concepts/services-networking/ingress.md +++ b/content/en/docs/concepts/services-networking/ingress.md @@ -92,6 +92,8 @@ In order for the Ingress resource to work, the cluster must have an Ingress cont * Kubernetes currently supports and maintains [GCE](https://git.k8s.io/ingress-gce/README.md) and [nginx](https://git.k8s.io/ingress-nginx/README.md) controllers. * F5 Networks provides [support and maintenance](https://support.f5.com/csp/article/K86859508) for the [F5 BIG-IP Controller for Kubernetes](http://clouddocs.f5.com/products/connectors/k8s-bigip-ctlr/latest). * [Kong](https://konghq.com/) offers [community](https://discuss.konghq.com/c/kubernetes) or [commercial](https://konghq.com/api-customer-success/) support and maintenance for the [Kong Ingress Controller for Kubernetes](https://konghq.com/blog/kubernetes-ingress-controller-for-kong/) +* [Traefik](https://github.com/containous/traefik) is a fully featured ingress controller +([Let's Encrypt](https://letsencrypt.org), secrets, http2, websocket...), and it also comes with commercial support by [Containous](https://containo.us/services) {{< note >}} Review the documentation for your controller to find its specific support policy. From b4affeabfaf4d60029b86f92498d7bb44ea532c3 Mon Sep 17 00:00:00 2001 From: lovejoy Date: Tue, 26 Jun 2018 02:45:22 +0800 Subject: [PATCH 025/102] fix the toc (#8971) --- content/en/docs/tutorials/k8s201.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/content/en/docs/tutorials/k8s201.md b/content/en/docs/tutorials/k8s201.md index b0b165aeee..a6881395b1 100644 --- a/content/en/docs/tutorials/k8s201.md +++ b/content/en/docs/tutorials/k8s201.md @@ -5,6 +5,8 @@ reviewers: title: Kubernetes 201 --- +{{< toc >}} + ## Labels, Deployments, Services and Health Checking If you went through [Kubernetes 101](/docs/tutorials/k8s101/), you learned about kubectl, Pods, Volumes, and multiple containers. @@ -15,9 +17,6 @@ scaling. In order for the kubectl usage examples to work, make sure you have an examples directory locally, either from [a release](https://github.com/kubernetes/kubernetes/releases) or [the source](https://github.com/kubernetes/kubernetes). -* TOC -{{< toc >}} - ## Labels From 900d8f438129c7d69751876da29d7b958e20a7a9 Mon Sep 17 00:00:00 2001 From: Rui Cao Date: Tue, 26 Jun 2018 02:47:22 +0800 Subject: [PATCH 026/102] Typo fix: addres->address/recongized->recognized (#8974) --- content/en/docs/imported/release/notes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/imported/release/notes.md b/content/en/docs/imported/release/notes.md index 750afc7f04..371db9b4da 100644 --- a/content/en/docs/imported/release/notes.md +++ b/content/en/docs/imported/release/notes.md @@ -717,7 +717,7 @@ And point to the file using the --config flag, as in * Makes the kube-dns addon optional so that users can deploy their own DNS solution. ([#57113](https://github.com/kubernetes/kubernetes/pull/57113), [@wwwtyro](https://github.com/wwwtyro)) * `kubectl port-forward` now supports specifying a service to port forward to, as in `kubectl port-forward svc/myservice 8443:443`. Additional support has also been added for looking up targetPort for a service, as well as enabling using svc/name to select a pod. ([#59809](https://github.com/kubernetes/kubernetes/pull/59809), [@phsiao](https://github.com/phsiao)) -* [Make NodePort IP addres](https://github.com/kubernetes/website/pull/7631/files)[ses configurabl](https://github.com/kubernetes/website/pull/7631/files)[e](https://github.com/kubernetes/website/pull/7631/files). ([#58052](https://github.com/kubernetes/kubernetes/pull/58052), [@m1093782566](https://github.com/m1093782566)) +* [Make NodePort IP address](https://github.com/kubernetes/website/pull/7631/files)[ses configurabl](https://github.com/kubernetes/website/pull/7631/files)[e](https://github.com/kubernetes/website/pull/7631/files). ([#58052](https://github.com/kubernetes/kubernetes/pull/58052), [@m1093782566](https://github.com/m1093782566)) * Fixed the issue in kube-proxy iptables/ipvs mode to properly handle incorrect IP version. ([#56880](https://github.com/kubernetes/kubernetes/pull/56880), [@MrHohn](https://github.com/MrHohn)) * Kubeadm: CoreDNS supports migration of the kube-dns configuration to CoreDNS configuration when upgrading the service discovery from kube-dns to CoreDNS as part of Beta. ([#58828](https://github.com/kubernetes/kubernetes/pull/58828), [@rajansandeep](https://github.com/rajansandeep)) @@ -856,7 +856,7 @@ parameters: * New conformance tests added for the Garbage Collector ([#60116](https://github.com/kubernetes/kubernetes/pull/60116), [@jennybuckley](https://github.com/jennybuckley)) -* Fixes a bug where character devices are not recongized by the kubelet ([#60440](https://github.com/kubernetes/kubernetes/pull/60440), [@andrewsykim](https://github.com/andrewsykim)) +* Fixes a bug where character devices are not recognized by the kubelet ([#60440](https://github.com/kubernetes/kubernetes/pull/60440), [@andrewsykim](https://github.com/andrewsykim)) * StatefulSet in apps/v1 is now included in Conformance Tests. ([#60336](https://github.com/kubernetes/kubernetes/pull/60336), [@enisoc](https://github.com/enisoc)) From 10cd398d67ac00ccb7dad3baf73e852ca7b5e061 Mon Sep 17 00:00:00 2001 From: Takuya N Date: Tue, 26 Jun 2018 04:22:21 +0900 Subject: [PATCH 027/102] Fix markdown for /blog/2018/04/25/open-source-charts-2017/ (#8923) Signed-off-by: Takuya Noguchi --- content/en/blog/_posts/2018-04-25-open-source-charts-2017.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/blog/_posts/2018-04-25-open-source-charts-2017.md b/content/en/blog/_posts/2018-04-25-open-source-charts-2017.md index b485964c33..0051669ebb 100644 --- a/content/en/blog/_posts/2018-04-25-open-source-charts-2017.md +++ b/content/en/blog/_posts/2018-04-25-open-source-charts-2017.md @@ -40,8 +40,8 @@ SIG meetings provide focused opportunities for users, maintainers, and specialis ## Join the party! -You may already be using solutions that are successfully managed and scaled on Kubernetes. For example, GitHub.com, which hosts Kubernetes’ upstream source code, [now runs on Kubernetes](https://githubengineering.com/kubernetes-at-github/) https://githubengineering.com/kubernetes-at-github/) as well! +You may already be using solutions that are successfully managed and scaled on Kubernetes. For example, GitHub.com, which hosts Kubernetes’ upstream source code, [now runs on Kubernetes](https://githubengineering.com/kubernetes-at-github/) as well! Check out the [Kubernetes Contributors’ guide](https://github.com/kubernetes/community/blob/master/contributors/guide/README.md) for more information on how to get started as a contributor. -You can also join the [weekly Kubernetes Community meeting](https://github.com/kubernetes/community/tree/master/communication#weekly-meeting)and consider [joining a SIG or two](https://github.com/kubernetes/community/blob/master/sig-list.md#master-sig-list). +You can also join the [weekly Kubernetes Community meeting](https://github.com/kubernetes/community/tree/master/communication#weekly-meeting) and consider [joining a SIG or two](https://github.com/kubernetes/community/blob/master/sig-list.md#master-sig-list). From 99c4c54cb51094107d64c122d2745de77125a987 Mon Sep 17 00:00:00 2001 From: Qiming Date: Tue, 26 Jun 2018 03:25:21 +0800 Subject: [PATCH 028/102] [WIP] Attempt to consolidate YAML files (#8965) This is an attempt to consolidate YAML files so that: - They can remain untouched when we moving the documents around; - Contributors do not have to change the test cases each time a documentation is moved; - We can encourage referencing the existing YAMLs from different concept or task pages when possible. --- .../application}/deployment.yaml | 0 .../run-stateless-application-deployment.md | 4 +- layouts/shortcodes/codenew.html | 38 +++++++++++++++++++ test/examples_test.go | 4 +- 4 files changed, 43 insertions(+), 3 deletions(-) rename content/en/{docs/tasks/run-application => artifacts/application}/deployment.yaml (100%) create mode 100644 layouts/shortcodes/codenew.html diff --git a/content/en/docs/tasks/run-application/deployment.yaml b/content/en/artifacts/application/deployment.yaml similarity index 100% rename from content/en/docs/tasks/run-application/deployment.yaml rename to content/en/artifacts/application/deployment.yaml diff --git a/content/en/docs/tasks/run-application/run-stateless-application-deployment.md b/content/en/docs/tasks/run-application/run-stateless-application-deployment.md index 61b2f08f3d..27b9aafb89 100644 --- a/content/en/docs/tasks/run-application/run-stateless-application-deployment.md +++ b/content/en/docs/tasks/run-application/run-stateless-application-deployment.md @@ -36,12 +36,12 @@ You can run an application by creating a Kubernetes Deployment object, and you can describe a Deployment in a YAML file. For example, this YAML file describes a Deployment that runs the nginx:1.7.9 Docker image: -{{< code file="deployment.yaml" >}} +{{< codenew file="application/deployment.yaml" >}} 1. Create a Deployment based on the YAML file: - kubectl apply -f https://k8s.io/docs/tasks/run-application/deployment.yaml + kubectl apply -f https://k8s.io/docs/artifacts/application/deployment.yaml 1. Display information about the Deployment: diff --git a/layouts/shortcodes/codenew.html b/layouts/shortcodes/codenew.html new file mode 100644 index 0000000000..2224065aed --- /dev/null +++ b/layouts/shortcodes/codenew.html @@ -0,0 +1,38 @@ +{{ $p := .Page }} +{{ $file := .Get "file" }} +{{ $codelang := .Get "language" | default (path.Ext $file | strings.TrimPrefix ".") }} +{{ $fileDir := path.Split $file }} +{{ $bundlePath := path.Join .Page.Dir $fileDir.Dir }} +{{ $filename := printf "/content/%s/artifacts/%s" .Page.Lang $file | safeURL }} +{{ $ghlink := printf "https://%s/blob/master%s" .Page.Site.Params.githubWebsiteRepo $filename | safeURL }} +{{/* First assume this is a bundle and the file is inside it. */}} +{{ $resource := $p.Resources.GetMatch (printf "%s*" $file ) }} +{{ with $resource }} +{{ $.Scratch.Set "content" .Content }} +{{ else }} +{{/* Read the file relative to the content root. */}} +{{ $resource := readFile $filename}} +{{ with $resource }}{{ $.Scratch.Set "content" . }}{{ end }} +{{ end }} +{{ if not ($.Scratch.Get "content") }} +{{ errorf "[%s] %q not found in %q" $p.Site.Language.Lang $fileDir.File $bundlePath }} +{{ end }} +{{ with $.Scratch.Get "content" }} + + + + + + + + + + + +
+ {{ with $ghlink }}{{ end }} + {{ $file }} + {{ if $ghlink }}{{ end }} + +
{{ highlight . $codelang "" }}
+{{ end }} diff --git a/test/examples_test.go b/test/examples_test.go index ee744ec1e0..a72eb50132 100644 --- a/test/examples_test.go +++ b/test/examples_test.go @@ -440,8 +440,10 @@ func TestExampleObjectSchemas(t *testing.T) { "redis-pod": {&api.Pod{}}, "redis-service": {&api.Service{}}, }, - "docs/tasks/run-application": { + "artifacts/application": { "deployment": {&extensions.Deployment{}}, + }, + "docs/tasks/run-application": { "deployment-patch-demo": {&extensions.Deployment{}}, "deployment-scale": {&extensions.Deployment{}}, "deployment-update": {&extensions.Deployment{}}, From 5351252ce58750d0ed2e5addc9f6f1157e73d5fe Mon Sep 17 00:00:00 2001 From: Stewart-YU Date: Tue, 26 Jun 2018 03:30:20 +0800 Subject: [PATCH 029/102] Update create-cluster-kubeadm.md (#9207) smaller fix about ` create cluster using kubeadm` docs --- content/en/docs/setup/independent/create-cluster-kubeadm.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/setup/independent/create-cluster-kubeadm.md b/content/en/docs/setup/independent/create-cluster-kubeadm.md index b804d4dfec..2bfdec9b2b 100644 --- a/content/en/docs/setup/independent/create-cluster-kubeadm.md +++ b/content/en/docs/setup/independent/create-cluster-kubeadm.md @@ -165,7 +165,7 @@ support [Network Policy](/docs/concepts/services-networking/networkpolicies/). S - IPv6 support was added in [CNI v0.6.0](https://github.com/containernetworking/cni/releases/tag/v0.6.0). - [CNI bridge](https://github.com/containernetworking/plugins/blob/master/plugins/main/bridge/README.md) and [local-ipam](https://github.com/containernetworking/plugins/blob/master/plugins/ipam/host-local/README.md) are the only supported IPv6 network plugins in Kubernetes version 1.9. -Note that kubeadm sets up a more secure cluster by default and enforces use of [RBAC]. +Note that kubeadm sets up a more secure cluster by default and enforces use of [RBAC](/docs/reference/access-authn-authz/rbac/). Make sure that your network manifest supports RBAC. You can install a pod network add-on with the following command: @@ -292,7 +292,7 @@ This will remove the `node-role.kubernetes.io/master` taint from any nodes that have it, including the master node, meaning that the scheduler will then be able to schedule pods everywhere. -### Joining your nodes {join-nodes} +### Joining your nodes {#join-nodes} The nodes are where your workloads (containers and pods, etc) run. To add new nodes to your cluster do the following for each machine: From 7cac9c23e6f897c4e532ff122d56739a7dd7d1ff Mon Sep 17 00:00:00 2001 From: makocchi Date: Tue, 26 Jun 2018 04:35:22 +0900 Subject: [PATCH 030/102] apply a template to tools (#9176) --- content/en/docs/reference/tools.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/content/en/docs/reference/tools.md b/content/en/docs/reference/tools.md index 4e9c6d420f..dea1a8b13d 100644 --- a/content/en/docs/reference/tools.md +++ b/content/en/docs/reference/tools.md @@ -2,37 +2,41 @@ reviewers: - janetkuo title: Tools +content_template: templates/concept --- -Kubernetes contains several built-in tools to help you work with the Kubernetes system +{{% capture overview %}} +Kubernetes contains several built-in tools to help you work with the Kubernetes system. +{{% /capture %}} +{{% capture body %}} ## Kubectl -[`kubectl`](/docs/user-guide/kubectl/) is the command line tool for Kubernetes. It controls the Kubernetes cluster manager. +[`kubectl`](/docs/tasks/tools/install-kubectl/) is the command line tool for Kubernetes. It controls the Kubernetes cluster manager. ## Kubeadm -[`kubeadm`](/docs/setup/independent/install-kubeadm/) is the command line tool for easily provisioning a secure Kubernetes cluster on top of physical or cloud servers or virtual machines (currently in alpha). +[`kubeadm`](/docs/tasks/tools/install-kubeadm/) is the command line tool for easily provisioning a secure Kubernetes cluster on top of physical or cloud servers or virtual machines (currently in alpha). ## Kubefed -[`kubefed`](/docs/tutorials/federation/set-up-cluster-federation-kubefed/) is the command line tool +[`kubefed`](/docs/tasks/federation/set-up-cluster-federation-kubefed/) is the command line tool to help you administrate your federated clusters. ## Minikube -[`minikube`](/docs/getting-started-guides/minikube/) is a tool that makes it +[`minikube`](/docs/tasks/tools/install-minikube/) is a tool that makes it easy to run a single-node Kubernetes cluster locally on your workstation for development and testing purposes. ## Dashboard -[Dashboard](/docs/tasks/web-ui-dashboard/), the web-based user interface of Kubernetes, allows you to deploy containerized applications +[`Dashboard`](/docs/tasks/access-application-cluster/web-ui-dashboard/), the web-based user interface of Kubernetes, allows you to deploy containerized applications to a Kubernetes cluster, troubleshoot them, and manage the cluster and its resources itself. ## Helm -[Kubernetes Helm](https://github.com/kubernetes/helm) is a tool for managing packages of pre-configured +[`Kubernetes Helm`](https://github.com/kubernetes/helm) is a tool for managing packages of pre-configured Kubernetes resources, aka Kubernetes charts. Use Helm to: @@ -45,10 +49,11 @@ Use Helm to: ## Kompose -[Kompose](https://github.com/kubernetes-incubator/kompose) is a tool to help Docker Compose users move to Kubernetes. +[`Kompose`](https://github.com/kubernetes-incubator/kompose) is a tool to help Docker Compose users move to Kubernetes. Use Kompose to: * Translate a Docker Compose file into Kubernetes objects * Go from local Docker development to managing your application via Kubernetes * Convert v1 or v2 Docker Compose `yaml` files or [Distributed Application Bundles](https://docs.docker.com/compose/bundles/) +{{% /capture %}} From bf23c87e52dfcc2a9b12035d5d2979bdd7a67717 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Mon, 25 Jun 2018 23:10:22 +0300 Subject: [PATCH 031/102] kubeadm-setup: add page about control plane flags (#9067) This page adds instructions on how to use the kubeadm config to pass flags to control plane components. The provided examples are pretty basic. Later this can be expanded with actual user stories. --- .../setup/independent/control-plane-flags.md | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 content/en/docs/setup/independent/control-plane-flags.md diff --git a/content/en/docs/setup/independent/control-plane-flags.md b/content/en/docs/setup/independent/control-plane-flags.md new file mode 100644 index 0000000000..13e0d5f067 --- /dev/null +++ b/content/en/docs/setup/independent/control-plane-flags.md @@ -0,0 +1,81 @@ +--- +reviewers: +- sig-cluster-lifecycle +title: Customizing control plane configuration with kubeadm +content_template: templates/concept +weight: 50 +--- + +{{% capture overview %}} + +kubeadm’s configuration exposes the following fields that can be used to override the default flags passed to control plane components such as the APIServer, ControllerManager and Scheduler: + +- `APIServerExtraArgs` +- `ControllerManagerExtraArgs` +- `SchedulerExtraArgs` + +These fields consist of `key: value` pairs. To override a flag for a control plane component: + +1. Add the appropriate field to your configuration. +2. Add the flags to override to the field. + +For more details on each field in the configuration you can navigate to our +[API reference pages](https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm#MasterConfiguration). + +{{% /capture %}} + +{{% capture body %}} + +## APIServer flags + +For details, see the [reference documentation for kube-apiserver](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/). + +Example usage: +```yaml +apiVersion: kubeadm.k8s.io/v1alpha2 +kind: MasterConfiguration +kubernetesVersion: v1.11.0 +metadata: + name: 1.11-sample +apiServerExtraArgs: + advertise-address: 192.168.0.103 + anonymous-auth: false + enable-admission-plugins: AlwaysPullImages,DefaultStorageClass + audit-log-path: /home/johndoe/audit.log +``` + +## ControllerManager flags + +For details, see the [reference documentation for kube-controller-manager](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/). + +Example usage: +```yaml +apiVersion: kubeadm.k8s.io/v1alpha2 +kind: MasterConfiguration +kubernetesVersion: v1.11.0 +metadata: + name: 1.11-sample +controllerManagerExtraArgs: + cluster-signing-key-file: /home/johndoe/keys/ca.key + bind-address: 0.0.0.0 + deployment-controller-sync-period: 50 +``` + +## Scheduler flags + +For details, see the [reference documentation for kube-scheduler](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/). + +Example usage: +```yaml +apiVersion: kubeadm.k8s.io/v1alpha2 +kind: MasterConfiguration +kubernetesVersion: v1.11.0 +metadata: + name: 1.11-sample +schedulerExtraArgs: + address: 0.0.0.0 + config: /home/johndoe/schedconfig.yaml + kubeconfig: /home/johndoe/kubeconfig.yaml +``` + +{{% /capture %}} From 7125e84c78373799c3907f0510335bbe1682b826 Mon Sep 17 00:00:00 2001 From: Steve Perry Date: Mon, 25 Jun 2018 13:26:21 -0700 Subject: [PATCH 032/102] Remove deprecated Federation topic. (#9139) --- content/en/docs/admin/federation/OWNERS | 5 - content/en/docs/admin/federation/_index.md | 389 --------------------- 2 files changed, 394 deletions(-) delete mode 100644 content/en/docs/admin/federation/OWNERS delete mode 100644 content/en/docs/admin/federation/_index.md diff --git a/content/en/docs/admin/federation/OWNERS b/content/en/docs/admin/federation/OWNERS deleted file mode 100644 index 8284752efa..0000000000 --- a/content/en/docs/admin/federation/OWNERS +++ /dev/null @@ -1,5 +0,0 @@ -reviewers: -- madhusudancs -- mml -- nikhiljindal - diff --git a/content/en/docs/admin/federation/_index.md b/content/en/docs/admin/federation/_index.md deleted file mode 100644 index 73e8963e38..0000000000 --- a/content/en/docs/admin/federation/_index.md +++ /dev/null @@ -1,389 +0,0 @@ ---- -reviewers: -- madhusudancs -- mml -- nikhiljindal -title: (Deprecated) Using `federation-up` and `deploy.sh` -toc_hide: true ---- - -## The mechanisms explained in this doc to setup federation are deprecated. [`kubefed`](/docs/tasks/federation/set-up-cluster-federation-kubefed/) is now the recommended way to deploy federation. - -This guide explains how to set up cluster federation that lets us control multiple Kubernetes clusters. - - -{{< toc >}} - -## Prerequisites - -This guide assumes that you have a running Kubernetes cluster. -If you need to start a new cluster, see the [getting started guides](/docs/setup/) for instructions on bringing a cluster up. - -To use the commands in this guide, you must download a Kubernetes release from the -[getting started binary releases](/docs/getting-started-guides/binary_release/) and -extract into a directory; all the commands in this guide are run from -that directory. - -```shell -$ curl -L https://github.com/kubernetes/kubernetes/releases/download/v1.4.0/kubernetes.tar.gz | tar xvzf - -$ cd kubernetes -``` - -You must also have a Docker installation running -locally--meaning on the machine where you run the commands described in this -guide. - -## Setting up a federation control plane - -Setting up federation requires running the federation control plane which -consists of etcd, federation-apiserver (via the hyperkube binary) and -federation-controller-manager (also via the hyperkube binary). You can run -these binaries as pods on an existing Kubernetes cluster. - -Note: This is a new mechanism to turn up Kubernetes Cluster Federation. If -you want to follow the old mechanism, please refer to the section -[Previous Federation turn up mechanism](#previous-federation-turn-up-mechanism) -at the end of this guide. - -### Initial setup - -Create a directory to store the configs required to turn up federation -and export that directory path in the environment variable -`FEDERATION_OUTPUT_ROOT`. This can be an existing directory, but it is -highly recommended to create a separate directory so that it is easier -to clean up later. - -```shell -$ export FEDERATION_OUTPUT_ROOT="${PWD}/_output/federation" -$ mkdir -p "${FEDERATION_OUTPUT_ROOT}" -``` - -Initialize the setup. - -```shell -$ federation/deploy/deploy.sh init -``` - -Optionally, you can create/edit `${FEDERATION_OUTPUT_ROOT}/values.yaml` to -customize any value in -[federation/federation/manifests/federation/values.yaml](https://github.com/madhusudancs/kubernetes-anywhere/blob/federation/federation/manifests/federation/values.yaml). Example: - -```yaml -apiserverRegistry: "gcr.io/myrepository" -apiserverVersion: "v1.5.0-alpha.0.1010+892a6d7af59c0b" -controllerManagerRegistry: "gcr.io/myrepository" -controllerManagerVersion: "v1.5.0-alpha.0.1010+892a6d7af59c0b" -``` - -Assuming you have built and pushed the `hyperkube` image to the repository -with the given tag in the example above. - -### Getting images - -To run the federation control plane components as pods, you first need the -images for all the components. You can either use the official release -images or you can build them yourself from HEAD. - -### Using official release images - -As part of every Kubernetes release, official release images are pushed to -`k8s.gcr.io`. To use the images in this repository, you can -set the container image fields in the following configs to point to the -images in this repository. `k8s.gcr.io/hyperkube` image -includes the federation-apiserver and federation-controller-manager -binaries, so you can point the corresponding configs for those components -to the hyperkube image. - -### Building and pushing images from HEAD - -To build the binaries, check out the -[Kubernetes repository](https://github.com/kubernetes/kubernetes) and -run the following commands from the root of the source directory: - - -```shell -$ federation/develop/develop.sh build_binaries -``` - -To build the image and push it to the repository, run: - -```shell -$ KUBE_REGISTRY="gcr.io/myrepository" federation/develop/develop.sh build_image -$ KUBE_REGISTRY="gcr.io/myrepository" federation/develop/develop.sh push -``` - -Note: This is going to overwrite the values you might have set for -`apiserverRegistry`, `apiserverVersion`, `controllerManagerRegistry` and -`controllerManagerVersion` in your `${FEDERATION_OUTPUT_ROOT}/values.yaml` -file. Hence, it is not recommended to customize these values in -`${FEDERATION_OUTPUT_ROOT}/values.yaml` if you are building the -images from source. - -### Running the federation control plane - -Once you have the images, you can turn up the federation control plane by -running: - -```shell -$ federation/deploy/deploy.sh deploy_federation -``` - -This spins up the federation control components as pods managed by -[`Deployments`](/docs/concepts/workloads/controllers/deployment/) on your -existing Kubernetes cluster. It also starts a -[`type: LoadBalancer`](/docs/concepts/services-networking/service/#type-loadbalancer) -[`Service`](/docs/concepts/services-networking/service/) for the -`federation-apiserver` and a -[`PVC`](/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims/) backed -by a dynamically provisioned -[`PV`](/docs/concepts/storage/persistent-volumes/) for - `etcd`. All these components are created in the `federation` namespace. - -You can verify that the pods are available by running the following -command: - -```shell -$ kubectl get deployments --namespace=federation -NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE -federation-apiserver 1 1 1 1 1m -federation-controller-manager 1 1 1 1 1m -``` - -Running `deploy.sh` also creates a new record in your kubeconfig for us -to be able to talk to federation apiserver. You can view this by running -`kubectl config view`. - -Note: Dynamic provisioning for persistent volume currently works only on -AWS, Google Kubernetes Engine, and GCE. However, you can edit the created `Deployments` to suit -your needs, if required. - -## Registering Kubernetes clusters with federation - -Now that you have the federation control plane up and running, you can start registering Kubernetes clusters. - -First of all, you need to create a secret containing kubeconfig for that Kubernetes cluster, which federation control plane will use to talk to that Kubernetes cluster. -For now, you can create this secret in the host Kubernetes cluster (that hosts federation control plane). When federation starts supporting secrets, you will be able to create this secret there. -Suppose that your kubeconfig for Kubernetes cluster is at `/cluster1/kubeconfig`, you can run the following command to create the secret: - -```shell -$ kubectl create secret generic cluster1 --namespace=federation --from-file=/cluster1/kubeconfig -``` - -Note that the file name should be `kubeconfig` since file name determines the name of the key in the secret. - -Now that the secret is created, you are ready to register the cluster. The YAML file for cluster will look like: - -```yaml -apiVersion: federation/v1beta1 -kind: Cluster -metadata: - name: cluster1 -spec: - serverAddressByClientCIDRs: - - clientCIDR: - serverAddress: - secretRef: - name: -``` - -You need to insert the appropriate values for ``, `` and ``. -`` here is name of the secret that you just created. -serverAddressByClientCIDRs contains the various server addresses that clients -can use as per their CIDR. You can set the server's public IP address with CIDR -`"0.0.0.0/0"` which all clients will match. In addition, if you want internal -clients to use server's clusterIP, you can set that as serverAddress. The client -CIDR in that case will be a CIDR that only matches IPs of pods running in that -cluster. - -Assuming your YAML file is located at `/cluster1/cluster.yaml`, you can run the following command to register this cluster: - - -```shell -$ kubectl create -f /cluster1/cluster.yaml --context=federation-cluster - -``` - -By specifying `--context=federation-cluster`, you direct the request to -federation apiserver. You can ensure that the cluster registration was -successful by running: - -```shell -$ kubectl get clusters --context=federation-cluster -NAME STATUS VERSION AGE -cluster1 Ready 3m -``` - -## Updating KubeDNS - -Once you've registered your cluster with the federation, you'll need to update KubeDNS so that your cluster can route federation service requests. The update method varies depending on your Kubernetes version; on Kubernetes 1.5 or later, you must pass the -`--federations` flag to kube-dns via the kube-dns config map. In version 1.4 or earlier, you must set the `--federations` flag directly on kube-dns-rc on other clusters. - -### Kubernetes 1.5+: Passing federations flag via config map to kube-dns - -For Kubernetes clusters of version 1.5+, you can pass the -`--federations` flag to kube-dns via the kube-dns config map. -The flag uses the following format: - -``` ---federations=${FEDERATION_NAME}=${DNS_DOMAIN_NAME} -``` - -To pass this flag to KubeDNS, create a config-map with name `kube-dns` in -namespace `kube-system`. The configmap should look like the following: - -```yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: kube-dns - namespace: kube-system -data: - federations: = -``` - -where `` should be replaced by the name you want to give to your -federation, and -`federation-domain-name` should be replaced by the domain name you want to use -in your federation DNS. - -You can find more details about config maps in general at -[config map](/docs/tasks/configure-pod-container/configure-pod-configmap/). - -### Kubernetes 1.4 and earlier: Setting federations flag on kube-dns-rc - -If your cluster is running Kubernetes version 1.4 or earlier, you must restart -KubeDNS and pass it a `--federations` flag, which tells it about valid federation DNS hostnames. -The flag uses the following format: - -``` ---federations=${FEDERATION_NAME}=${DNS_DOMAIN_NAME} -``` - -To update KubeDNS with the `--federations` flag, you can edit the existing kubedns replication controller to -include that flag in pod template spec, and then delete the existing pod. The replication controller then -recreates the pod with updated template. - -To find the name of existing kubedns replication controller, run the following command: - -```shell -$ kubectl get rc --namespace=kube-system -``` - -You should see a list of all the replication controllers on the cluster. The kube-dns replication -controller should have a name similar to `kube-dns-v18`. To edit the replication controller, specify it by name as follows: - -```shell -$ kubectl edit rc --namespace=kube-system -``` -In the resulting YAML file for the kube-dns replication controller, add the `--federations` flag as an argument to kube-dns container. - -Then, you must delete the existing kube dns pod. You can find the pod by running: - -```shell -$ kubectl get pods --namespace=kube-system -``` - -And then delete the appropriate pod by running: - -```shell -$ kubectl delete pods --namespace=kube-system -``` - -Once you've completed the kube-dns configuration, your federation is ready for use. - -## Turn down - -In order to turn the federation control plane down run the following -command: - -```shell -$ federation/deploy/deploy.sh destroy_federation -``` - -## Previous Federation turn up mechanism - -This describes the previous mechanism we had to turn up Kubernetes Cluster -Federation. It is recommended to use the new turn up mechanism. If you would -like to use this mechanism instead of the new one, please let us know -why the new mechanism doesn't work for your case by filing an issue here - -[https://github.com/kubernetes/kubernetes/issues/new](https://github.com/kubernetes/kubernetes/issues/new) - -### Getting images - -To run these as pods, you first need images for all the components. You can use -official release images or you can build from HEAD. - -#### Using official release images - -As part of every release, images are pushed to `staging-k8s.gcr.io`, which are -re-published through `k8s.gcr.io` (which is globally replicated). To use -these images, set env var `FEDERATION_PUSH_REPO_BASE=k8s.gcr.io` -This will always use the latest image. -To use the hyperkube image which includes federation-apiserver and -federation-controller-manager from a specific release, set the -`FEDERATION_IMAGE_TAG` environment variable. - -#### Building and pushing images from HEAD - -To run the code from HEAD, you need to build and push your own images. -You can build the images using the following command: - -```shell -$ FEDERATION=true KUBE_RELEASE_RUN_TESTS=n make quick-release -``` - -Next, you need to push these images to a registry such as Google Container Registry or Docker Hub, so that your cluster can pull them. -If Kubernetes cluster is running on Google Compute Engine (GCE), then you can push the images to `gcr.io/`. -The command to push the images will look like: - -```shell -$ FEDERATION=true FEDERATION_PUSH_REPO_BASE=gcr.io/ ./build/push-federation-images.sh -``` - -### Running the federation control plane - -Once you have the images, you can run these as pods on your existing kubernetes cluster. -The command to run these pods on an existing GCE cluster will look like: - -```shell -$ KUBERNETES_PROVIDER=gce FEDERATION_DNS_PROVIDER=google-clouddns FEDERATION_NAME=myfederation DNS_ZONE_NAME=myfederation.example FEDERATION_PUSH_REPO_BASE=k8s.gcr.io ./federation/cluster/federation-up.sh -``` - -`KUBERNETES_PROVIDER` is the cloud provider. - -`FEDERATION_DNS_PROVIDER` can be `google-clouddns` or `aws-route53`. It will be -set appropriately if it is missing and `KUBERNETES_PROVIDER` is one of `gce`, `gke` and `aws`. -This is used to resolve DNS requests for federation services. The service -controller keeps DNS records with the provider updated as services/pods are -updated in underlying Kubernetes clusters. - -`FEDERATION_NAME` is a name you can choose for your federation. This is the name that will appear in DNS routes. - -`DNS_ZONE_NAME` is the domain to be used for DNS records. This is a domain that you -need to buy and then configure it such that DNS queries for that domain are -routed to the appropriate provider as per `FEDERATION_DNS_PROVIDER`. - -Running that command creates a namespace `federation` and creates 2 deployments: `federation-apiserver` and `federation-controller-manager`. -You can verify that the pods are available by running the following command: - -```shell -$ kubectl get deployments --namespace=federation -NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE -federation-apiserver 1 1 1 1 1m -federation-controller-manager 1 1 1 1 1m -``` - -Running `federation-up.sh` also creates a new record in your kubeconfig for us -to be able to talk to federation apiserver. You can view this by running -`kubectl config view`. - -Note: `federation-up.sh` creates the federation-apiserver pod with an etcd -container that is backed by a persistent volume, so as to persist data. This -currently works only on AWS, Google Kubernetes Engine, and GCE. You can edit -`federation/manifests/federation-apiserver-deployment.yaml` to suit your needs, -if required. - - -## For more information - - * [Federation proposal](https://git.k8s.io/community/contributors/design-proposals/multicluster/federation.md) details use cases that motivated this work. From 5a30d7150286817d556e400ee1ad79e6b23f595b Mon Sep 17 00:00:00 2001 From: yamenk Date: Tue, 26 Jun 2018 01:08:21 +0300 Subject: [PATCH 033/102] Incorrect link to redis-pod.yaml in Configuring Redis using a ConfigMap tutorial (#8990) --- .../tutorials/configuration/configure-redis-using-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tutorials/configuration/configure-redis-using-configmap.md b/content/en/docs/tutorials/configuration/configure-redis-using-configmap.md index 2c11bbff1e..fa22162dd2 100644 --- a/content/en/docs/tutorials/configuration/configure-redis-using-configmap.md +++ b/content/en/docs/tutorials/configuration/configure-redis-using-configmap.md @@ -95,7 +95,7 @@ You can follow the steps below to configure a Redis cache using data stored in a 1. Create the pod: ```shell - kubectl create -f https://k8s.io/tutorials/configuration/configmap/redis/redis-pod.yaml + kubectl create -f https://k8s.io/docs/tutorials/configuration/configmap/redis/redis-pod.yaml ``` In the example, the config volume is mounted at `/redis-master`. From 4cfaa14ddaeae7f630c48fb3aabf078d1adf335a Mon Sep 17 00:00:00 2001 From: Alin Balutoiu Date: Tue, 26 Jun 2018 00:25:23 +0200 Subject: [PATCH 034/102] Update Windows documentation for OVN/OVS CNI plugin (#8482) * Update Windows documentation for OVN/OVS CNI plugin This patch adds reference to the Ansible playbooks which help to deploy a kubernetes cluster in a fully automated way. Signed-off-by: Alin Balutoiu * Minor tweaks * Trivial commit/undo to trigger Netlify Added an extra whitespace line at EOF --- content/en/docs/getting-started-guides/windows/_index.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/content/en/docs/getting-started-guides/windows/_index.md b/content/en/docs/getting-started-guides/windows/_index.md index a0d153193a..ca9068b600 100644 --- a/content/en/docs/getting-started-guides/windows/_index.md +++ b/content/en/docs/getting-started-guides/windows/_index.md @@ -158,6 +158,12 @@ Note: this file assumes that a user previous created 'l2bridge' host networks on #### For 3. Open vSwitch (OVS) & Open Virtual Network (OVN) with Overlay +{{< note >}} +**Note:** Fully automated setup via Ansible playbooks is [available](https://github.com/openvswitch/ovn-kubernetes/tree/master/contrib). +{{< /note >}} + +For manual setup, continue the following steps. + ##### Linux Host Setup Setting up the central node and the components needed is out of scope of this document. You can read [these instructions](https://github.com/openvswitch/ovn-kubernetes#k8s-master-node-initialization) for that. @@ -551,3 +557,4 @@ Some of these limitations will be addressed by the community in future releases - Support for Windows is in Beta as of v1.9 and your feedback is welcome. For information on getting involved, please head to [SIG-Windows](https://github.com/kubernetes/community/blob/master/sig-windows/README.md) - Troubleshooting and Common Problems: [Link](https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/common-problems) + From e55e24f0da6ca508beb4fe065e9247a034f75766 Mon Sep 17 00:00:00 2001 From: Tim Zhang Date: Tue, 26 Jun 2018 06:36:23 +0800 Subject: [PATCH 035/102] Update cpu-default-namespace.md (#9185) the url link was forgot. --- .../manage-resources/cpu-default-namespace.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md index 2fa46b1e4e..c701a8eddd 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md @@ -145,7 +145,7 @@ resources: ## Motivation for default CPU limits and requests If your namespace has a -[resource quota](), +[resource quota](/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/), it is helpful to have a default value in place for CPU limit. Here are two of the restrictions that a resource quota imposes on a namespace: From eb8df98adbc11eb6152bf985d8e196a6919df4ce Mon Sep 17 00:00:00 2001 From: Alex Contini Date: Mon, 25 Jun 2018 18:43:23 -0400 Subject: [PATCH 036/102] remove duplicate crowdfire link (#9118) --- content/en/case-studies/_index.html | 1 - 1 file changed, 1 deletion(-) diff --git a/content/en/case-studies/_index.html b/content/en/case-studies/_index.html index 5fcf9337bd..b07c5a67b8 100644 --- a/content/en/case-studies/_index.html +++ b/content/en/case-studies/_index.html @@ -66,7 +66,6 @@ cid: caseStudies Nordstrom Crowdfire Squarespace - Crowdfire Zalando Amadeus Ancestry.com From bede5184cb785e3fcea8804e547066eb6af83b17 Mon Sep 17 00:00:00 2001 From: Luc Perkins Date: Mon, 25 Jun 2018 15:44:22 -0700 Subject: [PATCH 037/102] Move Pod statuses into a table and add ContainersReady to the table (#9197) --- .../concepts/workloads/pods/pod-lifecycle.md | 102 ++++++++++++++---- 1 file changed, 79 insertions(+), 23 deletions(-) diff --git a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md index 4c056aa2b6..231de62682 100644 --- a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md @@ -32,33 +32,89 @@ have a given `phase` value. Here are the possible values for `phase`: -* Pending: The Pod has been accepted by the Kubernetes system, but one or more of - the Container images has not been created. This includes time before being - scheduled as well as time spent downloading images over the network, - which could take a while. - -* Running: The Pod has been bound to a node, and all of the Containers have been - created. At least one Container is still running, or is in the process of - starting or restarting. - -* Succeeded: All Containers in the Pod have terminated in success, and will not - be restarted. - -* Failed: All Containers in the Pod have terminated, and at least one Container - has terminated in failure. That is, the Container either exited with non-zero - status or was terminated by the system. - -* Unknown: For some reason the state of the Pod could not be obtained, typically - due to an error in communicating with the host of the Pod. +Value | Description +:-----|:----------- +`Pending` | The Pod has been accepted by the Kubernetes system, but one or more of the Container images has not been created. This includes time before being scheduled as well as time spent downloading images over the network, which could take a while. +`Running` | The Pod has been bound to a node, and all of the Containers have been created. At least one Container is still running, or is in the process of starting or restarting. +`Succeeded` | All Containers in the Pod have terminated in success, and will not be restarted. +`Failed` | All Containers in the Pod have terminated, and at least one Container has terminated in failure. That is, the Container either exited with non-zero status or was terminated by the system. +`Unknown` | For some reason the state of the Pod could not be obtained, typically due to an error in communicating with the host of the Pod. ## Pod conditions A Pod has a PodStatus, which has an array of -[PodConditions](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podcondition-v1-core). Each element -of the PodCondition array has a `type` field and a `status` field. The `type` -field is a string, with possible values PodScheduled, Ready, Initialized, and -Unschedulable. The `status` field is a string, with possible values True, False, -and Unknown. +[PodConditions](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podcondition-v1-core) +through which the Pod has or has not passed. Each element of the PodCondition +array has six possible fields: + +* The `lastProbeTime` field provides a timestamp for when the Pod condition + was last probed. + +* The `lastTransitionTime` field provides a timestamp for when the Pod + last transitioned from one status to another. + +* The `message` field is a human-readable message indicating details + about the transition. + +* The `reason` field is a unique, one-word, CamelCase reason for the + transition. + +* The `type` field is a string enum with the following possible values: + + Condition | Description + :---------|:----------- + `Initialized` | The init containers in the Pod have started successfully + `PodScheduled` | The Pod has been scheduled + `Ready` | The Pod is able to service requests and should be added to the load balancing pools of any matching services + `ContainersReady` | All Containers in the Pod are currently ready + `Unschedulable` | The scheduler can't currently schedule the Pod, perhaps because not enough resources are available + +* The `status` field is a string with three possible values, `True`, `False`, + and `Unknown`, and indicates whether the corresponding condition indicated + by the `type` field has been reached. For example, if the `type` field is + `Initialized` and the corresponding `status` field is `True`, then the Pod + has indeed been initialized; if, however, the `status` field is `False` then + the Pod has *not* been initialized. + +### Pod conditions example + +Let's say that you have a Pod called `my-application` running in a Kubernetes +cluster. This `kubectl` query would fetch the PodCondition information for +the Pod: + +```shell +kubectl get pod my-application -o json | jq .status.conditions +``` + +Now let's say that that query has yielded this JSON: + +```json +[ + { + "lastProbeTime": null, + "lastTransitionTime": "2018-06-22T18:28:32Z", + "status": "True", + "type": "Initialized" + }, + { + "lastProbeTime": null, + "lastTransitionTime": "2018-06-22T18:29:04Z", + "status": "True", + "type": "Ready" + }, + { + "lastProbeTime": null, + "lastTransitionTime": "2018-06-22T18:28:32Z", + "status": "True", + "type": "PodScheduled" + } +] +``` + +We can see here that the `my-application` Pod has passed through three different +Pod conditions: `Initialized`, `Ready`, and `PodScheduled`. If the `status` of +`PodScheduled` were `False`, for example, then the Pod would have passed through +only two conditions. ## Container probes From d101ef7c0965578402024539c7efdc5a3b973d68 Mon Sep 17 00:00:00 2001 From: Alex Contini Date: Mon, 25 Jun 2018 18:45:22 -0400 Subject: [PATCH 038/102] fix NYT spacing (#8946) --- content/en/case-studies/newyorktimes.html | 29 +++++++++++++---------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/content/en/case-studies/newyorktimes.html b/content/en/case-studies/newyorktimes.html index 1236bdd269..c65b5fe883 100644 --- a/content/en/case-studies/newyorktimes.html +++ b/content/en/case-studies/newyorktimes.html @@ -5,15 +5,14 @@ cid: caseStudies css: /css/style_case_studies.css --- -
-

CASE STUDY:
The New York Times: From Print to the Web to Cloud Native - +
+

CASE STUDY:
The New York Times: From Print to the Web to Cloud Native

-
+
Company  New York Times     Location  New York, N.Y.      Industry  News Media
@@ -25,7 +24,7 @@ css: /css/style_case_studies.css

Challenge

When the company decided a few years ago to move out of its data centers, its first deployments on the public cloud were smaller, less critical applications managed on virtual machines. "We started building more and more tools, and at some point we realized that we were doing a disservice by treating Amazon as another data center," says Deep Kapadia, Executive Director, Engineering at The New York Times. Kapadia was tapped to lead a Delivery Engineering Team that would "design for the abstractions that cloud providers offer us." -
+

Solution

The team decided to use Google Cloud Platform and its Kubernetes-as-a-service offering, GKE.
@@ -40,14 +39,20 @@ css: /css/style_case_studies.css
-
-
- - -
-
- "I think once you get over the initial hump, things get a lot easier and actually a lot faster." — Deep Kapadia, Executive Director, Engineering at The New York Times
+
+
+
+ +
+
+
+

+
+
+
+ "I think once you get over the initial hump, things get a lot easier and actually a lot faster." — Deep Kapadia, Executive Director, Engineering at The New York Times
+
From a29a924f09c399201142771743497934166f2c88 Mon Sep 17 00:00:00 2001 From: Dimitris-Ilias Gkanatsios Date: Tue, 26 Jun 2018 01:54:22 +0300 Subject: [PATCH 039/102] Update port-forward-access-application-cluster.md (#9221) minor UI issue --- .../port-forward-access-application-cluster.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md b/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md index 707f6065a6..f0109f99e2 100644 --- a/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md +++ b/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md @@ -47,6 +47,7 @@ for database debugging. redis-master 1 1 1 1 55s kubectl get rs + NAME DESIRED CURRENT READY AGE redis-master-765d459796 1 1 1 1m From 0f6fbe42c83a27d7384e5b4fb587e64fc3ea9c20 Mon Sep 17 00:00:00 2001 From: Alex Contini Date: Mon, 25 Jun 2018 19:03:23 -0400 Subject: [PATCH 040/102] Add OpenAI Case Study (#9224) * remove duplicate crowdfire link * add OpenAI Case Study * fix spacing issue --- content/en/case-studies/_index.html | 16 +-- content/en/case-studies/openAI.html | 99 ++++++++++++++++++ static/images/CaseStudy_openAI_banner1.jpg | Bin 0 -> 136750 bytes static/images/CaseStudy_openAI_banner3.jpg | Bin 0 -> 320257 bytes static/images/CaseStudy_openAI_banner4.jpg | Bin 0 -> 261203 bytes static/images/case_studies/openai_feature.png | Bin 0 -> 12203 bytes static/images/openAI_logo.png | Bin 0 -> 6410 bytes 7 files changed, 108 insertions(+), 7 deletions(-) create mode 100644 content/en/case-studies/openAI.html create mode 100644 static/images/CaseStudy_openAI_banner1.jpg create mode 100644 static/images/CaseStudy_openAI_banner3.jpg create mode 100644 static/images/CaseStudy_openAI_banner4.jpg create mode 100644 static/images/case_studies/openai_feature.png create mode 100644 static/images/openAI_logo.png diff --git a/content/en/case-studies/_index.html b/content/en/case-studies/_index.html index b07c5a67b8..73d6d281c4 100644 --- a/content/en/case-studies/_index.html +++ b/content/en/case-studies/_index.html @@ -12,6 +12,14 @@ cid: caseStudies
+
+ openAI +

"Research teams can now take advantage of the frameworks we’ve built on top of Kubernetes, which make it easy to launch experiments, scale them by 10x or 50x, and take little effort to manage."

+ + Read about OpenAI +
+ +
the new york times

"I think once you get over the initial hump, things get a lot easier and actually a lot faster."

@@ -33,13 +41,6 @@ cid: caseStudies Read about Squarespace
-
- Crowdfire -

"In the 15 months that we’ve been using Kubernetes, it has been amazing for us. It enabled us to iterate quickly, increase development speed, and continuously deliver new features and bug fixes to our users, while keeping our operational costs and infrastructure management overhead under control."

- - Read about Crowdfire -
-
@@ -62,6 +63,7 @@ cid: caseStudies

Kubernetes Users

+ OpenAI The New York Times Nordstrom Crowdfire diff --git a/content/en/case-studies/openAI.html b/content/en/case-studies/openAI.html new file mode 100644 index 0000000000..4814ce6fdb --- /dev/null +++ b/content/en/case-studies/openAI.html @@ -0,0 +1,99 @@ +--- +title: OpenAI Case Study +case_study_styles: true +cid: caseStudies +css: /css/style_case_studies.css +--- + +
+

CASE STUDY:
Launching and Scaling Up Experiments, Made Simple + +

+ +
+ +
+ Company  OpenAI     Location  San Francisco, California     Industry  Artificial Intelligence Research +
+ +
+
+
+
+

Challenge

+ An artificial intelligence research lab, OpenAI needed infrastructure for deep learning that would allow experiments to be run either in the cloud or in its own data center, and to easily scale. Portability, speed, and cost were the main drivers. +
+

Solution

+ OpenAI began running Kubernetes on top of AWS in 2016, and in early 2017 migrated to Azure. OpenAI runs key experiments in fields including robotics and gaming both in Azure and in its own data centers, depending on which cluster has free capacity. "We use Kubernetes mainly as a batch scheduling system and rely on our autoscaler to dynamically scale up and down our cluster," says Christopher Berner, Head of Infrastructure. "This lets us significantly reduce costs for idle nodes, while still providing low latency and rapid iteration." +
+ +
+ +

Impact

+ The company has benefited from greater portability: "Because Kubernetes provides a consistent API, we can move our research experiments very easily between clusters," says Berner. Being able to use its own data centers when appropriate is "lowering costs and providing us access to hardware that we wouldn’t necessarily have access to in the cloud," he adds. "As long as the utilization is high, the costs are much lower there." Launching experiments also takes far less time: "One of our researchers who is working on a new distributed training system has been able to get his experiment running in two or three days. In a week or two he scaled it out to hundreds of GPUs. Previously, that would have easily been a couple of months of work." + + +
+ +
+
+
+
+ +
+
+Check out "Building the Infrastructure that Powers the Future of AI" presented by Vicki Cheung, Member of Technical Staff & Jonas Schneider, Member of Technical Staff at OpenAI from KubeCon/CloudNativeCon Europe 2017. +
+
+
+
+
+

From experiments in robotics to old-school video game play research, OpenAI’s work in artificial intelligence technology is meant to be shared.

+ With a mission to ensure powerful AI systems are safe, OpenAI cares deeply about open source—both benefiting from it and contributing safety technology into it. "The research that we do, we want to spread it as widely as possible so everyone can benefit," says OpenAI’s Head of Infrastructure Christopher Berner. The lab’s philosophy—as well as its particular needs—lent itself to embracing an open source, cloud native strategy for its deep learning infrastructure.

+ OpenAI started running Kubernetes on top of AWS in 2016, and a year later, migrated the Kubernetes clusters to Azure. "We probably use Kubernetes differently from a lot of people," says Berner. "We use it for batch scheduling and as a workload manager for the cluster. It’s a way of coordinating a large number of containers that are all connected together. We rely on our autoscaler to dynamically scale up and down our cluster. This lets us significantly reduce costs for idle nodes, while still providing low latency and rapid iteration."

+ In the past year, Berner has overseen the launch of several Kubernetes clusters in OpenAI’s own data centers. "We run them in a hybrid model where the control planes—the Kubernetes API servers, etcd and everything—are all in Azure, and then all of the Kubernetes nodes are in our own data center," says Berner. "The cloud is really convenient for managing etcd and all of the masters, and having backups and spinning up new nodes if anything breaks. This model allows us to take advantage of lower costs and have the availability of more specialized hardware in our own data center." + + +
+
+
+
+ OpenAI’s experiments take advantage of Kubernetes’ benefits, including portability. "Because Kubernetes provides a consistent API, we can move our research experiments very easily between clusters..." + +
+
+
+
+ Different teams at OpenAI currently run a couple dozen projects. While the largest-scale workloads manage bare cloud VMs directly, most of OpenAI’s experiments take advantage of Kubernetes’ benefits, including portability. "Because Kubernetes provides a consistent API, we can move our research experiments very easily between clusters," says Berner. The on-prem clusters are generally "used for workloads where you need lots of GPUs, something like training an ImageNet model. Anything that’s CPU heavy, that’s run in the cloud. But we also have a number of teams that run their experiments both in Azure and in our own data centers, just depending on which cluster has free capacity, and that’s hugely valuable."

+ Berner has made the Kubernetes clusters available to all OpenAI teams to use if it’s a good fit. "I’ve worked a lot with our games team, which at the moment is doing research on classic console games," he says. "They had been running a bunch of their experiments on our dev servers, and they had been trying out Google cloud, managing their own VMs. We got them to try out our first on-prem Kubernetes cluster, and that was really successful. They’ve now moved over completely to it, and it has allowed them to scale up their experiments by 10x, and do that without needing to invest significant engineering time to figure out how to manage more machines. A lot of people are now following the same path." + +
+
+
+
+"One of our researchers who is working on a new distributed training system has been able to get his experiment running in two or three days," says Berner. "In a week or two he scaled it out to hundreds of GPUs. Previously, that would have easily been a couple of months of work." +
+
+ +
+
+ That path has been simplified by frameworks and tools that two of OpenAI’s teams have developed to handle interaction with Kubernetes. "You can just write some Python code, fill out a bit of configuration with exactly how many machines you need and which types, and then it will prepare all of those specifications and send it to the Kube cluster so that it gets launched there," says Berner. "And it also provides a bit of extra monitoring and better tooling that’s designed specifically for these machine learning projects."

+ The impact that Kubernetes has had at OpenAI is impressive. With Kubernetes, the frameworks and tooling, including the autoscaler, in place, launching experiments takes far less time. "One of our researchers who is working on a new distributed training system has been able to get his experiment running in two or three days," says Berner. "In a week or two he scaled it out to hundreds of GPUs. Previously, that would have easily been a couple of months of work."

+ Plus, the flexibility they now have to use their on-prem Kubernetes cluster when appropriate is "lowering costs and providing us access to hardware that we wouldn’t necessarily have access to in the cloud," he says. "As long as the utilization is high, the costs are much lower in our data center. To an extent, you can also customize your hardware to exactly what you need." + + +
+ +
+
+ "Research teams can now take advantage of the frameworks we’ve built on top of Kubernetes, which make it easy to launch experiments, scale them by 10x or 50x, and take little effort to manage."
— CHRISTOPHER BERNER, HEAD OF INFRASTRUCTURE FOR OPENAI +
+
+ +
+ + OpenAI is also benefiting from other technologies in the CNCF cloud-native ecosystem. gRPC is used by many of its systems for communications between different services, and Prometheus is in place "as a debugging tool if things go wrong," says Berner. "We actually haven’t had any real problems in our Kubernetes clusters recently, so I don’t think anyone has looked at our Prometheus monitoring in a while. If something breaks, it will be there."

+ One of the things Berner continues to focus on is Kubernetes’ ability to scale, which is essential to deep learning experiments. OpenAI has been able to push one of its Kubernetes clusters on Azure up to more than 2,500 nodes. "I think we’ll probably hit the 5,000-machine number that Kubernetes has been tested at before too long," says Berner, adding, "We’re definitely hiring if you’re excited about working on these things!" +
+ +
diff --git a/static/images/CaseStudy_openAI_banner1.jpg b/static/images/CaseStudy_openAI_banner1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..744d22308fc5d332994cf57fbf13aae29110ebc1 GIT binary patch literal 136750 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

+=VN5WMui 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 %{N{4)(8|f($0>zuiB`a%myr(t6A8x49#{MW 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 z%0A-ym#7#ZcBStqrXJBpvV!u)C-tR^B5v7i!;KD5G%Q zKma%(tB4v&o+gGzvbc?;SS{WNE*X^X7cVeJ8Un|-G+GH=_h7^)pp1k7&P$Wlx`VeGt-NvE+N@S^su;h0w?`{QA!kYL-BcBQi?s$sRN#S) zm7_$hJeMZj5#xqCbd$X4Z6rx`^vSu5QumbAjZGNSJn#){?u>#H$3q-e;nqee7TFnN z5wb`DjT^XPhhUPbT(x&#CWq=?cH{-BTo~>Ik-HcsMq?Lkj42wbL2)aAO`xqwH0yv8 z>f&p5my3sNmh;2D>PwA<3^cfqT}|ZRL7MlSx}P+<=9n5nL{>wBOmcvZeMP_VewezqYsIxjuSML)>>z!vn({ z7FV}YKN$>gyF0}URx$650V8XXrdWviZ~fHsGJU}N$I7%Vad&6K3#%B`1z9+$?c=tX zNBe=&Mw&aAn{ti7GWv3@EeD;KgSbXEcQIZ)nUqJ|c#;U^nKvo67ZWNmLTOmQVn&s~ zRjxRjlCz?^7_9@zAc@*EBXrVz3~{1WR2E&dprv&<1~*r?5L&9m6E64_VG%ajO{$re z<(M|^k{>l!V{Dnq#d0hK|__~0Mf^ES4~uw6+jLb1y#TnXWt=H;c1 zM`E$96_Ml_?INgp(*-WKXy%2SSx;whk&{?NL6$aX%yIXp-t9BT>ym&1yG2G7Ko{{_ zNogd~1ZIh?Eg+6aOmM@TF3}-)!tP+&)Tjoy4EvJdWV?}4`b&uR6?pdVV=w~FH;F(3 z7IE9sn{&&i5)g4v-uri%j{Ak=Pt*&@8MBt7ejx6IKAoNC2a@YIVgOcnIR-B}whO zt7UsKcg502Y>?cU9YP@PfeD>KS^zzJiJ`!3mb2bmLll;GFKNhH-9vT7U&V03d2THM zo+%P=i0gC`-*O*F7Z$WNFM#@6>>s!jeZt^)FSz!Q`-9yc{o*0E_6vJr%IR$QE*IWh zyez5r0`+5&TGGb*k7`Xco#hdoxfZ}~d|WnbcX`A;_3tTrYSRuzYrZ)mwfflBH03Oy zy|%ZHjl4G35>%p|;w#aCp} z2baeeH<4fWX9}Fx7bj^zzOxNIqv+>otdNtLD>8rkKw{)#_LKG;2?X;Zuvu-2LmjCp=QpMUZkFs7`V7?#QQq`0Gd&8$P1f$X8^}(0<&JugyhYY zAyytZlaa3bW7)BBfyZU6ZDMLAw*KUjlAxJnZ3_@-Tqqph^J!%7VZ>WT&VzK<1kxzl zpDQ=bB$U^t11aXLt~vffHMx=Q-G~dk`XdFsTN6bBpN<1Y<2Z0LOBfvQmBOe8FtpUuQ-FhywGl$70W_h|)yd47d7L&2fw7$4` zZY`~N>l^FdPVy^g=UaPgD|0;IexgWiq@7S#v{_k}yL7;O*!!jTOOpGq%*zKIeS2m0 z=E>umgW)+prbfQxE#Vf&n!Rg99q|;b{iT(pV3ZZ8t^)<;xjCX~I8Hj^8Ll=bdg>W_ zN|n+?*uAyf$5teOPh21kZ*@NvZ{C^-BfBCvSVq0eb_9?7rdqVEPxTX1L(>6TzlMA6 zKuos~Np-k|CN~sXRY~3&Ju6D(Ocd_k>h=amo(5&u1hT^F%&7^fs4JRotq9V%c#CR1 zgvkx;gxi>k8DRs}RXc*nmE0tA@{^S?1DiWWk;FFcVv(NWQ*itHBm>)MSx98wtwtU= z1)Rmip*sRd<4)43jdwhYxDc$4&GKzO9~?oP+(C3BbzangYZ@xb+h{Y+flDDi2P|n> z=OHcBrtU|!5=|N2o8?DV6$+}G+&dV@LTWK5lzk!p0PuJF0`dj-AKbg4G(G8$0G8oO z!6a!(o%b4vK$W^ym=8sNe&XhDw|>gw8b{2^kjim{oq9UAya1HG8pSg5Xd@4k8s6}Q$>S-MaqmkjR z7Xzi>g6d~gNszc`$(LZ2Th+ccQUrATa1J~F0971)r%O59m2@)~C@WCCz&5f!!#qI% z7vs`pb&fXN>kBROCO*yzjDR1ydSsly>u(q8>zQQ%~CSlUL9cF6(Bs-~34 zU@X>c%dGImZ*Ap*Jmygtk(d=FQ3(}FR<*;y-;i{Tk^3l;NT#xYs!6U}lw?Tp*8nQb zbepzW$10S~pVS?x^Cb>Vg@JbP-Ay|8T0}STFNe^1v5tV|5PZLO=kWKw`hz$f!Z0>e^HcK)ji+F6X*{zhwZ03(){o05*n| zI(X%afMu^92}xbf!sIw3a+b_coT>$Mz!xO&+p$>VGD@Vb(ni5ikROhif<=x~2;5m( zYSKFBNUvH_n6$9+Pxo`}!*}ckx^2Dd7LIYWZpj=IQUNt1EC=9D$o~CuW{Iff z{YUh~$bW4da4&IatVKrB2ms~@8C3rO91-ZRwN_RW+sS_9=x`Po zZaE07rS3^+vxYxU406=Ggdag#5J~C*{4mg{N$$UMaS_FD%UZ~ml1LQYTL~rzu1Tb# zG+86lGE{@t5mwH7led@K(A~ig)J(w|-F;i#vSx4;uG+ckdeapMTG~!#3s35CPaW)W z_pRWHRZpfHKs7PdSc5^I=Y}L^Ug!3YJmW(5}$+(%~dzom?Y=0+4& zU8)i)4>Q*Q$Bq7s_tzYZv)pnwaK>03^&=EgNO zPdsH)a`t=sB2c7cqBNy27O%KsOW%HRJVDO{a1HFBmzVct z)RwWuyMnQb(%4MrZ`B0uND46}PjILpbr=gzH^F;_ZTL5}y^7*{Tj;N^7DFJnzPXdu zVr_)bMnM@V3$z2S0>{X5a^1%?F!2d5F&bM-ac?zan8aCG=sQmoo}@b*>OVXJZ*wh# z{3kojeOJ;m@YC5#YygOf*(4E@6;Ez-nS#}QE$4+r65EG{AGKEY(Vo{S%w6%8nF6h} z%@au>CX9E}rnn2g+@E<}`wQFN*5Y7=CceFhG_p-RsCzI&QeHF$~ATZ)wwMnvmxac>-P z{^JCaP`3`|yS+m?(*-+%-b!?Y-OKf zN>e)ea0Xm`vG#wt`A$(RmevbZw^^<35{MdVA6l5okhB#v8P^U5Unkia=NFT4*V0V3 zlF4oijIFlkZsl68$(L%4Mq;=Ma@qaE_LI!_KUaBgXr1A2bsU_XxVKV0Q4-60Y7;HQ z5=Vvt&%}MivF5JcK2c|}184_|tK5 z2Prk0kx5-0E#i<5+<8$WfL!O1nl*ONoGvUEe%)E_#}>DUoK!Y3{XBMsqLYr1cQppk zlJ{k2+*Mjw&p}KoDE{X5uRArhw03^xl3Oko;w$TWc@jA7QgmV$>kLSO;ul){@u!)n zz-BjJc5V1Sc5>Dp^NJgYtnF;Rhx#y*SXxJqe2I7=swLEGO{^7x6a>`ap`r5E_S}cJ zW9B$1qT?dEwGU%tcCpNag?^ouQQIur#X$)5r7;E-f5Gvy$IeAHj9lH#{{S6uZsvtE zwV91dE2<-RvUPb z9B~6Ptd5aKZwpdvg=BI^qyeRK0|*91$Jp7ri}m`M=AC;$yGSCBKiX!^OZsYb$YId! z657MRV7GM_5|EP;&KT6j%TG`U4?}?cZnE!D7>$xg+iHQX0hEVZ|iNh~eH2&o$GRtBH$ z?*l%#qcP;7?9L*Ps1rj3t8;MSZv)n>q1A@v1v+L%0G>8jxe1yr^F?sM(HX2 zlw~UfWtd0_QW+#6g$SWK;UUK!A%&rqSf;sDV#pEuPGt-jcNf!Gg%0DLFdJRBA;a@L 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 z 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 literal 0 HcmV?d00001 diff --git a/static/images/CaseStudy_openAI_banner4.jpg b/static/images/CaseStudy_openAI_banner4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..db2cbd084d765a0d228ea4312405dedcfc3adcd6 GIT binary patch literal 261203 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

84t-uZ@J>#_Ye&5-4vD$3m7f*_ERg~VX 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�VRrRa9fxqSw_HnsJ@32mp) zS$VgW%UHNKnPRKgt?g{fb9)PLReW7BNpo)n%-{KU%YDbqUF&b<{?Mtt-CXI6sZ|KS zigM)`)?DdB;76$aeXe?&)>_|L>-FDK`&YZD`czAcsn}RG&K6pA2Dp&QR@4YoKwex@ zapy9>b9H`uyVd#A{DnOxic7Vq_~I#>37%k<;meqsLr)W_w$zb1Lz_wL;ej>X<6Bx~sP%TCqgvlJ_33ikToOQg8UreBdp0a?l;sQ_CxPtu*Y=O)O1CWVdHT&R z>ek}QsikpDvBfzaCr+T8+UbK9rlfSXFWTHks>@Aq)fg^WoKMFHbVc1Ryn$T8f}4TQ z;|Zp-2}X;UY^M6oN^LH1l4Y?;gxW<;N)hUoNVm7NWfXN&=2a*DOE(RsD{i=GYj0ki z>Z^D_&s4zh$vx7DQRwh6zFet_33eP|H7v6r<4pul6xy*0Jg7#P47>bdUgOU)G+K&# zOdl=*(uK}M=PmJEt>Z!+JOdBr%P!c(ZZ0f?jshWbo;ZLMPJ5v$>yZZ}~(SLj8OP}sc;}h`qzaRLDe>>&UzLT*30Gj*X z{D=PlA@$4tTK@ns`Q0`5tJBrdPq|!ra^!rMn3n$l%f2}S_5!}3oAX8ZLJ)9(Pypa% znO}4!G3GcN@|U&&rg{U=KDatAyH}*|+yfZUYkIs+5N1(05B)&oOJ$J z?hkFadkeqNzgj=LKmP!BUrFo#0F$0-{{ScN67uft)3)zjVCznc%O&A+1>=eB0MkBc z5K!*pzB@@apS|%PQ@Etss6b+oIL&HClz0$aQZ=a%6U<`0ox**|4s?`x6yLV*Tc`IH zB@=-HY7-DgdLHu|0V#J6QI&;UYEPHTerMb$GDdQ}l1 z3Eod`=qkmV=4Df+flnS2!X%wDE{tfg%#kn?#eWVFE~HCQ_TxSN?U5xmAtLQ0cAPgR z)gC}3`TTq#bvgwqLv?Fye`|4Ndr7wzca&;d+|YIvXw_+J+PM@mFs>+FgSCBD%#|AC zQ+sb?b!K}_%vAQ*V&f>iRIqE2;9j%oioGM$T8@QOz4U0*74-VabVE4jvnP*DlQ z6u|^}p8IJnhVpx9V!Epr#xE!O&yu{w*>3rFyvd;b0mJLa0fceTm@* zuuW6~HgPa&4Fd)QSJFHhP&MQ?<1d_{4PXL%e0c4I$=0JPjOE5_kvw1!juQZE#Z0(B zJOPG8Q1PG*2mnliOnX!;K4Tl$Fdp1*_wKr7&SNs&;|l52=YoJSt={yrnWlgQ>O1 zO;O?}(rd=^gS*xarpUPZ%rk8AOxjSHZ5zZ%G>TohV@%3DVwGQ|8_i0XB$g>hkv?E2 zgjaH{;gNy7jN4dyv^0yyNVGTtRmDF@7?*66VceD-F9olGq`!?+e^2l{&DDC?>K>qV zt-m+)-6o^x&?)rXT`3nAPTJ7r4F3QLjz@dB{BHB*LmL*}9Nw?>9%bD(-{w8R*|lH8 z+H_ps+JCE&vgkT^AN#IvsyWwlt}+piGdx_~o`Yb{9=5 zb$e@FI5Tsi5u(e|x) z1e$J<&T1t*AaYJL3*Pi9Yc)j4$l<>u?TYG>rltg<(OXrfYEB2gc2Qe?qaJGls-9QyNjj0t7bc`J={zx%%~^j zxCFWXo!d4=ZMdvaRI0oR>Xn$;o?(=lJ2Fs)j* zPi{1=X}Qi)K9F2MYHgfrcOBDfwph10aEiy$Yw!0RwS}9L;FVvj(l0vN?d8n0(|mwI z<$cPy?k1QC?Tsb>05EPHRf|158~sL}?|Qo|EL(A3wU5whmwL{rc1x~qsx^j2oj>H$ zDrOqdlxlBpx3`^dPD(FKk*mAB-CTdon^AgXy+wwDK;2b)k?%arFL4e(KymsDh#?GS z_PBievUF`KD)QiFcKAEj8>4ig&|7Nh2Get-KGqdMfE%N$jlM@g^4|hFwzb9<)k=wS zw3*>F5Tyyz2(WOLk!DSXiGNYt>L`*`ts|I$y{e#yw$9r1daHo!?e3@5RFS;cXd0Po zT>FXzP_!Fx!6WxMz>-47*3GTO9UNaSntdjGY+cT=^&2IAh z8NHP`3wxF_Ag{(={1aSL_Lj%ytR$D9-*k4f_f$)V(m6#yPt=DZ&IUGiF_cv5;aqXc z^_RgW>h%3FJPYat)}?dSok{&xxvh0+sn)UpeKe?BQ7b~)-k;k_iv>kNnK9tq^5*9M z0D0WK+`6wqm4f6kOP^t==Bw?3T>tPyKZD#_A!IarWCl2V5Fpbf0O*zZ@k+7050CX zp670uGB*!lnV!gX#I2`HG7JDyA|=Oe8)7dH10HI)YGd5ix3spc zdwE`sot*$(Qts-bDBG|FE-tN6&0!#56--ll{kt)DF20*dRmrrXylPV`dbW9Y)GzLb zrh0O{eJ7%A$5iTcT3Y>9r!_qeg<_+Yih)-3)QI|lXlcmDpZAZhA*)O{2f)|8Tzk1p;# z&$#z(!`yG~O5=Gd(lPzW>CcGa1s79Nj1t_zB1aq(@xwTJjE*D&Kmdv4HcxWyh`azq zAU_B-0wat_1ponokX^fyYlbt1mH;+trxA+#We<=5<2fRp@KBr#B5}wGqI_^nd!Xhp zPj8yb7+?xR0>etyb#9-(qp9e6jpmi8P(0M{EULPVR+UzVC(}`H<=w62duusb z+$^UTM!bA@6z(ip-9zQ>BBg6o)lYHyU;WVO+RN`Zu`Mqr@1HlUv<7!I1cUQOO~75cKXiVeH!{d zQ$2M`tvic)H#YTIb8B$W>wBAejH^PkQ9-3vo1Djkmaw3vlel63mJ_3RKm!m#0LVnFB!vBXeg4PBoY@BKKVs%sp3-A za^i5GR2WSv#1Z~O@mUuFGR{#{>f&}@S4m!qd`(09bh4()POi8k`L#96N@U<>}{`wd(WEC-fS*MW7;>J#jp6A^878XUuxu+qCG#vZ=AxToN9ea zON!6xInR7r(_Zq-=VcC*oN#F+>LGOkq_F2UuG#%Q5eBNNDy*3iQ0`r_GRJ`_wiXGM z$q`kcA2!I#412SN-8={;>5e89R+f}>kRty86y~Ei6HJ;(s;7yGT7dw$s6q~A;6`c$ zD&s;a)zPB5tupb>1i(YQU;*B-86{HKzK2Kfm6ezt$1%cl;v6$OghK>nN8NRfOx5n# zM>8EV6t{fP7@S_H&$QNP*Q-afD{ZIs6facIlMOw0R_F)i|v7zVQV(w3UeeG;D_&ZW~ueU6le3nbrba2U%HcVsL zAWc%KVsg_>W1%BT5Eg4W?mjR!+EgfNG;E!}a)FW+k=qr~x|q|WRAx|Wka82A6a3*& z#dsMQ8wfNZM?%6bjIsn%iQ$*F}wc& zmvySr=h}Z24wJG5~mu75(j=>$djXuSr=~}K!V^#N!!LNlfaCi`biw{sDuMB zRZq<#y41($WL0VcfSDO6_rXC%+p9(;-R&DoXIHtb+j-W%e5CPjo^~aEal28Svn)-ulL33t;VCO>Asn1^-VinKAjz3 zUZg62F_%@@&1YkB#;bhB(r~EulB{?FIX^OQUCXiUc4^ZOe&m-QvmdX}eV6|LPJT(Z zwAkMBe(E*c-Ey~Syqsd`DaVt>DeAF4d;6oD%LD2FepbSOWKmvd<6ai7-0iXfk z0iXwr%AUrs;fdy-n|?*x{$hC>dFAOwKjs}DGjArU;eOg~ z4LuyOkEHzxQMt6dp>Kbt-BP~OZ|&({X_xd$(Z18}sS4JYRFOxQUW>zm;IZ5FDMzj@ zv3RO*KO^sL_ckt1X}h&6Tf0+~E=Azsau23<+Wna(xzKv7rCo-V#WvKY;r6&HaLf@A z$1=D|cBR#6(nh1GXccIORk0@FfyBClzs+FBnZLx*7e-21;BU5_))V(PE24aKf2gOU zX!@s`qS9zkd8JU0LVz-dBjcKx_fMfEnb(6^^ejBhI&$ka(EGmr5TwjrKq*Gf{K z#PJEhNNft6I0FiiPa#l=Ov2*_K^E(S2of_SWU`-f!P5AN!AVe+uI3ZVKZ0ipoh350 z(~87HhX{j;Y^lQ$b0}QByWw=a>cgRp%+hf&9*T?QvB+wb#!J{v8;qU_i>9lP>KcnY z#6n7nj9oRzrRM(t?wb?;0KicthxHA+BN~hG8dIa|GWr+!ZE26S`}%M+LY>3 zJk;tjz=GGXg%CF=wBh|tJpi24qdRU^cA=0ObW#$qvZPt~EPW=_gF85`i|E_)1;ybv%Qpr@y2rxK$tJ)!u%W ztjt$BtWm4pTlsS9kHI3AtH31e25FA&5ksF7QF>H$IfkojEp-t3a-(#7#&Y1why2C? zf^!ucqg8e;7aP(?p7$#X#`(K{(z%M@o~zf1e`i33v>d>3DeR1xVS%>WS#gT+F6mQA z0WyFOfQ#ai@ivy>L|M|N8Zbw9s^#8d^_L?)-M)of>ScsMh8_5OqBUcAk};s3Vu(9? z;!%^Y5>SI~r13taO{RxPbwNR(Zh{mYK|$hai&5nyhMh*z(Bz)5^mF>3r$(h=ZRhJf zJj%Be7{HaT^!FjVwox~_m}scg!K^W(@7ou=+kPV2uIAP}+;v`z&pZ6d^4$C9W?TK8 zzP{_SPEkua+xv0!VI|;<#bJ z=MJN&1QIjGK>OznG=?nYhEl?N;0#6xaY>Dxgf;?6%pl`5%1{O%k+C6AR0a@*2Y?}r z;GkB3CoU6NPqr|bB}ONHlskKENI(xCpT!O^$L$&dB8C8wxNi8YF@fFg$98E92A=Ji zW4z-42tKVRwyhT$b*Q*iqVPyG>r?uv)C6Ey>oLwfJSBk}YY7NPMPYbIR$*iBD zpHqE1>Z%=U(Oo^%bQ}$9s~UFtjWB0JQnYJnT~Tn!%>jr0RC{-6-@~}}+dH`DDB{0v zI5q4(zVfGex8@Ho?R%ZK@5Hw)NjFS>eBnH?OsT!Q(&o3Nxku?-`;B5g}g6I4+W{mciqCbVq0r1$8mAd z$t+^Ee2yP$(}u?8jYc-Hqi_J{sNcS&Jb4NNlJAWbt)y*9N*O(PoIRe|@-HdItxpQR zD~Ibk#*L>2F{FYV08OL1H&!9i(|H|6&u`L_!>HaY=zuUIZd^}{Y+}_7#kjSeWy=JT ze(7#IL|&Uo8BtmhTvX*^qIdiT5hpxIP0<*%Zvk==5pn$D3TmZLxl-&nRky6kO^O13 ztW+4tjJmQiAugyjtqpRhB3TK1{jpn_g(ZTiSz17%8RzoBBB@Blo>eMql~7aa-h|3h zz{DzyY0`yoqf+LzD{5=z)~G4891xkf=k$rhbC*u6$7$S>g0E9IdVM`>XHUxwZCb$v zO78^oynV_1Ehh-hjhMn5WNg;b-Kf#Vv!RbyMtxNxgIov*=A08A=ssF#u3L93mIXb= zgvD~RmDBoD3Ck=3L>;8ji*sq=Lawh*wbBBa2vtHE{Nf)b85r~0(=3YG-7wdZw(M|3 z`ci&5#6JxOg)35rvrjmtR@LbmMM<@DRAb5ta7eA~A(BNB*vC2|s<%l|m_pJf2Pqt4 zFKZt`M7A+W)Tz1XwpVFm+2*u`-oC}UJNWtA~V+$?XkG+=)S69VxFgIPfTe9bFF1)nyu7ODZ5X zjRsR_MQdrbikK*93n<&$+1R$aZN*2yP}oOjZXW_m!6MF{gGr<5q}lF6E$9+1RwJfm zzalMFW@NWWrosSYLZI(B#j%1&lCw;R-J()^g;3urtkJ?p5hoAfiF}y1R6*KF)VQ{{ ztPz!|^EIF~kESGmsyJYa7R5;{awMTw?_^rC(b62G6P_N(y(r<4E`>udT2yNrUf3|+ z(gaZsP%44-3N;c$R5Ax67JJcMcK-mW7l$!)y48Gob38fgR-FAe)V`oDq-e8K7MiOV z-~xW`lbYamo@ypMSIyQQ-^^F#_HH=O{bc_DQRZF#%d_5Y;YB`~`s@0RR+8N%UDF~7oLE(`h5TK?fYM&khC^Z5T?+2aLcPZx({@V4qh5K%?lFdFrM@pM*LM8Sw3s)S{=BB zP4nL=??WAfbuW_pC=Nal)1#@3g8WYHVTKms_&IA$QpCl%dfIf2Tlzg`hkEDLKDPA^uzykN)eV~z+vyf1 z*7{W$pQPKcfn2nHs*3ILeCzj}TV5o$5~;Rhl! zk8jQ-hBPn)`v<>v_-Fz6;Bf~qz7W6%Vg#m6*>KAUOq70*WH1VQ@si_=8e&KjpAc7w z!@3v)3_!aBwB@(D5YZW!IfEiHM9i6YLU`cv9!FsG)7H+i^wHwl#^d_WPt~g0mwi2{ zRD12iLIUdwq?g##<(TCmgyIZtyGNKipJtUTORr^IZO*Mz_FviM_E!U+?!AX++>?}& zx42nKIr>(t`XA}$GeU zCGR7ebS=a6&0nv&k>EOoex`p->5c|Y)4E-iY?uHt{$r~GPGm$OE~hDQ!_;p4!C`E6 zyAInQ>PKz!Xa4}Xev*Ei4fxx)o9R4+67 zGa~`=KL}Vn$<(f^NmSDWxPFnrOOs?aiE4^#nrG@Pngh-g5uYw{F$SYrvo79rd1z}l z?GIt)l|l6|f%grCB`BIorgfUaRQn~jLUhQ~??$AbySe=)?#)NRym zB<_g1W5n0_hq=A3-Rw5+{vzkZ^@MnMv$*|4srsB|NZZB|NvhEE>U8)rW`}JU%h|O&=Es|2XrqPU6+o_E#Ti|B0nR-bYe^J2hh&Ssn?lh}IDXrxQ zCYTdG$q?&al8<3K8=RAhkTTm5tzArM;aU@f@bEI(6{T{x7_7)*j#mT9M8O3MPDBwf zkep~~)h=6yQKo8i?y*&+T6L`ziA}}F@2^Fz zuJ7WAwfDH2iyiS#YYx@ltjBxWt-K>AOZI>EuV>9hO~a9uN7Pp6mh>t5iKf-*i=agt zt!mPhTkep!tVjatj-<|S>6B`WDOV-!F*gVHN-lXyea`HqgV!^R+->h|Z%b{v zw{p(r4w8k$<0Sc~k&q1bE>pvSi1e)4i75I}Fd!bvfN;Vd4mf00(NGmiOV}bJ>7uB_ zpzp)BaC@}GrS((*9O3{DDtST=xa?AbBhwuUTfQ^eZZk*0s6}^Dgx5 zGx?)WVZds4h;8)Oyp#d?m`>ee)mkHSXRvn(Y@^)w3OjDwH}2fK?z^A+Q24G>T6#`> z>Q7YIdUw*==c#>NdqTa&g=bg(9MP12Pou2evDEbIOG-~a>ot0gW1Z(am{SZqsHQPD z+nakGocB`0qBY0uJe3Zg%6*%0=AQ3k${mK)$ZhvGBlwHd{$#Ah)^e1V5VeguV@lT= z(D+TSYkH?sYkH?p>sK$l)peWeol5@Zql=wZ=I*PjRVq~Shdx69B_3#{a&nd1&bOxO z-|5dTN9gx$?b}Y#u(8`VFi_d;?8Xp^(lJRT>dorPh-P~f0pchF9R&ggFN^>v1K219 zK|nD;A$LGOK%f_}Pz+G{fTW2Lag39UvSF4-*^lf?)*4-B>GkKP+QrMA)ZGQiS4ee2 z~2fnw~SZbhK+KI_k2`qbM4VfviDlX_XuvHs^5jkCo1OdIv(hA#sJM{m*X4f6XnmBE*JZI5?5a`2W5#?4izC3;Z6@UplKv=_*c>EA-0_J#QI_E*AWEvQe~d+_ zyjdQaXP6G$i?DFnj1(f`0*TEevf6vHf|S5ibr2<|F~{*)!Gy3KG}JzIAmEt(Q67R0 zIO9N+WuLRg7f&%bj9Nk6wiim!t;T{(6wKifqgaPWs8jd$5GTl8G$@q+0K~ud9{&LS zf59S}{{Y0~z7MR;>Hh%hf8YNAvV4XDJo7X5JSbuoFqqP)XmHH<%YI7{9uyJ$5MeF3 zLl8q|&AD+Kc0jm^wV+r7G@s`WP+2-1{{YYmTD`WjsA{x}=ydz(3oT2Z?7g}Ke%w$b zr<-g!xtuWOOyi*P>b(uj?q#)-q_{VwIj$$NeoWf#dw%hMxm&DzCqlP&xm=&w>C&*q zuS)Yhedh#5kav=+HCb&D*ei$AGQAY(rxCw!7D!HgkiqjfmAkRcjZ&>T)ZInJON5S1 zb`4B~4pof>Hyf7RCFnHU>c)tBUZAv)c!>;hD;Ret(#}_VbLI6$S*B>$HI3EX8f_f@ zQ~BI+49Eez#ssc)+&JCE=X-M-NmWJE+ie^4x9I{>3Aco1DpQ%!ZQ|ZE!iB{OKn`Pw zKF$$rayE9YHvI-#0J*G4wbfu7S~1OQ~ zP~xjxh9@2K_P_$+u@N!HC4f9ZB3O1$lr+WxYGNgU+3q`GrWHcjl*t}DpdT$p#W7FK zA%}p(c#OXtkc7|)?1AP+f>>O~P)Nii%)cKK04%^Nrz6;?g^@h+7l~YFw-0;*7=%xk z$d~|VViW*IN8|4I!$U(J-;abbjl1%Ji`shE`&sI?QM=bV8s?y7OVI6eMh_^{R+2MO zpv5z(Tt1lqO&DXh@?QN$<=)vh@qaQND+w=6SE%-X$^P>TTdl{JuC$%S^KJO7CYLu@ zx^g|J%91U6KtLR#O>j6SQ;z-19~OJkb<87Lh)!p>cXT+*h&GnE2whNd4f7beDMRpy z#&Iihg=`79?5m2Q^vHM&cr?i7 zVuBU%ZT-Kvnph{HJ@;&1AzoPYI;wNPt+TWNpacK_o%1|r3M;1_3|n@RSY%#Orho}Z zXCWxIIO1l)6j+nFsFM@HC$cZD7~oB+Wsy^U{z_*wTsH!p(Myxe!oMz;&W4-)R5Gb) zC{=Ng-NrHgZ6!?&Q`~gUmBih&oA%agCZvSKOgJVZV2sOGDvg%j@{;i)x@cubwMhZw zHz^a$6*$DJh+M(YsjlFMe2&nYJYu;#Oi5%?Ts!JNY_LyxJ60prQxbAbVr(57W-fIL ztCu&Q_LO-jsrzeHKS^99)|j(tNnCTzhEHv^^DfG7D6eVMoo`K)g%HM;gf$d>&p@R~ zSs2--lBTBVMMga)zjtC7?s`sjH_V4M#5AAr11N)Q?B-$Ix66aHREhd(Jyu}-Qp*&E;~dIm zw~nSYO(2y=vBPQw#urK{b~G@ZqvmPTJJ5sQC^{ByrEbFDR^MpMb*0+P*5!=#M(s|Iu zvv01_rw^>N{)h`fE-mK8rHT^}aw`+)Wsh#!E3UK>&#Ifkk%AN;F6lyczS7L5RxmM} zqqySYf5O&~M}7prpvwMI)W~Lv59o5NxsYXvo)IMsMy*FfC7MH9{{S{JDmjUZ6}ncm|%CuW&Vu2V{-OeY|o&{8KDP=mKza;cq0jXGrV(F{4L z`jlq52%ak;IMans7=Ls6RU2NX&~-X|;;yTs)MaLptskL! zJ}Z`5elctHo`2^HF^2Nh<(%zP(;xJnV?Nm6vvoN4hls=zw_*eBg91ZyDDGT4u+JDM z1SUj+lH2f$G#IvaQH4hk7Sv;di)sl9v?>6PVUwC->sPOB??-dClZNIE zH6`qPR~5iX$w^KQlTQYHJM@3m?K9O~9-*peY290;Q)l(vBssKcR;C&Y^^H6@fNbj$ zd58PAD8MXxmzI3bW4`Ubn&S@PZ{xT3zivOW{)d^p+isTX4=CMV6nJx7pU_qMiT%KI zCqV;cZ(sf@>H-{^W|LGt+R5Tvx|Q(yDG*K!=ZbsZoqJzuZq29j_nJl-FW#0^@To=p z-J4ZOb==^O4f=uWS6+IDQl%Y3P=1x8IFUy}(jMz;FwDPoQkfNQsu3qSM>fdv&hh3> z?cS!==58BJAqPe2dA}Sy4QXYwh&Pk~&;sNa9Q)%$l@%#M9H^)|N>i8v z40dBE0D#Etnr!3Y3@SIfZdh=D2E&Rk&J0KGAL9TK9Df9fjA#HH@Y&nCBL08{a4RA4 zmwFx$au5y}ckssn4G);mz!U7ncx@XXKnd^1*tui`NdV5xWO;MhJW*B<)?|L-pLPR= z$O(e!_b5SxiSUL1!w@dO@b`S73k`?6jQXjO96yYTr}BByES&uRK& z{ne6e^iNZ$bGMqEwGOSaq6661BU=4x*|MnGXYZ=niIk4_w0YIr>D%|ug?+r+LoiFUC`BRE3`U|<%LGvQLM)RSoWHH&TB|G zI0tPKk41#xxJq^!oEooGU1HaxCVBnqbFkbmE{9rl$zq=-WFBV8?QtWImzbPZ=yZ8n#a%;U<117_my;cHfBD1|!RGiy)N{RaO4vo{*PXNypz9%0}7v%T!o z>Q$b`xJ_cx(MfVgaO87j_7*%z%y1#iKf*ym9UJdY_#CT!Qo@wvW7d0U(YUJe2bD^* z*Z4rBP~(w^N$SXSbzDh(rkAanZ>JV-wdgLE^J#`xywm>xs@x#uCbp#aReRnfT;t1( zM%+@gqW(IYPcmJ1d*|$wCz|cyPRRzuE`=y2aGSgN-cVZ{VrTGCuVSXiAqs;<5L0c zE&5&zwoFefAi%PiRIjT^KBkn+jmWZ>=L@SE6Hfx3>X9wWQ%ngx`Bu;X>SF$cRNspKEuOg0ij#RsG$)mf7B#{$^4Asegglt?lUA(V=T> z#!|PpV`i+;ym>VKja%Vl!URfCZH6#QC zQ8Ew|nfJm?yfi74X^~-0kmYNfizB=Q!1u%(YXo52YNmBI2LX_pgqeuOExb%gRT+&O ztpg-a7>a`Gt1%|4EJ;||aXt{*NzoNN2^*O1Q13nn=4z@4sA*m*vj;310;1C zt#vZ1v0+NO6gWyUS76+3EmLu8_?9TtD|7~d=YH=-sj2jp_;{#qI%fW+pHAV*seNeS zT7|_HoLbPxgMh^d?soS$*}U9WKbGT-d`nZS_2s=X zYV_w#U)53NGfwIYmvfKR=Q6FGHq%Uyn1@7D&6pp6^2Nz?+THIh!&h>|eyO^V(${+a zsR8{Jqg%9;FRj#7kPK9Y+B#6WV6|i}cHb*Od%eSPC&6vk{v$5p=dUWTe%y4Hl1LxV z6>ID7Y{IqncNA?Hrz6b@kWUO*iEnS^h)en3kK9LvBVl?ZoSR&zVA}NNqjd9MsXC`s z){BF=w98hFA4dAqo}29G8m_HGAVJPJ!jzi$QY^pSc9vqH+4fd!f9gy5x4cxH5`5^( z`&(NbE{m;n`%7yYE+Dw+?C6VCn+|u z!wBUX@<{o6{q%KSuc>RjE1}xdBcv^?>s`_1c}wklKg+(YR1c-ix1r?$C3^f*TgHb>k3IM2}1&4^B1}Fm~sroVMey8aN zsGU96I&d{<>DMBTt7NB>P|+@jk*e9bs)h9|-tR2_nuuXW?Dn^#yM`(m{_b*1(N?*f zN9HGzwqKY&P~LfCd+y5gD{6mo^gZiS^hql5RY&M|Pt`R2b4$}T{T{Px>00KWYpUth znnRlVTgpwS($@tJ@}JF2?_rMS6SsOXxeta)tI~c)Z#Fx=*S)>kyNrHb`)hhurx%)( zT`K%lCFw-|VZj3Ni#iN<04mdM%_mYOXX<81@Vu$I5~{=?{#5>AHKNke<|;X-l>Y$9 zC}o6_Ev~HGDm0tPqA^g15O;3vIE#wVe=eh!w4U5NRufHRR_)MA+`NAnJ>(@0LgoT% zG2_`F#o!+=9E7+y8Fw#mg@C#-px~_6B#5~5;6ir#d4#)h`Rp+0%Bjaufl?>KY9??{ zT?^0}sQ{m6gep*rifE!i{{RwVfA}WT{{XM>igEl;`@gKq>0jl)@BaYVK14^HAF*PD z0U;T9`}Y`3k{uN!qzsI=Ou|AC@ZeEXjEn&A$S^U_KIoQ2OWvF5``)S6Z1hb(>8o_& z>emIl%(Jv)>)ljI0LCvU{YFu4-*0nueOR@Gp1*Z!{{T_9>|L98<}T}Nv}|y_an@3$ zRk$yTZ^2}>XSOumBFjS3th8M^pO<5&(iG{a9QCR=16Jax6Lo6N3QoxFEn9_)QL$?X zMSA(ZZ2G^q_N|{~?Y6sDZjCm!qeaEPwJC9OW`FfpTT=|UCA_~&US-VO8mDlSTJJQm zGGBC_-XAXgaLMr@Jx6ZAD#BX~CAdWozgbHeDuOza-9hsU8 zrx%$mpKF!1)pHrMVxevtfjk1DVT8bph^Jmg>eZDT5nu->?Krn2W-gejYDfa080_q@ zbqU2bWi_0jZB5yTlHxTQ20Tv;2G}aeP-**j$orN7bozxeocP17GRP>XInQ$Ye;Ar| z#IBr1%er`XLjim<-IC`Ck)<7U79o54w=Qt&z<4nt5sGK<;IL>#qfG1GlcCmKH+iM< zH~NJG`^_G@0Qy(d+w{`r{{Wi04Ge$yV+XlxqrKX@U)@;6@PFfx%lW^{*1XBtE^L}# zjED0q%T;kK7liVcBf<}3nEI5evGl6Zt5StZPj4+sbtyQp?0ZbX4hzCO{dHBY4w&a& zXUX)Pw&8U+-HU2Tsx;H1s?d!)d`9SX7_j32XW%aL!@G1I&=jVMF~hqUVUDC^CiPU^ zv%O)bQdI*pb*9nXc3SUV>MF}sMxaIwK2vIXcjs)v8Z(Jt*7gnO?O-BI%Ul} zyGp|kF^UT+H}z4d*AU^DiP^tQ*-l521Bq zT9tY=SbtM$({aN%>MY7Ppr>K0kd|F8xE`Nk=G%E@JDsfIb8R(P$}Ke4CTn`;uhShl zPtNKsZ%Wcygpb|cQKwn+Acj&d^BhL#uW`8BZ5LMNafc@HFguTM?ES7EH@faD*jg#c zCj1ts2kO7>U!$~kKHsHu>yD?sA4_hlgJq^uAwq*!`Sr*9CUMR0yyLL5{JoSXe(HMr zvHEd-gUx%-=C5ekub0{E&v&@5#Qn=_onA6t2b=n@*I!Y3sgAaOs@)F3{{Z?PhSO~B zQV_M*a=CLz{{Rw4DZKL^c;7|acNME&b{Klw#Pcri=if8;h`Ubz0O9t}?AogJ&*Jn{ zIMf=3pemOan!@tq&U1-U=T#5qE<08r8= zok=LUNvT&P&7W@W-REb$wLP8v#mmu}>9;GAlxE+$qT^gssqY?{uh$04_Z?wlq3O3( zX@^kL^yggFsczy)aJsDb8f1^*W(OGcEtLDCUo*KYaGU!uZx0&aeFxd6<_T@SXMMM~ zwRTFeggTo}ui|eEIc1Tbaj9#xTtzCh9MOXfCY2iux#KQZZ$;*rnR9WzhB0ubfrNUq zSfWd7X||R3Q+--xH>ueX{8iPQV#;52-Ny@-;`}f$FFLx;vpFl+UfQ|Ma=BRcDZ#Bl z%x4Pb?k`4+YrWFjt!>Ia2Q1Zf#?q?i(>0jRVoy69+2!{PBU^WI6zhsPz1H>-o06(F zUXSYfS2bBc)oFJ)6Ei0v89P1do9V75e`@Zrxc*yy@!0FOrBAJt+(W5{oDfQ7Nl8ZO zHq}n5b&|r51Dk98b<#QmpG#Bf9Xgd}0=D+`h1JteY;`I`xH@=a8m-rO?Yl~=*Px`d zSj*J1Ij-T~dpB>BwY%I~jnBHBWrrn+#&!PyUbIRB%FuM1%}TIyfw;UawY4KB3P>xF zxW_xY^M=+6n>%y4D(5U0>p1QI0H3xt*GF%&a^$$n-Ci`z?jPH?Rq7pS)B5hCsL`~c zTHjjo8A8>s-cq|BdB~KB>tIzO+#4pNHiB_4AaH_kE?j_1|{6gUJ>Jdci%17etUSoZ`gVB=iA#HiOn!&fy2Q`;Ut6F3nAq*F(hAZ9AL*GkiKSK(iMDG zCmv%%cy00HoG<|VK6yf82e)N}AYJWWfboWh;xO7*cVj8T7bFS%`2J9s(9ni4kY2_B zBbiORIOee-^Cz~vy|Sq4);E_{6`x7=@2zEVQre@a)C5$b`jlMPI+NN^w8+C!xd+v1 zQiSPB#kA?dt3Y0q`50{oU9`BknUd!^WVn?sa)^vlSz*O<oQ#NAF$I|#Uo2MQ$bMU0KM^SErE{1y9_)6S0%R$ikMaj@BL z{{ZJMOSE=LZE7v4`ngC^ z5#ITyzHco(yzVI5lA~}+Ev^+=E+xA!Eq1Mq&zoj4a#>Z?eJ2##zii6pNi$O%@>E$R z;BT(v+2HAbYJ8f$}D zGBbp3MaJY*p}_WEq`%#Up{4%ULG?IP)pWMCmiFCIMV#8LkOVfL^%_kd>u5EYkmis`UP$X{+fvjg`$id;1!Kr6)MjCDh&lE~8v#$0LM#9hJAs7IMy%6+04Y~+Q#Fe`Z~EBu01!V(s&^p%9L34IizHZgjodCGHDj~ zt7_kQ-NG)v@iTt2WS%*vw``%KQsbb+1ehevc5YLeKw~)3vHYrKfZ%3{h8YZEE#pGE zI^&6t<&-?LBP@1%;yFJ+n#UDG8STYFIdUGzUIb;;rk_cM`brFggz%Zb!AGc-O1i9T zaPMxa5rA3!e7Upw4Qw9p%$tnKd7V6F>wyKS`NoMlf=gNmZMcm8MhEEyXa^ zxU0)j>ZnDjRzs8&lPQTNXt5g5(QfxL+}v`1(@K$C7wcv40z~9HZ%9 zFlJL4s_`=D(sPI@%;Ga&qz#+m4buZ2a!Re1Y@}Mz%!Xdw*^v-!)YiOY$=ZVePB?|0 z!UDrZZ7Q;MeNA2a5+dFvJmFVTc8~&W&K7u>^Mx_Z1^~onaNd4!6iS+sG%oI6eq(M> zie->s9%*E`L|R^wi;E01C25)!RS>B{nJj8f)LHg129qngn}}#OW4mV9N|nIIapElV z?VLRd+*8Xi`H11cVl=BMa82_v8u7{sCRjypI#kA-8kH+h)Etiju?bN;2(^IW!Jknm z066@&L>g~GxknmP6P)#qzGzZ9ZLLBsu9)vV?Z$<>+Ccz=C)8;{mYcE3fo(=x&GzQ%Ib);*prcGTJs3=>SfFI@C>Xe?xha68c?F9Ci=6u~@ z%eULytnJ@}Z-ixpm(Y)+KPG#O?D?MeZcdTEwCa52ZdJq4Bjn}gS;xq3D6 zJ_-K-s(;J-9iO|}^Y3oA(X-!4THR4#udnIN@OKqcf3T0BZ^s-JLCA#&xU6)ER}_4m z)79bneu#)a134T9S;3B^ep+}Hnw22eHsOH)kl4~P3XC~t8%Q)rW zRJ{zssGl9tKAM@SP>ei)oxQM}cn!r49CAISncoEn^zk2=*+RjQ=@&6kx)(%9^pYsc zZ2n?#S45T~acyK8kztJk(xpwabxO4eWjbvENps#nfvq!dPA`Dt)h3|? z<#J6$C7W*qy)OgW9-MSY=*=7bP^A5PRb?vLrD|=J3SCADPTW$#R6B@kH*7ohE z;Oy19-BFy#`i=aw08|9uKh86q zUU;*ylyQ6t>)Hadc^uGLjv3|Q6}}o8{oR#*DiZiglcrNDjBK{FOO8`mk4i?aU9t(` z6C#F@NkMZP;lGA(C`7W?YlF>TUQxEEMWM8q8V)1?45HMMM%vci-I(;-R5Al{LU&?t z_e9kjrls8!d17W#U|`;HKMj&tvZabDq`aY2q}T8x7-DN0>Q7Ch9|;WnQX<;Oy4*En z%YdAMCjpA)Va8M&jw0L_Zp?P=2^Lj6NVP{nvF<6wPS}lANQ~7}#($pZ6BDMR5y!OR zN?b_E>LlKh>>^!cdXTphEWSn#rpBnpBe3DOArh(`DT)UiGna(nxo{%*F)9#5i%~Y= zBgP8jSN@W$YM%qjez=DfTYY7WqwkIh-z8ZI^e#G&JLxWIQm0_y`y@BkdFv&^$nJ7~pbA5}5bIX+lUH>Z|OYTi_+kQgX^?!`%xZ zXbea~fB-$&;|&Y}>=T?Y5gU^|$+`g300<5U;0VBi0uiu+2#9p7*qTjrykoZcewxD1KGy*KQa`mt2PH|c!+Ag!W-0kDjx4m}UR!TBy zdaFYQ=A~Pzo^9P~_q8T@?yJ?ga61Q__kj?Sl-+JOH~US$Yb&_reqDFmu1}1ce%8nW zpiBk;>>C7;A>*z?bjf@xAvkdH-G&h*m`5-(f$`9myw6*IYkd)?YL`0STWVI#x_*su zPfO7oP%S!Fbt$>m7maC?t5aZe7xb>!?0lcw?B2O|xNa9zt+b)RH;aBWsy%P=pRw&X zm-ij_cLh6}c_>=0QJ311=CM`Mr>^fTnkqh}Fe-)SH0n-g6U~Z)9qhgDdFsz-yJcf6 z(Nt`$?zy~jw6E)GwLchypq@qr&6H`52DN+Arl&enr%+-;P;Z!UNUBy-(-T{F zw$~)36Q63G6!m-U9Q#_ue!6_rUJ1>Q5?H{!vW&hK)8d^Oq1|?B)!O%E#b9#%f2aEF zQ2m>=-EO^rC(EQR>T-M6gx?ws-)`Tv(63!~_;nnX{{Xc2*B_Gi7iG5LSM51X z$46@v-0Ge~t2mP9I-ql_IPEWbxRSeLMLx~DgsQ#nZ#U`0{gXQzL)&b`yRe_Yji zM^>mUsr5&ZTS~lp+S)@^vu!}j3WdZmhV_+PT1gXPXB}sgd#$aO?&imE`fcB*OL=uF z;mWnc!1PbcZuz(E-NNr{-TSupNjOhMay6u14y50x_VsO6%sI@fQM9VJ?x$4wby)Az z*D%dnv`b`qU(H&)YI{ttTUAZcTpnxCRorT}z<->>kUYT7Q2uOIMm+CB&}tgCxou6Z z2BQei>c<&mK#Y0rFvQkh+}n;Vsv5UK^6Q;)%g_U@^gC;d?ti(4>HMsrO@E0wqaSN8 zoxS;s;DY*09@kCRa#MK5)Lgk&L%$%I-7Y`H8?L;09X55S#j+t~lKgyPeMo~t5xWR| zNusWosN8|sWerLwgNj5K45lbn=LE3PtRB(&o8>)0JKGDXG|J};8`Jy(lM7PtZt21G=vkqILN&}nOfSH@>{7%V~061N)Q zh()zAA_+TSQhAZ-qvk*D=?R7f9@vtbBI1YS7zUzj%d*2#;!!A94M8#~?T4Nys!EyW z2nujqzdfP`>k_xiAcN@9F0F8RE$!Oti;9GR+II9unOdPaHH-w9Nu}@2`>|N~EK1cX z+`bg5-z|Sx@&l^%ckBIC)SBDf&h1lKzPaXA`b}RdnQr3BLOy)n?jG-Zdv`2la^rtZ zKBL1oSKjA&dve`f%Z>ds`i*`uiZll~nPb0VODJH6niR)wAWsM|85{PQ91ig;=Y&c; z0dONpo(t`X4x>9B(uJTPV4(Q|?%Cn)fpHKxOLunj3;`)G2s}rKF%gOYA|i8={Qc1} zj+h0{431=z3ZeoS3IHShMNt$lfk+tFEW!CeG7>O5m3Htsm<5o)%LSK!`M?~I*yekn zA2AKwU=L{FYkcEsPksd3@8DzcivmPUO z%iKG$h9F&uGTSf48Y1eL&;b$c`R5Zu8W;@_U?@OF>_=>TAq^3NLXf#+qquE{o&=U$ zjq{*=P3sR#^(uOoN@|rYndSp|rQGvZ(r@XizLm|3oGJZ4{mtbw&NDlIa^Lo=zc*n% zm79ac6I>el(Wma+lehPqKZoAii+Iv&;!l(1q4XQjpIdrUtxexd`IR(1cD?P+si$a{ z&mXreymy&(r)d{&K~{wdpc*vDX$(*nJv*~`n`PbQ9klCbefK2&+4GCn!19kZ`FDM= z>E9@;mJ}3jT#CiG;HM>{m)d%>((h?*L=`P_Oo$^8Mo4jvjWoU`O%4^)B}avSPXJ_Q ztCSkxRV0Ljf-wz4!-tGPw4XAWMvMlm)JrY7?}6eeMR<_E^%cY43nf-nDCn{)>W~v` z(L3=wp<_ylF~^xfdvGa-sSN>sqah%Nz8zG&49hlLoiS{mMzd1QMzA8SRsE|SBFaWa zqlfW1CAuLlMH}0ypCTB+JZY=p=r*>sKs$o>h=g&fW}0<%CG0;e;r&J|l^qP)R7;3+ zh8PYb6S5-mF>Xn(bhd3G&=WB|=kSQUXw7`xUO5sDVdLQpco_`(l*_OfL>oxQoNA~@)|EqoW%7jCk8(6vhsppX5)Zd( zcf!oZlq&EIgq1&+X+&h6NUCw7p)*jGO~-lp2!l+baaocmklIogOVF&AX|N3Q@Pnm1 z^C*-SZz0G`M}#hvvMW$>bPP-gRVb8SP(kIHNXvvp$Eo3&Os%Orb0%#@kXI2AYKAm1z5?5bA|#+R!F-s}PMTn^}vyqH46k8$R9Ju5T|Zf7@8i@L%Jh#euJT zaZ>unmXN;jGYr$X(`V~7`4oWYlNwL?hrDOaH90@L)82FR{5or|&E z+rs1>aMfzO8pW>2ejAHitt1^XJtsN@~@|0z&#)s%{r#hEO>kgjK z`nN!?%Z(GL^vi8l#I?cBq%K&;)UvEXpWRrO`E>!o;K!g@yBqdlxwg}U<6IBPZt>Z7 z{$K9$P7N&u(1H(eDhMY zm99Ag*%0LuRWclDV+E&l+PaY z{uAU}dA(29z>zqP9_WcJ1UKhA1pD%a7=#83-!A#>he9p-gMdd=^j}Q1)cr!z+jUK~ zMU}nP{R&S2vG+8Y<AT?Uv~&D^Q)t zr<0mgO|5BK_|W!)Y^u6v5~Qh_Jj9dUW2&Qm^TD&~*R-3(<6mh10I;c=OSUj{^CS2f zYB%)4ad)v{IHp1N_VEe2OJ=SofJx_(gzce!mnWMg8ekY7c3ZNEMhi@b_z0|?1fSDe zlhAJ4!w8>85L+e0Gh*6pQ8#8v%_ zJE8R<4xu}HARyyh27xjSP-4au- zWNGUu_5BXdsdQ~eL)037Z>Zb4kD3#n-n)LP73r=HWl#eD00}Wp=FB%%XJUU0qx7tw ziK_2Cqif$gW&Y8={{Z7(g*nDq#!H%MdK)|qs%e*cCZ&C(UyfV7I^ov!q+8B}`Bj(< z`76^$w{eaF?Wx$f?N8%aKhv4=Hva%+xb3^^y|;IU>dnU)XrAjAMLn1u_#K)8H-VWIm$Gvh2rvy3zulfZ6CD)Rjq^zYE_oo7vYThmlI11@!Hb#?pBR8v<}c)6uK`DwiqDD^(U zw_8rlX4_u%#O^+BSg)Y^i}L>fwnw&kOKk=5-cIzqZhPNZ(ktx49I=@vdPe0*IOCbu z&DBuW^$T$0%-1=OY}-+V9?~#E69bOes(8l?8sKX;7MI4bklJ!beZmM_>-S~x5Zm7Q>!NLZ_`h0u`ZY7(Y~l|+Cb)kPY>wnHHk!(ex^~mT zOA@xOpGC@zG|uHCz{(SjI2e-K!MbA=^c9t~mpBqUs?DF!S`_zfgQtm&J*rr$HO$wp z^fov+8V;tUsRNz3C@54UR^Xn71>KxwlA|<@SEs1br*m^rl#LsD74BZ}j16T9FQ~5$ zkP6twow&j-h*1&8Wf@I7}Fg-odbM+){&F8}<02oyV2?YxrR} zNo3TT^!VzT+WK?UVP$D)r1jN>-%{CG(q+A_y=_=q>+~qoXlogI`7-!5fPGF^nBHwS zcQ&@wjpLQ;Nl{JVG`Y2(i^S^tcX*cG+;+XyPjPArk-3$`mP%Sn4PGqintdNkI+fJh zq;<{SopD#}v(;Q}9><^eVAm~eR|EVqjkT+r8|g;f$~U9K(TUMmeTRQVV|6H8dP@&M zcVE#la$8dCsO~FSxB|mLg=&qWtk~e0tX}(al)9YXPwA7I?! z`bNdpdSfb7eMfWLT~{k!t~{+IewHatF`Kus4YKKmrpsg7YjBqni(S}L-J3M4w!U`5BN zVS@mG;w73ys_0WFRy@Jwig<$H0#}I$49k$NKso^ zTM$|?`bAYKlxh6My?Z{#xVs!DD0D~0e(E&7VcdQXvhFUYNy;BCFZQSIuW9n61Y=hq zjyqi4Y01yPW_b0ev5<}Ag zq;O9BW$u&!3E-Qdh-d(f*#3U#M3C9ypEbjD0qh~EA`)9M@ly<10Y2UdIY1hS@LoR* zfPi==C;$f!XB-b5@gCEn~O@+ZmjMr+1=Ydooj2WdXA-D-n}!-+SIBvhcV4?22m!v|*VH;z-67UD6zuxyjVcr@FQ4Vnv+9ae*xC$W5)}24 z8TAAHahUpvk4y6BnIqhKb{qH8zsfSw?LCv?wLDYJo>HG`oVVKuxpwB;lyi3LuQ>4G z;ChM7EhH62k{qCd*D52k5!dO7!Oe8KR}eqt1{_Q zkR)?##3vl$R7q6CxnHx9X-1j>xXfl}?ucv1z`33|nPU%d-`x$EvWlpaHJ=T;cf?&& zu7ny-1`{31P6Xw+@Hj%n=0aBLum}+0AaGLwQ&d=zQ+Ne4l>QMGs;W_P8ksCAW_wGx zN+9B6+>K&Q*kiL32O}BBr!e_Iz+;*5QwqFFnoqzff)ga1u_>1L9$02oD^BZUhh_GTEH0 z9L^*wlj?E6PY^glty*ltzc+RJ-wy-FpWc?d>kgUePLfb7YTAuma^;vgwzgE;O3}n- z+OMxrFZg4N^NsKLdmA`BXLGIiMb@5^+dm?EXV322zV#}&*|MysrDofj^+q*5bjKa7 zPp6+TKosIA0*qa|Zh!>WA|F)%aQSWB-mw;|$c(MJW08e@OPMRQWCcZ#7^9IP#<^6xY~6la%R;dB z+;$bj#GGDcQl&A>VVa1GS_J_JNn8#e7=u`cN`4|t_nBu3p0YgxAdkW&SrDMyVf6}v zUhkg5cfh2z6RJ(4N%aHNeu?zENoKRxI@K*Mje2!z>AHIXud3?~q7U-yESR-i$JA+O zn&IWO!gxg+t=`{fX$4YKY#xKyfuIRkUxF@00>%tz(2SBhxDH}{{XrV*?!~A{rB(Jllp?sll-KVa-Zk- z{{YNBcgkOc>G*5!Qok1teLq3sV|V^)r_A}k*z2V}U(3(s>0gZJ z13WO#;o%(1KB++}pyH$67i0s}Qp0Zf@a~0}o&<>!BSAw0ta=|;%k?Wn2mSTE?IFj? zF9ZJo5;i@h)40OAr|dl+@{Z@r^Y+m{w{GNqiv35qMEQx7kc=i4drWmr^tvPLDpglO z=d|tlj^&8CGBjZf2Eek1QR4Ao3<_h}HbGRgAt!btW1PX??fFBfx@rm$FlC-{@QHOSnOlVhS+39y?1a2vs-*}uQL_hP`(Y_D zU?I7C{fQ5&h(}P$9_KORSEz>UMJfUSc?H=hD76r-SHuf zh{=9Z_6R|fBXdaMA(HLzi6>tXsxhQaC3tU1P98(#G9V!4K=|#2n0r7WAy8CkXncr* zXDPyCPY`FH>FhEaA|&WCOSF;z@CGEZA}9a?7aktibr{1uI3~yeJpnUMXU2SBpaThr zXaJ0Z;1}BxOnHkCou>fmMN>Vf2^-s&fP~d!MZ_AcUm71%y))J<^q(Pawkbk(Fh8Aq%3tMS}+&AsUSKPg6>9919EeP`tj<*nb9HaG0GC@T?< zgNme+@P4ChsZ&lv_VCqnf}E@RBo)Uv=tsp|!V! zuSqBSt3O%D`K3x*OI^0c7q^!>8`WD_%huBLRI$;zc8!*wZ>G_t+H`HG)1t!Af}3fu zFd*6!zA~X^5Q4XF1r1roZ$$Mwp!NP*RJEFV zb<==bZC!@Ws8FZ~=V6{}8#_J2Yjyk5QG6ND?R(d4-O)ngjm{Fl-q}r++Sl7wrCo$` z2T-d@vmC>L{#%@8FpS8w*HmcZ$k?Q&x}wvE6^R+9;Grfl21I3n!6Hq(#V9&^zX=1F zxgpDW$rEH9Rm`GMtERLt9tC@*0Pbell3qZUpHZcui-B_(Pd3PnYmr2kRH^n+kdt=A z{3SfnCgigel}vZ5Tr-l-+r|#1ObVqOFw6-5r??s8G^Uxy~FVjvTi%NyO!LCfmYlxOg1~Da$8kGFG zO0P3L#7PPO0InVW-uP;i z08(p=@$XC}3}BSX7>0lVf3w5q0Kp+<1hAI{@qjszR88S~@KxiC0g)aHF^9kNfE5PI z9^7`oH0UAUvH+mY62p$n_+bqXA~=u@34k(P^2d50?}Q*oMB{?yydn6E2w*XQ1|bxV zE4?xH!$1tk#{};Obg{}FObE`*K*tfoY%IJ>79hy`a@pUu00iUP=3$`?3<%vM&*8!m zCB$XITc-;!%fJJ}!X$`GfZe_@^Y9G3NZb)JhL{5q7{*hGutJ0YxF|iagfc$y!-OVD zJVAC{^U8bSpd%9^C*hc3u0)ip*0-%j;@Y)KdiK?uUf#V2x}9njm_cP)RaisWQHT(O zBN39TQ?E_Mifalr_Ll}iR^d21cT$zNgRc$`iawKnZ=c*vzgkeR=x(^Vx3udTE&aZe ztlT(Jw(43m+x(k*hZD%nWvpqLAXP(wk@SBq`IbB0p55Hqj`go{c}C?jPlV~86UIE( zID!ZvdD=ndX%a^RF*xj9Ra024QNessPb5G@ z^N2N9$W+9}s(C^T*WK`hqr@VU@HLypRj*V~q4!ikTySGY+*}rCl*%Tes9y?0-j*o7 zwzZ{gL6j+uRBq?KANDAM{t za8i(}j0vTonN6r92Lte&Ll*fMbE{@$A`3#uue;q2lx8gLrpa12jMI+9fu>{52|P0h zG?^|KAcXNnE;JHPawr|}vd=ONJlJeJu3VG6!gOU5gKGjn8l#p(%@ZA}Oq4+06lF~| zz2p-K<^gz(+s|Z(wSiQlfs!5<;37EC#*`{#6ai&CeUVipV<>1JDlYtDNl_5#z$p#_ z9W@~y-3)D$~R@OLxngm#vH9esZ~ zUjpEsz9n_7vuK9XV`sE|#QY}`@yN)#bE_ATvshU;)TE#~y;m}uTZn0K0jGMC74)|* zmFqNHo6+~B93ZtmLw|EUcJ8|MbEqp(s2`;C^PAIJFk_3E`%O8|HEN&IDn9PDKvO1& z^4|Bn{C9Y{atfP!U(1g=X8kR-=swW=sq*^r_mg(^?l1Vw#cy2w>80$7N1x+c$ncW}|5DEaP zvUG=4YW)w?`WIH{HBB8?K-6t@8$zVAtL^Hw?zgM~1=KE>4LXheOmPtj%H^70wf$&5 zrQ)>ZRqoe;sPEm6W9DAZxa?idJ$nt+nOmCI-c(YH(ouAh;Ut;*4d_0*(S1zm4HvC+ z3yW)ueP+Vm>iW{!vnp58bu!*vLdNcZBCWrba@P^e&^a6@9sbjI4ds=3H0o(KmTB$}+07%Tq&2 zp_Q%_-O$RXS0o3=$tGT=sW>F^UkN4U5(l*ct% zl^oi1=`?=2wQ3gAq`{eS5ID4)pTeGc5UT1?imavZ(Kg%RMUT*Uzt<1%52m^l>RmJG z$L#vAt0@QDRo4hL`gcaTURRn0S^ZMxjKsNG*CfnnH{J3Zdy?DiQn|QFjs2Lu71gc> z(chMT^z+@k(5&~rI4ipz!zQGx{5S6`{p|i+UJn|!v`5QstLqM?>z!ibUh2JO_gmF& zTuZKRD!Jm5Py3r{OXb_qZcShVzH!aZ=3cq;w-a|SQ#YrA(I0R2FE93QEcWR3uEVyq zwb;k(!YNhplg>|@uMCY}{q6yLwf_JQ-Ln;n`d7`<;QDH9sJ>=c^!h1N*hn{GGoJ}# z8uJT5Np{aJ(nteLLj!MaJ4`%?Hke(zp@STEOKc!U!P5HU`fI5)U44p1nSD;ZRs;TR zyPEnp3?xheN~w18*tXU0!`_AcAte5{g1-Jg55oBTEPDK0Q+#!Jwo-=O+6 zYgXS;wYAhNs|wbav?<-%)nNoWjl%_2O{eZ?auJ9jBeayF={P#ul1+L~ymot=J;Q5n zeYBF6*7OwM)?G45uWmfdmeO>|a3ONb;$k)6Td0&;;exgKf$;n)VH(e-gI(l3~H%Ko#JHUlWsBSoR(fWRKXKm!rC2?K||0K^1N7|i^lNCr@YZ){);eFGd7 zHu2n>A^QeKLKCyPelm#+WEkwma0VcencP<+v~MsGXdiSfL)atR4`dzz;zne4ru>YP zh={UF9}%)iOSFdAK|zS^+##T2LlDF-X}~f*Gw)B%Bo4ljq=O%X011>K3J?*vVZ(QJ z5YZ$yUAAn79soFR+qeNNh=VbwL%DiC>YXl-FX_E@y?bo}_U+d;nw19mj?nL`ubWoA z8M?NgT)AG>sc9>eZ#yq`k8hXZw=Mn>a;;a`Z&&*~PVdQnZI57^?c3)l_PdknjMhIU zZ#LGjm2p~Uq3j3Ubtto^saa8>)EZTGhui8}HD=toU46=^juJ6lN zWAE8{N-nAM{{REqqq*PQvbQ^4ozB`ys#cv-MyGw&7fo7KY;P&m{Z!4hLhyHhF&kpJ zZfT>buD#u^s;NSKd??NP)1TbjSZX@8)wOGX>J`~W(YF+xN~yND`khg<>Hy%{l^o{b zK3L1y%1#dB%-#8O=H0P#cXBQ@ ziAzs4kr87KQ=It3+_Xe=#DvpHwQ&It9DAZ)5+O%QyphfN+QqkBPwCNjE1geK)Q2lm z%xyO@rPV@9Bt3RXZH;S5j9C=y;Kv3rb zi;|ErF`Yz}5xKdyjw(1aThz2Gj%PZZN^hp=>>!nwbV5+BMz;RW;>BcYH##-bUTHd; zLZ{r|K~(yN;S{)i<5zQQbviUrRq4v*#oy`Nt0LSE=&jmjB=%EzP_L`gcS?ViY;!;W zUBqEHK18*lL)lH{l?v*;IdbB8tu4v`C&~#$m^)_?cAY5EM7DFvi_}$B>1vKp{XT<& zoF2)5sN_(SgzWH0qFuhOvVscNPuDb;vaXqNsOj&fRll^qsKx`e)PwmP0La3GE{7Z7~EWNPw33t?LAkpx@YaLwENzlzOF?oT7^n&ywm7ZbcITsyw442 zTyR*)j`}iPGK){>GnaU?b}BcaJ5zsaG;~cj`hCTvKk2tLFQ~LHnQvK@dEDu`tNC1A z%=cnUW#s#Y^jN-k(SCgCv$%!xz2XGc>R-9v7vO4_+l z70+{8ox*V_+=*Y!ilb3=IX_zZ8A3|{0stCWz=RGyC`t+VPY5z3B7kR_4W?6`$T0#L@W;n`%teD3 z%nxF~0Bzd{cn!DTlpp}epPn%x4VSyI!U2MNBq5HCj{;%i z=mIIsje>hNfG~r^n#-8m7Yye)jJFtAdPWJyy!Mo#fY8JPu^uWu5SY*sQoYzO;$R=N z6WVh8A)+j32!Q_pm&PQ91W02ED%7evomx+0gPBs5Mv&$`jtU5vF&QOHFvh8@*M|qpgrgZIq^hZphYo1^L;bw} z0C9BsxLR}{s5gwE)ih{Px6n2E#guLJ`c&H5RIG2_P%~5%+Bs?xm1MtBG3cIL^FQL6 z?VZY0+@!u-@Jf822`+i~o;l|4D9>i)+`D9Jv~_cW`yaHpr^7?nbt$@=oX0edQj^7V zX%d+B$7cAX`d&w$B&8a!guu8|BuhMfiMAr%I1_|dpu@JeVCJYt*7Bt8{Uf??oSj1F zy@rLG8eBm3AAChGQHgORvBpxcvWT};MUjm0 zM4_vUwr}}FYEdOZe*XXrw{D1(xKR?csD(#U9jZD6fxzSw#v_RrT>=Ff0v(x6aqx&V z(L=WC*zL`GZuZ387AUHUqm&Az8!}Ge;j$JKsZ^r0%+tD`TQ+pRXKLavZdzKz#)TJ2 z)lcxb3J8=E%-eRZ-}7hl?=SdR=DzdL(CqE`K8A-EAXj4JFQ}7`GqERpO*4ObP10FM zLus_N6q?sKEk^|erz=5};U?Z@lW}p)(L4?}>))+1@4 z{LL=f>WiqIe)Ev?+p>tM%|WFc_lBRgIsX0LVcRVHh*DeoiS);WY4JW3(}~&sU-=Vv z=T7Sj*HgFHHrEucPM_42W&JqmB!lB&%3<5sOo^=j9w_f@T4wMzA>IIF5vtoKx? z_Z-~kxSsg)NX5l_&a!T=#~1a#S@yNNaI*z!(xtenCCer1p&U$}9+5y83IM~YJM{sj4!9-P`+Hs_xoO6Y9xi z>&J=8dAG@aT=TzcpKJ3D+83=lwLGrdd~Hp8(UQ`S6YB?}U){$;dZS97jnxme=$^I( zjHhXJSu|a2yoR;i6?8+>c>pKm)l+3R*yOT-1}A z=8!?m7~V<_I3{>aBRKUz)q5VR{0v*73q@d5kMjt`hhS4^hX`oPY{y9$1b6D+YO5|B9X6NZa3OY6Tr`~hV@9QGI|_WY zwVhP7BPi+iEn2TNYB&!tx65j&F^Rj~ZMGJj?c|grqRqbroAhLKK3MW^nLO*i{{SxX z*4f^>)ReAE-L-3roZbqGzU_LOrU%M@TYtLFwDnq@O$$dgx}AzZ@Z@JxciZdv4b!TqDr_dw#$SW4vvF? zIe=3Ta3JEdzz7~(f$_!QdZ+t*>sC62$3tINaIZjBztBxb7Yeisol^42g#M~zx}!qi zK#kvM+@}|_o@*HWYwJhRACewyf{gs1yq~_ScW>13amCKs=AC4h-Dvds`z7HUex#l! z(Nc9niB`Cf3<(cp6+&z|Z5_64hk#Lt1N=+f_`sbt76QizT~#92s0Rs8!-mreuUyKc zxR`ZVq>+jtnkGB8LUJ)LTX~}&!9=&Fz^esOiKZZ-R0jg5z9giZz^SL`88PDrQX=5Q zo1h~=WF#_$)UpPIaNPrvBI8`aB67kVR-_y-z)g|hqrMxbpcFC3AcAbiJPhGhqj93Z zVi1X({g^|kQ+x&^9{m3R4X{D=Bv<;{{Rzd zACnIh{rCR8QOri^b}Ph23B!1dc!&UEGBATNp$4N7?uGQiDrOutKKIDV6r1K z3B7Ud_`_HX5}|w#hJG;6@EA>aZTYS+*m!{K3weE&5lP^)2q4HI%QxC z{M$F4P|`AIDU7YA{{Va2o0ih!j9zhg#rUl~2HUiE{`2MglDXP1%H3UD9c69vapB2O z_Af(!bDbrxGTPUz^y*zRtUHpGO;k~*aid(l#57bd^2_Yn=VA{wG1u(8&$7PMH_=wF zH%_IDKfw0CFaB%xt>T8?%odj0a@tPj4%>WdPjOETB%Nv_Y_TEsPswz0N(^;&5a4Lr! zH+aM%@DqhF7uql~B>0GxU2!XFm?AdVA3UuSJ* zpT#;qTIn~yF?KutahRSMn~Ykk&-AGsPqh#NN@0wo4lp-FR?=}PZ!GCocqO26w~;|B zGFDkcYMy2#$SJOwW>wVEXd;JHZx?n9WS-H15J!^{_mN{Db72ismgNl*mgUFmgiAEhRv8oc=yKc5yjJbZJW@YbC z`C^^MvvpCZe8z&n=ai7<3|4`-#zbApQL_HK{WQ5Y%wHtA%Hl~X?q|5XmCu>VRObX< znvrYLs%BE8ewF~PB@v-d5F*Ip=#^L~W6a`yt9sL?bR%xG9R%Cz-DBmok3!noeuC%! z0KB@W!^v9lt($3rfXtaBb3OCSmb+?uJ*!tY^v0N|SC2kNA?7bOTkQQ?9gj`k@2}jo zU%d5_StG(amZhj`I)&D$s$SQ>)Nd*}tf7w0RRiMq;C&R?l$k}w=3Hf-75ltn7$KnRe8U|>d23FR%A zj7Ic?xn=^uDUvAnB1p0V<1veo_*pE5JV(Q<&Hk% z!X~m9v6}DsLjp56PnZf0VU9pMA8fonFdzm;xOl@1K|ch9#)SxAI|-tDd!ekr9&DzV zU>68uK%Dlky>f;jpaGqP0J9^W8w%{-0QrL82+n(aa>f9m47PE~SwI}n$9PTMmH>FF zi?^}?jJ>;Kga|bviHv9f6O5#1@5UkQ5T`NiL|AMvB0ab7hK49$1CaL)@V(+10Zu_> zwI#cOfC$|%*@6%S-M1{@)Rb5|b_{!p!BSwmAfV%i;E>3J3;=#mi6=mEo*O3~-it$Y4tz z$Fa|2*zR^zW8BBmb7t4Fqey!k!!SWn5R_uqrnq4IQ__NIIJnU`y$_<_+t2qKOQ|W? zbO)$6lxTGYGTUCC>Pwn}oh@pJYEjem8jkuIs8bC_R45)48OML+zcV}1k8JLeUx=+O z+;0i0V5I)`9+Sv?+2t8+B|hcbQ+rxgP+7-|T)3XRyr%kfJg2mQxmsD?$X9zaJQiO}c1TCY4((sL}uege<|?;}UVwrUltnO&M(jgCpJf zL~=1FQg%NXcES@XaU^Wjdn85SnN8SxsgpHSra60Yh_==SJmO5k37DD{0!h9HS{Tz* zRVEW7ith2<0*c7Snp$Q|o;|XOB|?csydFbf01AN3b}!=*&D5#ErNmBZq?3dQs$T9( z77zqZa|U2yGs*%DLQCGEI8fOM{19R|L@2c}B)DW4bAa4&mL?>YG|;Y4CU4Z#B@tA6 zQ**7^vx{WP9 z+4mJlAQIYi$(>53O<)@r9nm!w{nlNz+FaaTR->EOhl$GxuYGY==CS9mUHs1`Vw*zp zF{fielv~iFfz;C8-p|U1z`mEon+=txAO!=eIDg>p{{U#h>81vz{o1Ca=@fC_Tzz-Z zJr~j)V{9nuoqed;m*~1VEvrXO6=h3S))*+H zu~{$Lmjrd*M)D5(&fC>`>XolATe(Y@GIMJli*H)%ESIGD7u20gu62I5sC5@oYBlv; zXH%?eUEW+cx$Z0U)21+|Mv#+O)N4SGIJrBw?#pqxmtNv;7wk)dS|jXE+1oZfn`Ljd z_Sw2vl zoZa!*?KfL}?XSe`XVq(7De9WdQ&ZyKGI>|M`AfOWwRwWX_S?APn^m_pqlDHCKVKs5 zblgWUASxUI3P{Idq-H17tA-|>L#Zif&`kyAWHq5nsyXbXNq_||saByB>9wFKB!LSI zTFGWtG~(&@o=T0@xg?e~JZbA!_kq&=4@*$#?@vvyRrPxu`*&+0YIN?2UYm_N$O0Ws z?T#Fv0@ks?REXz0mw&TkuFl1L%j*uWu@}wi`7F<&KQ6x@JJ*>dYr1*EuVdJLHD;8* zd1jOU0LzQcxVD~1`GM9QY1JKjt=#n=R_gb9)~$5nUvYBsSw@*MqisYbD|!vdtN=lvF{{Roxdku0K0H`)EvT?64gB{>YEt`KB zXp6)sU^{UcqOXJilMlNg-Ln{Egp0Rm3nDho7l><8%SqJlbWKZ7)->meH`;B*JF9Ai zc}wZIIMS$yw5ouP8Hr&6oy%7vcGvY2!^L8~989f_{{VH`x7K^6$@K3w_Y~mtZodoU z@_dh?{VmisombP^XHZ!nr++{i)Ky(=cEAPAyVD2LdBc2lHm^qgsNaXfCF**k?w>7p z?YEix9^bv~aE;h5sOuT8iZ7aF{`j`5Lwi8OfC6x0MvO!ZK$?V^+rAY?h`?rZ+w+H1 zMUrpK%y)0w1!<6iEeHrIcHpG(*pMkY;#Sps3|F;fm*<$2N~_XUBj)LLs;Sy4LYC?-pP_FZq_$rF!polvR z6-3#6v9Bd?sM);wocMq_9<20gT{6MUj#!np!Lf$vaPsI@Oi5s8s7(o3wo& zRMjc7&8=r+aQkXXKbv(?qKy`D=BT5DQ+9tY+@`)RmrorRq}BIr>+PMdaleFmuG+IV z6~<2pu1>DLgXitYxpjKZy$)^dO0_E8vZDEoxT^O)sCPEkxR7%Z$5vJM{yO90^FB3{ zw-UK2Zqr+-Nx9cPrt2#DNCJ0nRakh2BFJp^=kS0AJ92lF2$B$>KnsV53ByCo2}>`-G=@BeNp|=w-~eJi!XrWK0yDu6 z74eB7h^GlA{{X@PksMDR+#*Pl8)v>96Br}{poIoR8T;ZbdW6=R8<$7=gVr4fdrI@B zwX2(IbjnrJYq{4tReEM-m1`=b(pNru%o>?tIO)#})T;gYk*A?EU`$y!H*m zZ}yw=f?2`3+iQc1!_u)wvN{+0qUmjJr9C^X?H$tB?hR`-IwALZEqacZDQiQnXgy5S z1`V;-Y&_4kzb}`*UncweS;6`O&Y(+_!5TB;tFu)EXs zYervb7xsFcljbgL>$2*K966szxH0GWOmvpzZsc9d4NBh>>;8`e)OOpQruN#uw7Cn` zUMf*_UKo1`9^KiZ<%IY{tx340nG?BKOX?8XOlzM}#DE)3jaN982msC+l`-M$)UI7W z6uuRi&-y4=y|vZ#>y|p5exlZHuhneM))Nnn0I%W$x_i9X+@$6fJ9V9NSk2wctIo_;Yj(<*VqjEHm~ z*AgR5W-vcLwhm=(8~}AC#0*skhg8bkDVYoD4hoq_4U&glG%M(;z=71r!@C5}Y)-2J z4h;e+04h9|GMyT3saCB=igc+`U{}6fVTE6I6#+~-uOQO2c8l^kCBk9p>GN{(`u zIoXpORyyL_#p_-^C!A9@-DL4^k2W{UX#?bt=&N2KkR>LnOz_HMjNyP0FccsIFrLty zPSr5IfFpsIh#)G?Vr5|rgvg#f@DbE#0fI4Isk;nM2pHBvKm@`JhvS;T;4(L2cAO`N zaf!zvgN88t1HcDkySKg*0AU7zx>KJI#v}la{hx_|1~8b=(3S%Q!C|b%1`bZU;&5+ACJNSBE@@mafC}joQbe)JNIFTh6FQ7;opwP1UG*K?UVtCxcu|* zgF%UV1^7UMwIMi|n8g4CneK?Z#10-QFLwwA0mqMJ?}mVAUCckJN}P%|Tm3{Ze*fDB+63S$Uj%kzK;qGK8XjA4;t#sDKc&2vp6 z_S6mzq~okQZ6b{ag{n+b*c8d(w!q+r|IWL zj;g+|sp~J%EiNwZZi?I*cT5*HbgMZ1RUbmqqZp=gk7n&Q?^x}7dt0eF?tW5oZx@a$ z=xF)RzF*r*y6!&)lx%#)l2|27AFZa&p2`%M01OfcR7}RhBb}R*m0KolI!Fg7+1^et znU5saBN`1Q$Vi`Lg<2xE_~OX?moZ2j!)Oqn)JCy+;KrtlKaOykaYa`fcxX?bhrSgt zDw0$rX-5w6?1t4*jX0@bWsT7sGBF%_USyyN08}i@H`Mf_DU~b4VicGZUZrl7=17V# zkoFD32tCwL;@b(Ky9BXNA!=h>w(Evq2dOA=Cu$HRfMBwPL`HC;sWVE1A=1Yr5SnS> znNw8EHaG3WpTKJ`hMLZ;i2xjR@u-clpBJB_f_8Nn2mx_WEBpdYqpNg z%ToTM%*(X1Ee#E7uP8tif^c$XPRJH?d6-x3^*sI4h5GUR!RY>v>ElJvUump*g?UZl zg`YQ_Ytxio!^^1Ze4Na6*F5P^Cz(*Va;c7IzxU{NwfJikp88d$HBeuAUK&SN$nCs~ z`FXtamg(;|>UMm;Zc48wd8b~Oa?(=EM0}UlHH}kW)i1T3Zu;X=)paWME^luxsyeM| z)oM7o#JR+yMgR!`As%yElANyIlb+&F7XJWDxgT6?wp(7^w70R?!Z!An;*?^Q5?`mR zuI(>uGbm^<7qnjZ2d6PW0+a!OpaI|kKovtk9EAX4JRTw7Gy$lf2K7RKJ%WG*015!e zPyoA50bnQwC;(6ZyLUm!d9G5J^H8r4$SGOceboKwbCc7W$)4l+d-*5j?11b^>;=>GunqQCEd2i8^n&*A#dVW)EBg?Nd^xWmbE zC7eixB7{8y5<|m|YY$2i9Zn+!pX1{Xka7vF3ac+3OQl4 z9%JH4p_VFwC!mKyv&lPgLkj^hz(MlE+Xz7eBtwqLZ0;r(QX)HdgC>-c&2ilaR{=3O zvY9#Hm`@$+3#yKVEn`Cpvvcpr_-=_yBOc^TH21`6>7j*6KS)JPuj;fU$HfP0q*K7<- zMY(%YSQu@JxESt~Ppz_tk@ zuWXKcP9y->z~1du+g~={^`VO9we;$6{%rD_?wzV#$72=#XSRn^id1(kEM%V5 zk%j{iF)hJoJc))Cz>Bh+H}``QBt9VLfZRgvoFF4IKK|RFBa<6^Am$0jVs^(kOlpAa zl9IS=&Ry__f?%I?w*-a{kkG_507iRvOAWG#5*7g$9}k4!%v1p93n2;+0C5{me$Qky zFcb5J3z#Jn1X5J@8F#~3l31`JM1(|@VKFda2p0fB1OhVzD)&K{Q9K?d$?3)buCWLpz|#`DATD+O}V5$|6%J3i;|7WQ}JKHI*%D^t4{@Va}kma$FX&dW;2_LP}#NsXsUix|c+ziSu( zg2LsvHg^@rP0kXfuM$Cmrx6LQ!?VjI)^JaN&W1uR^|>GP76I zG~EkIz1KCn${KEur?Z~!`sK}Q8_c1UsI_^kSE^c#Ye7>L-oI~cW?QTB=(QD$o?ad= zLl=90Z?W4?d%K#owSugs-4!%Ti+Ur$zODM(srAiEtp`ADeIuiqTHh!aQPlOa$-2Iy zQk#RR&@KwvK#5|p=bhue-|ltW*{#0bvW`-pIX)Z_;(lfGZs)$rTTQB!uFu0M+~+!E zxJ2MU000O82mp{xz-1Z)lFK8JNhG4OLWVK6j_%unz$`&>0A-FpKIncRM-l-;0CyC` zrucvi431O8;CM_dH&KwfM2(*hj3!2-KpA3z&2qr}r?kK{5%D5mLKy?L?Id??F=F5Y zC$qQ49Y;_O*+OGOLI53x=xc}rmdxTnG1(D$0tOJoVWE+ogNQT7cIaVB;xX^X6WA)S`__L?j-0K*V2!1s2>5Y{*W?(dS%#&C&fF~EE_`=pT3 z76eM9IgIa&q3S#cqC*rQ8Xy8b5DbL;;S%O4p~*q--Npd%AvlTS7YYM`pCT}p`&X4=Z!?{@oHWpeaas;}xWd!7FP!*=`E z^^Lhx#+V;=89}z+>FFS)Za;5HxCT+TK2;_+{50t_G;oh?l1fyM!mwV0=I2S(%j0gZ z#ga6P2%iKA?Sz}i#k&Nhf~ajpP&h2TnJhOKN*L3Pa2$eMLh%z!Fv@T&5k%uy^9`*; z0}RGIc%&Eg!MvBQp1FskK{IyjPsfI?xE6e)4w zWek(MDQ$&BolI90>-U3Ce`5}%4kVyRa2_yVLB{};k&64j7=w#$r4ov+0w^1V;OQ!G ztEdm(7O@w_=(t<|w zx9wCH&YJh>frDpgrGPP0><#@SWS^SmDV{PnU_xIX?a7AM*O__B5XTui>_yt?KwA zzVZ*{&CfI5k9O|yaO_Z)Sf_QYlHm?7?Pz?ezrViKFRt}1O76Y(p?hAX#ogW2LsH`6 zy;m1hsZs8kE^**65|2Ds%2y{RJF|ZCdAH2^p2ptJ(#&?-c&J%|>5NjMNnuJO5*cW_ zeh~B+p$CAV7qnfrKtBQC3`T%LfPMmiT*rnnyKv(O1po>S13U!)F+d?eKLJ1jfCT^{ zKop?x2BSa%fLV(e12N##kk~{{ZDhU*7&7 ztgrjO!}XrT0Pa&HPRe6mj2RMe5iA5a3P9g9fCCbi>BvvNWCWH%$F^HLgfJxt5<*+Y ze{@8M{?BmZwP66@y{=>FlG>E&Q>#VbqnT2h!|A=Hex6sf7>t|KHJ6AgsVOGZ(@l7% zRQ(Qzzx^`nDqU;R_P2E$2CHGqVXM+#s9aHC47p58E~&IRa92l1x7;nol|Sx9QeUSt z?O)5EHb>3gUbncL{{ZZ^{{YLpwd#t(UK3P)Ea-TVF6_KQq+iyaDDRzU5X;+!*mcy1 z{9qS|VHRkpK^dqR#9Jcrz>pQ5BWME*_(5DqW00hL4{+NpuqVWeOo8krM3kbcZ^5f( zu7p~~pcRq;aXBxEoJyid7rYEHRP10?&5>!OQ0qFAbn91F06w`sUA+~ZTJQQ;HkOR` z2!!X-tEr^!oAt4Bl%tg>TPTOrp^;)ax zewyJ&X%2eq`H==vtb%Ov*usvstQnZh&MJ|-)S_S;CJ(GjSlw0v47qEl<|)) zC(hrP9$JrNSja-y|%bM1lRyD_D4y1NBkFROG5raTu1 zoBMlrkc<9R!`V;}-O<$A-t6wG+r4g2#-7vIHvRtquy10nZTEH^Rem(8xY4`{J!jOv zOtd!CI;UG`*5!eGx)ncs^Zv-Q^M0b3Wfk4-J-W~JZ(FYf>i&ZVdFGER?7#V2+bhBK zf8D89Y3o0vSBz_^b>5iXWC52J_f%alKZ=k^L@oD@(Q-Inid^gZj9Y$p@{F*C`rGkN zKGcibZ%}OPyOxi?s`<|=X?d}K#+wRlGDs{ZmWk9X|%9U-~fH~aDZW_>F9Wni>#blSj) zI^R&Ws^9!tghcx7w}hhG=8T1RYc*J0wI#(#KdhKpQ>*@0*UgUEAM!Mc!ZBJpYWTCl zJLi4w9$?&j?d$2Vz6(kFko0RO_nFSjV&hD6H4UehLqtGOfNUk1!x#h!*(AXB10S?)L?r-7!AT+*pLmEU=nG(zyL!K#}CWn03tP?0=Vou=Y#{G$--XU z%LsHJIgbPFNlF;KgC~0IfOrktJa=UPY0P}P2mpxV+&$4GF`H|-5<-mL3 zzyNkX4V$5$1{ebDj>4t|Kn8Lne$4PB#JKBg$6TDJUk(R6ii}-1844tj7Q@LL_2>E zgd%8Tf#CoV98Ye>CV*&T6a+@@fDVW01}@Wzhp%=Qsb_J zlQAK@`=OG`ArvZ$Vcy`7UtBFgE0TY@b_xMf+ z8kNli&Q&;%cZ4?-Q6(pW$e95IjAU01CJOYU8c-O5fSszlgdJ7DtEE%j%%j$I58G2L zq*lFC%SdD;{$|u~wjz^eUdwCqUsS#YnXcN})T-bS&V5I71q7G4@7i|6lv-xS<;W$} znv7{obp1Y)%Kre|NB1XX&^GrS56~A@_uXl8MbveTW|0-GdRc^)zTVu3UCG@fG`vQJTMv%WG>yfKmtg9Ax#AcG!z0J3|x)Jw4`g%g5DuR$U!wb)J$c*4r5OWQg3;S0ozc!)2CBfkhhNHF$912lAhOS;mpMs-CR)oKBw z>b#nMuTB2|YgqSzZ*~cj9c@+0_B zaZ7j8$tL~T@^E;!s#HDj3rabpIj;fCcurTb%?@jUR3X6Q8@WlhM@pYQ1$mpQtJMjywbTD``SR>=~bN3%|`lzTw2yU5X#LY zIk}XIcUD&7%ZJ+2lSZS?eq6WaZpC|Gl3S>MGSr@GoClB#Q54++$zT7^oqE-5~Z z#Tu0;*P`*t`c$RD6vn+=QGjMZ)x3Qj5(sgHOTWL`3&zml$;w za2pA(J+Odd9}VA-fB}R8fGYGObh5`D++n5zXS2o_X~Y*a&uQ75io}r9(2v@JN#hJ+ zB0^|(AIV_`d1gle5qt9az!{Otgn^RdyC{hziWxijXSxva1jLY-puj*lXPWj9(- zT6&P@>6<>11d9(T2LPP2NEAUuM-_wQ6K-zVCSU3_fD8Pq>#9S7Q>xG+T{27EZ7xmz zvQp}nJy#RuIWM6!Wzp8P%VG_-zpq=7Fj=f>2+}qKaE2!fm#wX31gdhp5_JYBv^LZPXO1P;fN4?;UW!nK_mG#<+0?G9kY17T;C7)2}vc z_Woh-`)R9|x4VeAJO(-50A?A%gc&)3wI1r~Rd5*1MM=w!TWFY^`~Rx?5_p zjQml*vH6MSt4sN}E#JrO$NvBg46DEHx79lBdu>~wY0h{dwXLkGI;|p9D-C*;7`#D? zpPD3a4 z{fTf&h^jM&tFC2YfCk1O#wY+C`Q$gB&KQN`Ex`Cd3nDX#;}Tf_(7*%t38ac~F%TV0 z)>GjvyWj#R3F5fs6imVZAQvIKwl3Y>>i{4^kt72#ySx}~l_U$WUF3ojz-|Hr@t^_j z{Gww8*{ILP6AS@_59tK^rws=ncJ9M;Fc|L6Yvb*J0f>?m9KeqPP;B{+Y)e7rF+>4= zQsayqzzAXy?byHsMDmnBsPG$j!Iyy2sKB;lk+Wh*?35oc|Y zpx3QX`^lwhRCS#Aitx~g|hJ<8qhonjZ$tY-x( z{`NmbXngIsu%G)gNP>&)@5_YwWgGo^oj&_0{rGN)1zUdO2VqSfuIM@J5Cms?KK zUXG_$_4M9bQmBXjbyUgx-#B$7#v5;0M$ zRmIk?7Wuw>Pog0e2rF<&MJiEY`cN2=AwVoO6a!*_DlWzWI*I`1JQ)%i0eeN90jQt> zZGZ&;h1f$FpaDV;V7>4Mv``383{U`|s0siUP{pSqEFrh*6aXjyPynD1pcwFG0)R3b zoL?FJO2O=-&}c`&rdb9shZAOw|ZG$BCsZJb-EU~{{V@xwA$YJ zmU<=qNc}5E=svLgn)7P!J(czi^xN*66qH+d&ez#|+;WrfJ9YwUoBL%Mb!W0Q#5!q? z?ETRe_!Y|nRL=#=C{<(!5cf$Tb`K&T;DBraFkbnjKBeg~X#FFu+~zk!@Do@IbiMtj4yAN!0A-L8Bw+!`#P zUGP;9l69_xH83P9p#zFxynU!YGT+~;j+33>p!UZ8YLTuf}EUCSO6l2pIfpbjL6$Pn?a3*WEB&56nr%JDh z9#{37p)M`&-_^QZyQmar0N*H5hE;-)nF?Yo55;tSn*^5Xp{ z`Q!6P%3F=L`T3V&2R)VKzIqN(}q5+W{{DkAC5o4(Jdup^+Hi zVAKfZFKkGbBOii(J`e~PLK+Ye=8|8JV-g+=X<@Y|^4$RQBRHIW{{SeG$dbrtWQH*x zX%;jdA|rG(NdpW#GZ_95n4i)QvJFUp?l@pJz_S<;AQ}?^xI{)Xv%yn-*<}oBx)H9~ zdtr@?W;Su(EFc0HJO(H<0kg*h`1|4LA+cE^dqN%1AR{=$fM@_{i_Bt#0Iay-x5GGM z6!8-o2>_5_06QF^tbiDh0(R`f*|#{00hJ8*&2R?*nc)U`0UMLD%Z5n^7!YJ3Y~v^a zeFGl(XW8L3`FdICK_&_nD zI*em3-<$ve#9_32S8~LLEwY~MJ&*tp#0ek?;hEX_!fgtvG<9x`^iQsO&fMxWEa>R^ zNgz|yHIn;ra$EzO`+HzNaP}6Tzn7PMZgw7D?wk00=qTE<>5SHX8k;?*Y2R-l^C2IX zZ$~VjG>zWx`(o=Fbjz(Z%>wSTLHiz zA9;Nkn#=nQ=G}E(gXrS1Uqwv~GW%T8TIQTu;fQd>r*VyHX}T zzmna7fJdWwM}0ldZI;S!s^;EwTwG-8y$QM=LFZoI_+I7s$fT{`OZ{bsu~nY10IoX_ zoxS@bt%~jF683g5wd?t;32XPoyB41v`@%k5j2bip38! z8Oy}yw+M7u>SE3f2HXjnCK8GDEVU?VsVRn6#4s1xWQSCU38;dd23U_U)*>1IZoM^zMlGHe#h1ib+1!( zZLGpH2G!DZI@06~sm$87+l<3xhBzNFd5^AA?cJ(ar%RVp*H}l{)UrL3$e)*Ty(ssu zFvHxcm8&l$s+`uX=%1wd;z@BXaV5?!bDZKybDUMqaVkrkaXH5o2u9p`EviF?emLgp zd#Y4e{-xpQ8+1r~g#Zcw_KE;pg#eXB015$$0SW<&;{Xo_h-rYJ0lshmyDR|301LMG z12I4z!9Wxq02%-k0id7(KpKhw6aXj$C zF~CL7KF2tHNU8G$=37?|Ka?G4T2$6G-C@?gU4@}1P`U)PfC#mqsOzWf{{RR$krm2V zQ|%n@dG0dXbnJHSyW6S1+>Ww;QsPxv+ct$J(`hFX=eYAd?=y4UadVtZ;K@@{U$ooC z#ibb4@ozWH_?A@Z7ZBEkag#B^av7n+>g?q|Q=ifVj?X{uyG>u{ga= z=H9}zsrL0V6p3sxWlV}CkS-V@+1&?GT$3v=*v8TY>}%NSjHc$i2Q}?^6w4|x%Ga^r zp$8asqQ@3s?$Y^5O;#>cY2(zM4L&LAk1l$T>07kHaj*2f2h`I`s#nxBrYq{{{Ka2h z&`r;@=2dPi;ToOR(LwdttB!Qx;C%h(pUc_y=RWi0`)*q%+^$(z%HFO};|?*-CkT_8 z*R>o7RU76L2*FR+uj#4e&}vaqSv6il;W3Zp43~(-J8;K@0f-QQP=JhuCVtO;$eId> zLPL_8#ORT@>Or`s-GF%CBvw zzw%|VlQ4UQ;@RU}!)Z8~VPRUIUc@DmF@{8w9J}_}1);*5hojMcWeU)uS^*^PszxwP z*rMajL;m)3h^kP^THij`$|R4PI|;ZM#sDye@Jj$2SI#6&hh zl>{$*o`%E3A8Rt-GQsFS4mJNnqcTKJ0uEe)y!_b7VI$H{_jmJYV3axe%E~wnKZ!uS zu|LtM%bI=?6ixX{j;9kJFxD0hRh0o9+PfQ*PLPTpgPDFLn!iT8ryGLaaubJeg}+bU zm$@ziOAv2<9V`(970!l1mb7Q$Km`A#nxYth46XSY!^!7&d}Z zEtdsr&Vr?^8JBDR+$izkJxbFrWl2w|Qen%s;-GH(7{@zHGc$cg&%=(7&)3j^?Z?a) z+x6B}p7)d4o#&o5&9q+$bVUqrC_8IypspLO+U?QB+T0~nvZUnzG9x!a7#+eLEp>Ze zec94;l!`6<(coZMfONf9^+Koi!%!5=0?F67fxz?!3~hv*dRkVindFZqRQi#%uLQ>v zla*HZztrTfvoi zc7)7Dg37Gy5Dk1q(%kVahxdEWh%m3}H@S&d)%xwHp2F+LNgKhX$L7Et}X z-V@%#!PZuVw6F>R?WfStzbu9mB31kH3p=Mc#wF*Leg+AH`g^uVpoa0%kH*&4LGr;;p1^V$qdeQ?Z8`7=3LxGBC5Ftpm9j?fOlz%Mn7)Vm!2fALGDkhJZ2C>CsPK=HLA>oBGkiK^Mf5>b z1=(70hZQpo`C*`(Jo!8^8eBl{Sy5*y`>9h)B?jrVfknsNECq`$#`#FGj)*q_>nwI$ zxs2RqC5N;?mf!7lyeLC9q}U??l3F%!A^IV^uh!{bdYu1(Bos*2g zagEg&=H&UA=zXU1y)&uOD92d1F!dyGsp_?JwZt(%cj}{5VbP8gL3Qbz*R8kN0Q3_P z_xp3-OQwD$1dU|zAwA@F@Md6+svUE^BmK8es~qid*JSlvxJD}%7!kO<+EkICsvWa8 zO&vULmU9@F_~+;gE@IUfVr`OzEEAs5fWH|eYJ>w|{SI~g8PTMvUnTU%^&iO7oC60c z4hJGG{&OQ#jLu+;#Ddvzpr0Tb1n}#B664KlAAq`Hf-4CI10Fv+{sfc+m%#roQH&4_ zAIv~!I<69yU5pX|_%sR__JP5o{&0RL`_RySzukYGy!^WhNyS=7b+0ADzByt{P$!75 z2Rm;I{t?IDw0=`MyD;D`cE0DWm#73D2L)z>EkrKdh>4CrxHCX>5*Nxf;E?a+OW7%Br_pFDO)NM>vtZi;caLbEE*~qlFD%0`2eS~7uxS`cTG2Fu5)4~lqv>pdW1r?GtsS>vqm2acx^tEGq3(O^zUi_Dl4fPU`2Y(ZpJCO$_vRT*FQs#Li zC@&Uw`vDvW4M!(gw-Q@wCvOfyh8fa%XB%?xeloI(_}4KHh^tlCN`E+o`3@-f8a(~D zj@-6AFmcKIsSLg zcj*ElnTMk3_c2wEa=a+6q=sr6kDTXZU!dVSCjrL1e097Mc7oHXt@J$;kio1^b$`eA zZ>R0nZJ}XeqPEvB-KEb029GWVXTBq{Dx&rw%n;g?w#O+4HMzEz zQ)zpvRnnV*L=^EbpH!w*pop53NcrRlQQ-Mb`@-2oI?Z&ZLgq#Z2?0kgnyKbkN1RAQ zB;l}Qzk^B1C1n0U`!^qMX#wC|jEiDV%$Ra9;n?tx0UC%Yn8g6@390+cfV)3qRte?OkiNk)JYp{cijX6?G!Y5JaBQW?oC#N)u zIq7z*$nd}}=9g)RryR*UP=zTOhC`c;ih)0d2#AA%wArx6b$y;D0TjF+LHK^b^N~n7 z1QaBYft0A?2)-jh%RV{?C}gVDl?p~2>IVwsfG)iIy?qd>Q8nbLVyh$uu-~KXJxd5M z6JehlLtP&Ppx@;bIlFR17>azhLW#A^|EnU_4+sI!1}<#(LfLVUe@zxc@2`-Dw}^DB z45k%~g#?L1K6eqAV&jkPB|{NQ2udioq25O+N?(1sQEQ&tMyN6(zi%~ZM`OXhp)>Uy z(<66_T_MnV4J`550}BbLbhEq#Ia<2w@Ue?cIzdz8E1g1GBR-OSRrwkxucic(%HjGA z^Ui+KWrd~oijMkDIbE%-?(#D`#jjc(Is-gH2VEPg#i$ESjT-{J$Mkwl%SKJMK`~9> zC!_0*kAfWPQN=GdjSruz>+=^pYi#jChToH_^-4vCf4_V$JE4i>Zv9)iMb(!l;9|rT zRJE@Ed-TJ{prAc~32b<#EbsB2z06-z%L-iJ$`OmGODN#?Y;ZEB(c1(idg_6Im{bnI z>I6Z*dzYM@Pash6)CHrzRm+?#1BjcKStcT8RD2#muq99OA|X`1+~w9IPMFYpXsy(`GiiL2ZT^ z!OLKsvv{^K-z9S)J0!&(8~0j8 z=`hlj5X68htC~G*MqGUSncgqDO+hvBQ}zoET8e-uJtrfUhh57QWrw6yEX$8`rQC~L zBW;zlRlibSUtPn8Jf+{+8&by!r}mMHjd2|tjy%84cl5(|60;lN&2~1|w^&aHIfj-l z1-Dm%z=r%FpuvL`=qPF?SE{}|flkJe=nhpbJO|AL)=htxR!b?M^I2{Yd+Oa>y8SAa z!) zP!w5Fe=_B3j|9$&9U-J10nJn&ceQl1y3k3^^w=SK1#uBq1BEnsqkuoWh*kEl1onnRps4`qO1t=6P%#|3=2sg{V${Ka zbASa-)iyoqPiUyG18hV%wG3x^XcB*gHmp&M=1rr`5iNZ3sduvH9QN7p_fytgg}0N* zJrEq;0@*3Qh%k*Sv9rfQg@M?kyZe0y39y@nHafBK*~|t~x)RrO3E}Za0NL}1pDDec zWJIEm*;{B9`iA9ju?KbGh=#<^8lIvq1z78t-zhKn>prjks8fpXYtZ3&_A0%sE7k}Q zBVo1`b zjAS4&m3X7!-ZX|=;=3xT(+Uwf1)KMt8M?5AC$&lHTQ56l9r978DCdEa>>qJk!Ps&V zB!VIjnzJ+Wt;iZmtq?wCoal*_?B=#e*kCwz-qFtN8z%DkgSeDkyeY)_3cJM4?2vFF zl;~#(;-4k-(%a%%43BUC2}$9vFP|A@U0S z-JO+68FCq9N(sm~7up>iwNFcJEp26Zbt5y<$(tVZZCDC-$RZw;37eLax*!e zEa}HIXQ?`E1FTES-}^oe{sB719`#xMJ}pfFSKm1p)>_y6LTZ$5tKyK#)izfaJyGfK zQmDA}<4dQzp0kg)^47gJc(2Ge^M5J%aglA*I~$^V|29r80dM*Dd8=kV9wJ)RttAoo z6C4;oTNeHUjPhlVh%sOe(mlF*ON7k}!VvMoRTZN^+_(LxNO6cmQjBg>4E5ir0qKGW zeiFcj^FM0@A-c7nSn_u;ByNigsA>x4#3Ai}`tRDawhB4oAY9>Lz>8hSLq$VEyZ@Oh z5DBjW4cSWYg4}`tqrno!ke#dl+c-l1uW=;3>QCDk4+EgNE7Zq6grZhSo?|8HX^dox zr)RJPY z=Wo(3^o1MFFHyZFMp(|jKI5RjWUi%0G0*gfAS~V;eQ}LHo2zFyn5gYjUc$baV|a

m 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

1ms+mCi;Nn&_2yrKWs_ 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

N9j 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

|@TT{DYXA&6uxONZ+ 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 GssGsl%UOT` literal 0 HcmV?d00001 diff --git a/static/images/case_studies/openai_feature.png b/static/images/case_studies/openai_feature.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b26521bb83cd46edc5dc81d3c4a580aa9f7132 GIT binary patch literal 12203 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 literal 0 HcmV?d00001 diff --git a/static/images/openAI_logo.png b/static/images/openAI_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f55ed88c486e8507c10f3d4d604c6f32edb729a2 GIT binary patch literal 6410 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�RE*XRxt&f6S3c!Lqs}@5ZryCz+Xe}hG}<6L5Trb zR8viNs>j2xc~jEOUsh0}5x@FKdz$=i(r`yP3ufrH$$Y`>W*^uC7nn8M=RJ78xY`=4 z7$1`48w!{)T45HPMO1PDEVdYAEpt+p(o`};A@uP_o=I5N-&8C6JW^VrA<+H5eJj*QXfC1m-gm(-Nj;3_NYlYQ_YB@h-*vl72 zUV>uRv11Ph@+>&+gd#|@-E7!&o^N{~*PkI`dazaY+ciFUA4*vS1$Qu&#n(PO8(J9x zI6NsFJuux;xLKu^5zS%SnL~9@jttL8zr~)+(cvDLmF~{e(hv(XMm;ZY)7LUrD19xv zqOy^^iZ+9*Z8*Ol5=CT3;(iHWE5p5eo6mB7IoGwH1&bC`)?MjFyf8m%y$Gzh^Wevd z(rA&^l^F)yFOVE%FN)*)@0Xfz~xY%N|jgl2QV*+PK0^a zk`c4PGZtrOZa;af6245Pv0!-uSBrZ3r4j4a>V|$swt-=9dXMx3_8RPWA-vpnV^p4R z*q~)P?A1Y>FX7y;fH600x9;Z=#O?DVUVXw3H>fLRTtYg!8|nTu68yf!^)}htoO{jh zky{4ldC9@gwTFWBfJxrW$+0icTa07hfnm047qwENeR87C;Cnov8y>oQ-ty|4I%zWd2RVfQ@XG& zpcQhVrJ!e8Zs*R0=$${F6pi>ewCllttrruSeR^TS%V$pJ_8e^dZh#7dRCaOxrX}?i zU-j#E_DT1=Rj`|Map%Tty(aT(g^oNuTe7xC*HgR=ZcbjPY~OW0cdVgrDvJ84dyWP2Jam6G$bKyTTiWW^&Sd%l>s@pmRM@ zN!zbR#V3NZnh~MM!Q)WR`?QY_OKQ)7NlS-krwJ#Jb$)3rPP}GAp zB1CMR|9v0+^--rv11pb^OwZc{^wnehSN$lM7k`>n{?ref&+G>@E|xDmiU$sURmHe1 zbhF~eyB4Ln4%(Q0Jlr}X1>qT}_>+`OUrBMMJ*XF1G_RoF)odY#$Smg7YE6~=~ z^=$`<_q%c&>sr&_Eu#l$phVhl&Qaf5Qu!uk&w|Qua=f7&( zuKsAdGruWgFJIl)q|FK465iw(4G!XDg3>*$_%z`l7uYOOT|dFtv=BHegFvU8bNUqGRha2Fn>)>ac&bQkee>*3PiAbHeg z0B}5%%<;^~^w%+%@|-BhUtEh@nvKYj!F dif0mC6jwC`Q|-@nSbqPVK Date: Mon, 25 Jun 2018 22:18:52 -0700 Subject: [PATCH 041/102] Fix broken links to /admin/multiple-zones (#9193) --- .../_posts/2017-02-00-Highly-Available-Kubernetes-Clusters.md | 2 +- content/en/docs/concepts/workloads/pods/disruptions.md | 2 +- .../en/docs/tasks/administer-cluster/highly-available-master.md | 2 +- data/setup.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/en/blog/_posts/2017-02-00-Highly-Available-Kubernetes-Clusters.md b/content/en/blog/_posts/2017-02-00-Highly-Available-Kubernetes-Clusters.md index df5358332e..d042699192 100644 --- a/content/en/blog/_posts/2017-02-00-Highly-Available-Kubernetes-Clusters.md +++ b/content/en/blog/_posts/2017-02-00-Highly-Available-Kubernetes-Clusters.md @@ -38,7 +38,7 @@ $ KUBE\_GCE\_ZONE=europe-west1-b ./cluster/kube-up.sh -Now, we will add two additional pools of worker nodes, each of three nodes, in zones europe-west1-c and europe-west1-d (more details on adding pools of worker nodes can be find [here](http://kubernetes.io/docs/admin/multiple-zones/)): +Now, we will add two additional pools of worker nodes, each of three nodes, in zones europe-west1-c and europe-west1-d (more details on adding pools of worker nodes can be find [here](http://kubernetes.io/docs/setup/multiple-zones/)): ``` diff --git a/content/en/docs/concepts/workloads/pods/disruptions.md b/content/en/docs/concepts/workloads/pods/disruptions.md index 86f04ee7a8..1a620c9b75 100644 --- a/content/en/docs/concepts/workloads/pods/disruptions.md +++ b/content/en/docs/concepts/workloads/pods/disruptions.md @@ -76,7 +76,7 @@ and [stateful](/docs/tasks/run-application/run-replicated-stateful-application/) spread applications across racks (using [anti-affinity](/docs/user-guide/node-selection/#inter-pod-affinity-and-anti-affinity-beta-feature)) or across zones (if using a -[multi-zone cluster](/docs/admin/multiple-zones).) +[multi-zone cluster](/docs/setup/multiple-zones).) The frequency of voluntary disruptions varies. On a basic Kubernetes cluster, there are no voluntary disruptions at all. However, your cluster administrator or hosting provider diff --git a/content/en/docs/tasks/administer-cluster/highly-available-master.md b/content/en/docs/tasks/administer-cluster/highly-available-master.md index 5427e198e1..6e9bd16f68 100644 --- a/content/en/docs/tasks/administer-cluster/highly-available-master.md +++ b/content/en/docs/tasks/administer-cluster/highly-available-master.md @@ -108,7 +108,7 @@ $ KUBE_GCE_ZONE=replica-zone KUBE_REPLICATE_EXISTING_MASTER=true ./cluster/kube- * Try to place master replicas in different zones. During a zone failure, all masters placed inside the zone will fail. To survive zone failure, also place nodes in multiple zones -(see [multiple-zones](/docs/admin/multiple-zones/) for details). +(see [multiple-zones](/docs/setup/multiple-zones/) for details). * Do not use a cluster with two master replicas. Consensus on a two-replica cluster requires both replicas running when changing persistent state. As a result, both replicas are needed and a failure of any replica turns cluster into majority failure state. diff --git a/data/setup.yml b/data/setup.yml index f09b31417d..5a99ed9e55 100644 --- a/data/setup.yml +++ b/data/setup.yml @@ -134,7 +134,7 @@ toc: path: /docs/admin/cluster-large/ - title: Running in Multiple Zones - path: /docs/admin/multiple-zones/ + path: /docs/setup/multiple-zones/ - title: Building High-Availability Clusters path: /docs/admin/high-availability/building/ From 6f9635c42a0f24721bb31f54f38187b813816003 Mon Sep 17 00:00:00 2001 From: Takuya N Date: Tue, 26 Jun 2018 18:26:51 +0900 Subject: [PATCH 042/102] Fix markdown for blog: 2018-04-30-zero-downtime-deployment-kubernetes-jenkins (#8920) --- .../2018-04-30-zero-downtime-deployment-kubernetes-jenkins.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/en/blog/_posts/2018-04-30-zero-downtime-deployment-kubernetes-jenkins.md b/content/en/blog/_posts/2018-04-30-zero-downtime-deployment-kubernetes-jenkins.md index e61b74cd2d..e7a70c7cad 100644 --- a/content/en/blog/_posts/2018-04-30-zero-downtime-deployment-kubernetes-jenkins.md +++ b/content/en/blog/_posts/2018-04-30-zero-downtime-deployment-kubernetes-jenkins.md @@ -10,6 +10,7 @@ Ever since we added the [Kubernetes Continuous Deploy](https://aka.ms/azjenkinsk ## Rolling Update Kubernetes supports the RollingUpdate strategy to replace old pods with new ones gradually, while continuing to serve clients without incurring downtime. To perform a RollingUpdate deployment: + * Set `.spec.strategy.type` to `RollingUpdate` (the default value). * Set `.spec.strategy.rollingUpdate.maxUnavailable` and `.spec.strategy.rollingUpdate.maxSurge` to some reasonable value. * `maxUnavailable`: the maximum number of pods that can be unavailable during the update process. This can be an absolute number or percentage of the replicas count; the default is 25%. From 767bd9371ea111d4a1d8a0cee6c4315df7887e49 Mon Sep 17 00:00:00 2001 From: Lennart Jern Date: Tue, 26 Jun 2018 14:44:51 +0200 Subject: [PATCH 043/102] Fix links for kubeadm upgrade guidance (#9240) The links to kubeadm upgrade guidance were broken. One of the pages was completely missing, so that link is now removed. --- .../setup-tools/kubeadm/kubeadm-upgrade.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md index 583e2b3f54..2bf7f83a12 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md @@ -19,13 +19,12 @@ cluster if necessary. Every upgrade process might be a bit different, so we've documented each minor upgrade process individually. Please check these documents out for more detailed how-to-upgrade guidance: - * [1.6 to 1.7 upgrades](/docs/tasks/administer-cluster/kubeadm-upgrade-1-7/) - * [1.7.x to 1.7.y upgrades](/docs/tasks/administer-cluster/kubeadm-upgrade-1-8/) - * [1.7 to 1.8 upgrades](/docs/tasks/administer-cluster/kubeadm-upgrade-1-8/) - * [1.8.x to 1.8.y upgrades](/docs/tasks/administer-cluster/kubeadm-upgrade-1-8/) - * [1.8.x to 1.9.x upgrades](/docs/tasks/administer-cluster/kubeadm-upgrade-1-9/) - * [1.9.x to 1.9.y upgrades](/docs/tasks/administer-cluster/kubeadm-upgrade-1-9/) - * [1.9.x to 1.9.y HA cluster upgrades](/docs/tasks/administer-cluster/kubeadm-upgrade-ha/) + * [1.7.x to 1.7.y upgrades](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-8/) + * [1.7 to 1.8 upgrades](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-8/) + * [1.8.x to 1.8.y upgrades](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-8/) + * [1.8.x to 1.9.x upgrades](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-9/) + * [1.9.x to 1.9.y upgrades](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-9/) + * [1.9.x to 1.9.y HA cluster upgrades](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-ha/) ## kubeadm upgrade plan {#cmd-upgrade-plan} {{< include "generated/kubeadm_upgrade_plan.md" >}} From a3415f62280685d2f6d5b7c139dd0c1e2605ef5b Mon Sep 17 00:00:00 2001 From: Qiming Date: Wed, 27 Jun 2018 00:34:52 +0800 Subject: [PATCH 044/102] Consolidate YAML files [part-2] (#9236) Changes that will help upcoming consolidation work: - Add variable `githubWebsiteRaw` to config.toml to facilitate building links to raw YAML files - Revise `codenew` shortcode to generate links to raw YAML files instead of github.com file view; - Rename `artifacts` directory to `examples` to better reflect its usage; Accompanied changes as show cases: - Moved `deployment.yaml`, `deployment-update.yaml` and `deployment-scale.yaml` to the new `examples/application` subdirectory; - Removed duplicate instances of the above YAML files in other directories; - Update example_test.go to test the relocated YAML files and removed testing for files that no longer needed. --- config.toml | 1 + content/en/docs/setup/scratch.md | 2 +- .../run-stateless-application-deployment.md | 10 ++++----- .../en/docs/tutorials/deployment-update.yaml | 19 ----------------- content/en/docs/tutorials/deployment.yaml | 21 ------------------- content/en/docs/tutorials/k8s201.md | 8 +++---- .../stateless-application/deployment.yaml | 21 ------------------- .../application}/deployment-scale.yaml | 0 .../application}/deployment-update.yaml | 0 .../application/deployment.yaml | 0 layouts/shortcodes/codenew.html | 4 ++-- test/examples_test.go | 11 +++------- 12 files changed, 16 insertions(+), 81 deletions(-) delete mode 100644 content/en/docs/tutorials/deployment-update.yaml delete mode 100644 content/en/docs/tutorials/deployment.yaml delete mode 100644 content/en/docs/tutorials/stateless-application/deployment.yaml rename content/en/{docs/tasks/run-application => examples/application}/deployment-scale.yaml (100%) rename content/en/{docs/tasks/run-application => examples/application}/deployment-update.yaml (100%) rename content/en/{artifacts => examples}/application/deployment.yaml (100%) diff --git a/config.toml b/config.toml index 08ad4bff74..e7782e5a37 100644 --- a/config.toml +++ b/config.toml @@ -55,6 +55,7 @@ deprecated = false currentUrl = "https://kubernetes.io/docs/home/" nextUrl = "http://kubernetes-io-vnext-staging.netlify.com/" githubWebsiteRepo = "github.com/kubernetes/website" +githubWebsiteRaw = "raw.githubusercontent.com/kubernetes/website" [[params.versions]] fullversion = "v1.10.3" diff --git a/content/en/docs/setup/scratch.md b/content/en/docs/setup/scratch.md index 46d0d451c9..c354785c7f 100644 --- a/content/en/docs/setup/scratch.md +++ b/content/en/docs/setup/scratch.md @@ -856,7 +856,7 @@ You should see some services. You should also see "mirror pods" for the apiserv ### Try Examples -At this point you should be able to run through one of the basic examples, such as the [nginx example](/docs/tutorials/stateless-application/deployment.yaml). +At this point you should be able to run through one of the basic examples, such as the [nginx example](/examples/application/deployment.yaml). ### Running the Conformance Test diff --git a/content/en/docs/tasks/run-application/run-stateless-application-deployment.md b/content/en/docs/tasks/run-application/run-stateless-application-deployment.md index 27b9aafb89..043c4a089f 100644 --- a/content/en/docs/tasks/run-application/run-stateless-application-deployment.md +++ b/content/en/docs/tasks/run-application/run-stateless-application-deployment.md @@ -41,7 +41,7 @@ a Deployment that runs the nginx:1.7.9 Docker image: 1. Create a Deployment based on the YAML file: - kubectl apply -f https://k8s.io/docs/artifacts/application/deployment.yaml + kubectl apply -f https://k8s.io/examples/application/deployment.yaml 1. Display information about the Deployment: @@ -99,11 +99,11 @@ a Deployment that runs the nginx:1.7.9 Docker image: You can update the deployment by applying a new YAML file. This YAML file specifies that the deployment should be updated to use nginx 1.8. -{{< code file="deployment-update.yaml" >}} +{{< codenew file="application/deployment-update.yaml" >}} 1. Apply the new YAML file: - kubectl apply -f https://k8s.io/docs/tasks/run-application/deployment-update.yaml + kubectl apply -f https://k8s.io/examples/application/deployment-update.yaml 1. Watch the deployment create pods with new names and delete the old pods: @@ -115,11 +115,11 @@ You can increase the number of pods in your Deployment by applying a new YAML file. This YAML file sets `replicas` to 4, which specifies that the Deployment should have four pods: -{{< code file="deployment-scale.yaml" >}} +{{< codenew file="application/deployment-scale.yaml" >}} 1. Apply the new YAML file: - kubectl apply -f https://k8s.io/docs/tasks/run-application/deployment-scale.yaml + kubectl apply -f https://k8s.io/examples/application/deployment-scale.yaml 1. Verify that the Deployment has four pods: diff --git a/content/en/docs/tutorials/deployment-update.yaml b/content/en/docs/tutorials/deployment-update.yaml deleted file mode 100644 index 14a7dc473b..0000000000 --- a/content/en/docs/tutorials/deployment-update.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: nginx-deployment -spec: - selector: - matchLabels: - app: nginx - replicas: 2 - template: - metadata: - labels: - app: nginx - spec: - containers: - - name: nginx - image: nginx:1.8 # Update the version of nginx from 1.7.9 to 1.8 - ports: - - containerPort: 80 diff --git a/content/en/docs/tutorials/deployment.yaml b/content/en/docs/tutorials/deployment.yaml deleted file mode 100644 index 485be0dabc..0000000000 --- a/content/en/docs/tutorials/deployment.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: nginx-deployment -spec: - selector: - matchLabels: - app: nginx - replicas: 2 # tells deployment to run 2 pods matching the template - template: # create pods using pod definition in this template - metadata: - # unlike pod-nginx.yaml, the name is not included in the meta data as a unique name is - # generated from the deployment name - labels: - app: nginx - spec: - containers: - - name: nginx - image: nginx:1.7.9 - ports: - - containerPort: 80 diff --git a/content/en/docs/tutorials/k8s201.md b/content/en/docs/tutorials/k8s201.md index a6881395b1..899b6399b9 100644 --- a/content/en/docs/tutorials/k8s201.md +++ b/content/en/docs/tutorials/k8s201.md @@ -65,7 +65,7 @@ A Deployment object defines a Pod creation template (a "cookie-cutter" if you wi Here is a Deployment that instantiates two nginx Pods: -{{< code file="deployment.yaml" >}} +{{< codenew file="application/deployment.yaml" >}} ### Deployment Management @@ -73,7 +73,7 @@ Here is a Deployment that instantiates two nginx Pods: Create an nginx Deployment: ```shell -kubectl create -f https://k8s.io/docs/tutorials/deployment.yaml +kubectl create -f https://k8s.io/examples/application/deployment.yaml ``` List all Deployments: @@ -91,10 +91,10 @@ kubectl get pods -l app=nginx Upgrade the nginx container from 1.7.9 to 1.8 by changing the Deployment and calling `apply`. The following config contains the desired changes: -{{< code file="deployment-update.yaml" >}} +{{< codenew file="application/deployment-update.yaml" >}} ```shell -kubectl apply -f https://k8s.io/docs/tutorials/deployment-update.yaml +kubectl apply -f https://k8s.io/examples/application/deployment-update.yaml ``` Watch the Deployment create Pods with new names and delete the old Pods: diff --git a/content/en/docs/tutorials/stateless-application/deployment.yaml b/content/en/docs/tutorials/stateless-application/deployment.yaml deleted file mode 100644 index 485be0dabc..0000000000 --- a/content/en/docs/tutorials/stateless-application/deployment.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: nginx-deployment -spec: - selector: - matchLabels: - app: nginx - replicas: 2 # tells deployment to run 2 pods matching the template - template: # create pods using pod definition in this template - metadata: - # unlike pod-nginx.yaml, the name is not included in the meta data as a unique name is - # generated from the deployment name - labels: - app: nginx - spec: - containers: - - name: nginx - image: nginx:1.7.9 - ports: - - containerPort: 80 diff --git a/content/en/docs/tasks/run-application/deployment-scale.yaml b/content/en/examples/application/deployment-scale.yaml similarity index 100% rename from content/en/docs/tasks/run-application/deployment-scale.yaml rename to content/en/examples/application/deployment-scale.yaml diff --git a/content/en/docs/tasks/run-application/deployment-update.yaml b/content/en/examples/application/deployment-update.yaml similarity index 100% rename from content/en/docs/tasks/run-application/deployment-update.yaml rename to content/en/examples/application/deployment-update.yaml diff --git a/content/en/artifacts/application/deployment.yaml b/content/en/examples/application/deployment.yaml similarity index 100% rename from content/en/artifacts/application/deployment.yaml rename to content/en/examples/application/deployment.yaml diff --git a/layouts/shortcodes/codenew.html b/layouts/shortcodes/codenew.html index 2224065aed..80a1d5017f 100644 --- a/layouts/shortcodes/codenew.html +++ b/layouts/shortcodes/codenew.html @@ -3,8 +3,8 @@ {{ $codelang := .Get "language" | default (path.Ext $file | strings.TrimPrefix ".") }} {{ $fileDir := path.Split $file }} {{ $bundlePath := path.Join .Page.Dir $fileDir.Dir }} -{{ $filename := printf "/content/%s/artifacts/%s" .Page.Lang $file | safeURL }} -{{ $ghlink := printf "https://%s/blob/master%s" .Page.Site.Params.githubWebsiteRepo $filename | safeURL }} +{{ $filename := printf "/content/%s/examples/%s" .Page.Lang $file | safeURL }} +{{ $ghlink := printf "https://%s/master%s" .Page.Site.Params.githubWebsiteRaw $filename | safeURL }} {{/* First assume this is a bundle and the file is inside it. */}} {{ $resource := $p.Resources.GetMatch (printf "%s*" $file ) }} {{ with $resource }} diff --git a/test/examples_test.go b/test/examples_test.go index a72eb50132..d1d8a2b976 100644 --- a/test/examples_test.go +++ b/test/examples_test.go @@ -440,13 +440,13 @@ func TestExampleObjectSchemas(t *testing.T) { "redis-pod": {&api.Pod{}}, "redis-service": {&api.Service{}}, }, - "artifacts/application": { + "examples/application": { "deployment": {&extensions.Deployment{}}, + "deployment-scale": {&extensions.Deployment{}}, + "deployment-update": {&extensions.Deployment{}}, }, "docs/tasks/run-application": { "deployment-patch-demo": {&extensions.Deployment{}}, - "deployment-scale": {&extensions.Deployment{}}, - "deployment-update": {&extensions.Deployment{}}, "hpa-php-apache": {&autoscaling.HorizontalPodAutoscaler{}}, "mysql-configmap": {&api.ConfigMap{}}, "mysql-deployment": {&api.Service{}, &extensions.Deployment{}}, @@ -479,11 +479,6 @@ func TestExampleObjectSchemas(t *testing.T) { "mysql-deployment": {&api.Service{}, &api.PersistentVolumeClaim{}, &extensions.Deployment{}}, "wordpress-deployment": {&api.Service{}, &api.PersistentVolumeClaim{}, &extensions.Deployment{}}, }, - "docs/tutorials/stateless-application": { - "deployment": {&extensions.Deployment{}}, - "deployment-scale": {&extensions.Deployment{}}, - "deployment-update": {&extensions.Deployment{}}, - }, "docs/tutorials/stateless-application/guestbook": { "frontend-deployment": {&extensions.Deployment{}}, "frontend-service": {&api.Service{}}, From 0d977e4d1d2aa68f915793a762b9c3f58a33ea45 Mon Sep 17 00:00:00 2001 From: Benjamin Priestman Date: Tue, 26 Jun 2018 23:08:53 +0100 Subject: [PATCH 045/102] Adding reference to kvm2 (#9223) kvm is now deprecated in Minikube. Adding link to kvm2 driver. --- content/en/docs/setup/minikube.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/en/docs/setup/minikube.md b/content/en/docs/setup/minikube.md index c7ce7e5674..5c4dce1bde 100644 --- a/content/en/docs/setup/minikube.md +++ b/content/en/docs/setup/minikube.md @@ -33,6 +33,7 @@ the following drivers: * virtualbox * vmwarefusion +* kvm2 ([driver installation](https://git.k8s.io/minikube/docs/drivers.md#kvm2-driver)) * kvm ([driver installation](https://git.k8s.io/minikube/docs/drivers.md#kvm-driver)) * hyperkit ([driver installation](https://git.k8s.io/minikube/docs/drivers.md#hyperkit-driver)) * xhyve ([driver installation](https://git.k8s.io/minikube/docs/drivers.md#xhyve-driver)) (deprecated) From 56565c34027c1dda700b5095675ce38725e50b4a Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Tue, 26 Jun 2018 18:10:52 -0400 Subject: [PATCH 046/102] Update web-ui-dashboard.md (#9248) --- .../docs/tasks/access-application-cluster/web-ui-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md index a38a9552f4..f464333281 100644 --- a/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -46,7 +46,7 @@ Kubectl will handle authentication with apiserver and make Dashboard available a The UI can _only_ be accessed from the machine where the command is executed. See `kubectl proxy --help` for more options. ### Master server -You may access the UI directly via the Kubernetes master apiserver. Open a browser and navigate to ``https://:/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/``, where `` is IP address or domain name of the Kubernetes +You may access the UI directly via the Kubernetes master apiserver. Open a browser and navigate to ``https://:/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/``, where `` is IP address or domain name of the Kubernetes master. Please note, this works only if the apiserver is set up to allow authentication with username and password. This is not currently the case with some setup tools (e.g., `kubeadm`). Refer to the [authentication admin documentation](/docs/admin/authentication/) for information on how to configure authentication manually. From 2a88115b729fdb3c0c467a60bd9f2ab24979ac61 Mon Sep 17 00:00:00 2001 From: Brian Macdonald Date: Tue, 26 Jun 2018 16:13:52 -0600 Subject: [PATCH 047/102] Removed 1.5 docs link (#9246) URL is no longer accessible. --- content/en/docs/reference/_index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/en/docs/reference/_index.md b/content/en/docs/reference/_index.md index 3926ed9a16..7fd3bc04ea 100644 --- a/content/en/docs/reference/_index.md +++ b/content/en/docs/reference/_index.md @@ -16,7 +16,6 @@ weight: 70 * [1.8](https://v1-8.docs.kubernetes.io/docs/reference/) * [1.7](https://v1-7.docs.kubernetes.io/docs/reference/) * [1.6](https://v1-6.docs.kubernetes.io/docs/reference/) - * [1.5](https://v1-5.docs.kubernetes.io/docs/reference/) ## API Client Libraries From 7be7d8e8f31fa5edbf3cf9b921806050f6c05d8b Mon Sep 17 00:00:00 2001 From: Joe Rocklin Date: Tue, 26 Jun 2018 18:16:52 -0400 Subject: [PATCH 048/102] Fix overview capture (#9242) The currently rendered document has an error block displayed indicating an overview section is needed. --- .../configure-cloud-provider-firewall.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md b/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md index cd1cce6410..9246a0f81d 100644 --- a/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md +++ b/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md @@ -7,7 +7,7 @@ content_template: templates/task weight: 90 --- -{{% capture prerequisites %}} +{{% capture overview %}} Many cloud providers (e.g. Google Compute Engine) define firewalls that help prevent inadvertent exposure to the internet. When exposing a service to the external world, you may need to open up From 870cc95fee75c511da32df01d420b9027b15084e Mon Sep 17 00:00:00 2001 From: Andrew Chen Date: Tue, 26 Jun 2018 16:18:53 -0700 Subject: [PATCH 049/102] Move Google verify files into static directory so they are accessible (#9251) --- google2b743c61aa37ebbe.html => static/google2b743c61aa37ebbe.html | 0 google3a25d10f6aadcdc0.html => static/google3a25d10f6aadcdc0.html | 0 googlea92cf511a27d4f6b.html => static/googlea92cf511a27d4f6b.html | 0 googlead862a0628bec321.html => static/googlead862a0628bec321.html | 0 googlebea0044df4aa3179.html => static/googlebea0044df4aa3179.html | 0 googlece48a67808b497a5.html => static/googlece48a67808b497a5.html | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename google2b743c61aa37ebbe.html => static/google2b743c61aa37ebbe.html (100%) rename google3a25d10f6aadcdc0.html => static/google3a25d10f6aadcdc0.html (100%) rename googlea92cf511a27d4f6b.html => static/googlea92cf511a27d4f6b.html (100%) rename googlead862a0628bec321.html => static/googlead862a0628bec321.html (100%) rename googlebea0044df4aa3179.html => static/googlebea0044df4aa3179.html (100%) rename googlece48a67808b497a5.html => static/googlece48a67808b497a5.html (100%) diff --git a/google2b743c61aa37ebbe.html b/static/google2b743c61aa37ebbe.html similarity index 100% rename from google2b743c61aa37ebbe.html rename to static/google2b743c61aa37ebbe.html diff --git a/google3a25d10f6aadcdc0.html b/static/google3a25d10f6aadcdc0.html similarity index 100% rename from google3a25d10f6aadcdc0.html rename to static/google3a25d10f6aadcdc0.html diff --git a/googlea92cf511a27d4f6b.html b/static/googlea92cf511a27d4f6b.html similarity index 100% rename from googlea92cf511a27d4f6b.html rename to static/googlea92cf511a27d4f6b.html diff --git a/googlead862a0628bec321.html b/static/googlead862a0628bec321.html similarity index 100% rename from googlead862a0628bec321.html rename to static/googlead862a0628bec321.html diff --git a/googlebea0044df4aa3179.html b/static/googlebea0044df4aa3179.html similarity index 100% rename from googlebea0044df4aa3179.html rename to static/googlebea0044df4aa3179.html diff --git a/googlece48a67808b497a5.html b/static/googlece48a67808b497a5.html similarity index 100% rename from googlece48a67808b497a5.html rename to static/googlece48a67808b497a5.html From 1bde807cd60631f440e35c601da9b87b9edbe2f4 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Wed, 27 Jun 2018 01:19:53 +0200 Subject: [PATCH 050/102] Fix links on community/devel (#8534) * Fix links on community/devel The issues.md and client-libraries pages have moved, update the links to it. * fix client libraries URL --- content/en/docs/imported/community/devel.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/imported/community/devel.md b/content/en/docs/imported/community/devel.md index 750c4d563e..533e286a69 100644 --- a/content/en/docs/imported/community/devel.md +++ b/content/en/docs/imported/community/devel.md @@ -13,7 +13,7 @@ Guide](http://kubernetes.io/docs/admin/). * **Contributor Guide** ([Please start here](https://github.com/kubernetes/community/tree/master/contributors/guide/README.md)) to learn about how to contribute to Kubernetes -* **GitHub Issues** ([issues.md](https://github.com/kubernetes/community/tree/master/contributors/devel/issues.md)): How incoming issues are triaged. +* **GitHub Issues** ([issues-triage.md](https://github.com/kubernetes/community/blob/master/contributors/guide/issue-triage.md)): How incoming issues are triaged. * **Pull Request Process** ([/contributors/guide/pull-requests.md](https://github.com/kubernetes/community/tree/master/contributors/guide/pull-requests.md)): When and why pull requests are closed. @@ -59,7 +59,7 @@ Guide](http://kubernetes.io/docs/admin/). * **API Conventions** ([api-conventions.md](https://github.com/kubernetes/community/tree/master/contributors/devel/api-conventions.md)): Defining the verbs and resources used in the Kubernetes API. -* **API Client Libraries** ([client-libraries.md](https://github.com/kubernetes/community/tree/master/contributors/devel/client-libraries.md)): +* **API Client Libraries** ([client-libraries](/docs/reference/using-api/client-libraries/)): A list of existing client libraries, both supported and user-contributed. From 50bc79efb529101dad5000daff285ba8f7aa2bd7 Mon Sep 17 00:00:00 2001 From: Misty Linville Date: Tue, 26 Jun 2018 16:22:52 -0700 Subject: [PATCH 051/102] Sweep for doubled words (#9252) --- content/en/docs/concepts/workloads/pods/pod-lifecycle.md | 2 +- .../en/docs/reference/command-line-tools-reference/kubelet.md | 2 +- .../docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md | 2 +- .../configure-pod-container/translate-compose-kubernetes.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md index 231de62682..e3d29f30d3 100644 --- a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md @@ -86,7 +86,7 @@ the Pod: kubectl get pod my-application -o json | jq .status.conditions ``` -Now let's say that that query has yielded this JSON: +If that query returned this example JSON: ```json [ diff --git a/content/en/docs/reference/command-line-tools-reference/kubelet.md b/content/en/docs/reference/command-line-tools-reference/kubelet.md index 3a70a9abd3..bfb1412d8f 100644 --- a/content/en/docs/reference/command-line-tools-reference/kubelet.md +++ b/content/en/docs/reference/command-line-tools-reference/kubelet.md @@ -100,7 +100,7 @@ kubelet --bootstrap-checkpoint-path string - Path to to the directory where the checkpoints are stored + Path to the directory where the checkpoints are stored --bootstrap-kubeconfig string diff --git a/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md b/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md index 6b93e91c14..7e2a1314fe 100644 --- a/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md +++ b/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md @@ -9,7 +9,7 @@ content_template: templates/task Kubeadm defaults to running a single member etcd cluster in a static pod managed by the kubelet on the control plane node. This is not a highly available setup -as the the etcd cluster contains only one member and cannot sustain any members +as the etcd cluster contains only one member and cannot sustain any members becoming unavailable. This task walks through the process of creating a highly available etcd cluster of three members that can be used as an external etcd when using kubeadm to set up a kubernetes cluster. diff --git a/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md b/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md index de377395e4..4b6b3c3042 100644 --- a/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md +++ b/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md @@ -410,7 +410,7 @@ services: Using `kompose up` with a `build` key: -```sh +```none $ kompose up INFO Build key detected. Attempting to build and push image 'docker.io/foo/bar' INFO Building image 'docker.io/foo/bar' from directory 'build' From e091e29a5d6e1c96ce8c8ea467305c4d0f20cb51 Mon Sep 17 00:00:00 2001 From: Luc Perkins Date: Wed, 27 Jun 2018 11:24:19 -0700 Subject: [PATCH 052/102] Remove unused index pages (#9230) --- content/en/docs/user-journeys/_index.md | 3 --- .../docs/user-journeys/users/application-developer/_index.md | 5 ----- .../en/docs/user-journeys/users/cluster-operator/_index.md | 5 ----- 3 files changed, 13 deletions(-) delete mode 100644 content/en/docs/user-journeys/_index.md delete mode 100755 content/en/docs/user-journeys/users/application-developer/_index.md delete mode 100755 content/en/docs/user-journeys/users/cluster-operator/_index.md diff --git a/content/en/docs/user-journeys/_index.md b/content/en/docs/user-journeys/_index.md deleted file mode 100644 index cfcbab5728..0000000000 --- a/content/en/docs/user-journeys/_index.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -toc_hide: true ---- diff --git a/content/en/docs/user-journeys/users/application-developer/_index.md b/content/en/docs/user-journeys/users/application-developer/_index.md deleted file mode 100755 index cb7beac793..0000000000 --- a/content/en/docs/user-journeys/users/application-developer/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Application Developer" -weight: 10 ---- - diff --git a/content/en/docs/user-journeys/users/cluster-operator/_index.md b/content/en/docs/user-journeys/users/cluster-operator/_index.md deleted file mode 100755 index 1748e90fb4..0000000000 --- a/content/en/docs/user-journeys/users/cluster-operator/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Cluster Operator" -weight: 20 ---- - From 5f30e7d4c37cbd5649618b7f95b52197eadffb81 Mon Sep 17 00:00:00 2001 From: Misty Linville Date: Wed, 27 Jun 2018 15:26:18 -0700 Subject: [PATCH 053/102] Release docs for Kubernetes 1.11 (#9171) * Seperate priority and preemption (#8144) * Doc about PID pressure condition. (#8211) * Doc about PID pressure condition. Signed-off-by: Da K. Ma * "so" -> "too" * Update version selector for 1.11 * StorageObjectInUseProtection is GA (#8291) * Feature gate: StorageObjectInUseProtection is GA Update feature gate reference for 1.11 * Trivial commit to re-trigger Netlify * CRIContainerLogRotation is Beta in 1.11 (#8665) * Seperate priority and preemption (#8144) * CRIContainerLogRotation is Beta in 1.11 xref: kubernetes/kubernetes#64046 * Bring StorageObjectInUseProtection feature to GA (#8159) * StorageObjectInUseProtection is GA (#8291) * Feature gate: StorageObjectInUseProtection is GA Update feature gate reference for 1.11 * Trivial commit to re-trigger Netlify * Bring StorageObjectInUseProtection feature to GA StorageObjectInUseProtection is Beta in K8s 1.10. It's brought to GA in K8s 1.11. * Fixed typo and added feature state tags. * Remove KUBE_API_VERSIONS doc (#8292) The support to the KUBER_API_VERSIONS environment variable is completely dropped (no deprecation). This PR removes the related doc in release-1.11. xref: kubernetes/kubernetes#63165 * Remove InitialResources from admission controllers (#8293) The feature (was experimental) is dropped in 1.11. xref: kubernetes/kubernetes#58784 * Remove docs related to in-tree support to GPU (#8294) * Remove docs related to in-tree support to GPU The in-tree support to GPU is completely removed in release 1.11. This PR removes the related docs in release-1.11 branch. xref: kubernetes/kubernetes#61498 * Update content updated by PR to Hugo syntax Signed-off-by: Misty Stanley-Jones * Update the doc about extra volume in kubeadm config (#8453) Signed-off-by: Xianglin Gao * Update CRD Subresources for 1.11 (#8519) * coredns: update notes in administer-cluster/coredns.md (#8697) CoreDNS is installed by default in 1.11. Add notes on how to install kube-dns instead. Update notes about CoreDNS->CoreDNS upgrades as in 1.11 the Corefile is retained. Add example on upgrading from kube-dns to CoreDNS. * kubeadm-alpha: CoreDNS related changes (#8727) Update note about CoreDNS feature gate. This change also updates a tab as a kubeadm sub-command will change. It looks for a new generated file: generated/kubeadm_alpha_phase_addon_coredns.md instead of: generated/kubeadm_alpha_phase_addon_kube-dns.md * Update cloud controller manager docs to beta 1.11 (#8756) * Update cloud controller manager docs to beta 1.11 * Use Hugo shortcode for feature state * kubeadm-upgrade: include new command `kubeadm upgrade diff` (#8617) Also: - Include note that this was added in 1.11. - Modify the note about upgrade guidance. * independent: update CoreDNS mentions for kubeadm (#8753) Give CoreDNS instead of kube-dns examples in: - docs/setup/independent/create-cluster-kubeadm.md - docs/setup/independent/troubleshooting-kubeadm.md * update 1.11 --server-print info (#8870) * update 1.11 --server-print info * Copyedit * Mark ExpandPersistentVolumes feature to beta (#8778) * Update version selector for 1.11 * Mark ExpandPersistentVolumes Beta xref: kubernetes/kubernetes#64288 * fix shortcode, add placeholder files to fix deploy failures (#8874) * declare ipvs ga (#8850) * kubeadm: update info about CoreDNS in kubeadm-init.md (#8728) Add info to install kube-dns instead of CoreDNS, as CoreDNS is the default DNS server in 1.11. Add notes that kubeadm config images can be used to list and pull the required images in 1.11. * kubeadm: update implementation-details.md about CoreDNS (#8829) - Replace examples from kube-dns to CoreDNS - Add notes about the CoreDNS feature gate status in 1.11 - Add note that the service name for CoreDNS is also called `kube-dns` * Update block device support for 1.11 (#8895) * Update block device support for 1.11 * Copyedits * Fix typo 'fiber channel' (#8957) Signed-off-by: Misty Stanley-Jones * kubeadm-upgrade: add the 'node [config]' sub-command (#8960) - Add includes for the generated pages - Include placeholder generated pages * kubeadm-init: update the example for the MasterConfiguration (#8958) - include godocs link for MasterConfiguration - include example MasterConfiguration - add note that `kubeadm config print-default` can be used * kubeadm-config: include new commands (#8862) Add notes and includes for these new commands in 1.11: - kubeadm config print-default - kubeadm config migrate - kubeadm config images list - kubeadm config images pull Include placeholder generated files for the above. * administer-cluster/coredns: include more changes (#8985) It was requested that for this page a couple of methods should be outlined: - manual installation for CoreDNS explained at the Kubernetes section of the GitHub project for CoreDNS - installation and upgrade via kubeadm Make the above changes and also add a section "About CoreDNS". This commit also lowercases a section title. * Update CRD subresources doc for 1.11 (#8918) * Add docs for volume expansion and online resizing (#8896) * Add docs for volume expansion going beta * Copyedit * Address feedback * Update exec plugin docs with TLS credentials (#8826) * Update exec plugin docs with TLS credentials kubernetes/kubernetes#61803 implements TLS client credential support for 1.11. * Copyedit * More copyedits for clarification * Additional copyedit * Change token->credential * NodeRestriction admission prevents kubelet taint removal (#8911) * dns-custom-namerserver: break down the page into mutliple sections (#8900) * dns-custom-namerserver: break down the page into mutliple sections This page is currently about kube-dns and is a bit outdated. Introduce the heading `# Customizing kube-dns`. Introduce a separate section about CoreDNS. * Copyedits, fix headings for customizing DNS Hey Lubomir, I coypedited pretty heavily because this workflow is so much easier for docs and because I'm trying to help improve everything touching kubeadm as much as possible. But there's one outstanding issue wrt headings and intro content: you can't add a heading 1 to a topic to do what you wanted to do. The page title in the front matter is rendered as a heading 1 and everything else has to start at heading 2. (We still need to doc this better in the docs contributing content, I know.) Instead, I think we need to rewrite the top-of-page intro content to explain better the relationship between kube-dns and CoreDNS. I'm happy to write something, but I thought I'd push this commit first so you can see what I'm doing. Hope it's all clear -- ping here or on Slack with any questions ~ Jennifer * Interim fix for talking about CoreDNS * Fix CoreDNS details * PSP readOnly hostPath (#8898) * Add documentation for crictl (#8880) * Add documentation for crictl * Copyedit Signed-off-by: Misty Stanley-Jones * Final copyedit * VolumeSubpathEnvExpansion alpha feature (#8835) * Note that Heapster is deprecated (#8827) * Note that Heapster is deprecated This notes that Heapster is deprecated, and migrates the relevant docs to talk about metrics-server or other solutions by default. * Copyedits and improvements Signed-off-by: Misty Stanley-Jones * Address feedback * fix shortcode to troubleshoot deploy (#9057) * update dynamic kubelet config docs for v1.11 (#8766) * update dynamic kubelet config docs for v1.11 * Substantial copyedit * Address feedback * Reference doc for kubeadm (release-1.11) (#9044) * Reference doc for kubeadm (release-1.11) * fix shortcode to troubleshoot deploy (#9057) * Reference doc for kube-components (release-1.11) (#9045) * Reference doc for kube-components (release-1.11) * Update cloud-controller-manager.md * fix shortcode to troubleshoot deploy (#9057) * Documentation on lowercasing kubeadm init apiserver SANs (#9059) * Documentation on lowercasing kubeadm init apiserver SANs * fix shortcode to troubleshoot deploy (#9057) * Clarification in dynamic Kubelet config doc (#9061) * Promote sysctls to Beta (#8804) * Promote sysctls to Beta * Copyedits Signed-off-by: Misty Stanley-Jones * Review comments * Address feedback * More feedback * kubectl reference docs for 1.11 (#9080) * Update Kubernetes API 1.11 ref docs (#8977) * Update v1alpha1 to v1beta1. * Adjust left nav for 1.11 ref docs. * Trim list of old ref docs. * Update Federation API ref docs for 1.11. (#9064) * Update Federation API ref docs for 1.11. * Add titles. * Update definitions.html * CRD versioning Public Documentation (#8834) * CRD versioning Public Documentation * Copyedit Signed-off-by: Misty Stanley-Jones * Address feedback * More rewrites * Address feedback * Update main CRD page in light of versioning * Reorg CRD docs * Further reorg * Tweak title * CSI documentation update for raw block volume support (#8927) * CSI documetation update for raw block volume support * minor edits for "CSI raw block volume support" Some small grammar and style nits. * minor CSIBlockVolume edits * Update kubectl component ref page for 1.11. (#9094) * Update kubectl component ref page for 1.11. * Add title. Replace stevepe with username. * crd versioning doc: fix nits (#9142) * Update `DynamicKubeletConfig` feature to beta (#9110) xref: kubernetes/kubernetes#64275 * Documentation for dynamic volume limits based on node type (#8871) * add cos for storage limits * Update docs specific for aws and gce * fix some minor things * Update storage-limits.md * Add k8s version to feature-state shortcode * The Doc update for ScheduleDaemonSetPods (#8842) Signed-off-by: Da K. Ma * Update docs related to PersistentVolumeLabel admission control (#9109) The said admission controller is disabled by default in 1.11 (kubernetes/kubernetes#64326) and scheduled to be removed in future release. * client exec auth: updates for 1.11 (#9154) * Updates HA kubeadm docs (#9066) * Updates HA kubeadm docs Signed-off-by: Chuck Ha * kubeadm HA - Add stacked control plane steps * ssh instructions and some typos in the bash scripts Signed-off-by: Chuck Ha * Fix typos and copypasta errors * Fix rebase issues * Integrate more changes Signed-off-by: Chuck Ha * copyedits, layout and formatting fixes * final copyedits * Adds a sanity check for load balancer connection Signed-off-by: Chuck Ha * formatting fixes, copyedits * fix typos, formatting * Document the Pod Ready++ feature (#9180) Closes: #9107 Xref: kubernetes/kubernetes#64057 * Mention 'KubeletPluginsWatcher' feature (#9177) * Mention 'KubeletPluginsWatcher' feature This feature is more developers oriented than users oriented, so simply mention it in the feature gate should be fine. In future, when the design doc is migrated from Google doc to the kubernetes/community repo, we can add links to it for users who want to dig deeper. Closes: #9108 Xref: kubernetes/kubernetes#63328, kubernetes/kubernetes#64605 * Copyedit * Amend dynamic volume list docs (#9181) The dynamic volume list feature has been documented but the feature gate related was not there yet. Closes: #9105 * Document for service account projection (#9182) This adds docs for the service account projection feature. Xref: kubernetes/kubernetes#63819, kubernetes/community#1973 Closes: #9102 * Update pod priority and preemption user docs (#9172) * Update pod priority and preemption user docs * Copyedit * Documentation on setting node name with Kubeadm (#8925) * Documentation on setting node name with Kubeadm * copyedit * Add kubeadm upgrade docs for 1.11 (#9089) * Add kubeadm upgrade docs for 1.11 * Initial docs review feedback * Add 1-11 to outline * Fix formatting on tab blocks * Move file to correct location * Add `kubeadm upgrade node config` step * Overzealous ediffing * copyedit, fix lists and headings * clarify --force flag for fixing bad state * Get TOML ready for 1.11 release * Blog post for 1.11 release (#9254) * Blog post for 1.11 release * Update 2018-06-26-kubernetes-1.11-release-announcement.md * Update 2018-06-26-kubernetes-1.11-release-announcement.md * Update 2018-06-26-kubernetes-1.11-release-announcement.md --- config.toml | 20 +- ...26-kubernetes-1.11-release-announcement.md | 112 + .../en/docs/concepts/architecture/nodes.md | 1 + .../manage-compute-resources-container.md | 14 +- .../configuration/pod-priority-preemption.md | 118 +- .../configuration/taint-and-toleration.md | 34 +- .../api-extension/custom-resources.md | 18 +- .../concepts/policy/pod-security-policy.md | 14 +- .../concepts/storage/persistent-volumes.md | 86 +- .../docs/concepts/storage/storage-limits.md | 75 + content/en/docs/concepts/storage/volumes.md | 105 +- .../workloads/controllers/daemonset.md | 79 +- .../concepts/workloads/pods/pod-lifecycle.md | 127 +- content/en/docs/reference/_index.md | 4 +- .../admission-controllers.md | 38 +- .../access-authn-authz/authentication.md | 97 +- .../cloud-controller-manager.md | 142 +- .../feature-gates.md | 38 +- .../kube-apiserver.md | 458 +- .../kube-controller-manager.md | 286 +- .../kube-proxy.md | 131 +- .../kube-scheduler.md | 115 +- .../command-line-tools-reference/kubelet.md | 761 +- .../extensions/v1beta1/definitions.html | 241 +- .../extensions/v1beta1/operations.html | 8 +- .../reference/federation/v1/definitions.html | 105 +- .../reference/federation/v1/operations.html | 10 +- content/en/docs/reference/kubectl/kubectl.md | 8 +- content/en/docs/reference/kubectl/overview.md | 9 +- .../en/docs/reference/kubernetes-api/index.md | 4 +- .../setup-tools/kubeadm/generated/kubeadm.md | 4 +- .../kubeadm/generated/kubeadm_alpha.md | 4 +- .../kubeadm/generated/kubeadm_alpha_phase.md | 4 +- .../generated/kubeadm_alpha_phase_addon.md | 4 +- .../kubeadm_alpha_phase_addon_all.md | 29 +- .../kubeadm_alpha_phase_addon_coredns.md | 84 + .../kubeadm_alpha_phase_addon_kube-proxy.md | 18 +- .../kubeadm_alpha_phase_bootstrap-token.md | 6 +- ...kubeadm_alpha_phase_bootstrap-token_all.md | 26 +- ...lpha_phase_bootstrap-token_cluster-info.md | 8 +- ...eadm_alpha_phase_bootstrap-token_create.md | 26 +- ...ubeadm_alpha_phase_bootstrap-token_node.md | 8 +- ...bootstrap-token_node_allow-auto-approve.md | 8 +- ...se_bootstrap-token_node_allow-post-csrs.md | 8 +- .../generated/kubeadm_alpha_phase_certs.md | 4 +- .../kubeadm_alpha_phase_certs_all.md | 16 +- ...alpha_phase_certs_apiserver-etcd-client.md | 8 +- ...ha_phase_certs_apiserver-kubelet-client.md | 8 +- .../kubeadm_alpha_phase_certs_apiserver.md | 16 +- .../generated/kubeadm_alpha_phase_certs_ca.md | 8 +- .../kubeadm_alpha_phase_certs_etcd-ca.md | 8 +- ...pha_phase_certs_etcd-healthcheck-client.md | 8 +- .../kubeadm_alpha_phase_certs_etcd-peer.md | 8 +- .../kubeadm_alpha_phase_certs_etcd-server.md | 8 +- ...ubeadm_alpha_phase_certs_front-proxy-ca.md | 8 +- ...dm_alpha_phase_certs_front-proxy-client.md | 8 +- .../generated/kubeadm_alpha_phase_certs_sa.md | 8 +- .../kubeadm_alpha_phase_controlplane.md | 4 +- .../kubeadm_alpha_phase_controlplane_all.md | 26 +- ...eadm_alpha_phase_controlplane_apiserver.md | 22 +- ...a_phase_controlplane_controller-manager.md | 16 +- ...eadm_alpha_phase_controlplane_scheduler.md | 14 +- .../generated/kubeadm_alpha_phase_etcd.md | 4 +- .../kubeadm_alpha_phase_etcd_local.md | 8 +- .../kubeadm_alpha_phase_kubeconfig.md | 4 +- .../kubeadm_alpha_phase_kubeconfig_admin.md | 14 +- .../kubeadm_alpha_phase_kubeconfig_all.md | 16 +- ...pha_phase_kubeconfig_controller-manager.md | 14 +- .../kubeadm_alpha_phase_kubeconfig_kubelet.md | 18 +- ...ubeadm_alpha_phase_kubeconfig_scheduler.md | 14 +- .../kubeadm_alpha_phase_kubeconfig_user.md | 23 +- .../generated/kubeadm_alpha_phase_kubelet.md | 29 + .../kubeadm_alpha_phase_kubelet_config.md | 29 + ...adm_alpha_phase_kubelet_config_download.md | 59 + ...pha_phase_kubelet_config_enable-dynamic.md | 68 + ...beadm_alpha_phase_kubelet_config_upload.md | 56 + ...lpha_phase_kubelet_config_write-to-disk.md | 49 + ...eadm_alpha_phase_kubelet_write-env-file.md | 52 + .../kubeadm_alpha_phase_mark-master.md | 10 +- .../kubeadm_alpha_phase_preflight.md | 4 +- .../kubeadm_alpha_phase_preflight_master.md | 4 +- .../kubeadm_alpha_phase_preflight_node.md | 4 +- .../kubeadm_alpha_phase_selfhosting.md | 4 +- ...ase_selfhosting_convert-from-staticpods.md | 12 +- .../kubeadm_alpha_phase_upload-config.md | 8 +- .../kubeadm/generated/kubeadm_completion.md | 13 +- .../kubeadm/generated/kubeadm_config.md | 6 +- .../generated/kubeadm_config_images.md | 54 + .../generated/kubeadm_config_images_list.md | 75 + .../generated/kubeadm_config_images_pull.md | 82 + .../generated/kubeadm_config_migrate.md | 82 + .../generated/kubeadm_config_print-default.md | 67 + .../generated/kubeadm_config_upload.md | 8 +- .../kubeadm_config_upload_from-file.md | 10 +- .../kubeadm_config_upload_from-flags.md | 44 +- .../kubeadm/generated/kubeadm_config_view.md | 8 +- .../kubeadm/generated/kubeadm_init.md | 38 +- .../kubeadm/generated/kubeadm_join.md | 26 +- .../kubeadm/generated/kubeadm_reset.md | 17 +- .../kubeadm/generated/kubeadm_token.md | 8 +- .../kubeadm/generated/kubeadm_token_create.md | 24 +- .../kubeadm/generated/kubeadm_token_delete.md | 10 +- .../generated/kubeadm_token_generate.md | 10 +- .../kubeadm/generated/kubeadm_token_list.md | 10 +- .../kubeadm/generated/kubeadm_upgrade.md | 18 +- .../generated/kubeadm_upgrade_apply.md | 30 +- .../kubeadm/generated/kubeadm_upgrade_diff.md | 124 + .../kubeadm/generated/kubeadm_upgrade_node.md | 96 + .../generated/kubeadm_upgrade_node_config.md | 121 + .../kubeadm/generated/kubeadm_upgrade_plan.md | 26 +- .../kubeadm/generated/kubeadm_version.md | 6 +- .../kubeadm/implementation-details.md | 20 +- .../setup-tools/kubeadm/kubeadm-alpha.md | 6 +- .../setup-tools/kubeadm/kubeadm-config.md | 18 + .../setup-tools/kubeadm/kubeadm-init.md | 238 +- .../setup-tools/kubeadm/kubeadm-upgrade.md | 11 +- .../independent/create-cluster-kubeadm.md | 96 +- .../setup/independent/high-availability.md | 961 +- .../independent/troubleshooting-kubeadm.md | 13 +- .../configure-aggregation-layer.md | 1 + .../custom-resources/_index.md | 5 + .../custom-resource-definition-versioning.md | 202 + .../custom-resource-definitions.md} | 60 +- .../migrate-third-party-resource.md | 8 +- .../http-proxy-access-api.md | 1 + .../setup-extension-api-server.md | 1 + .../administer-cluster/cluster-management.md | 7 +- .../docs/tasks/administer-cluster/coredns.md | 59 +- .../developing-cloud-controller-manager.md | 5 + .../dns-custom-nameservers.md | 187 +- .../extended-resource-node.md | 5 - ...aranteed-scheduling-critical-addon-pods.md | 2 +- .../kubeadm/kubeadm-upgrade-1-11.md | 279 + .../administer-cluster/pvc-protection.md | 145 - .../administer-cluster/reconfigure-kubelet.md | 530 +- .../running-cloud-controller.md | 7 +- .../storage-object-in-use-protection.md | 9 +- .../administer-cluster/sysctl-cluster.md | 92 +- .../assign-cpu-resource.md | 44 +- .../assign-memory-resource.md | 46 +- .../tasks/debug-application-cluster/crictl.md | 326 + .../debug-application-introspection.md | 3 + .../resource-usage-monitoring.md | 77 +- .../docs/tasks/manage-gpus/scheduling-gpus.md | 67 - .../horizontal-pod-autoscale-walkthrough.md | 10 +- .../horizontal-pod-autoscale.md | 48 +- .../users/cluster-operator/intermediate.md | 2 +- static/_redirects | 2 + .../generated/kubectl/kubectl-commands.html | 5252 +- .../reference/generated/kubectl/navData.js | 2 +- .../reference/generated/kubectl/scroll.js | 4 +- .../generated/kubernetes-api/v1.11/index.html | 113523 +++++++++++++++ .../generated/kubernetes-api/v1.11/navData.js | 1 + .../bootstrap/dist/css/bootstrap.min.css | 6 + .../font-awesome/css/font-awesome.css | 2337 + .../font-awesome/css/font-awesome.css.map | 7 + .../font-awesome/css/font-awesome.min.css | 4 + .../font-awesome/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes .../fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../fonts/fontawesome-webfont.svg | 2671 + .../fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes .../highlight.js/styles/default.css | 99 + .../jquery.scrollto/jquery.scrollTo.min.js | 7 + .../node_modules/jquery/dist/jquery.min.js | 4 + .../generated/kubernetes-api/v1.11/scroll.js | 196 + .../kubernetes-api/v1.11/stylesheet.css | 269 + .../kubernetes-api/v1.11/tabvisibility.js | 27 + static/images/docs/influx.png | Bin 534294 -> 0 bytes .../images/docs/monitoring-architecture.png | Bin 22972 -> 0 bytes 171 files changed, 126686 insertions(+), 6525 deletions(-) create mode 100644 content/en/blog/_posts/2018-06-26-kubernetes-1.11-release-announcement.md create mode 100644 content/en/docs/concepts/storage/storage-limits.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_coredns.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_download.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_enable-dynamic.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_upload.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_write-to-disk.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_write-env-file.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images_list.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images_pull.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_migrate.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_print-default.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_diff.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node.md create mode 100644 content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node_config.md create mode 100755 content/en/docs/tasks/access-kubernetes-api/custom-resources/_index.md create mode 100644 content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning.md rename content/en/docs/tasks/access-kubernetes-api/{extend-api-custom-resource-definitions.md => custom-resources/custom-resource-definitions.md} (89%) rename content/en/docs/tasks/access-kubernetes-api/{ => custom-resources}/migrate-third-party-resource.md (97%) create mode 100644 content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-11.md delete mode 100644 content/en/docs/tasks/administer-cluster/pvc-protection.md create mode 100644 content/en/docs/tasks/debug-application-cluster/crictl.md create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/index.html create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/navData.js create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/bootstrap/dist/css/bootstrap.min.css create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.css create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.css.map create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.min.css create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/FontAwesome.otf create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/fontawesome-webfont.eot create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/fontawesome-webfont.svg create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/fontawesome-webfont.ttf create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/fontawesome-webfont.woff create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/fontawesome-webfont.woff2 create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/highlight.js/styles/default.css create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/jquery.scrollto/jquery.scrollTo.min.js create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/node_modules/jquery/dist/jquery.min.js create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/scroll.js create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/stylesheet.css create mode 100755 static/docs/reference/generated/kubernetes-api/v1.11/tabvisibility.js delete mode 100644 static/images/docs/influx.png delete mode 100644 static/images/docs/monitoring-architecture.png diff --git a/config.toml b/config.toml index e7782e5a37..cb1b0e5d8f 100644 --- a/config.toml +++ b/config.toml @@ -45,10 +45,10 @@ time_format_blog = "Monday, January 02, 2006" description = "Production-Grade Container Orchestration" showedit = true -latest = "v1.10" +latest = "v1.11" -fullversion = "v1.10.3" -version = "v1.10" +fullversion = "v1.11.0" +version = "v1.11" githubbranch = "master" docsbranch = "master" deprecated = false @@ -57,6 +57,13 @@ nextUrl = "http://kubernetes-io-vnext-staging.netlify.com/" githubWebsiteRepo = "github.com/kubernetes/website" githubWebsiteRaw = "raw.githubusercontent.com/kubernetes/website" +[[params.versions]] +fullversion = "v1.11.0" +version = "v1.11" +githubbranch = "v1.11.0" +docsbranch = "release-1.11" +url = "https://kubernetes.io" + [[params.versions]] fullversion = "v1.10.3" version = "v1.10" @@ -85,13 +92,6 @@ githubbranch = "v1.7.6" docsbranch = "release-1.7" url = "https://v1-7.docs.kubernetes.io" -[[params.versions]] -fullversion = "v1.6.8" -version = "v1.6" -githubbranch = "v1.6.8" -docsbranch = "release-1.6" -url = "https://v1-6.docs.kubernetes.io" - # Language definitions. diff --git a/content/en/blog/_posts/2018-06-26-kubernetes-1.11-release-announcement.md b/content/en/blog/_posts/2018-06-26-kubernetes-1.11-release-announcement.md new file mode 100644 index 0000000000..6c725ac92f --- /dev/null +++ b/content/en/blog/_posts/2018-06-26-kubernetes-1.11-release-announcement.md @@ -0,0 +1,112 @@ +--- +layout: blog +title: 'Kubernetes 1.11: In-Cluster Load Balancing and CoreDNS Plugin Graduate to General Availability' +date: 2018-06-27 +slug: kubernetes-1.11-release-announcement +--- + +**Author**: Kubernetes 1.11 [Release Team](https://github.com/kubernetes/sig-release/blob/master/releases/release-1.11/release_team.md) + +We’re pleased to announce the delivery of Kubernetes 1.11, our second release of 2018! + +Today’s release continues to advance maturity, scalability, and flexibility of Kubernetes, marking significant progress on features that the team has been hard at work on over the last year. This newest version graduates key features in networking, opens up two major features from SIG-API Machinery and SIG-Node for beta testing, and continues to enhance storage features that have been a focal point of the past two releases. The features in this release make it increasingly possible to plug any infrastructure, cloud or on-premise, into the Kubernetes system. + +Notable additions in this release include two highly-anticipated features graduating to general availability: IPVS-based In-Cluster Load Balancing and CoreDNS as a cluster DNS add-on option, which means increased scalability and flexibility for production applications. + +Let’s dive into the key features of this release: + +## IPVS-Based In-Cluster Service Load Balancing Graduates to General Availability + +In this release, [IPVS-based in-cluster service load balancing](https://github.com/kubernetes/features/issues/265) has moved to stable. IPVS (IP Virtual Server) provides high-performance in-kernel load balancing, with a simpler programming interface than iptables. This change delivers better network throughput, better programming latency, and higher scalability limits for the cluster-wide distributed load-balancer that comprises the Kubernetes Service model. IPVS is not yet the default but clusters can begin to use it for production traffic. + +## CoreDNS Promoted to General Availability + +[CoreDNS](https://coredns.io) is now available as a [cluster DNS add-on option](https://github.com/kubernetes/features/issues/427), and is the default when using kubeadm. CoreDNS is a flexible, extensible authoritative DNS server and directly integrates with the Kubernetes API. CoreDNS has fewer moving parts than the previous DNS server, since it’s a single executable and a single process, and supports flexible use cases by creating custom DNS entries. It’s also written in Go making it memory-safe. You can learn more about CoreDNS [here](https://youtu.be/dz9S7R8r5gw). + +## Dynamic Kubelet Configuration Moves to Beta + +This feature makes it possible for new Kubelet configurations to be rolled out in a live cluster. Currently, Kubelets are configured via command-line flags, which makes it difficult to update Kubelet configurations in a running cluster. With this beta feature, [users can configure Kubelets in a live cluster](https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/) via the API server. + +## Custom Resource Definitions Can Now Define Multiple Versions + +Custom Resource Definitions are no longer restricted to defining a single version of the custom resource, a restriction that was difficult to work around. Now, with this beta [feature](https://github.com/kubernetes/features/issues/544), multiple versions of the resource can be defined. In the future, this will be expanded to support some automatic conversions; for now, this feature allows custom resource authors to “promote with safe changes, e.g. v1beta1 to v1,” and to create a migration path for resources which do have changes. + +Custom Resource Definitions now also support ["status" and "scale" subresources](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/customresources-subresources.md), which integrate with monitoring and high-availability frameworks. These two changes advance the ability to run cloud-native applications in production using Custom Resource Definitions. + +## Enhancements to CSI + +Container Storage Interface (CSI) has been a major topic over the last few releases. After moving to [beta in 1.10](https://github.com/container-storage-interface/spec/blob/master/spec.md), the 1.11 release continues enhancing CSI with a number of features. The 1.11 release adds alpha support for raw block volumes to CSI, integrates CSI with the new kubelet plugin registration mechanism, and makes it easier to pass secrets to CSI plugins. + +## New Storage Features + +Support for [online resizing of Persistent Volumes](https://github.com/kubernetes/features/issues/284) has been introduced as an alpha feature. This enables users to increase the size of PVs without having to terminate pods and unmount volume first. The user will update the PVC to request a new size and kubelet will resize the file system for the PVC. + +Support for [dynamic maximum volume count](https://github.com/kubernetes/features/issues/554) has been introduced as an alpha feature. This new feature enables in-tree volume plugins to specify the maximum number of volumes that can be attached to a node and allows the limit to vary depending on the type of node. Previously, these limits were hard coded or configured via an environment variable. + +The StorageObjectInUseProtection feature is now stable and prevents the removal of both [Persistent Volumes](https://github.com/kubernetes/features/issues/499) that are bound to a Persistent Volume Claim, and [Persistent Volume Claims](https://github.com/kubernetes/features/issues/498) that are being used by a pod. This safeguard will help prevent issues from deleting a PV or a PVC that is currently tied to an active pod. + +Each Special Interest Group (SIG) within the community continues to deliver the most-requested enhancements, fixes, and functionality for their respective specialty areas. For a complete list of inclusions by SIG, please visit the [release notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#111-release-notes). + +## Availability + +Kubernetes 1.11 is available for [download on GitHub](https://github.com/kubernetes/kubernetes/releases/tag/v1.11.0). To get started with Kubernetes, check out these [interactive tutorials](https://kubernetes.io/docs/tutorials/). + +You can also install 1.11 using Kubeadm. Version 1.11.0 will be available as Deb and RPM packages, installable using the [Kubeadm cluster installer](https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/) sometime on June 28th. + +## 5 Day Features Blog Series + +If you’re interested in exploring these features more in depth, check back in two weeks for our 5 Days of Kubernetes series where we’ll highlight detailed walkthroughs of the following features: + +* Day 1: IPVS-Based In-Cluster Service Load Balancing Graduates to General Availability +* Day 2: CoreDNS Promoted to General Availability +* Day 3: Dynamic Kubelet Configuration Moves to Beta +* Day 4: Custom Resource Definitions Can Now Define Multiple Versions +* Day 5: Overview of CSI Enhancements + +## Release team + +This release is made possible through the effort of hundreds of individuals who contributed both technical and non-technical content. Special thanks to the [release team](https://github.com/kubernetes/sig-release/blob/master/releases/release-1.11/release_team.md) led by Josh Berkus, Kubernetes Community Manager at Red Hat. The 20 individuals on the release team coordinate many aspects of the release, from documentation to testing, validation, and feature completeness. + +As the Kubernetes community has grown, our release process represents an amazing demonstration of collaboration in open source software development. Kubernetes continues to gain new users at a rapid clip. This growth creates a positive feedback cycle where more contributors commit code creating a more vibrant ecosystem. Kubernetes has over 20,000 individual contributors to date and an active community of more than 40,000 people. + +## Project Velocity + +The CNCF has continued refining DevStats, an ambitious project to visualize the myriad contributions that go into the project. [K8s DevStats](https://devstats.k8s.io) illustrates the breakdown of contributions from major company contributors, as well as an impressive set of preconfigured reports on everything from individual contributors to pull request lifecycle times. On average, 250 different companies and over 1,300 individuals contribute to Kubernetes each month. [Check out DevStats](https://devstats.k8s.io) to learn more about the overall velocity of the Kubernetes project and community. + +## User Highlights + +Established, global organizations are using [Kubernetes in production](https://kubernetes.io/case-studies/) at massive scale. Recently published user stories from the community include: + +* **The New York Times**, known as the newspaper of record, [moved out of its data centers and into the public cloud](https://kubernetes.io/case-studies/newyorktimes/) with the help of Google Cloud Platform and Kubernetes. This move meant a significant increase in speed of delivery, from 45 minutes to just a few seconds with Kubernetes. +* **Nordstrom**, a leading fashion retailer based in the U.S., began their cloud native journey by [adopting Docker containers orchestrated with Kubernetes](https://kubernetes.io/case-studies/nordstrom/). The results included a major increase in Ops efficiency, improving CPU utilization from 5x to 12x depending on the workload. +* **Squarespace**, a SaaS solution for easily building and hosting websites, [moved their monolithic application to microservices with the help of Kubernetes](https://kubernetes.io/case-studies/squarespace/). This resulted in a deployment time reduction of almost 85%. +* **Crowdfire**, a leading social media management platform, moved from a monolithic application to a [custom Kubernetes-based setup](https://kubernetes.io/case-studies/crowdfire/). This move reduced deployment time from 15 minutes to less than a minute. + +Is Kubernetes helping your team? Share your story with the community. + +## Ecosystem Updates + +* The CNCF recently expanded its certification offerings to include a Certified Kubernetes Application Developer exam. The CKAD exam certifies an individual's ability to design, build, configure, and expose cloud native applications for Kubernetes. More information can be found [here](https://www.cncf.io/blog/2018/03/16/cncf-announces-ckad-exam/). +* The CNCF recently added a new partner category, Kubernetes Training Partners (KTP). KTPs are a tier of vetted training providers who have deep experience in cloud native technology training. View partners and learn more [here](https://www.cncf.io/certification/training/). +* CNCF also offers [online training](https://www.cncf.io/certification/training/) that teaches the skills needed to create and configure a real-world Kubernetes cluster. +* Kubernetes documentation now features [user journeys](https://k8s.io/docs/home/): specific pathways for learning based on who readers are and what readers want to do. Learning Kubernetes is easier than ever for beginners, and more experienced users can find task journeys specific to cluster admins and application developers. + +## KubeCon + +The world’s largest Kubernetes gathering, KubeCon + CloudNativeCon is coming to [Shanghai](https://www.lfasiallc.com/events/kubecon-cloudnativecon-china-2018/) from November 14-15, 2018 and [Seattle](https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-america-2018/) from December 11-13, 2018. This conference will feature technical sessions, case studies, developer deep dives, salons and more! The CFP for both event is currently open. [Submit your talk](https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-america-2018/program/call-for-proposals-cfp/) and [register](https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2018/attend/register/) today! + +## Webinar + +Join members of the Kubernetes 1.11 release team on July 31st at 10am PDT to learn about the major features in this release including In-Cluster Load Balancing and the CoreDNS Plugin. Register [here](https://www.cncf.io/event/webinar-kubernetes-1-11/). + +## Get Involved + +The simplest way to get involved with Kubernetes is by joining one of the many [Special Interest Groups](https://github.com/kubernetes/community/blob/master/sig-list.md) (SIGs) that align with your interests. Have something you’d like to broadcast to the Kubernetes community? Share your voice at our weekly [community meeting](https://github.com/kubernetes/community/blob/master/communication.md#weekly-meeting), and through the channels below. + +Thank you for your continued feedback and support. + +* Post questions (or answer questions) on [Stack Overflow](http://stackoverflow.com/questions/tagged/kubernetes) +* Join the community portal for advocates on [K8sPort](http://k8sport.org/) +* Follow us on Twitter [@Kubernetesio](https://twitter.com/kubernetesio) for latest updates +* Chat with the community on [Slack](http://slack.k8s.io/) +* Share your Kubernetes [story](https://docs.google.com/a/linuxfoundation.org/forms/d/e/1FAIpQLScuI7Ye3VQHQTwBASrgkjQDSS5TP0g3AXfFhwSM9YpHgxRKFA/viewform) diff --git a/content/en/docs/concepts/architecture/nodes.md b/content/en/docs/concepts/architecture/nodes.md index ea4cef0a36..f672eb38d9 100644 --- a/content/en/docs/concepts/architecture/nodes.md +++ b/content/en/docs/concepts/architecture/nodes.md @@ -51,6 +51,7 @@ The `conditions` field describes the status of all `Running` nodes. | `OutOfDisk` | `True` if there is insufficient free space on the node for adding new pods, otherwise `False` | | `Ready` | `True` if the node is healthy and ready to accept pods, `False` if the node is not healthy and is not accepting pods, and `Unknown` if the node controller has not heard from the node in the last `node-monitor-grace-period` (default is 40 seconds) | | `MemoryPressure` | `True` if pressure exists on the node memory -- that is, if the node memory is low; otherwise `False` | +| `PIDPressure` | `True` if pressure exists on the processes -- that is, if there are too many processes on the node; otherwise `False` | | `DiskPressure` | `True` if pressure exists on the disk size -- that is, if the disk capacity is low; otherwise `False` | | `NetworkUnavailable` | `True` if the network for the node is not correctly configured, otherwise `False` | | `ConfigOK` | `True` if the kubelet is correctly configured, otherwise `False` | diff --git a/content/en/docs/concepts/configuration/manage-compute-resources-container.md b/content/en/docs/concepts/configuration/manage-compute-resources-container.md index 79d4a87f29..02825b81f8 100644 --- a/content/en/docs/concepts/configuration/manage-compute-resources-container.md +++ b/content/en/docs/concepts/configuration/manage-compute-resources-container.md @@ -144,9 +144,7 @@ When using Docker: multiplied by 100. The resulting value is the total amount of CPU time that a container can use every 100ms. A container cannot use more than its share of CPU time during this interval. - {{< note >}} - **Note**: The default quota period is 100ms. The minimum resolution of CPU quota is 1ms. - {{< /note >}} + {{< note >}}**Note**: The default quota period is 100ms. The minimum resolution of CPU quota is 1ms.{{ {{}}} - The `spec.containers[].resources.limits.memory` is converted to an integer, and used as the value of the @@ -209,12 +207,10 @@ $ kubectl describe nodes e2e-test-minion-group-4lw4 Name: e2e-test-minion-group-4lw4 [ ... lines removed for clarity ...] Capacity: - alpha.kubernetes.io/nvidia-gpu: 0 cpu: 2 memory: 7679792Ki pods: 110 Allocatable: - alpha.kubernetes.io/nvidia-gpu: 0 cpu: 1800m memory: 7474992Ki pods: 110 @@ -300,10 +296,10 @@ Container in the Pod was terminated and restarted five times. You can call `kubectl get pod` with the `-o go-template=...` option to fetch the status of previously terminated Containers: -```shell +```shell{% raw %} [13:59:01] $ kubectl get pod -o go-template='{{range.status.containerStatuses}}{{"Container Name: "}}{{.name}}{{"\r\nLastState: "}}{{.lastState}}{{end}}' simmemleak-hra99 Container Name: simmemleak -LastState: map[terminated:map[exitCode:137 reason:OOM Killed startedAt:2015-07-07T20:58:43Z finishedAt:2015-07-07T20:58:43Z containerID:docker://0e4095bba1feccdfe7ef9fb6ebffe972b4b14285d5acdec6f0d3ae8a22fad8b2]] +LastState: map[terminated:map[exitCode:137 reason:OOM Killed startedAt:2015-07-07T20:58:43Z finishedAt:2015-07-07T20:58:43Z containerID:docker://0e4095bba1feccdfe7ef9fb6ebffe972b4b14285d5acdec6f0d3ae8a22fad8b2]]{% endraw %} ``` You can see that the Container was terminated because of `reason:OOM Killed`, @@ -545,6 +541,4 @@ consistency across providers and platforms. * [ResourceRequirements](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcerequirements-v1-core) -{{% /capture %}} - - +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/configuration/pod-priority-preemption.md b/content/en/docs/concepts/configuration/pod-priority-preemption.md index 9564247fe1..193880eb43 100644 --- a/content/en/docs/concepts/configuration/pod-priority-preemption.md +++ b/content/en/docs/concepts/configuration/pod-priority-preemption.md @@ -9,55 +9,92 @@ weight: 70 {{% capture overview %}} -{{< feature-state state="alpha" >}} +{{< feature-state for_k8s_version="1.8" state="alpha" >}} +{{< feature-state for_k8s_version="1.11" state="beta" >}} -[Pods](/docs/user-guide/pods) in Kubernetes 1.8 and later can have priority. Priority -indicates the importance of a Pod relative to other Pods. When a Pod cannot be scheduled, +[Pods](/docs/user-guide/pods) can have _priority_. Priority +indicates the importance of a Pod relative to other Pods. If a Pod cannot be scheduled, the scheduler tries to preempt (evict) lower priority Pods to make scheduling of the -pending Pod possible. In Kubernetes 1.9 and later, Priority also affects scheduling +pending Pod possible. + +In Kubernetes 1.9 and later, Priority also affects scheduling order of Pods and out-of-resource eviction ordering on the Node. +Pod priority and preemption are moved to beta since Kubernetes 1.11 and are enabled by default in +this release and later. + +In Kubernetes versions where Pod priority and preemption is still an alpha-level +feature, you need to explicitly enable it. To use these features in the older versions of +Kubernetes, follow the instructions in the documentation for your Kubernetes version, by +going to the documentation archive version for your Kubernetes version. + +| Kubernetes Version | Priority and Preemption State | Enabled by default | +| -------- |:-----:|:----:| +| 1.8 | alpha | no | +| 1.9 | alpha | no | +| 1.10 | alpha | no | +| 1.11 | beta | yes | + +{{< warning >}} +**Warning**: In a cluster where not all users are trusted, a malicious +user could create pods at the highest possible priorities, causing +other pods to be evicted/not get scheduled. To resolve this issue, +[ResourceQuota](https://kubernetes.io/docs/concepts/policy/resource-quotas/) is augmented to support +Pod priority. An admin can create ResourceQuota for users at specific priority levels, preventing +them from creating pods at high priorities. However, this feature is in alpha as of Kubernetes 1.11. +{{< /warning >}} + {{% /capture %}} {{% capture body %}} ## How to use priority and preemption -To use priority and preemption in Kubernetes 1.8 and later, follow these steps: +To use priority and preemption in Kubernetes 1.11 and later, follow these steps: -1. Enable the feature. +1. Add one or more [PriorityClasses](#priorityclass). -1. Add one or more PriorityClasses. - -1. Create Pods with `priorityClassName` set to one of the added PriorityClasses. +1. Create Pods with[`priorityClassName`](#pod-priority) set to one of the added PriorityClasses. Of course you do not need to create the Pods directly; normally you would add `priorityClassName` to the Pod template of a collection object like a Deployment. -The following sections provide more information about these steps. - -## Enabling priority and preemption - -Pod priority and preemption is disabled by default in Kubernetes 1.8. -To enable the feature, set this command-line flag for the API server, scheduler and kubelet: - -``` ---feature-gates=PodPriority=true -``` - -Also enable scheduling.k8s.io/v1alpha1 API and Priority [admission controller](/docs/admin/admission-controllers/) in API server: - - -``` ---runtime-config=scheduling.k8s.io/v1alpha1=true --enable-admission-plugins=Controller-Foo,Controller-Bar,...,Priority -``` - -After the feature is enabled, you can create [PriorityClasses](#priorityclass) -and create Pods with [`priorityClassName`](#pod-priority) set. +Keep reading for more information about these steps. If you try the feature and then decide to disable it, you must remove the PodPriority -command-line flag or set it to false, and then restart the API server and +command-line flag or set it to `false`, and then restart the API server and scheduler. After the feature is disabled, the existing Pods keep their priority -fields, but preemption is disabled, and priority fields are ignored, and you -cannot set `priorityClassName` in new Pods. +fields, but preemption is disabled, and priority fields are ignored. If the feature +is disabled, you cannot set `priorityClassName` in new Pods. + +## How to disable preemption + +{{< note >}} +**Note**: In Kubernetes 1.11, critical pods (except DaemonSet pods, which are +still scheduled by the DaemonSet controller) rely on scheduler preemption to be +scheduled when a cluster is under resource pressure. For this reason, we do not +recommend disabling this feature. If you still have to disable this feature, +follow the instructions below. +{{< /note >}} + +In Kubernetes 1.11 and later, preemption is controlled by a kube-scheduler flag +`disablePreemption`, which is set to `false` by default. + +To disable preemption, set `disablePreemption` to true. This keeps pod priority +enabled but disables preemption. Here is a sample configuration: + +```yaml +apiVersion: componentconfig/v1alpha1 +kind: KubeSchedulerConfiguration +algorithmSource: + provider: DefaultProvider + +... + +disablePreemption: true + +``` + +Although preemption of the scheduler is enabled by default, it is disabled if `PodPriority` +feature is disabled. ## PriorityClass @@ -80,22 +117,17 @@ with `globalDefault` set, the priority of Pods with no `priorityClassName` is ze The `description` field is an arbitrary string. It is meant to tell users of the cluster when they should use this PriorityClass. -{{< note >}} -**Note 1**: If you upgrade your existing cluster and enable this feature, the priority -of your existing Pods will be considered to be zero. -{{< /note >}} +### Notes about PodPriority and existing clusters +- If you upgrade your existing cluster and enable this feature, the priority +of your existing Pods is effectively zero. -{{< note >}} -**Note 2**: Addition of a PriorityClass with `globalDefault` set to true does not +- Addition of a PriorityClass with `globalDefault` set to `true` does not change the priorities of existing Pods. The value of such a PriorityClass is used only for Pods created after the PriorityClass is added. -{{< /note >}} -{{< note >}} -**Note 3**: If you delete a PriorityClass, existing Pods that use the name of the -deleted priority class remain unchanged, but you are not able to create more Pods +- If you delete a PriorityClass, existing Pods that use the name of the +deleted PriorityClass remain unchanged, but you cannot create more Pods that use the name of the deleted PriorityClass. -{{< /note >}} ### Example PriorityClass diff --git a/content/en/docs/concepts/configuration/taint-and-toleration.md b/content/en/docs/concepts/configuration/taint-and-toleration.md index 0497646916..07b5af707c 100644 --- a/content/en/docs/concepts/configuration/taint-and-toleration.md +++ b/content/en/docs/concepts/configuration/taint-and-toleration.md @@ -204,23 +204,23 @@ running on the node as follows * pods that tolerate the taint with a specified `tolerationSeconds` remain bound for the specified amount of time -In addition, Kubernetes 1.6 has alpha -support for representing node problems. In other words, the node controller -automatically taints a node when certain condition is true. The built-in taints -currently include: +In addition, Kubernetes 1.6 introduced alpha support for representing node +problems. In other words, the node controller automatically taints a node when +certain condition is true. The following taints are built in: * `node.kubernetes.io/not-ready`: Node is not ready. This corresponds to the NodeCondition `Ready` being "`False`". - * `node.alpha.kubernetes.io/unreachable`: Node is unreachable from the node + * `node.kubernetes.io/unreachable`: Node is unreachable from the node controller. This corresponds to the NodeCondition `Ready` being "`Unknown`". * `node.kubernetes.io/out-of-disk`: Node becomes out of disk. * `node.kubernetes.io/memory-pressure`: Node has memory pressure. * `node.kubernetes.io/disk-pressure`: Node has disk pressure. * `node.kubernetes.io/network-unavailable`: Node's network is unavailable. - * `node.cloudprovider.kubernetes.io/uninitialized`: When kubelet is started - with "external" cloud provider, it sets this taint on a node to mark it - as unusable. When a controller from the cloud-controller-manager initializes - this node, kubelet removes this taint. + * `node.kubernetes.io/unschedulable`: Node is unschedulable. + * `node.cloudprovider.kubernetes.io/uninitialized`: When the kubelet is started + with "external" cloud provider, this taint is set on a node to mark it + as unusable. After a controller from the cloud-controller-manager initializes + this node, the kubelet removes this taint. When the `TaintBasedEvictions` alpha feature is enabled (you can do this by including `TaintBasedEvictions=true` in `--feature-gates` for Kubernetes controller manager, @@ -277,17 +277,15 @@ Version 1.8 introduces an alpha feature that causes the node controller to creat Node conditions. When this feature is enabled (you can do this by including `TaintNodesByCondition=true` in the `--feature-gates` command line flag to the scheduler, such as `--feature-gates=FooBar=true,TaintNodesByCondition=true`), the scheduler does not check Node conditions; instead the scheduler checks taints. This assures that Node conditions don't affect what's scheduled onto the Node. The user can choose to ignore some of the Node's problems (represented as Node conditions) by adding appropriate Pod tolerations. -To make sure that turning on this feature doesn't break DaemonSets, starting in version 1.8, the DaemonSet controller automatically adds the following `NoSchedule` tolerations to all daemons: +Starting in Kubernetes 1.8, the DaemonSet controller automatically adds the +following `NoSchedule` tolerations to all daemons, to prevent DaemonSets from +breaking. * `node.kubernetes.io/memory-pressure` * `node.kubernetes.io/disk-pressure` * `node.kubernetes.io/out-of-disk` (*only for critical pods*) + * `node.kubernetes.io/unschedulable` (1.10 or later) + * `node.kubernetes.io/network-unavailable` (*host network only*) -The above settings ensure backward compatibility, but we understand they may not fit all user's needs, which is why -cluster admin may choose to add arbitrary tolerations to DaemonSets. - -{{% /capture %}} - -{{% capture whatsnext %}} - -{{% /capture %}} \ No newline at end of file +Adding these tolerations ensures backward compatibility. You can also add +arbitrary tolerations to DaemonSets. diff --git a/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md b/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md index d8c66a4520..efab74152a 100644 --- a/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md +++ b/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md @@ -8,7 +8,11 @@ weight: 20 --- {{% capture overview %}} -This page explains [*custom resources*](/docs/concepts/api-extension/custom-resources/), which are extensions of the Kubernetes API. This page explains when to add a custom resource to your Kubernetes cluster and when to use a standalone service. It describes the two methods for adding custom resources and how to choose between them. + +This page explains *custom resources*, which are extensions of the Kubernetes +API, including when to add a custom resource to your Kubernetes cluster and when +to use a standalone service. It describes the two methods for adding custom +resources and how to choose between them. {{% /capture %}} @@ -103,20 +107,20 @@ Use a custom resource (CRD or Aggregated API) if most of the following apply: Kubernetes provides two ways to add custom resources to your cluster: -- [Custom Resource Definitions](/docs/concepts/api-extension/custom-resources/) (CRDs) are easier to use: they do not require any programming in some cases. +- CRDs are simple and can be created without any programming. - [API Aggregation](/docs/concepts/api-extension/apiserver-aggregation/) requires programming, but allows more control over API behaviors like how data is stored and conversion between API versions. Kubernetes provides these two options to meet the needs of different users, so that neither ease of use nor flexibility are compromised. Aggregated APIs are subordinate APIServers that sit behind the primary API server, which acts as a proxy. This arrangement is called [API Aggregation](/docs/concepts/api-extension/apiserver-aggregation/) (AA). To users, it simply appears that the Kubernetes API is extended. -Custom Resource Definitions (CRDS) allow users to create new types of resources without adding another APIserver. You do not need to understand API Aggregation to use CRDs. +CRDs allow users to create new types of resources without adding another APIserver. You do not need to understand API Aggregation to use CRDs. -Regardless of whether they are installed via CRDs or AA, the new resources are called Custom Resources to distinguish them from built-in Kubernetes resources (like pods). +Regardless of how they are installed, the new resources are referred to as Custom Resources to distinguish them from built-in Kubernetes resources (like pods). ## CustomResourceDefinitions -The [CustomResourceDefinition](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/) (CRD) API resource allows you to define custom resources. Defining a CRD object creates a new custom resource with a name and schema that you specify. The Kubernetes API serves and handles the storage of your custom resource. +The [CustomResourceDefinition](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/) API resource allows you to define custom resources. Defining a CRD object creates a new custom resource with a name and schema that you specify. The Kubernetes API serves and handles the storage of your custom resource. This frees you from writing your own API server to handle the custom resource, but the generic nature of the implementation means you have less flexibility than with @@ -132,7 +136,7 @@ and setup a controller to handle events. ## API server aggregation -Usually, each resource in the Kubernetes API requires code that handles REST requests and manages persistent storage of objects. The main Kubernetes API server handles built-in resources like *pods* and *services*, and can also handle custom resources in a generic way through [CustomResourceDefinitions](#customresourcedefinitions). +Usually, each resource in the Kubernetes API requires code that handles REST requests and manages persistent storage of objects. The main Kubernetes API server handles built-in resources like *pods* and *services*, and can also handle custom resources in a generic way through [CRDs](#customresourcedefinitions). The [aggregation layer](/docs/concepts/api-extension/apiserver-aggregation/) allows you to provide specialized implementations for your custom resources by writing and deploying your own standalone API server. @@ -152,7 +156,7 @@ Typically, CRDs are a good fit if: CRDs are easier to create than Aggregated APIs. -| Custom Resource Definitions | Aggregated API | +| CRDs | Aggregated API | | --------------------------- | -------------- | | Do not require programming. Users can choose any language for a CRD controller. | Requires programming in Go and building binary and image. Users can choose any language for a CRD controller. | | No additional service to run; CRs are handled by API Server. | An additional service to create and that could fail. | diff --git a/content/en/docs/concepts/policy/pod-security-policy.md b/content/en/docs/concepts/policy/pod-security-policy.md index fc9c8426ec..5205363187 100644 --- a/content/en/docs/concepts/policy/pod-security-policy.md +++ b/content/en/docs/concepts/policy/pod-security-policy.md @@ -421,7 +421,8 @@ minimum value of the first range as the default. Validates against all ranges. to be used by hostPath volumes. An empty list means there is no restriction on host paths used. This is defined as a list of objects with a single `pathPrefix` field, which allows hostPath volumes to mount a path that begins with an -allowed prefix. For example: +allowed prefix, and a `readOnly` field indicating it must be mounted read-only. +For example: ```yaml allowedHostPaths: @@ -429,11 +430,18 @@ allowedHostPaths: # disallows "/fool", "/etc/foo" etc. # "/foo/../" is never valid. - pathPrefix: "/foo" + readOnly: true # only allow read-only mounts ``` -_Note: There are many ways a container with unrestricted access to the host +{{< warning >}}**Warning:** There are many ways a container with unrestricted access to the host filesystem can escalate privileges, including reading data from other -containers, and abusing the credentials of system services, such as Kubelet._ +containers, and abusing the credentials of system services, such as Kubelet. + +Writeable hostPath directory volumes allow containers to write +to the filesystem in ways that let them traverse the host filesystem outside the `pathPrefix`. +`readOnly: true`, available in Kubernetes 1.11+, must be used on **all** `allowedHostPaths` +to effectively limit access to the specified `pathPrefix`. +{{< /warning >}} **ReadOnlyRootFilesystem** - Requires that containers must run with a read-only root filesystem (i.e. no writable layer). diff --git a/content/en/docs/concepts/storage/persistent-volumes.md b/content/en/docs/concepts/storage/persistent-volumes.md index dd1cb3406f..7c17119f7f 100644 --- a/content/en/docs/concepts/storage/persistent-volumes.md +++ b/content/en/docs/concepts/storage/persistent-volumes.md @@ -78,14 +78,13 @@ Pods use claims as volumes. The cluster inspects the claim to find the bound vol 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). ### Storage Object in Use Protection -{{< feature-state for_k8s_version="v1.10" state="beta" >}} The purpose of the Storage Object in Use Protection feature is to ensure that Persistent Volume Claims (PVCs) in active use by a pod and Persistent Volume (PVs) that are bound to PVCs are not removed from the system as this may result in data loss. {{< note >}} **Note:** PVC is in active use by a pod when the pod status is `Pending` and the pod is assigned to a node or the pod status is `Running`. {{< /note >}} -When the [Storage Object in Use Protection beta feature](/docs/tasks/administer-cluster/storage-object-in-use-protection/) is enabled, if a user deletes a PVC in active use by a pod, the PVC is not removed immediately. PVC removal is postponed until the PVC is no longer actively used by any pods, and also if admin deletes a PV that is bound to a PVC, the PV is not removed immediately. PV removal is postponed until the PV is not bound to a PVC any more. +When the [Storage Object in Use Protection feature](/docs/tasks/administer-cluster/storage-object-in-use-protection/) is enabled, if a user deletes a PVC in active use by a pod, the PVC is not removed immediately. PVC removal is postponed until the PVC is no longer actively used by any pods, and also if admin deletes a PV that is bound to a PVC, the PV is not removed immediately. PV removal is postponed until the PV is not bound to a PVC any more. You can see that a PVC is protected when the PVC's status is `Terminating` and the `Finalizers` list includes `kubernetes.io/pvc-protection`: @@ -176,20 +175,21 @@ However, the particular path specified in the custom recycler pod template in th ### Expanding Persistent Volumes Claims -Kubernetes 1.8 added Alpha support for expanding persistent volumes. In v1.9, the following volume types support expanding Persistent volume claims: +{{< feature-state for_k8s_version="v1.8" state="alpha" >}} +{{< feature-state for_k8s_version="v1.11" state="beta" >}} +Support for expanding PersistentVolumeClaims (PVCs) is now enabled by default. You can expand +the following types of volumes: * gcePersistentDisk * awsElasticBlockStore * Cinder * glusterfs * rbd +* Azure File +* Azure Disk +* Portworx -Administrator can allow expanding persistent volume claims by setting `ExpandPersistentVolumes` feature gate to true. Administrator -should also enable [`PersistentVolumeClaimResize` admission plugin](/docs/admin/admission-controllers/#persistentvolumeclaimresize) -to perform additional validations of volumes that can be resized. - -Once `PersistentVolumeClaimResize` admission plug-in has been turned on, resizing will only be allowed for storage classes -whose `allowVolumeExpansion` field is set to true. +You can only expand a PVC if its storage class's `allowVolumeExpansion` field is set to true. ``` yaml kind: StorageClass @@ -205,17 +205,33 @@ parameters: allowVolumeExpansion: true ``` -Once both feature gate and the aforementioned admission plug-in are turned on, a user can request larger volume for their `PersistentVolumeClaim` -by simply editing the claim and requesting a larger size. This in turn will trigger expansion of the volume that is backing the underlying `PersistentVolume`. +To request a larger volume for a PVC, edit the PVC object and specify a larger +size. This triggers expansion of the volume that backs the underlying `PersistentVolume`. A +new `PersistentVolume` is never created to satisfy the claim. Instead, an existing volume is resized. -Under no circumstances will a new `PersistentVolume` be created to satisfy the claim. Kubernetes will instead attempt to resize the existing volume. +#### Resizing a volume containing a file system -For expanding volumes containing a file system, file system resizing is only performed when a new Pod is started using the `PersistentVolumeClaim` in -ReadWrite mode. In other words, if a volume being expanded is used in a pod or deployment, you will need to delete and recreate the pod for file system -resizing to take place. Also, file system resizing is only supported for following file system types: +You can only resize volumes containing a file system if the file system is XFS, Ext3, or Ext4. -* XFS -* Ext3, Ext4 +When a volume contains a file system, the file system is only resized when a new Pod is started using +the `PersistentVolumeClaim` in ReadWrite mode. Therefore, if a pod or deployment is using a volume and +you want to expand it, you need to delete or recreate the pod after the volume has been exxpanded by the cloud provider in the controller-manager. You can check the status of resize operation by running the `kubectl describe pvc` command: + +``` +kubectl describe pvc +``` + +If the `PersistentVolumeClaim` has the status `FileSystemResizePending`, it is safe to recreate the pod using the PersistentVolumeClaim. + +#### Resizing an in-use PersistentVolumeClaim + +{{< feature-state for_k8s_version="v1.11" state="alpha" >}} + +Expanding in-use PVCs is an alpha feature. To use it, enable the `ExpandInUsePersistentVolumes` feature gate. +In this case, you don't need to delete and recreate a Pod or deployment that is using an existing PVC. +Any in-use PVC automatically becomes available to its Pod as soon as its file system has been expanded. +This feature has no effect on PVCs that are not in use by a Pod or deployment. You must create a Pod which +uses the PVC before the expansion can complete. {{< note >}} **Note:** Expanding EBS volumes is a time consuming operation. Also, there is a per-volume quota of one modification every 6 hours. @@ -230,7 +246,7 @@ resizing to take place. Also, file system resizing is only supported for followi * AWSElasticBlockStore * AzureFile * AzureDisk -* FC (Fibre Channel)** +* FC (Fibre Channel) * FlexVolume * Flocker * NFS @@ -246,8 +262,6 @@ resizing to take place. Also, file system resizing is only supported for followi * ScaleIO Volumes * StorageOS -Raw Block Support exists for these plugins only. - ## Persistent Volumes Each PV contains a spec and status, which is the specification and status of the volume. @@ -281,11 +295,14 @@ Currently, storage size is the only resource that can be set or requested. Futu ### Volume Mode -Prior to v1.9, the default behavior for all volume plugins was to create a filesystem on the persistent volume. With v1.9, the user can specify a `volumeMode` which will now support raw block devices in addition to file systems. Valid values for `volumeMode` are "Filesystem" or "Block". If left unspecified, `volumeMode` defaults to "Filesystem" internally. This is an optional API parameter. +{{< feature-state for_k8s_version="v1.9" state="alpha" >}} -{{< note >}} -**Note:** This feature is alpha in v1.9 and may change in the future. -{{< /note >}} +To enable this feature, enable the `BlockVolume` feature gate on the apiserver, controller-manager and the kubelet. + +Prior to Kubernetes 1.9, all volume plugins created a filesystem on the persistent volume. +Now, you can set the value of `volumeMode` to `raw` to use a raw block device, or `filesystem` +to use a filesystem. `filesystem` is the default if the value is omitted. This is an optional API +parameter. ### Access Modes @@ -508,7 +525,26 @@ spec: ## Raw Block Volume Support -Static provisioning support for Raw Block Volumes is included as an alpha feature for v1.9. With this change are some new API fields that need to be used to facilitate this functionality. Kubernetes v1.10 supports only Fibre Channel and Local Volume plugins for this feature. +{{< feature-state for_k8s_version="v1.9" state="alpha" >}} + +To enable support for raw block volumes, enable the `BlockVolume` feature gate on the +apiserver, controller-manager and the kubelet. + +The following volume plugins support raw block volumes, including dynamic provisioning where +applicable. + +* AWSElasticBlockStore +* AzureDisk +* FC (Fibre Channel) +* GCEPersistentDisk +* iSCSI +* Local volume +* RBD (Ceph Block Device) + +{{< note >}} +**Note**: Only FC and iSCSI volumes supported raw block volumes in Kubernetes 1.9. +Support for the additional plugins was added in 1.10. +{{< /note >}} ### Persistent Volumes using a Raw Block Volume ```yaml diff --git a/content/en/docs/concepts/storage/storage-limits.md b/content/en/docs/concepts/storage/storage-limits.md new file mode 100644 index 0000000000..b1c3a563b1 --- /dev/null +++ b/content/en/docs/concepts/storage/storage-limits.md @@ -0,0 +1,75 @@ +--- +reviewers: +- jsafrane +- saad-ali +- thockin +- msau42 +title: Node-specific Volume Limits +content_template: templates/concept +--- + +{{% capture overview %}} + +This page describes the maximum number of volumes that can be attached +to a node for various cloud providers. + +Cloud providers like Google, Amazon, and Microsoft typically have a limit on +how many volumes can be attached to a node. It is important for Kubernetes to +respect those limits. Otherwise, Pods scheduled on a node could get stuck +waiting for volumes to attach. + +{{% /capture %}} + +{{% capture body %}} + +## Kubernetes default limits + +The Kubernetes scheduler has default limits on the number of volumes +that can be attached to a node: + + + + + + +
Cloud serviceMaximum volumes per node
Amazon Elastic Block Store (EBS)39
Google Persistent Disk16
Microsoft Azure Disk Storage16
+ +## Custom limits + +You can change these limits by setting the value of the +`KUBE_MAX_PD_VOLS` environment variable, and then starting the scheduler. + +Use caution if you set a limit that is higher than the default limit. Consult +the cloud provider's documentation to make sure that nodes can actually support +the limit you set. + +The limit applies to the entire cluster, so it affects all nodes. + +## Dynamic volume limits + +{{< feature-state state="alpha" for_k8s_version="v1.11" >}} + +Kubernetes 1.11 introduces dynamic volume limits based on node type. This +is an alpha feature that supports these services: + +- Amazon EBS +- Google Persistent Disk + +To enable dynamic volume limits, set the `AttachVolumeLimit` +[feature gate](/docs/reference/command-line-tools-reference/feature-gates/) +to True. + +When the dynamic volume limits feature is enabled, Kubernetes automatically +determines the node type and supports the appropriate number of attachable +volumes for the node. For example: + +* On +
Google Compute Engine, +up to 128 volumes could be attached to a node, depending on the node type. + +* For Amazon EBS disks on M5/C5 instance types, Kubernetes would permit only 25 +volumes to be attached to a node. For other instance types on +Amazon Elastic Compute Cloud (EC2), +Kubernetes would permit 39 volumes to be attached. + +{{% /capture %}} diff --git a/content/en/docs/concepts/storage/volumes.md b/content/en/docs/concepts/storage/volumes.md index 6c6499fcc2..00fedabfd1 100644 --- a/content/en/docs/concepts/storage/volumes.md +++ b/content/en/docs/concepts/storage/volumes.md @@ -646,8 +646,15 @@ Currently, the following types of volume sources can be projected: - [`secret`](#secret) - [`downwardAPI`](#downwardapi) - [`configMap`](#configmap) +- `serviceAccountToken` -All sources are required to be in the same namespace as the Pod. For more details, see the [all-in-one volume design document](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/design-proposals/node/all-in-one-volume.md). +All sources are required to be in the same namespace as the Pod. For more details, +see the [all-in-one volume design document](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/design-proposals/node/all-in-one-volume.md). + +The projection of service account tokens is a feature introduced in Kubernetes +1.11. To enable this feature, you need to explicitly set the `TokenRequestProjection` +[feature gate](/docs/reference/command-line-tools-reference/feature-gates/) to +True. #### Example Pod with a secret, a downward API, and a configmap. @@ -730,6 +737,45 @@ parameters are nearly the same with two exceptions: volume source. However, as illustrated above, you can explicitly set the `mode` for each individual projection. +When the `TokenRequestProjection` feature is enabled, you can inject the token +for the current [service account](/docs/reference/access-authn-authz/authentication/#service-account-tokens) +into a Pod at a specified path. Below is an example: + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: sa-token-test +spec: + containers: + - name: container-test + image: busybox + volumeMounts: + - name: token-vol + mountPath: "/sevice-account" + readOnly: true + volumes: + - name: token-vol + projected: + sources: + - serviceAccountToken: + audience: api + expirationSeconds: 3600 + path: token +``` + +The example Pod has a projected volume containing the injected service account +token. This token can be used by Pod containers to access the Kubernetes API +server, for example. The `audience` field contains the intended audience of the +token. A recipient of the token must identify itself with an identifier specified +in the audience of the token, and otherwise should reject the token. This field +is optional and it defaults to the identifier of the API server. + +The `expirationSeconds` is the expected duration of validity of the service account +token. It defaults to 1 hour and must be at least 10 minutes (600 seconds). +The `path` field specifies a relative path to the mount point of the projected +volume. + {{< note >}} **Note:** A Container using a projected volume source as a [subPath](#using-subpath) volume mount will not receive updates for those volume sources. @@ -1018,6 +1064,43 @@ spec: claimName: my-lamp-site-data ``` +### Using subPath with expanded environment variables + +{{< feature-state for_k8s_version="v1.11" state="alpha" >}} + + +`subPath` directory names can also be constructed from Downward API environment variables. +Before you use this feature, you must enable the `VolumeSubpathEnvExpansion`feature gate. + +In this example, a Pod uses `subPath` to create a directory `pod1` within the hostPath volume `/var/log/pods`, using the pod name from the Downward API. The host directory `/var/log/pods/pod1` is mounted at `/logs` in the container. + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: pod1 +spec: + containers: + - name: container1 + env: + - name: POD_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.name + image: busybox + command: [ "sh", "-c", "while [ true ]; do echo 'Hello'; sleep 10; done | tee -a /logs/hello.txt" ] + volumeMounts: + - name: workdir1 + mountPath: /logs + subPath: $(POD_NAME) + restartPolicy: Never + volumes: + - name: workdir1 + hostPath: + path: /var/log/pods +``` + ## Resources The storage media (Disk, SSD, etc.) of an `emptyDir` volume is determined by the @@ -1116,6 +1199,26 @@ persistent volume: secret is required. If the secret object contains more than one secret, all secrets are passed. +#### CSI raw block volume support + +{{< feature-state for_k8s_version="v1.11" state="alpha" >}} + +Starting with version 1.11, CSI introduced support for raw block volumes, which +relies on the raw block volume feature that was introduced in a previous version of +Kubernetes. This feature will make it possible for vendors with external CSI drivers to +implement raw block volumes support in Kubernetes workloads. + +CSI block volume support is feature-gated and turned off by default. To run CSI with +block volume support enabled, a cluster administrator must enable the feature for each +Kubernetes component using the following feature gate flags: + +``` +--feature-gates=BlockVolume=true,CSIBlockVolume=true +``` + +Learn how to +[setup your PV/PVC with raw block volume support](/docs/concepts/storage/persistent-volumes/#raw-block-volume-support). + ### FlexVolume `FlexVolume` is an out-of-tree plugin interface that has existed in Kubernetes diff --git a/content/en/docs/concepts/workloads/controllers/daemonset.md b/content/en/docs/concepts/workloads/controllers/daemonset.md index 4ef6e7f325..76e44aedd0 100644 --- a/content/en/docs/concepts/workloads/controllers/daemonset.md +++ b/content/en/docs/concepts/workloads/controllers/daemonset.md @@ -103,7 +103,9 @@ If you do not specify either, then the DaemonSet controller will create Pods on ## How Daemon Pods are Scheduled -Normally, the machine that a Pod runs on is selected by the Kubernetes scheduler. However, Pods +### Scheduled by DaemonSet controller (default) + +Normally, the machine that a Pod runs on is selected by the Kubernetes scheduler. However, Pods created by the DaemonSet controller have the machine already selected (`.spec.nodeName` is specified when the Pod is created, so it is ignored by the scheduler). Therefore: @@ -112,29 +114,72 @@ when the Pod is created, so it is ignored by the scheduler). Therefore: - The DaemonSet controller can make Pods even when the scheduler has not been started, which can help cluster bootstrap. -Daemon Pods do respect [taints and tolerations](/docs/concepts/configuration/taint-and-toleration), -but they are created with `NoExecute` tolerations for the following taints with no `tolerationSeconds`: - - `node.kubernetes.io/not-ready` - - `node.alpha.kubernetes.io/unreachable` +### Scheduled by default scheduler -This ensures that when the `TaintBasedEvictions` alpha feature is enabled, -they will not be evicted when there are node problems such as a network partition. (When the -`TaintBasedEvictions` feature is not enabled, they are also not evicted in these scenarios, but -due to hard-coded behavior of the NodeController rather than due to tolerations). +{{< feature-state state="alpha" for-kubernetes-version="1.11" >}} - They also tolerate following `NoSchedule` taints: +A DaemonSet ensures that all eligible nodes run a copy of a Pod. Normally, the +node that a Pod runs on is selected by the Kubernetes scheduler. However, +DaemonSet pods are created and scheduled by the DaemonSet controller instead. +That introduces the following issues: - - `node.kubernetes.io/memory-pressure` - - `node.kubernetes.io/disk-pressure` + * Inconsistent Pod behavior: Normal Pods waiting to be scheduled are created + and in `Pending` state, but DaemonSet pods are not created in `Pending` + state. This is confusing to the user. + * [Pod preemption](/docs/concepts/configuration/pod-priority-preemption/) + is handled by default scheduler. When preemption is enabled, the DaemonSet controller + will make scheduling decisions without considering pod priority and preemption. + +`ScheduleDaemonSetPods` allows you to schedule DaemonSets using the default +scheduler instead of the DaemonSet controller, by adding the `NodeAffinity` term +to the DaemonSet pods, instead of the `.spec.nodeName` term. The default +scheduler is then used to bind the pod to the target host. If node affinity of +the DaemonSet pod already exists, it is replaced. The DaemonSet controller only +performs these operations when creating or modifying DaemonSet pods, and no +changes are made to the `spec.template` of the DaemonSet. + +```yaml +nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchFields: + - key: metadata.name + operator: In + values: + - target-host-name +``` + +In addition, `node.kubernetes.io/unschedulable:NoSchedule` toleration is added +automatically to DaemonSet Pods. The DaemonSet controller ignores +`unschedulable` Nodes when scheduling DaemonSet Pods. You must enable +`TaintModesByCondition` to ensure that the default scheduler behaves the same +way and schedules DaemonSet pods on `unschedulable` nodes. + +When this feature and `TaintNodesByCondition` are enabled together, if DaemonSet +uses the host network, you must also add the +`node.kubernetes.io/network-unavailable:NoSchedule toleration`. + + +### Taints and Tolerations + +Although Daemon Pods respect +[taints and tolerations](/docs/concepts/configuration/taint-and-toleration), +the following tolerations are added to DamonSet Pods automatically according to +the related features. + +| Toleration Key | Effect | Alpha Features | Version | Description | +| ---------------------------------------- | ---------- | ------------------------------------------------------------ | ------- | ------------------------------------------------------------ | +| `node.kubernetes.io/not-ready` | NoExecute | `TaintBasedEvictions` | 1.8+ | when `TaintBasedEvictions` is enabled,they will not be evicted when there are node problems such as a network partition. | +| `node.kubernetes.io/unreachable` | NoExecute | `TaintBasedEvictions` | 1.8+ | when `TaintBasedEvictions` is enabled,they will not be evicted when there are node problems such as a network partition. | +| `node.kubernetes.io/disk-pressure` | NoSchedule | `TaintNodesByCondition` | 1.8+ | | +| `node.kubernetes.io/memory-pressure` | NoSchedule | `TaintNodesByCondition` | 1.8+ | | +| `node.kubernetes.io/unschedulable` | NoSchedule | `ScheduleDaemonSetPods`, `TaintNodesByCondition` | 1.11+ | When ` ScheduleDaemonSetPods` is enabled, ` TaintNodesByCondition` is necessary to make sure DaemonSet pods tolerate unschedulable attributes by default scheduler. | +| `node.kubernetes.io/network-unavailable` | NoSchedule | `ScheduleDaemonSetPods`, `TaintNodesByCondition`, hostnework | 1.11+ | When ` ScheduleDaemonSetPods` is enabled, ` TaintNodesByCondition` is necessary to make sure DaemonSet pods, who uses host network, tolerate network-unavailable attributes by default scheduler. | +| `node.kubernetes.io/out-of-disk` | NoSchedule | `ExperimentalCriticalPodAnnotation` (critical pod only), `TaintNodesByCondition` | 1.8+ | | -When the support to critical pods is enabled and the pods in a DaemonSet are -labeled as critical, the Daemon pods are created with an additional -`NoSchedule` toleration for the `node.kubernetes.io/out-of-disk` taint. -Note that all above `NoSchedule` taints above are created only in version 1.8 or later if the alpha feature `TaintNodesByCondition` is enabled. -Also note that the `node-role.kubernetes.io/master` `NoSchedule` toleration specified in the above example is needed on 1.6 or later to schedule on *master* nodes as this is not a default toleration. ## Communicating with Daemon Pods diff --git a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md index e3d29f30d3..b94d7a595d 100644 --- a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md @@ -56,65 +56,22 @@ array has six possible fields: * The `message` field is a human-readable message indicating details about the transition. -* The `reason` field is a unique, one-word, CamelCase reason for the - transition. +A Pod has a PodStatus, which has an array of +[PodConditions](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podcondition-v1-core). Each element +of the PodCondition array has a `type` field and a `status` field. The `type` +field is a string with the following possible values: -* The `type` field is a string enum with the following possible values: +* `PodScheduled`: the Pod has been scheduled to a node; +* `Ready`: the Pod is able to serve requests and should be added to the load + balancing pools of all matching Services; +* `Initialized`: all [init containers](/docs/concepts/workloads/pods/init-containers) + have started successfully; +* `Unschedulable`: the scheduler cannot schedule the Pod right now, for example + due to lacking of resources or other constraints; +* `ContainersReady`: all containers in the Pod are ready. - Condition | Description - :---------|:----------- - `Initialized` | The init containers in the Pod have started successfully - `PodScheduled` | The Pod has been scheduled - `Ready` | The Pod is able to service requests and should be added to the load balancing pools of any matching services - `ContainersReady` | All Containers in the Pod are currently ready - `Unschedulable` | The scheduler can't currently schedule the Pod, perhaps because not enough resources are available - -* The `status` field is a string with three possible values, `True`, `False`, - and `Unknown`, and indicates whether the corresponding condition indicated - by the `type` field has been reached. For example, if the `type` field is - `Initialized` and the corresponding `status` field is `True`, then the Pod - has indeed been initialized; if, however, the `status` field is `False` then - the Pod has *not* been initialized. - -### Pod conditions example - -Let's say that you have a Pod called `my-application` running in a Kubernetes -cluster. This `kubectl` query would fetch the PodCondition information for -the Pod: - -```shell -kubectl get pod my-application -o json | jq .status.conditions -``` - -If that query returned this example JSON: - -```json -[ - { - "lastProbeTime": null, - "lastTransitionTime": "2018-06-22T18:28:32Z", - "status": "True", - "type": "Initialized" - }, - { - "lastProbeTime": null, - "lastTransitionTime": "2018-06-22T18:29:04Z", - "status": "True", - "type": "Ready" - }, - { - "lastProbeTime": null, - "lastTransitionTime": "2018-06-22T18:28:32Z", - "status": "True", - "type": "PodScheduled" - } -] -``` - -We can see here that the `my-application` Pod has passed through three different -Pod conditions: `Initialized`, `Ready`, and `PodScheduled`. If the `status` of -`PodScheduled` were `False`, for example, then the Pod would have passed through -only two conditions. +The `status` field is a string, with possible values "`True`", "`False`", and +"`Unknown`". ## Container probes @@ -186,7 +143,8 @@ puts itself into an unready state regardless of whether the readiness probe exis The Pod remains in the unready state while it waits for the Containers in the Pod to stop. -For more information about how to set up a liveness or readiness probe, see [Configure Liveness and Readiness Probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/). +For more information about how to set up a liveness or readiness probe, see +[Configure Liveness and Readiness Probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/). ## Pod and Container status @@ -197,6 +155,58 @@ and Note that the information reported as Pod status depends on the current [ContainerState](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#containerstatus-v1-core). +## Pod readiness gate + +{{< feature-state for_k8s_version="v1.11" state="alpha" >}} + +In order to add extensibility to Pod readiness by enabling the injection of +extra feedbacks or signals into `PodStatus`, Kubernetes 1.11 introduced a +feature named [Pod ready++](https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md). +You can use the new field `ReadinessGate` in the `PodSpec` to specify additional +conditions to be evaluated for Pod readiness. If Kubernetes cannot find such a +condition in the `status.conditions` field of a Pod, the status of the condition +is default to "`False`". Below is an example: + +```yaml +Kind: Pod +... +spec: + readinessGates: + - conditionType: "www.example.com/feature-1" +status: + conditions: + - type: Ready # this is a builtin PodCondition + status: "True" + lastProbeTime: null + lastTransitionTime: 2018-01-01T00:00:00Z + - type: "www.example.com/feature-1" # an extra PodCondition + status: "False" + lastProbeTIme: null + lastTransitionTime: 2018-01-01T00:00:00Z + containerStatuses: + - containerID: docker://abcd... + ready: true +... +``` + +The new Pod conditions must comply with Kubernetes [label key format](/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set). +Since the `kubectl patch` command still doesn't support patching object status, +the new Pod conditions have to be injected through the `PATCH` action using +one of the [KubeClient libraries](/docs/reference/using-api/client-librarie/). + +With the introduction of new Pod conditions, a Pod is evaluated to be ready **only** +when both the following statements are true: + +* All containers in the Pod are ready. +* All conditions specified in `ReadinessGates` are "`True`". + +To facilitate this change to Pod readiness evaluation, a new Pod condition +`ContainersReady` is introduced to capture the old Pod `Ready` condition. + +As an alpha feature, the "Pod Ready++" feature has to be explicitly enabled by +setting the `PodReadinessGates` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/) +to True. + ## Restart policy A PodSpec has a `restartPolicy` field with possible values Always, OnFailure, @@ -210,7 +220,6 @@ minutes of successful execution. As discussed in the once bound to a node, a Pod will never be rebound to another node. - ## Pod lifetime In general, Pods do not disappear until someone destroys them. This might be a diff --git a/content/en/docs/reference/_index.md b/content/en/docs/reference/_index.md index 7fd3bc04ea..56713abd1b 100644 --- a/content/en/docs/reference/_index.md +++ b/content/en/docs/reference/_index.md @@ -11,11 +11,11 @@ weight: 70 * [Kubernetes API Overview](/docs/reference/using-api/api-overview/) - Overview of the API for Kubernetes. * Kubernetes API Versions - * [1.10](/docs/reference/generated/kubernetes-api/v1.10/) + * [1.11](/docs/reference/generated/kubernetes-api/v1.11/) + * [1.10](https://v1-10.docs/kubernetes.io/docs/reference/) * [1.9](https://v1-9.docs.kubernetes.io/docs/reference/) * [1.8](https://v1-8.docs.kubernetes.io/docs/reference/) * [1.7](https://v1-7.docs.kubernetes.io/docs/reference/) - * [1.6](https://v1-6.docs.kubernetes.io/docs/reference/) ## API Client Libraries diff --git a/content/en/docs/reference/access-authn-authz/admission-controllers.md b/content/en/docs/reference/access-authn-authz/admission-controllers.md index af953ed954..419576c293 100644 --- a/content/en/docs/reference/access-authn-authz/admission-controllers.md +++ b/content/en/docs/reference/access-authn-authz/admission-controllers.md @@ -26,7 +26,7 @@ is authenticated and authorized. The controllers consist of the administrator. In that list, there are two special controllers: MutatingAdmissionWebhook and ValidatingAdmissionWebhook. These execute the mutating and validating (respectively) [admission control -webhooks](/docs/admin/extensible-admission-controllers/#external-admission-webhooks) +webhooks](/docs/admin/extensible-admission-controllers.md#external-admission-webhooks) which are configured in the API. Admission controllers may be "validating", "mutating", or both. Mutating @@ -148,6 +148,8 @@ enabling this admission controller. This admission controller mitigates the problem where the API server gets flooded by event requests. The cluster admin can specify event rate limits by: + * Ensuring that `eventratelimit.admission.k8s.io/v1alpha1=true` is included in the + `--runtime-config` flag for the API server; * Enabling the `EventRateLimit` admission controller; * Referencing an `EventRateLimit` configuration file from the file provided to the API server's command line flag `--admission-control-config-file`: @@ -229,8 +231,7 @@ plugins: ... ``` -The ImagePolicyWebhook config file must reference a [kubeconfig](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) -formatted file which sets up the connection to the backend. It is required that the backend communicate over TLS. +The ImagePolicyWebhook config file must reference a [kubeconfig](/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/) formatted file which sets up the connection to the backend. It is required that the backend communicate over TLS. The kubeconfig file's cluster field must point to the remote service, and the user field must contain the returned authorizer. @@ -249,7 +250,7 @@ users: client-certificate: /path/to/cert.pem # cert for the webhook admission controller to use client-key: /path/to/key.pem # key matching the cert ``` -For additional HTTP configuration, refer to the [kubeconfig](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) documentation. +For additional HTTP configuration, refer to the [kubeconfig](/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/) documentation. #### Request Payloads @@ -324,18 +325,7 @@ In any case, the annotations are provided by the user and are not validated by K The admission controller determines the initializers of a resource based on the existing `InitializerConfiguration`s. It sets the pending initializers by modifying the metadata of the resource to be created. -For more information, please check [Dynamic Admission Control](/docs/admin/extensible-admission-controllers/). - -### InitialResources (experimental) {#initialresources} - -This admission controller observes pod creation requests. If a container omits compute resource requests and limits, -then the admission controller auto-populates a compute resource request based on historical usage of containers running the same image. -If there is not enough data to make a decision the Request is left unchanged. -When the admission controller sets a compute resource request, it does this by *annotating* -the pod spec rather than mutating the `container.resources` fields. -The annotations added contain the information on what compute resources were auto-populated. - -See the [InitialResources proposal](https://git.k8s.io/community/contributors/design-proposals/autoscaling/initial-resources.md) for more details. +For more information, please check [Dynamic Admission Control](/docs/admin/extensible-admission-controllers.md). ### LimitPodHardAntiAffinityTopology {#limitpodhardantiaffinitytopology} @@ -350,7 +340,7 @@ your Kubernetes deployment, you MUST use this admission controller to enforce th be used to apply default resource requests to Pods that don't specify any; currently, the default LimitRanger applies a 0.1 CPU requirement to all Pods in the `default` namespace. -See the [limitRange design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_limit_range.md) and the [example of Limit Range](/docs/tasks/administer-cluster/memory-default-namespace/) for more details. +See the [limitRange design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_limit_range.md) and the [example of Limit Range](/docs/tasks/configure-pod-container/limit-range/) for more details. ### MutatingAdmissionWebhook (beta in 1.9) {#mutatingadmissionwebhook} @@ -410,6 +400,7 @@ namespace. In order to enforce integrity of that process, we strongly recommend This admission controller limits the `Node` and `Pod` objects a kubelet can modify. In order to be limited by this admission controller, kubelets must use credentials in the `system:nodes` group, with a username in the form `system:node:`. Such kubelets will only be allowed to modify their own `Node` API object, and only modify `Pod` API objects that are bound to their node. +In Kubernetes 1.11+, kubelets are not allowed to update or remove taints from their `Node` API object. Future versions may add additional restrictions to ensure kubelets have the minimal set of permissions required to operate correctly. ### OwnerReferencesPermissionEnforcement {#ownerreferencespermissionenforcement} @@ -428,7 +419,9 @@ It helps ensure the Pods and the PersistentVolumes mounted are in the same region and/or zone. If the admission controller doesn't support automatic labelling your PersistentVolumes, you may need to add the labels manually to prevent pods from mounting volumes from -a different zone. PersistentVolumeLabel is DEPRECATED and labeling persistent volumes has been taken over by [cloud controller manager](/docs/tasks/administer-cluster/running-cloud-controller/). +a different zone. PersistentVolumeLabel is DEPRECATED and labeling persistent volumes has been taken over by +[cloud controller manager](/docs/tasks/administer-cluster/running-cloud-controller/). +Starting from 1.11, this admission controller is disabled by default. ### PodNodeSelector {#podnodeselector} @@ -472,7 +465,6 @@ metadata: #### Internal Behavior This admission controller has the following behavior: - 1. If the `Namespace` has an annotation with a key `scheduler.alpha.kubernetes.io/node-selector`, use its value as the node selector. 1. If the namespace lacks such an annotation, use the `clusterDefaultNodeSelector` defined in the `PodNodeSelector` @@ -568,15 +560,15 @@ See the [resourceQuota design doc](https://git.k8s.io/community/contributors/des ### SecurityContextDeny {#securitycontextdeny} -This admission controller will deny any pod that attempts to set certain escalating [SecurityContext](/docs/tasks/configure-pod-container/security-context/) fields. This should be enabled if a cluster doesn't utilize [pod security policies](/docs/concepts/policy/pod-security-policy/) to restrict the set of values a security context can take. +This admission controller will deny any pod that attempts to set certain escalating [SecurityContext](/docs/user-guide/security-context) fields. This should be enabled if a cluster doesn't utilize [pod security policies](/docs/user-guide/pod-security-policy) to restrict the set of values a security context can take. ### ServiceAccount {#serviceaccount} -This admission controller implements automation for [serviceAccounts](/docs/tasks/configure-pod-container/configure-service-account/). +This admission controller implements automation for [serviceAccounts](/docs/user-guide/service-accounts). We strongly recommend using this admission controller if you intend to make use of Kubernetes `ServiceAccount` objects. -### StorageObjectInUseProtection (beta) {#storageobjectinuseprotection} -{{< feature-state for_k8s_version="v1.10" state="beta" >}} +### Storage Object in Use Protection + The `StorageObjectInUseProtection` plugin adds the `kubernetes.io/pvc-protection` or `kubernetes.io/pv-protection` finalizers to newly created Persistent Volume Claims (PVCs) or Persistent Volumes (PV). In case a user deletes a PVC or PV the PVC or PV is not removed until the finalizer is removed from the PVC or PV by PVC or PV Protection Controller. Refer to the [Storage Object in Use Protection](/docs/concepts/storage/persistent-volumes/#storage-object-in-use-protection) for more detailed information. ### ValidatingAdmissionWebhook (alpha in 1.8; beta in 1.9) {#validatingadmissionwebhook} diff --git a/content/en/docs/reference/access-authn-authz/authentication.md b/content/en/docs/reference/access-authn-authz/authentication.md index abf4835638..8dfdc80757 100644 --- a/content/en/docs/reference/access-authn-authz/authentication.md +++ b/content/en/docs/reference/access-authn-authz/authentication.md @@ -675,7 +675,7 @@ rules: ## client-go credential plugins -{{< feature-state for_k8s_version="v1.10" state="alpha" >}} +{% assign for_k8s_version="v1.11" %}{% include feature-state-beta.md %} `k8s.io/client-go` and tools using it such as `kubectl` and `kubelet` are able to execute an external command to receive user credentials. @@ -686,8 +686,6 @@ protocol specific logic, then returns opaque credentials to use. Almost all cred use cases require a server side component with support for the [webhook token authenticator](#webhook-token-authentication) to interpret the credential format produced by the client plugin. -As of 1.10 only bearer tokens are supported. Support for client certs may be added in a future release. - ### Example use case In a hypothetical use case, an organization would run an external service that exchanges LDAP credentials @@ -718,11 +716,13 @@ users: # Command to execute. Required. command: "example-client-go-exec-plugin" - # API version to use when encoding and decoding the ExecCredentials - # resource. Required. + # API version to use when decoding the ExecCredentials resource. Required. # - # The API version returned by the plugin MUST match the version encoded. - apiVersion: "client.authentication.k8s.io/v1alpha1" + # The API version returned by the plugin MUST match the version listed here. + # + # To integrate with tools that support multiple versions (such as client.authentication.k8s.io/v1alpha1), + # set an environment variable or pass an argument to the tool that indicates which version the exec plugin expects. + apiVersion: "client.authentication.k8s.io/v1beta1" # Environment variables to set when executing the plugin. Optional. env: @@ -756,57 +756,23 @@ the binary `/home/jane/bin/example-client-go-exec-plugin` is executed. exec: # Path relative to the directory of the kubeconfig command: "./bin/example-client-go-exec-plugin" - apiVersion: "client.authentication.k8s.io/v1alpha1" + apiVersion: "client.authentication.k8s.io/v1beta1" ``` ### Input and output formats -When executing the command, `k8s.io/client-go` sets the `KUBERNETES_EXEC_INFO` environment -variable to a JSON serialized [`ExecCredential`]( -https://github.com/kubernetes/client-go/blob/master/pkg/apis/clientauthentication/v1alpha1/types.go) -resource. +The executed command prints an `ExecCredential` object to `stdout`. `k8s.io/client-go` +authenticates against the Kubernetes API using the returned credentials in the `status`. -``` -KUBERNETES_EXEC_INFO='{ - "apiVersion": "client.authentication.k8s.io/v1alpha1", - "kind": "ExecCredential", - "spec": { - "interactive": true - } -}' -``` +When run from an interactive session, `stdin` is exposed directly to the plugin. Plugins should use a +[TTY check](https://godoc.org/golang.org/x/crypto/ssh/terminal#IsTerminal) to determine if it's +appropriate to prompt a user interactively. -When plugins are executed from an interactive session, `stdin` and `stderr` are directly -exposed to the plugin so it can prompt the user for input for interactive logins. - -When responding to a 401 HTTP status code (indicating invalid credentials), this object will -include metadata about the response. +To use bearer token credentials, the plugin returns a token in the status of the `ExecCredential`. ```json { - "apiVersion": "client.authentication.k8s.io/v1alpha1", - "kind": "ExecCredential", - "spec": { - "response": { - "code": 401, - "header": { - "WWW-Authenticate": [ - "Bearer realm=ldap.example.com" - ] - }, - }, - "interactive": true - } -} -``` - -The executed command is expected to print an `ExecCredential` to `stdout`. `k8s.io/client-go` -will then use the returned bearer token in the `status` when authenticating against the -Kubernetes API. - -```json -{ - "apiVersion": "client.authentication.k8s.io/v1alpha1", + "apiVersion": "client.authentication.k8s.io/v1beta1", "kind": "ExecCredential", "status": { "token": "my-bearer-token" @@ -814,14 +780,37 @@ Kubernetes API. } ``` -Optionally, this output can include the expiry of the token formatted as a RFC3339 timestamp. -If an expiry is omitted, the bearer token is cached until the server responds with a 401 HTTP -status code. Note that this caching is only for the duration of process and therefore the plugin -is triggered each time the tool using the plugin is invoked. +Alternatively, a PEM-encoded client certificate and key can be returned to use TLS client auth. +If the plugin returns a different certificate and key on a subsequent call, `k8s.io/client-go` +will close existing connections with the server to force a new TLS handshake. + +If specified, `clientKeyData` and `clientCertificateData` must both must be present. + +`clientCertificateData` may contain additional intermediate certificates to send to the server. ```json { - "apiVersion": "client.authentication.k8s.io/v1alpha1", + "apiVersion": "client.authentication.k8s.io/v1beta1", + "kind": "ExecCredential", + "status": { + "clientCertificateData": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----", + "clientKeyData": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----" + } +} +``` + +Optionally, the response can include the expiry of the credential formatted as a +RFC3339 timestamp. Presence or absence of an expiry has the following impact: + +- If an expiry is included, the bearer token and TLS credentials are cached until + the expiry time is reached, or if the server responds with a 401 HTTP status code, + or when the process exits. +- If an expiry is omitted, the bearer token and TLS credentials are cached until + the server responds with a 401 HTTP status code or until the process exits. + +```json +{ + "apiVersion": "client.authentication.k8s.io/v1beta1", "kind": "ExecCredential", "status": { "token": "my-bearer-token", diff --git a/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md b/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md index 8c7aeb6e42..fd7e36d823 100644 --- a/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md +++ b/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md @@ -1,13 +1,13 @@ --- title: cloud-controller-manager notitle: true -weight: 90 --- - ## cloud-controller-manager + ### Synopsis + The Cloud controller manager is a daemon that embeds the cloud specific control loops shipped with Kubernetes. @@ -17,263 +17,309 @@ cloud-controller-manager [flags] ### Options - +
+ - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + + + + - - - - + + - + + - + + - + + - + + - + + - + + - + + - + + - + +
--address ip     Default: 0.0.0.0
DEPRECATED: the IP address on which to listen for the --port port. See --bind-address instead.DEPRECATED: the IP address on which to listen for the --port port (set to 0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces). See --bind-address instead.
--allocate-node-cidrs
Should CIDRs for Pods be allocated and set on the cloud provider.Should CIDRs for Pods be allocated and set on the cloud provider.
--azure-container-registry-config string
Path to the file containing Azure container registry configuration information.Path to the file containing Azure container registry configuration information.
--bind-address ip     Default: 0.0.0.0
The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).
--cert-dir string     Default: "/var/run/kubernetes"
The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.
--cidr-allocator-type string     Default: "RangeAllocator"
Type of CIDR allocator to useType of CIDR allocator to use
--cloud-config string
The path to the cloud provider configuration file. Empty string for no configuration file.The path to the cloud provider configuration file. Empty string for no configuration file.
--cloud-provider string
The provider of cloud services. Cannot be empty.The provider for cloud services. Empty string for no provider.
--cluster-cidr string
CIDR Range for Pods in cluster. Requires --allocate-node-cidrs to be trueCIDR Range for Pods in cluster. Requires --allocate-node-cidrs to be true
--cluster-name string     Default: "kubernetes"
The instance prefix for the cluster.The instance prefix for the cluster.
--concurrent-service-syncs int32     Default: 1
The number of services that are allowed to sync concurrently. Larger number = more responsive service management, but more CPU (and network) loadThe number of services that are allowed to sync concurrently. Larger number = more responsive service management, but more CPU (and network) load
--configure-cloud-routes     Default: true
Should CIDRs allocated by allocate-node-cidrs be configured on the cloud provider.Should CIDRs allocated by allocate-node-cidrs be configured on the cloud provider.
--contention-profiling
Enable lock contention profiling, if profiling is enabled.Enable lock contention profiling, if profiling is enabled
--controller-start-interval duration
Interval between starting controller managers.Interval between starting controller managers.
--feature-gates mapStringBool
A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIResponseCompression=true|false (ALPHA - default=false)
Accelerators=true|false (ALPHA - default=false)
AdvancedAuditing=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
BlockVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CRIContainerLogRotation=true|false (ALPHA - default=false)
CSIPersistentVolume=true|false (BETA - default=true)
CustomPodDNS=true|false (BETA - default=true)
CustomResourceSubresources=true|false (ALPHA - default=false)
CustomResourceValidation=true|false (BETA - default=true)
DebugContainers=true|false (ALPHA - default=false)
DevicePlugins=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
ExpandPersistentVolumes=true|false (ALPHA - default=false)
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
GCERegionalPersistentDisk=true|false (BETA - default=true)
HugePages=true|false (BETA - default=true)
HyperVContainer=true|false (ALPHA - default=false)
Initializers=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
MountContainers=true|false (ALPHA - default=false)
MountPropagation=true|false (BETA - default=true)
PersistentLocalVolumes=true|false (BETA - default=true)
PodPriority=true|false (ALPHA - default=false)
PodShareProcessNamespace=true|false (ALPHA - default=false)
ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
RunAsGroup=true|false (ALPHA - default=false)
ScheduleDaemonSetPods=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)
StorageObjectInUseProtection=true|false (BETA - default=true)
StreamingProxyRedirects=true|false (BETA - default=true)
SupportIPVSProxyMode=true|false (BETA - default=true)
SupportPodPidsLimit=true|false (ALPHA - default=false)
TaintBasedEvictions=true|false (ALPHA - default=false)
TaintNodesByCondition=true|false (ALPHA - default=false)
TokenRequest=true|false (ALPHA - default=false)
VolumeScheduling=true|false (BETA - default=true)
VolumeSubpath=true|false (default=true)
A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIResponseCompression=true|false (ALPHA - default=false)
AdvancedAuditing=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
AttachVolumeLimit=true|false (ALPHA - default=false)
BalanceAttachedNodeVolumes=true|false (ALPHA - default=false)
BlockVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CRIContainerLogRotation=true|false (BETA - default=true)
CSIBlockVolume=true|false (ALPHA - default=false)
CSIPersistentVolume=true|false (BETA - default=true)
CustomPodDNS=true|false (BETA - default=true)
CustomResourceSubresources=true|false (BETA - default=true)
CustomResourceValidation=true|false (BETA - default=true)
DebugContainers=true|false (ALPHA - default=false)
DevicePlugins=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (BETA - default=true)
DynamicProvisioningScheduling=true|false (ALPHA - default=false)
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
ExpandInUsePersistentVolumes=true|false (ALPHA - default=false)
ExpandPersistentVolumes=true|false (BETA - default=true)
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
GCERegionalPersistentDisk=true|false (BETA - default=true)
HugePages=true|false (BETA - default=true)
HyperVContainer=true|false (ALPHA - default=false)
Initializers=true|false (ALPHA - default=false)
KubeletPluginsWatcher=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
MountContainers=true|false (ALPHA - default=false)
MountPropagation=true|false (BETA - default=true)
PersistentLocalVolumes=true|false (BETA - default=true)
PodPriority=true|false (BETA - default=true)
PodReadinessGates=true|false (BETA - default=false)
PodShareProcessNamespace=true|false (ALPHA - default=false)
QOSReserved=true|false (ALPHA - default=false)
ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
ResourceQuotaScopeSelectors=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
RunAsGroup=true|false (ALPHA - default=false)
ScheduleDaemonSetPods=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)
StorageObjectInUseProtection=true|false (default=true)
StreamingProxyRedirects=true|false (BETA - default=true)
SupportIPVSProxyMode=true|false (default=true)
SupportPodPidsLimit=true|false (ALPHA - default=false)
Sysctls=true|false (BETA - default=true)
TaintBasedEvictions=true|false (ALPHA - default=false)
TaintNodesByCondition=true|false (ALPHA - default=false)
TokenRequest=true|false (ALPHA - default=false)
TokenRequestProjection=true|false (ALPHA - default=false)
VolumeScheduling=true|false (BETA - default=true)
VolumeSubpath=true|false (default=true)
VolumeSubpathEnvExpansion=true|false (ALPHA - default=false)
-h, --help
help for cloud-controller-managerhelp for cloud-controller-manager
--http2-max-streams-per-connection int
The limit that the server gives to clients for the maximum number of streams in an HTTP/2 connection. Zero means to use golang's default.The limit that the server gives to clients for the maximum number of streams in an HTTP/2 connection. Zero means to use golang's default.
--kube-api-burst int32     Default: 30
Burst to use while talking with kubernetes apiserver.Burst to use while talking with kubernetes apiserver.
--kube-api-content-type string     Default: "application/vnd.kubernetes.protobuf"
Content type of requests sent to apiserver.Content type of requests sent to apiserver.
--kube-api-qps float32     Default: 20
QPS to use while talking with kubernetes apiserver.QPS to use while talking with kubernetes apiserver.
--kubeconfig string
Path to kubeconfig file with authorization and master location information.Path to kubeconfig file with authorization and master location information.
--leader-elect     Default: true
Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.
--leader-elect-lease-duration duration     Default: 15s
The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled.The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled.
--leader-elect-renew-deadline duration     Default: 10s
The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.
--leader-elect-resource-lock endpoints     Default: "endpoints"
The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`.The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`.
--leader-elect-retry-period duration     Default: 2s
The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled.The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled.
--log-flush-frequency duration     Default: 5s
Maximum number of seconds between log flushesMaximum number of seconds between log flushes
--master string
The address of the Kubernetes API server (overrides any value in kubeconfig).The address of the Kubernetes API server (overrides any value in kubeconfig).
--min-resync-period duration     Default: 12h0m0s
The resync period in reflectors will be random between MinResyncPeriod and 2*MinResyncPeriod.The resync period in reflectors will be random between MinResyncPeriod and 2*MinResyncPeriod.
--node-monitor-period duration     Default: 5s
The period for syncing NodeStatus in NodeController.The period for syncing NodeStatus in NodeController.
--node-status-update-frequency duration     Default: 5m0s
Specifies how often the controller updates nodes' status.Specifies how often the controller updates nodes' status.
--port int     Default: 10253
DEPRECATED: the port on which to serve HTTP insecurely without authentication and authorization. If 0, don't serve HTTPS at all. See --secure-port instead.DEPRECATED: the port on which to serve HTTP insecurely without authentication and authorization. If 0, don't serve HTTPS at all. See --secure-port instead.
--profiling
--profiling     Default: true
Enable profiling via web interface host:port/debug/pprof/Enable profiling via web interface host:port/debug/pprof/
--route-reconciliation-period duration     Default: 10s
The period for reconciling routes created for Nodes by cloud provider.The period for reconciling routes created for Nodes by cloud provider.
--secure-port int
The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all.The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all.
--tls-cert-file string
File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir.File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir.
--tls-cipher-suites stringSlice
Comma-separated list of cipher suites for the server. Values are from tls package constants (https://golang.org/pkg/crypto/tls/#pkg-constants). If omitted, the default Go cipher suites will be usedComma-separated list of cipher suites for the server. If omitted, the default Go cipher suites will be use. Possible values: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_RC4_128_SHA
--tls-min-version string
Minimum TLS version supported. Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants.Minimum TLS version supported. Possible values: VersionTLS10, VersionTLS11, VersionTLS12
--tls-private-key-file string
File containing the default x509 private key matching --tls-cert-file.File containing the default x509 private key matching --tls-cert-file.
--tls-sni-cert-key namedCertKey     Default: []
A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".
--use-service-account-credentials
If true, use individual service account credentials for each controller.If true, use individual service account credentials for each controller.
--version version[=true]
Print version information and quitPrint version information and quit
+ + + diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index cb6492d8e6..24257cc09b 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -35,10 +35,13 @@ different Kubernetes components. | `APIListChunking` | `true` | Beta | 1.9 | | | `APIResponseCompression` | `false` | Alpha | 1.7 | | | `AppArmor` | `true` | Beta | 1.4 | | +| `AttachVolumeLimit` | `false` | Alpha | 1.11 | | | `BlockVolume` | `false` | Alpha | 1.9 | | | `CPUManager` | `false` | Alpha | 1.8 | 1.9 | | `CPUManager` | `true` | Beta | 1.10 | | -| `CRIContainerLogRotation` | `false` | Alpha | 1.10 | | +| `CRIContainerLogRotation` | `false` | Alpha | 1.10 | 1.10 | +| `CRIContainerLogRotation` | `true` | Beta| 1.11 | | +| `CSIBlockVolume` | `false` | Alpha | 1.11 | 1.11 | | `CSIPersistentVolume` | `false` | Alpha | 1.9 | 1.9 | | `CSIPersistentVolume` | `true` | Beta | 1.10 | | | `CustomPodDNS` | `false` | Alpha | 1.9 | 1.9 | @@ -49,11 +52,13 @@ different Kubernetes components. | `DebugContainers` | `false` | Alpha | 1.10 | | | `DevicePlugins` | `false` | Alpha | 1.8 | 1.9 | | `DevicePlugins` | `true` | Beta | 1.10 | | -| `DynamicKubeletConfig` | `false` | Alpha | 1.4 | | +| `DynamicKubeletConfig` | `false` | Alpha | 1.4 | 1.10 | +| `DynamicKubeletConfig` | `true` | Beta | 1.11 | | | `DynamicVolumeProvisioning` | `true` | Alpha | 1.3 | 1.7 | | `DynamicVolumeProvisioning` | `true` | GA | 1.8 | | | `EnableEquivalenceClassCache` | `false` | Alpha | 1.8 | | -| `ExpandPersistentVolumes` | `false` | Alpha | 1.8 | 1.8 | +| `ExpandPersistentVolumes` | `false` | Alpha | 1.8 | 1.10 | +| `ExpandPersistentVolumes` | `true` | Beta | 1.11 | | | `ExperimentalCriticalPodAnnotation` | `false` | Alpha | 1.5 | | | `ExperimentalHostUserNamespaceDefaulting` | `false` | Beta | 1.5 | | | `GCERegionalPersistentDisk` | `true` | Beta | 1.10 | | @@ -62,6 +67,7 @@ different Kubernetes components. | `HyperVContainer` | `false` | Alpha | 1.10 | | | `Initializers` | `false` | Alpha | 1.7 | | | `KubeletConfigFile` | `false` | Alpha | 1.8 | 1.9 | +| `KubeletPluginsWatcher` | `false` | Alpha | 1.11 | | | `LocalStorageCapacityIsolation` | `false` | Alpha | 1.7 | 1.9 | | `LocalStorageCapacityIsolation` | `true` | Beta| 1.10 | | | `MountContainers` | `false` | Alpha | 1.9 | | @@ -70,6 +76,7 @@ different Kubernetes components. | `PersistentLocalVolumes` | `false` | Alpha | 1.7 | 1.9 | | `PersistentLocalVolumes` | `true` | Beta | 1.10 | | | `PodPriority` | `false` | Alpha | 1.8 | | +| `PodReadinessGates` | `false` | Alpha | 1.11 | | | `PodShareProcessNamespace` | `false` | Alpha | 1.10 | | | `PVCProtection` | `false` | Alpha | 1.9 | 1.9 | | `ReadOnlyAPIDataVolumes` | `true` | Deprecated | 1.10 | | @@ -77,19 +84,24 @@ different Kubernetes components. | `RotateKubeletClientCertificate` | `true` | Beta | 1.7 | | | `RotateKubeletServerCertificate` | `false` | Alpha | 1.7 | | | `RunAsGroup` | `false` | Alpha | 1.10 | | -| `ScheduleDaemonSetPods` | `false` | Alpha | 1.10 | | | `ServiceNodeExclusion` | `false` | Alpha | 1.8 | | -| `StorageObjectInUseProtection` | `true` | Beta | 1.10 | | +| `StorageObjectInUseProtection` | `true` | Beta | 1.10 | 1.10 | +| `StorageObjectInUseProtection` | `true` | GA | 1.11 | | | `StreamingProxyRedirects` | `true` | Beta | 1.5 | | | `SupportIPVSProxyMode` | `false` | Alpha | 1.8 | 1.8 | | `SupportIPVSProxyMode` | `false` | Beta | 1.9 | 1.9 | -| `SupportIPVSProxyMode` | `true` | Beta | 1.10 | | +| `SupportIPVSProxyMode` | `true` | Beta | 1.10 | 1.10 | +| `SupportIPVSProxyMode` | `true` | GA | 1.11 | | | `SupportPodPidsLimit` | `false` | Alpha | 1.10 | | +| `Sysctls` | `true` | Beta | 1.11 | | | `TaintBasedEvictions` | `false` | Alpha | 1.6 | | | `TaintNodesByCondition` | `false` | Alpha | 1.8 | | | `TokenRequest` | `false` | Alpha | 1.10 | | +| `TokenRequestProjection` | `false` | Alpha | 1.11 | | | `VolumeScheduling` | `false` | Alpha | 1.9 | 1.9 | | `VolumeScheduling` | `true` | Beta | 1.10 | | +| `VolumeSubpathEnvExpansion` | `false` | Alpha | 1.11 | | +| `ScheduleDaemonSetPods` | `false` | Alpha | 1.11 | | ## Using a Feature @@ -141,11 +153,15 @@ Each feature gate is designed for enabling/disabling a specific feature: - `APIResponseCompression`: Compress the API responses for `LIST` or `GET` requests. - `AppArmor`: Enable AppArmor based mandatory access control on Linux nodes when using Docker. See [AppArmor Tutorial](/docs/tutorials/clusters/apparmor/) for more details. +- `AttachVolumeLimit`: Enable volume plugins to report limits on number of volumes + that can be attached to a node. + See [dynamic volume limits](/docs/concepts/storage/storage-limits/#dynamic-volume-limits) for more details. - `BlockVolume`: Enable the definition and consumption of raw block devices in Pods. See [Raw Block Volume Support](/docs/concepts/storage/persistent-volumes/#raw-block-volume-support) for more details. - `CPUManager`: Enable container level CPU affinity support, see [CPU Management Policies](/docs/tasks/administer-cluster/cpu-management-policies/). - `CRIContainerLogRotation`: Enable container log rotation for cri container runtime. +- `CSIBlockVolume`: Enable external CSI volume drivers to support block storage. See the [`csi` raw block volume support](/docs/concepts/storage/volumes/#csi-raw-block-volume-support) documentation for more details. - `CSIPersistentVolume`: Enable discovering and mounting volumes provisioned through a [CSI (Container Storage Interface)](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/container-storage-interface.md) compatible volume plugin. @@ -179,6 +195,8 @@ Each feature gate is designed for enabling/disabling a specific feature: When the `Initializers` admission controller is enabled, this feature is automatically enabled. - `KubeletConfigFile`: Enable loading kubelet configuration from a file specified using a config file. See [setting kubelet parameters via a config file](/docs/tasks/administer-cluster/kubelet-config-file/) for more details. +- `KubletPluginsWatcher`: Enable probe-based plugin watcher utility to enable kubelet + to discover plugins such as [CSI volume drivers](/docs/concepts/storage/volumes/#csi). - `LocalStorageCapacityIsolation`: Enable the consumption of [local ephemeral storage](/docs/concepts/configuration/manage-compute-resources-container/) and also the `sizeLimit` property of an [emptyDir volume](/docs/concepts/storage/volumes/#emptydir). - `MountContainers`: Enable using utility containers on host as the volume mounter. - `MountPropagation`: Enable sharing volume mounted by one container to other containers or pods. @@ -186,6 +204,9 @@ Each feature gate is designed for enabling/disabling a specific feature: - `PersistentLocalVolumes`: Enable the usage of `local` volume type in Pods. Pod affinity has to be specified if requesting a `local` volume. - `PodPriority`: Enable the descheduling and preemption of Pods based on their [priorities](/docs/concepts/configuration/pod-priority-preemption/). +- `PodReadinessGates`: Enable the setting of `PodReadinessGate` field for extending + Pod readiness evaluation. + For more details, please see [Pod readiness gate](/docs/concepts/workloads/pods/pod-lifecycle/#pod-readiness-gate). - `PVCProtection`: Enable the prevention of a PersistentVolumeClaim (PVC) from being deleted when it is still used by any Pod. More details can be found [here](/docs/tasks/administer-cluster/pvc-protection/). @@ -211,12 +232,15 @@ Each feature gate is designed for enabling/disabling a specific feature: - `SupportIPVSProxyMode`: Enable providing in-cluster service load balancing using IPVS. See [service proxies](/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies) for more details. - `SupportPodPidsLimit`: Enable the support to limiting PIDs in Pods. +- `Sysctls`: Enable support for namespaced kernel parameters (sysctls) that can be set for each pod. + See [sysctls](/docs/tasks/administer-cluster/sysctl-cluster/) for more details. - `TaintBasedEvictions`: Enable evicting pods from nodes based on taints on nodes and tolerations on Pods. See [taints and tolerations](/docs/concepts/configuration/taint-and-toleration/) for more details. - `TaintNodesByCondition`: Enable automatic tainting nodes based on [node conditions](/docs/concepts/architecture/nodes/#condition). - `TokenRequest`: Enable the `TokenRequest` endpoint on service account resources. +- `TokenRequestProjection`: Enable the injection of service account tokens into + a Pod through the [`projected` volume](/docs/concepts/storage/volumes/#projected). - `VolumeScheduling`: Enable volume topology aware scheduling and make the PersistentVolumeClaim (PVC) binding aware of scheduling decisions. It also enables the usage of [`local`](/docs/concepts/storage/volumes/#local) volume type when used together with the `PersistentLocalVolumes` feature gate. - diff --git a/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md b/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md index 0817c4e4b9..2a9f0ce66b 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md @@ -1,12 +1,14 @@ --- title: kube-apiserver notitle: true -weight: 40 --- ## kube-apiserver + + ### Synopsis + The Kubernetes API server validates and configures data for the api objects which include pods, services, replicationcontrollers, and others. The API Server services REST operations and provides the frontend to the @@ -18,745 +20,925 @@ kube-apiserver [flags] ### Options - +
+ - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + + + + - - - - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + + + + - - - - + + - + + - + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + + + + + + + + - + + - + + - + + - + + - + + - - - - - - - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + + + + - - - - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + +
--admission-control-config-file string
File with admission control configuration.File with admission control configuration.
--advertise-address ip
The IP address on which to advertise the apiserver to members of the cluster. This address must be reachable by the rest of the cluster. If blank, the --bind-address will be used. If --bind-address is unspecified, the host's default interface will be used.The IP address on which to advertise the apiserver to members of the cluster. This address must be reachable by the rest of the cluster. If blank, the --bind-address will be used. If --bind-address is unspecified, the host's default interface will be used.
--allow-privileged
If true, allow privileged containers. [default=false]If true, allow privileged containers. [default=false]
--anonymous-auth     Default: true
Enables anonymous requests to the secure port of the API server. Requests that are not rejected by another authentication method are treated as anonymous requests. Anonymous requests have a username of system:anonymous, and a group name of system:unauthenticated.Enables anonymous requests to the secure port of the API server. Requests that are not rejected by another authentication method are treated as anonymous requests. Anonymous requests have a username of system:anonymous, and a group name of system:unauthenticated.
--apiserver-count int     Default: 1
The number of apiservers running in the cluster, must be a positive number.The number of apiservers running in the cluster, must be a positive number. (In use when --endpoint-reconciler-type=master-count is enabled.)
--audit-log-batch-buffer-size int     Default: 10000
The size of the buffer to store events before batching and writing. Only used in batch mode.The size of the buffer to store events before batching and writing. Only used in batch mode.
--audit-log-batch-max-size int     Default: 400
The maximum size of a batch. Only used in batch mode.The maximum size of a batch. Only used in batch mode.
--audit-log-batch-max-wait duration     Default: 30s
The amount of time to wait before force writing the batch that hadn't reached the max size. Only used in batch mode.The amount of time to wait before force writing the batch that hadn't reached the max size. Only used in batch mode.
--audit-log-batch-throttle-burst int     Default: 15
Maximum number of requests sent at the same moment if ThrottleQPS was not utilized before. Only used in batch mode.Maximum number of requests sent at the same moment if ThrottleQPS was not utilized before. Only used in batch mode.
--audit-log-batch-throttle-enable
Whether batching throttling is enabled. Only used in batch mode.Whether batching throttling is enabled. Only used in batch mode.
--audit-log-batch-throttle-qps float32     Default: 10
Maximum average number of batches per second. Only used in batch mode.Maximum average number of batches per second. Only used in batch mode.
--audit-log-format string     Default: "json"
Format of saved audits. "legacy" indicates 1-line text format for each event. "json" indicates structured json format. Requires the 'AdvancedAuditing' feature gate. Known formats are legacy,json.Format of saved audits. "legacy" indicates 1-line text format for each event. "json" indicates structured json format. Requires the 'AdvancedAuditing' feature gate. Known formats are legacy,json.
--audit-log-maxage int
The maximum number of days to retain old audit log files based on the timestamp encoded in their filename.The maximum number of days to retain old audit log files based on the timestamp encoded in their filename.
--audit-log-maxbackup int
The maximum number of old audit log files to retain.The maximum number of old audit log files to retain.
--audit-log-maxsize int
The maximum size in megabytes of the audit log file before it gets rotated.The maximum size in megabytes of the audit log file before it gets rotated.
--audit-log-mode string     Default: "blocking"
Strategy for sending audit events. Blocking indicates sending events should block server responses. Batch causes the backend to buffer and write events asynchronously. Known modes are batch,blocking.Strategy for sending audit events. Blocking indicates sending events should block server responses. Batch causes the backend to buffer and write events asynchronously. Known modes are batch,blocking.
--audit-log-path string
If set, all requests coming to the apiserver will be logged to this file. '-' means standard out.If set, all requests coming to the apiserver will be logged to this file. '-' means standard out.
--audit-log-truncate-enabled
Whether event and batch truncating is enabled.
--audit-log-truncate-max-batch-size int     Default: 10485760
Maximum size of the batch sent to the underlying backend. Actual serialized size can be several hundreds of bytes greater. If a batch exceeds this limit, it is split into several batches of smaller size.
--audit-log-truncate-max-event-size int     Default: 102400
Maximum size of the audit event sent to the underlying backend. If the size of an event is greater than this number, first request and response are removed, andif this doesn't reduce the size enough, event is discarded.
--audit-log-version string     Default: "audit.k8s.io/v1beta1"
API group and version used for serializing audit events written to log.
--audit-policy-file string
Path to the file that defines the audit policy configuration. Requires the 'AdvancedAuditing' feature gate. With AdvancedAuditing, a profile is required to enable auditing.Path to the file that defines the audit policy configuration. Requires the 'AdvancedAuditing' feature gate. With AdvancedAuditing, a profile is required to enable auditing.
--audit-webhook-batch-buffer-size int     Default: 10000
The size of the buffer to store events before batching and writing. Only used in batch mode.The size of the buffer to store events before batching and writing. Only used in batch mode.
--audit-webhook-batch-max-size int     Default: 400
The maximum size of a batch. Only used in batch mode.The maximum size of a batch. Only used in batch mode.
--audit-webhook-batch-max-wait duration     Default: 30s
The amount of time to wait before force writing the batch that hadn't reached the max size. Only used in batch mode.The amount of time to wait before force writing the batch that hadn't reached the max size. Only used in batch mode.
--audit-webhook-batch-throttle-burst int     Default: 15
Maximum number of requests sent at the same moment if ThrottleQPS was not utilized before. Only used in batch mode.Maximum number of requests sent at the same moment if ThrottleQPS was not utilized before. Only used in batch mode.
--audit-webhook-batch-throttle-enable     Default: true
Whether batching throttling is enabled. Only used in batch mode.Whether batching throttling is enabled. Only used in batch mode.
--audit-webhook-batch-throttle-qps float32     Default: 10
Maximum average number of batches per second. Only used in batch mode.Maximum average number of batches per second. Only used in batch mode.
--audit-webhook-config-file string
Path to a kubeconfig formatted file that defines the audit webhook configuration. Requires the 'AdvancedAuditing' feature gate.Path to a kubeconfig formatted file that defines the audit webhook configuration. Requires the 'AdvancedAuditing' feature gate.
--audit-webhook-initial-backoff duration     Default: 10s
The amount of time to wait before retrying the first failed request.The amount of time to wait before retrying the first failed request.
--audit-webhook-mode string     Default: "batch"
Strategy for sending audit events. Blocking indicates sending events should block server responses. Batch causes the backend to buffer and write events asynchronously. Known modes are batch,blocking.Strategy for sending audit events. Blocking indicates sending events should block server responses. Batch causes the backend to buffer and write events asynchronously. Known modes are batch,blocking.
--audit-webhook-truncate-enabled
Whether event and batch truncating is enabled.
--audit-webhook-truncate-max-batch-size int     Default: 10485760
Maximum size of the batch sent to the underlying backend. Actual serialized size can be several hundreds of bytes greater. If a batch exceeds this limit, it is split into several batches of smaller size.
--audit-webhook-truncate-max-event-size int     Default: 102400
Maximum size of the audit event sent to the underlying backend. If the size of an event is greater than this number, first request and response are removed, andif this doesn't reduce the size enough, event is discarded.
--audit-webhook-version string     Default: "audit.k8s.io/v1beta1"
API group and version used for serializing audit events written to webhook.
--authentication-token-webhook-cache-ttl duration     Default: 2m0s
The duration to cache responses from the webhook token authenticator.The duration to cache responses from the webhook token authenticator.
--authentication-token-webhook-config-file string
File with webhook configuration for token authentication in kubeconfig format. The API server will query the remote service to determine authentication for bearer tokens.File with webhook configuration for token authentication in kubeconfig format. The API server will query the remote service to determine authentication for bearer tokens.
--authorization-mode stringSlice     Default: [AlwaysAllow]
--authorization-mode string     Default: "AlwaysAllow"
Ordered list of plug-ins to do authorization on secure port. Comma-delimited list of: AlwaysAllow,AlwaysDeny,ABAC,Webhook,RBAC,Node.Ordered list of plug-ins to do authorization on secure port. Comma-delimited list of: AlwaysAllow,AlwaysDeny,ABAC,Webhook,RBAC,Node.
--authorization-policy-file string
File with authorization policy in csv format, used with --authorization-mode=ABAC, on the secure port.File with authorization policy in csv format, used with --authorization-mode=ABAC, on the secure port.
--authorization-webhook-cache-authorized-ttl duration     Default: 5m0s
The duration to cache 'authorized' responses from the webhook authorizer.The duration to cache 'authorized' responses from the webhook authorizer.
--authorization-webhook-cache-unauthorized-ttl duration     Default: 30s
The duration to cache 'unauthorized' responses from the webhook authorizer.The duration to cache 'unauthorized' responses from the webhook authorizer.
--authorization-webhook-config-file string
File with webhook configuration in kubeconfig format, used with --authorization-mode=Webhook. The API server will query the remote service to determine access on the API server's secure port.File with webhook configuration in kubeconfig format, used with --authorization-mode=Webhook. The API server will query the remote service to determine access on the API server's secure port.
--azure-container-registry-config string
Path to the file containing Azure container registry configuration information.Path to the file containing Azure container registry configuration information.
--basic-auth-file string
If set, the file that will be used to admit requests to the secure port of the API server via http basic authentication.If set, the file that will be used to admit requests to the secure port of the API server via http basic authentication.
--bind-address ip     Default: 0.0.0.0
The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).
--cert-dir string     Default: "/var/run/kubernetes"
The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.
--client-ca-file string
If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.
--cloud-config string
The path to the cloud provider configuration file. Empty string for no configuration file.The path to the cloud provider configuration file. Empty string for no configuration file.
--cloud-provider string
The provider for cloud services. Empty string for no provider.The provider for cloud services. Empty string for no provider.
--contention-profiling
Enable lock contention profiling, if profiling is enabledEnable lock contention profiling, if profiling is enabled
--cors-allowed-origins stringSlice
List of allowed origins for CORS, comma separated. An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled.List of allowed origins for CORS, comma separated. An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled.
--default-watch-cache-size int     Default: 100
Default watch cache size. If zero, watch cache will be disabled for resources that do not have a default watch size set.Default watch cache size. If zero, watch cache will be disabled for resources that do not have a default watch size set.
--delete-collection-workers int     Default: 1
Number of workers spawned for DeleteCollection call. These are used to speed up namespace cleanup.Number of workers spawned for DeleteCollection call. These are used to speed up namespace cleanup.
--deserialization-cache-size int
Number of deserialized json objects to cache in memory.Number of deserialized json objects to cache in memory.
--disable-admission-plugins stringSlice
admission plugins that should be disabled although they are in the default enabled plugins list. Comma-delimited list of admission plugins: AlwaysAdmit, AlwaysDeny, AlwaysPullImages, DefaultStorageClass, DefaultTolerationSeconds, DenyEscalatingExec, DenyExecOnPrivileged, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, InitialResources, Initializers, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PersistentVolumeLabel, PodNodeSelector, PodPreset, PodSecurityPolicy, PodTolerationRestriction, Priority, ResourceQuota, SecurityContextDeny, ServiceAccount, StorageObjectInUseProtection, ValidatingAdmissionWebhook. The order of plugins in this flag does not matter.admission plugins that should be disabled although they are in the default enabled plugins list. Comma-delimited list of admission plugins: AlwaysAdmit, AlwaysDeny, AlwaysPullImages, DefaultStorageClass, DefaultTolerationSeconds, DenyEscalatingExec, DenyExecOnPrivileged, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, Initializers, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PersistentVolumeLabel, PodNodeSelector, PodPreset, PodSecurityPolicy, PodTolerationRestriction, Priority, ResourceQuota, SecurityContextDeny, ServiceAccount, StorageObjectInUseProtection, ValidatingAdmissionWebhook. The order of plugins in this flag does not matter.
--enable-admission-plugins stringSlice
admission plugins that should be enabled in addition to default enabled ones. Comma-delimited list of admission plugins: AlwaysAdmit, AlwaysDeny, AlwaysPullImages, DefaultStorageClass, DefaultTolerationSeconds, DenyEscalatingExec, DenyExecOnPrivileged, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, InitialResources, Initializers, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PersistentVolumeLabel, PodNodeSelector, PodPreset, PodSecurityPolicy, PodTolerationRestriction, Priority, ResourceQuota, SecurityContextDeny, ServiceAccount, StorageObjectInUseProtection, ValidatingAdmissionWebhook. The order of plugins in this flag does not matter.admission plugins that should be enabled in addition to default enabled ones. Comma-delimited list of admission plugins: AlwaysAdmit, AlwaysDeny, AlwaysPullImages, DefaultStorageClass, DefaultTolerationSeconds, DenyEscalatingExec, DenyExecOnPrivileged, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, Initializers, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PersistentVolumeLabel, PodNodeSelector, PodPreset, PodSecurityPolicy, PodTolerationRestriction, Priority, ResourceQuota, SecurityContextDeny, ServiceAccount, StorageObjectInUseProtection, ValidatingAdmissionWebhook. The order of plugins in this flag does not matter.
--enable-aggregator-routing
Turns on aggregator routing requests to endoints IP rather than cluster IP.Turns on aggregator routing requests to endoints IP rather than cluster IP.
--enable-bootstrap-token-auth
Enable to allow secrets of type 'bootstrap.kubernetes.io/token' in the 'kube-system' namespace to be used for TLS bootstrapping authentication.Enable to allow secrets of type 'bootstrap.kubernetes.io/token' in the 'kube-system' namespace to be used for TLS bootstrapping authentication.
--enable-garbage-collector     Default: true
Enables the generic garbage collector. MUST be synced with the corresponding flag of the kube-controller-manager.Enables the generic garbage collector. MUST be synced with the corresponding flag of the kube-controller-manager.
--enable-logs-handler     Default: true
If true, install a /logs handler for the apiserver logs.If true, install a /logs handler for the apiserver logs.
--enable-swagger-ui
Enables swagger ui on the apiserver at /swagger-uiEnables swagger ui on the apiserver at /swagger-ui
--endpoint-reconciler-type string     Default: "lease"
--endpoint-reconciler-type string     Default: "master-count"
Use an endpoint reconciler (master-count, lease, none)Use an endpoint reconciler (master-count, lease, none)
--etcd-cafile string
SSL Certificate Authority file used to secure etcd communication.SSL Certificate Authority file used to secure etcd communication.
--etcd-certfile string
SSL certification file used to secure etcd communication.SSL certification file used to secure etcd communication.
--etcd-compaction-interval duration     Default: 5m0s
The interval of compaction requests. If 0, the compaction request from apiserver is disabled.The interval of compaction requests. If 0, the compaction request from apiserver is disabled.
--etcd-count-metric-poll-period duration     Default: 1m0s
Frequency of polling etcd for number of resources per type. 0 disables the metric collection.Frequency of polling etcd for number of resources per type. 0 disables the metric collection.
--etcd-keyfile string
SSL key file used to secure etcd communication.SSL key file used to secure etcd communication.
--etcd-prefix string     Default: "/registry"
The prefix to prepend to all resource paths in etcd.The prefix to prepend to all resource paths in etcd.
--etcd-servers stringSlice
List of etcd servers to connect with (scheme://ip:port), comma separated.List of etcd servers to connect with (scheme://ip:port), comma separated.
--etcd-servers-overrides stringSlice
Per-resource etcd servers overrides, comma separated. The individual override format: group/resource#servers, where servers are http://ip:port, semicolon separated.Per-resource etcd servers overrides, comma separated. The individual override format: group/resource#servers, where servers are URLs, semicolon separated.
--event-ttl duration     Default: 1h0m0s
Amount of time to retain events.Amount of time to retain events.
--experimental-encryption-provider-config string
The file containing configuration for encryption providers to be used for storing secrets in etcdThe file containing configuration for encryption providers to be used for storing secrets in etcd
--external-hostname string
The hostname to use when generating externalized URLs for this master (e.g. Swagger API Docs).The hostname to use when generating externalized URLs for this master (e.g. Swagger API Docs).
--feature-gates mapStringBool
A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIResponseCompression=true|false (ALPHA - default=false)
Accelerators=true|false (ALPHA - default=false)
AdvancedAuditing=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
BlockVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CRIContainerLogRotation=true|false (ALPHA - default=false)
CSIPersistentVolume=true|false (BETA - default=true)
CustomPodDNS=true|false (BETA - default=true)
CustomResourceSubresources=true|false (ALPHA - default=false)
CustomResourceValidation=true|false (BETA - default=true)
DebugContainers=true|false (ALPHA - default=false)
DevicePlugins=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
ExpandPersistentVolumes=true|false (ALPHA - default=false)
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
GCERegionalPersistentDisk=true|false (BETA - default=true)
HugePages=true|false (BETA - default=true)
HyperVContainer=true|false (ALPHA - default=false)
Initializers=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
MountContainers=true|false (ALPHA - default=false)
MountPropagation=true|false (BETA - default=true)
PersistentLocalVolumes=true|false (BETA - default=true)
PodPriority=true|false (ALPHA - default=false)
PodShareProcessNamespace=true|false (ALPHA - default=false)
ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
RunAsGroup=true|false (ALPHA - default=false)
ScheduleDaemonSetPods=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)
StorageObjectInUseProtection=true|false (BETA - default=true)
StreamingProxyRedirects=true|false (BETA - default=true)
SupportIPVSProxyMode=true|false (BETA - default=true)
SupportPodPidsLimit=true|false (ALPHA - default=false)
TaintBasedEvictions=true|false (ALPHA - default=false)
TaintNodesByCondition=true|false (ALPHA - default=false)
TokenRequest=true|false (ALPHA - default=false)
VolumeScheduling=true|false (BETA - default=true)
VolumeSubpath=true|false (default=true)
A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIResponseCompression=true|false (ALPHA - default=false)
AdvancedAuditing=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
AttachVolumeLimit=true|false (ALPHA - default=false)
BalanceAttachedNodeVolumes=true|false (ALPHA - default=false)
BlockVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CRIContainerLogRotation=true|false (BETA - default=true)
CSIBlockVolume=true|false (ALPHA - default=false)
CSIPersistentVolume=true|false (BETA - default=true)
CustomPodDNS=true|false (BETA - default=true)
CustomResourceSubresources=true|false (BETA - default=true)
CustomResourceValidation=true|false (BETA - default=true)
DebugContainers=true|false (ALPHA - default=false)
DevicePlugins=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (BETA - default=true)
DynamicProvisioningScheduling=true|false (ALPHA - default=false)
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
ExpandInUsePersistentVolumes=true|false (ALPHA - default=false)
ExpandPersistentVolumes=true|false (BETA - default=true)
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
GCERegionalPersistentDisk=true|false (BETA - default=true)
HugePages=true|false (BETA - default=true)
HyperVContainer=true|false (ALPHA - default=false)
Initializers=true|false (ALPHA - default=false)
KubeletPluginsWatcher=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
MountContainers=true|false (ALPHA - default=false)
MountPropagation=true|false (BETA - default=true)
PersistentLocalVolumes=true|false (BETA - default=true)
PodPriority=true|false (BETA - default=true)
PodReadinessGates=true|false (BETA - default=false)
PodShareProcessNamespace=true|false (ALPHA - default=false)
QOSReserved=true|false (ALPHA - default=false)
ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
ResourceQuotaScopeSelectors=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
RunAsGroup=true|false (ALPHA - default=false)
ScheduleDaemonSetPods=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)
StorageObjectInUseProtection=true|false (default=true)
StreamingProxyRedirects=true|false (BETA - default=true)
SupportIPVSProxyMode=true|false (default=true)
SupportPodPidsLimit=true|false (ALPHA - default=false)
Sysctls=true|false (BETA - default=true)
TaintBasedEvictions=true|false (ALPHA - default=false)
TaintNodesByCondition=true|false (ALPHA - default=false)
TokenRequest=true|false (ALPHA - default=false)
TokenRequestProjection=true|false (ALPHA - default=false)
VolumeScheduling=true|false (BETA - default=true)
VolumeSubpath=true|false (default=true)
VolumeSubpathEnvExpansion=true|false (ALPHA - default=false)
-h, --help
help for kube-apiserverhelp for kube-apiserver
--http2-max-streams-per-connection int
The limit that the server gives to clients for the maximum number of streams in an HTTP/2 connection. Zero means to use golang's default.The limit that the server gives to clients for the maximum number of streams in an HTTP/2 connection. Zero means to use golang's default.
--kubelet-certificate-authority string
Path to a cert file for the certificate authority.Path to a cert file for the certificate authority.
--kubelet-client-certificate string
Path to a client cert file for TLS.Path to a client cert file for TLS.
--kubelet-client-key string
Path to a client key file for TLS.Path to a client key file for TLS.
--kubelet-https     Default: true
Use https for kubelet connections.Use https for kubelet connections.
--kubelet-preferred-address-types stringSlice     Default: [Hostname,InternalDNS,InternalIP,ExternalDNS,ExternalIP]
List of the preferred NodeAddressTypes to use for kubelet connections.List of the preferred NodeAddressTypes to use for kubelet connections.
--kubelet-read-only-port uint     Default: 10255
DEPRECATED: kubelet port.DEPRECATED: kubelet port.
--kubelet-timeout duration     Default: 5s
Timeout for kubelet operations.Timeout for kubelet operations.
--kubernetes-service-node-port int
If non-zero, the Kubernetes master service (which apiserver creates/maintains) will be of type NodePort, using this as the value of the port. If zero, the Kubernetes master service will be of type ClusterIP.If non-zero, the Kubernetes master service (which apiserver creates/maintains) will be of type NodePort, using this as the value of the port. If zero, the Kubernetes master service will be of type ClusterIP.
--log-flush-frequency duration     Default: 5s
Maximum number of seconds between log flushesMaximum number of seconds between log flushes
--master-service-namespace string     Default: "default"
DEPRECATED: the namespace from which the kubernetes master services should be injected into pods.DEPRECATED: the namespace from which the kubernetes master services should be injected into pods.
--max-connection-bytes-per-sec int
If non-zero, throttle each user connection to this number of bytes/sec. Currently only applies to long-running requests.If non-zero, throttle each user connection to this number of bytes/sec. Currently only applies to long-running requests.
--max-mutating-requests-inflight int     Default: 200
The maximum number of mutating requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit.The maximum number of mutating requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit.
--max-requests-inflight int     Default: 400
The maximum number of non-mutating requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit.The maximum number of non-mutating requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit.
--min-request-timeout int     Default: 1800
An optional field indicating the minimum number of seconds a handler must keep a request open before timing it out. Currently only honored by the watch request handler, which picks a randomized value above this number as the connection timeout, to spread out load.An optional field indicating the minimum number of seconds a handler must keep a request open before timing it out. Currently only honored by the watch request handler, which picks a randomized value above this number as the connection timeout, to spread out load.
--oidc-ca-file string
If set, the OpenID server's certificate will be verified by one of the authorities in the oidc-ca-file, otherwise the host's root CA set will be used.If set, the OpenID server's certificate will be verified by one of the authorities in the oidc-ca-file, otherwise the host's root CA set will be used.
--oidc-client-id string
The client ID for the OpenID Connect client, must be set if oidc-issuer-url is set.The client ID for the OpenID Connect client, must be set if oidc-issuer-url is set.
--oidc-groups-claim string
If provided, the name of a custom OpenID Connect claim for specifying user groups. The claim value is expected to be a string or array of strings. This flag is experimental, please see the authentication documentation for further details.If provided, the name of a custom OpenID Connect claim for specifying user groups. The claim value is expected to be a string or array of strings. This flag is experimental, please see the authentication documentation for further details.
--oidc-groups-prefix string
If provided, all groups will be prefixed with this value to prevent conflicts with other authentication strategies.If provided, all groups will be prefixed with this value to prevent conflicts with other authentication strategies.
--oidc-issuer-url string
The URL of the OpenID issuer, only HTTPS scheme will be accepted. If set, it will be used to verify the OIDC JSON Web Token (JWT).The URL of the OpenID issuer, only HTTPS scheme will be accepted. If set, it will be used to verify the OIDC JSON Web Token (JWT).
--oidc-required-claim mapStringString
A key=value pair that describes a required claim in the ID Token. If set, the claim is verified to be present in the ID Token with a matching value. Repeat this flag to specify multiple claims.
--oidc-signing-algs stringSlice     Default: [RS256]
Comma-separated list of allowed JOSE asymmetric signing algorithms. JWTs with a 'alg' header value not in this list will be rejected. Values are defined by RFC 7518 https://tools.ietf.org/html/rfc7518#section-3.1.Comma-separated list of allowed JOSE asymmetric signing algorithms. JWTs with a 'alg' header value not in this list will be rejected. Values are defined by RFC 7518 https://tools.ietf.org/html/rfc7518#section-3.1.
--oidc-username-claim string     Default: "sub"
The OpenID claim to use as the user name. Note that claims other than the default ('sub') is not guaranteed to be unique and immutable. This flag is experimental, please see the authentication documentation for further details.The OpenID claim to use as the user name. Note that claims other than the default ('sub') is not guaranteed to be unique and immutable. This flag is experimental, please see the authentication documentation for further details.
--oidc-username-prefix string
If provided, all usernames will be prefixed with this value. If not provided, username claims other than 'email' are prefixed by the issuer URL to avoid clashes. To skip any prefixing, provide the value '-'.If provided, all usernames will be prefixed with this value. If not provided, username claims other than 'email' are prefixed by the issuer URL to avoid clashes. To skip any prefixing, provide the value '-'.
--profiling     Default: true
Enable profiling via web interface host:port/debug/pprof/Enable profiling via web interface host:port/debug/pprof/
--proxy-client-cert-file string
Client certificate used to prove the identity of the aggregator or kube-apiserver when it must call out during a request. This includes proxying requests to a user api-server and calling out to webhook admission plugins. It is expected that this cert includes a signature from the CA in the --requestheader-client-ca-file flag. That CA is published in the 'extension-apiserver-authentication' configmap in the kube-system namespace. Components receiving calls from kube-aggregator should use that CA to perform their half of the mutual TLS verification.Client certificate used to prove the identity of the aggregator or kube-apiserver when it must call out during a request. This includes proxying requests to a user api-server and calling out to webhook admission plugins. It is expected that this cert includes a signature from the CA in the --requestheader-client-ca-file flag. That CA is published in the 'extension-apiserver-authentication' configmap in the kube-system namespace. Components receiving calls from kube-aggregator should use that CA to perform their half of the mutual TLS verification.
--proxy-client-key-file string
Private key for the client certificate used to prove the identity of the aggregator or kube-apiserver when it must call out during a request. This includes proxying requests to a user api-server and calling out to webhook admission plugins.
--repair-malformed-updates     Default: true
If true, server will do its best to fix the update request to pass the validation, e.g., setting empty UID in update request to its existing value. This flag can be turned off after we fix all the clients that send malformed updates.Private key for the client certificate used to prove the identity of the aggregator or kube-apiserver when it must call out during a request. This includes proxying requests to a user api-server and calling out to webhook admission plugins.
--request-timeout duration     Default: 1m0s
An optional field indicating the duration a handler must keep a request open before timing it out. This is the default request timeout for requests but may be overridden by flags such as --min-request-timeout for specific types of requests.An optional field indicating the duration a handler must keep a request open before timing it out. This is the default request timeout for requests but may be overridden by flags such as --min-request-timeout for specific types of requests.
--requestheader-allowed-names stringSlice
List of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers. If empty, any client certificate validated by the authorities in --requestheader-client-ca-file is allowed.List of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers. If empty, any client certificate validated by the authorities in --requestheader-client-ca-file is allowed.
--requestheader-client-ca-file string
Root certificate bundle to use to verify client certificates on incoming requests before trusting usernames in headers specified by --requestheader-username-headersRoot certificate bundle to use to verify client certificates on incoming requests before trusting usernames in headers specified by --requestheader-username-headers. WARNING: generally do not depend on authorization being already done for incoming requests.
--requestheader-extra-headers-prefix stringSlice
List of request header prefixes to inspect. X-Remote-Extra- is suggested.List of request header prefixes to inspect. X-Remote-Extra- is suggested.
--requestheader-group-headers stringSlice
List of request headers to inspect for groups. X-Remote-Group is suggested.List of request headers to inspect for groups. X-Remote-Group is suggested.
--requestheader-username-headers stringSlice
List of request headers to inspect for usernames. X-Remote-User is common.List of request headers to inspect for usernames. X-Remote-User is common.
--runtime-config mapStringString
A set of key=value pairs that describe runtime configuration that may be passed to apiserver. <group>/<version> (or <version> for the core group) key can be used to turn on/off specific api versions. <group>/<version>/<resource> (or <version>/<resource> for the core group) can be used to turn on/off specific resources. api/all and api/legacy are special keys to control all and legacy api versions respectively.A set of key=value pairs that describe runtime configuration that may be passed to apiserver. <group>/<version> (or <version> for the core group) key can be used to turn on/off specific api versions. api/all is special key to control all api versions, be careful setting it false, unless you know what you do. api/legacy is deprecated, we will remove it in the future, so stop using it.
--secure-port int     Default: 6443
The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all.The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all.
--service-account-api-audiences stringSlice
Identifiers of the API. The service account token authenticator will validate that tokens used against the API are bound to at least one of these audiences.Identifiers of the API. The service account token authenticator will validate that tokens used against the API are bound to at least one of these audiences.
--service-account-issuer string
Identifier of the service account token issuer. The issuer will assert this identifier in "iss" claim of issued tokens. This value is a string or URI.Identifier of the service account token issuer. The issuer will assert this identifier in "iss" claim of issued tokens. This value is a string or URI.
--service-account-key-file stringArray
File containing PEM-encoded x509 RSA or ECDSA private or public keys, used to verify ServiceAccount tokens. The specified file can contain multiple keys, and the flag can be specified multiple times with different files. If unspecified, --tls-private-key-file is used. Must be specified when --service-account-signing-key is providedFile containing PEM-encoded x509 RSA or ECDSA private or public keys, used to verify ServiceAccount tokens. The specified file can contain multiple keys, and the flag can be specified multiple times with different files. If unspecified, --tls-private-key-file is used. Must be specified when --service-account-signing-key is provided
--service-account-lookup     Default: true
If true, validate ServiceAccount tokens exist in etcd as part of authentication.If true, validate ServiceAccount tokens exist in etcd as part of authentication.
--service-account-signing-key-file string
Path to the file that contains the current private key of the service account token issuer. The issuer will sign issued ID tokens with this private key. (Ignored unless alpha TokenRequest is enabledPath to the file that contains the current private key of the service account token issuer. The issuer will sign issued ID tokens with this private key. (Requires the 'TokenRequest' feature gate.)
--service-cluster-ip-range ipNet     Default: 10.0.0.0/24
A CIDR notation IP range from which to assign service cluster IPs. This must not overlap with any IP ranges assigned to nodes for pods.A CIDR notation IP range from which to assign service cluster IPs. This must not overlap with any IP ranges assigned to nodes for pods.
--service-node-port-range portRange     Default: 30000-32767
A port range to reserve for services with NodePort visibility. Example: '30000-32767'. Inclusive at both ends of the range.A port range to reserve for services with NodePort visibility. Example: '30000-32767'. Inclusive at both ends of the range.
--storage-backend string
The storage backend for persistence. Options: 'etcd3' (default), 'etcd2'.The storage backend for persistence. Options: 'etcd3' (default), 'etcd2'.
--storage-media-type string     Default: "application/vnd.kubernetes.protobuf"
The media type to use to store objects in storage. Some resources or storage backends may only support a specific media type and will ignore this setting.The media type to use to store objects in storage. Some resources or storage backends may only support a specific media type and will ignore this setting.
--storage-versions string     Default: "admission.k8s.io/v1beta1,
admissionregistration.k8s.io/v1beta1,
apps/v1,
authentication.k8s.io/v1,
authorization.k8s.io/v1,
autoscaling/v1,
batch/v1,
certificates.k8s.io/v1beta1,
componentconfig/v1alpha1,
events.k8s.io/v1beta1,
extensions/v1beta1,
imagepolicy.k8s.io/v1alpha1,
networking.k8s.io/v1,
policy/v1beta1,
rbac.authorization.k8s.io/v1,
scheduling.k8s.io/v1beta1,
settings.k8s.io/v1alpha1,
storage.k8s.io/v1,
v1"
--storage-versions string     Default: "admission.k8s.io/v1beta1,
admissionregistration.k8s.io/v1beta1,
apps/v1,
authentication.k8s.io/v1,
authorization.k8s.io/v1,
autoscaling/v1,
batch/v1,
certificates.k8s.io/v1beta1,
componentconfig/v1alpha1,
events.k8s.io/v1beta1,
extensions/v1beta1,
imagepolicy.k8s.io/v1alpha1,
kubeadm.k8s.io/v1alpha1,
networking.k8s.io/v1,
policy/v1beta1,
rbac.authorization.k8s.io/v1,
scheduling.k8s.io/v1alpha1,
settings.k8s.io/v1alpha1,
storage.k8s.io/v1,
v1"
The per-group version to store resources in. Specified in the format "group1/version1,group2/version2,...". In the case where objects are moved from one group to the other, you may specify the format "group1=group2/v1beta1,group3/v1beta1,...". You only need to pass the groups you wish to change from the defaults. It defaults to a list of preferred versions of all registered groups, which is derived from the KUBE_API_VERSIONS environment variable.The per-group version to store resources in. Specified in the format "group1/version1,group2/version2,...". In the case where objects are moved from one group to the other, you may specify the format "group1=group2/v1beta1,group3/v1beta1,...". You only need to pass the groups you wish to change from the defaults. It defaults to a list of preferred versions of all known groups.
--target-ram-mb int
Memory limit for apiserver in MB (used to configure sizes of caches, etc.)Memory limit for apiserver in MB (used to configure sizes of caches, etc.)
--tls-cert-file string
File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir.File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir.
--tls-cipher-suites stringSlice
Comma-separated list of cipher suites for the server. Values are from tls package constants (https://golang.org/pkg/crypto/tls/#pkg-constants). If omitted, the default Go cipher suites will be usedComma-separated list of cipher suites for the server. If omitted, the default Go cipher suites will be use. Possible values: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_RC4_128_SHA
--tls-min-version string
Minimum TLS version supported. Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants.Minimum TLS version supported. Possible values: VersionTLS10, VersionTLS11, VersionTLS12
--tls-private-key-file string
File containing the default x509 private key matching --tls-cert-file.File containing the default x509 private key matching --tls-cert-file.
--tls-sni-cert-key namedCertKey     Default: []
A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".
--token-auth-file string
If set, the file that will be used to secure the secure port of the API server via token authentication.If set, the file that will be used to secure the secure port of the API server via token authentication.
--version version[=true]
Print version information and quitPrint version information and quit
--watch-cache     Default: true
Enable watch caching in the apiserverEnable watch caching in the apiserver
--watch-cache-sizes stringSlice
List of watch cache sizes for every resource (pods, nodes, etc.), comma separated. The individual override format: resource[.group]#size, where resource is lowercase plural (no version), group is optional, and size is a number. It takes effect when watch-cache is enabled. Some resources (replicationcontrollers, endpoints, nodes, pods, services, apiservices.apiregistration.k8s.io) have system defaults set by heuristics, others default to default-watch-cache-sizeList of watch cache sizes for every resource (pods, nodes, etc.), comma separated. The individual override format: resource[.group]#size, where resource is lowercase plural (no version), group is optional, and size is a number. It takes effect when watch-cache is enabled. Some resources (replicationcontrollers, endpoints, nodes, pods, services, apiservices.apiregistration.k8s.io) have system defaults set by heuristics, others default to default-watch-cache-size
+ + + diff --git a/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md b/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md index f0ff07cbf0..be3aa7a122 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md @@ -1,12 +1,14 @@ --- title: kube-controller-manager notitle: true -weight: 50 --- ## kube-controller-manager + + ### Synopsis + The Kubernetes controller manager is a daemon that embeds the core control loops shipped with Kubernetes. In applications of robotics and automation, a control loop is a non-terminating loop that regulates the state of @@ -22,545 +24,631 @@ kube-controller-manager [flags] ### Options - +
+ - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + + + + - - - - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - - - - - - - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + +
--address ip     Default: 0.0.0.0
DEPRECATED: the IP address on which to listen for the --port port. See --bind-address instead.DEPRECATED: the IP address on which to listen for the --port port (set to 0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces). See --bind-address instead.
--allocate-node-cidrs
Should CIDRs for Pods be allocated and set on the cloud provider.Should CIDRs for Pods be allocated and set on the cloud provider.
--attach-detach-reconcile-sync-period duration     Default: 1m0s
The reconciler sync wait time between volume attach detach. This duration must be larger than one second, and increasing this value from the default may allow for volumes to be mismatched with pods.The reconciler sync wait time between volume attach detach. This duration must be larger than one second, and increasing this value from the default may allow for volumes to be mismatched with pods.
--azure-container-registry-config string
Path to the file containing Azure container registry configuration information.Path to the file containing Azure container registry configuration information.
--bind-address ip     Default: 0.0.0.0
The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).
--cert-dir string     Default: "/var/run/kubernetes"
The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.
--cidr-allocator-type string     Default: "RangeAllocator"
Type of CIDR allocator to useType of CIDR allocator to use
--cloud-config string
The path to the cloud provider configuration file. Empty string for no configuration file.The path to the cloud provider configuration file. Empty string for no configuration file.
--cloud-provider string
The provider for cloud services. Empty string for no provider.The provider for cloud services. Empty string for no provider.
--cluster-cidr string
CIDR Range for Pods in cluster. Requires --allocate-node-cidrs to be trueCIDR Range for Pods in cluster. Requires --allocate-node-cidrs to be true
--cluster-name string     Default: "kubernetes"
The instance prefix for the cluster.The instance prefix for the cluster.
--cluster-signing-cert-file string     Default: "/etc/kubernetes/ca/ca.pem"
Filename containing a PEM-encoded X509 CA certificate used to issue cluster-scoped certificatesFilename containing a PEM-encoded X509 CA certificate used to issue cluster-scoped certificates
--cluster-signing-key-file string     Default: "/etc/kubernetes/ca/ca.key"
Filename containing a PEM-encoded RSA or ECDSA private key used to sign cluster-scoped certificatesFilename containing a PEM-encoded RSA or ECDSA private key used to sign cluster-scoped certificates
--concurrent-deployment-syncs int32     Default: 5
The number of deployment objects that are allowed to sync concurrently. Larger number = more responsive deployments, but more CPU (and network) loadThe number of deployment objects that are allowed to sync concurrently. Larger number = more responsive deployments, but more CPU (and network) load
--concurrent-endpoint-syncs int32     Default: 5
The number of endpoint syncing operations that will be done concurrently. Larger number = faster endpoint updating, but more CPU (and network) loadThe number of endpoint syncing operations that will be done concurrently. Larger number = faster endpoint updating, but more CPU (and network) load
--concurrent-gc-syncs int32     Default: 20
The number of garbage collector workers that are allowed to sync concurrently.The number of garbage collector workers that are allowed to sync concurrently.
--concurrent-namespace-syncs int32     Default: 10
The number of namespace objects that are allowed to sync concurrently. Larger number = more responsive namespace termination, but more CPU (and network) loadThe number of namespace objects that are allowed to sync concurrently. Larger number = more responsive namespace termination, but more CPU (and network) load
--concurrent-replicaset-syncs int32     Default: 5
The number of replica sets that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) loadThe 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 int32     Default: 5
The number of resource quotas that are allowed to sync concurrently. Larger number = more responsive quota management, but more CPU (and network) loadThe number of resource quotas that are allowed to sync concurrently. Larger number = more responsive quota management, but more CPU (and network) load
--concurrent-service-syncs int32     Default: 1
The number of services that are allowed to sync concurrently. Larger number = more responsive service management, but more CPU (and network) loadThe number of services that are allowed to sync concurrently. Larger number = more responsive service management, but more CPU (and network) load
--concurrent-serviceaccount-token-syncs int32     Default: 5
The number of service account token objects that are allowed to sync concurrently. Larger number = more responsive token generation, but more CPU (and network) loadThe number of service account token objects that are allowed to sync concurrently. Larger number = more responsive token generation, but more CPU (and network) load
--concurrent_rc_syncs int32     Default: 5
The number of replication controllers that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) loadThe number of replication controllers that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) load
--configure-cloud-routes     Default: true
Should CIDRs allocated by allocate-node-cidrs be configured on the cloud provider.Should CIDRs allocated by allocate-node-cidrs be configured on the cloud provider.
--contention-profiling
Enable lock contention profiling, if profiling is enabled.Enable lock contention profiling, if profiling is enabled
--controller-start-interval duration
Interval between starting controller managers.Interval between starting controller managers.
--controllers stringSlice     Default: [*]
A list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller named 'foo', '-foo' disables the controller named 'foo'.
All controllers: attachdetach, bootstrapsigner, clusterrole-aggregation, cronjob, csrapproving, csrcleaner, csrsigning, daemonset, deployment, disruption, endpoint, garbagecollector, horizontalpodautoscaling, job, namespace, nodeipam, nodelifecycle, persistentvolume-binder, persistentvolume-expander, podgc, pv-protection, pvc-protection, replicaset, replicationcontroller, resourcequota, route, service, serviceaccount, serviceaccount-token, statefulset, tokencleaner, ttl
Disabled-by-default controllers: bootstrapsigner, tokencleaner
A list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller named 'foo', '-foo' disables the controller named 'foo'.
All controllers: attachdetach, bootstrapsigner, clusterrole-aggregation, cronjob, csrapproving, csrcleaner, csrsigning, daemonset, deployment, disruption, endpoint, garbagecollector, horizontalpodautoscaling, job, namespace, nodeipam, nodelifecycle, persistentvolume-binder, persistentvolume-expander, podgc, pv-protection, pvc-protection, replicaset, replicationcontroller, resourcequota, route, service, serviceaccount, serviceaccount-token, statefulset, tokencleaner, ttl
Disabled-by-default controllers: bootstrapsigner, tokencleaner
--deployment-controller-sync-period duration     Default: 30s
Period for syncing the deployments.Period for syncing the deployments.
--disable-attach-detach-reconcile-sync
Disable volume attach detach reconciler sync. Disabling this may cause volumes to be mismatched with pods. Use wisely.Disable volume attach detach reconciler sync. Disabling this may cause volumes to be mismatched with pods. Use wisely.
--enable-dynamic-provisioning     Default: true
Enable dynamic provisioning for environments that support it.Enable dynamic provisioning for environments that support it.
--enable-garbage-collector     Default: true
Enables the generic garbage collector. MUST be synced with the corresponding flag of the kube-apiserver.Enables the generic garbage collector. MUST be synced with the corresponding flag of the kube-apiserver.
--enable-hostpath-provisioner
Enable HostPath PV provisioning when running without a cloud provider. This allows testing and development of provisioning features. HostPath provisioning is not supported in any way, won't work in a multi-node cluster, and should not be used for anything other than testing or development.Enable HostPath PV provisioning when running without a cloud provider. This allows testing and development of provisioning features. HostPath provisioning is not supported in any way, won't work in a multi-node cluster, and should not be used for anything other than testing or development.
--enable-taint-manager     Default: true
WARNING: Beta feature. If set to true enables NoExecute Taints and will evict all not-tolerating Pod running on Nodes tainted with this kind of Taints.WARNING: Beta feature. If set to true enables NoExecute Taints and will evict all not-tolerating Pod running on Nodes tainted with this kind of Taints.
--experimental-cluster-signing-duration duration     Default: 8760h0m0s
The length of duration signed certificates will be given.The length of duration signed certificates will be given.
--external-cloud-volume-plugin string
The plugin to use when cloud provider is set to external. Can be empty, should only be set when cloud-provider is external. Currently used to allow node and volume controllers to work for in tree cloud providers.The plugin to use when cloud provider is set to external. Can be empty, should only be set when cloud-provider is external. Currently used to allow node and volume controllers to work for in tree cloud providers.
--feature-gates mapStringBool
A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIResponseCompression=true|false (ALPHA - default=false)
Accelerators=true|false (ALPHA - default=false)
AdvancedAuditing=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
BlockVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CRIContainerLogRotation=true|false (ALPHA - default=false)
CSIPersistentVolume=true|false (BETA - default=true)
CustomPodDNS=true|false (BETA - default=true)
CustomResourceSubresources=true|false (ALPHA - default=false)
CustomResourceValidation=true|false (BETA - default=true)
DebugContainers=true|false (ALPHA - default=false)
DevicePlugins=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
ExpandPersistentVolumes=true|false (ALPHA - default=false)
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
GCERegionalPersistentDisk=true|false (BETA - default=true)
HugePages=true|false (BETA - default=true)
HyperVContainer=true|false (ALPHA - default=false)
Initializers=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
MountContainers=true|false (ALPHA - default=false)
MountPropagation=true|false (BETA - default=true)
PersistentLocalVolumes=true|false (BETA - default=true)
PodPriority=true|false (ALPHA - default=false)
PodShareProcessNamespace=true|false (ALPHA - default=false)
ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
RunAsGroup=true|false (ALPHA - default=false)
ScheduleDaemonSetPods=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)
StorageObjectInUseProtection=true|false (BETA - default=true)
StreamingProxyRedirects=true|false (BETA - default=true)
SupportIPVSProxyMode=true|false (BETA - default=true)
SupportPodPidsLimit=true|false (ALPHA - default=false)
TaintBasedEvictions=true|false (ALPHA - default=false)
TaintNodesByCondition=true|false (ALPHA - default=false)
TokenRequest=true|false (ALPHA - default=false)
VolumeScheduling=true|false (BETA - default=true)
VolumeSubpath=true|false (default=true)
A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIResponseCompression=true|false (ALPHA - default=false)
AdvancedAuditing=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
AttachVolumeLimit=true|false (ALPHA - default=false)
BalanceAttachedNodeVolumes=true|false (ALPHA - default=false)
BlockVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CRIContainerLogRotation=true|false (BETA - default=true)
CSIBlockVolume=true|false (ALPHA - default=false)
CSIPersistentVolume=true|false (BETA - default=true)
CustomPodDNS=true|false (BETA - default=true)
CustomResourceSubresources=true|false (BETA - default=true)
CustomResourceValidation=true|false (BETA - default=true)
DebugContainers=true|false (ALPHA - default=false)
DevicePlugins=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (BETA - default=true)
DynamicProvisioningScheduling=true|false (ALPHA - default=false)
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
ExpandInUsePersistentVolumes=true|false (ALPHA - default=false)
ExpandPersistentVolumes=true|false (BETA - default=true)
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
GCERegionalPersistentDisk=true|false (BETA - default=true)
HugePages=true|false (BETA - default=true)
HyperVContainer=true|false (ALPHA - default=false)
Initializers=true|false (ALPHA - default=false)
KubeletPluginsWatcher=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
MountContainers=true|false (ALPHA - default=false)
MountPropagation=true|false (BETA - default=true)
PersistentLocalVolumes=true|false (BETA - default=true)
PodPriority=true|false (BETA - default=true)
PodReadinessGates=true|false (BETA - default=false)
PodShareProcessNamespace=true|false (ALPHA - default=false)
QOSReserved=true|false (ALPHA - default=false)
ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
ResourceQuotaScopeSelectors=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
RunAsGroup=true|false (ALPHA - default=false)
ScheduleDaemonSetPods=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)
StorageObjectInUseProtection=true|false (default=true)
StreamingProxyRedirects=true|false (BETA - default=true)
SupportIPVSProxyMode=true|false (default=true)
SupportPodPidsLimit=true|false (ALPHA - default=false)
Sysctls=true|false (BETA - default=true)
TaintBasedEvictions=true|false (ALPHA - default=false)
TaintNodesByCondition=true|false (ALPHA - default=false)
TokenRequest=true|false (ALPHA - default=false)
TokenRequestProjection=true|false (ALPHA - default=false)
VolumeScheduling=true|false (BETA - default=true)
VolumeSubpath=true|false (default=true)
VolumeSubpathEnvExpansion=true|false (ALPHA - default=false)
--flex-volume-plugin-dir string     Default: "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"
Full path of the directory in which the flex volume plugin should search for additional third party volume plugins.Full path of the directory in which the flex volume plugin should search for additional third party volume plugins.
-h, --help
help for kube-controller-managerhelp for kube-controller-manager
--horizontal-pod-autoscaler-downscale-delay duration     Default: 5m0s
The period since last downscale, before another downscale can be performed in horizontal pod autoscaler.The period since last downscale, before another downscale can be performed in horizontal pod autoscaler.
--horizontal-pod-autoscaler-sync-period duration     Default: 30s
The period for syncing the number of pods in horizontal pod autoscaler.The period for syncing the number of pods in horizontal pod autoscaler.
--horizontal-pod-autoscaler-tolerance float     Default: 0.1
The minimum change (from 1.0) in the desired-to-actual metrics ratio for the horizontal pod autoscaler to consider scaling.The minimum change (from 1.0) in the desired-to-actual metrics ratio for the horizontal pod autoscaler to consider scaling.
--horizontal-pod-autoscaler-upscale-delay duration     Default: 3m0s
The period since last upscale, before another upscale can be performed in horizontal pod autoscaler.The period since last upscale, before another upscale can be performed in horizontal pod autoscaler.
--horizontal-pod-autoscaler-use-rest-clients     Default: true
WARNING: alpha feature. If set to true, causes the horizontal pod autoscaler controller to use REST clients through the kube-aggregator, instead of using the legacy metrics client through the API server proxy. This is required for custom metrics support in the horizontal pod autoscaler.If set to true, causes the horizontal pod autoscaler controller to use REST clients through the kube-aggregator, instead of using the legacy metrics client through the API server proxy. This is required for custom metrics support in the horizontal pod autoscaler.
--http2-max-streams-per-connection int
The limit that the server gives to clients for the maximum number of streams in an HTTP/2 connection. Zero means to use golang's default.The limit that the server gives to clients for the maximum number of streams in an HTTP/2 connection. Zero means to use golang's default.
--insecure-experimental-approve-all-kubelet-csrs-for-group string
This flag does nothing.This flag does nothing.
--kube-api-burst int32     Default: 30
Burst to use while talking with kubernetes apiserver.Burst to use while talking with kubernetes apiserver.
--kube-api-content-type string     Default: "application/vnd.kubernetes.protobuf"
Content type of requests sent to apiserver.Content type of requests sent to apiserver.
--kube-api-qps float32     Default: 20
QPS to use while talking with kubernetes apiserver.QPS to use while talking with kubernetes apiserver.
--kubeconfig string
Path to kubeconfig file with authorization and master location information.Path to kubeconfig file with authorization and master location information.
--large-cluster-size-threshold int32     Default: 50
Number of nodes from which NodeController treats the cluster as large for the eviction logic purposes. --secondary-node-eviction-rate is implicitly overridden to 0 for clusters this size or smaller.Number of nodes from which NodeController treats the cluster as large for the eviction logic purposes. --secondary-node-eviction-rate is implicitly overridden to 0 for clusters this size or smaller.
--leader-elect     Default: true
Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.
--leader-elect-lease-duration duration     Default: 15s
The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled.The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled.
--leader-elect-renew-deadline duration     Default: 10s
The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.
--leader-elect-resource-lock endpoints     Default: "endpoints"
The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`.The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`.
--leader-elect-retry-period duration     Default: 2s
The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled.The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled.
--log-flush-frequency duration     Default: 5s
Maximum number of seconds between log flushesMaximum number of seconds between log flushes
--master string
The address of the Kubernetes API server (overrides any value in kubeconfig).The address of the Kubernetes API server (overrides any value in kubeconfig).
--min-resync-period duration     Default: 12h0m0s
The resync period in reflectors will be random between MinResyncPeriod and 2*MinResyncPeriod.The resync period in reflectors will be random between MinResyncPeriod and 2*MinResyncPeriod.
--namespace-sync-period duration     Default: 5m0s
The period for syncing namespace life-cycle updatesThe period for syncing namespace life-cycle updates
--node-cidr-mask-size int32     Default: 24
Mask size for node cidr in cluster.Mask size for node cidr in cluster.
--node-eviction-rate float32     Default: 0.1
Number of nodes per second on which pods are deleted in case of node failure when a zone is healthy (see --unhealthy-zone-threshold for definition of healthy/unhealthy). Zone refers to entire cluster in non-multizone clusters.Number of nodes per second on which pods are deleted in case of node failure when a zone is healthy (see --unhealthy-zone-threshold for definition of healthy/unhealthy). Zone refers to entire cluster in non-multizone clusters.
--node-monitor-grace-period duration     Default: 40s
Amount of time which we allow running Node to be unresponsive before marking it unhealthy. Must be N times more than kubelet's nodeStatusUpdateFrequency, where N means number of retries allowed for kubelet to post node status.Amount of time which we allow running Node to be unresponsive before marking it unhealthy. Must be N times more than kubelet's nodeStatusUpdateFrequency, where N means number of retries allowed for kubelet to post node status.
--node-monitor-period duration     Default: 5s
The period for syncing NodeStatus in NodeController.The period for syncing NodeStatus in NodeController.
--node-startup-grace-period duration     Default: 1m0s
Amount of time which we allow starting Node to be unresponsive before marking it unhealthy.Amount of time which we allow starting Node to be unresponsive before marking it unhealthy.
--pod-eviction-timeout duration     Default: 5m0s
The grace period for deleting pods on failed nodes.The grace period for deleting pods on failed nodes.
--port int     Default: 10252
DEPRECATED: the port on which to serve HTTP insecurely without authentication and authorization. If 0, don't serve HTTPS at all. See --secure-port instead.DEPRECATED: the port on which to serve HTTP insecurely without authentication and authorization. If 0, don't serve HTTPS at all. See --secure-port instead.
--profiling
--profiling     Default: true
Enable profiling via web interface host:port/debug/pprof/Enable profiling via web interface host:port/debug/pprof/
--pv-recycler-increment-timeout-nfs int32     Default: 30
the increment of time added per Gi to ActiveDeadlineSeconds for an NFS scrubber podthe increment of time added per Gi to ActiveDeadlineSeconds for an NFS scrubber pod
--pv-recycler-minimum-timeout-hostpath int32     Default: 60
The minimum ActiveDeadlineSeconds to use for a HostPath Recycler pod. This is for development and testing only and will not work in a multi-node cluster.The minimum ActiveDeadlineSeconds to use for a HostPath Recycler pod. This is for development and testing only and will not work in a multi-node cluster.
--pv-recycler-minimum-timeout-nfs int32     Default: 300
The minimum ActiveDeadlineSeconds to use for an NFS Recycler podThe minimum ActiveDeadlineSeconds to use for an NFS Recycler pod
--pv-recycler-pod-template-filepath-hostpath string
The file path to a pod definition used as a template for HostPath persistent volume recycling. This is for development and testing only and will not work in a multi-node cluster.The file path to a pod definition used as a template for HostPath persistent volume recycling. This is for development and testing only and will not work in a multi-node cluster.
--pv-recycler-pod-template-filepath-nfs string
The file path to a pod definition used as a template for NFS persistent volume recyclingThe file path to a pod definition used as a template for NFS persistent volume recycling
--pv-recycler-timeout-increment-hostpath int32     Default: 30
the increment of time added per Gi to ActiveDeadlineSeconds for a HostPath scrubber pod. This is for development and testing only and will not work in a multi-node cluster.the increment of time added per Gi to ActiveDeadlineSeconds for a HostPath scrubber pod. This is for development and testing only and will not work in a multi-node cluster.
--pvclaimbinder-sync-period duration     Default: 15s
The period for syncing persistent volumes and persistent volume claimsThe period for syncing persistent volumes and persistent volume claims
--resource-quota-sync-period duration     Default: 5m0s
The period for syncing quota usage status in the systemThe period for syncing quota usage status in the system
--root-ca-file string
If set, this root certificate authority will be included in service account's token secret. This must be a valid PEM-encoded CA bundle.If set, this root certificate authority will be included in service account's token secret. This must be a valid PEM-encoded CA bundle.
--route-reconciliation-period duration     Default: 10s
The period for reconciling routes created for Nodes by cloud provider.The period for reconciling routes created for Nodes by cloud provider.
--secondary-node-eviction-rate float32     Default: 0.01
Number of nodes per second on which pods are deleted in case of node failure when a zone is unhealthy (see --unhealthy-zone-threshold for definition of healthy/unhealthy). Zone refers to entire cluster in non-multizone clusters. This value is implicitly overridden to 0 if the cluster size is smaller than --large-cluster-size-threshold.Number of nodes per second on which pods are deleted in case of node failure when a zone is unhealthy (see --unhealthy-zone-threshold for definition of healthy/unhealthy). Zone refers to entire cluster in non-multizone clusters. This value is implicitly overridden to 0 if the cluster size is smaller than --large-cluster-size-threshold.
--secure-port int
The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all.
--service-account-private-key-file string
Filename containing a PEM-encoded private RSA or ECDSA key used to sign service account tokens.The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all.
--service-cluster-ip-range string
CIDR Range for Services in cluster. Requires --allocate-node-cidrs to be trueCIDR Range for Services in cluster. Requires --allocate-node-cidrs to be true
--terminated-pod-gc-threshold int32     Default: 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.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.
--tls-cert-file string
File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir.File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir.
--tls-cipher-suites stringSlice
Comma-separated list of cipher suites for the server. Values are from tls package constants (https://golang.org/pkg/crypto/tls/#pkg-constants). If omitted, the default Go cipher suites will be usedComma-separated list of cipher suites for the server. If omitted, the default Go cipher suites will be use. Possible values: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_RC4_128_SHA
--tls-min-version string
Minimum TLS version supported. Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants.Minimum TLS version supported. Possible values: VersionTLS10, VersionTLS11, VersionTLS12
--tls-private-key-file string
File containing the default x509 private key matching --tls-cert-file.File containing the default x509 private key matching --tls-cert-file.
--tls-sni-cert-key namedCertKey     Default: []
A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".
--unhealthy-zone-threshold float32     Default: 0.55
Fraction of Nodes in a zone which needs to be not Ready (minimum 3) for zone to be treated as unhealthy. Fraction of Nodes in a zone which needs to be not Ready (minimum 3) for zone to be treated as unhealthy.
--use-service-account-credentials
If true, use individual service account credentials for each controller.If true, use individual service account credentials for each controller.
--version version[=true]
Print version information and quitPrint version information and quit
+ + + diff --git a/content/en/docs/reference/command-line-tools-reference/kube-proxy.md b/content/en/docs/reference/command-line-tools-reference/kube-proxy.md index 015f57a95e..848eaf3994 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-proxy.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-proxy.md @@ -1,12 +1,14 @@ --- title: kube-proxy notitle: true -weight: 60 --- ## kube-proxy + + ### Synopsis + The Kubernetes network proxy runs on each node. This reflects services as defined in the Kubernetes API on each node and can do simple TCP and UDP stream forwarding or round robin TCP and UDP forwarding across a set of backends. @@ -21,239 +23,288 @@ kube-proxy [flags] ### Options - +
+ - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + + + + + + + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + +
--azure-container-registry-config string
Path to the file containing Azure container registry configuration information.Path to the file containing Azure container registry configuration information.
--bind-address 0.0.0.0     Default: 0.0.0.0
The IP address for the proxy server to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)The IP address for the proxy server to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)
--cleanup
If true cleanup iptables and ipvs rules and exit.If true cleanup iptables and ipvs rules and exit.
--cleanup-ipvs     Default: true
If true make kube-proxy cleanup ipvs rules before running. Default is trueIf true make kube-proxy cleanup ipvs rules before running. Default is true
--cluster-cidr string
The CIDR range of pods in the cluster. When configured, traffic sent to a Service cluster IP from outside this range will be masqueraded and traffic sent from pods to an external LoadBalancer IP will be directed to the respective cluster IP insteadThe CIDR range of pods in the cluster. When configured, traffic sent to a Service cluster IP from outside this range will be masqueraded and traffic sent from pods to an external LoadBalancer IP will be directed to the respective cluster IP instead
--config string
The path to the configuration file.The path to the configuration file.
--config-sync-period duration     Default: 15m0s
How often configuration from the apiserver is refreshed. Must be greater than 0.How often configuration from the apiserver is refreshed. Must be greater than 0.
--conntrack-max-per-core int32     Default: 32768
Maximum number of NAT connections to track per CPU core (0 to leave the limit as-is and ignore conntrack-min).Maximum number of NAT connections to track per CPU core (0 to leave the limit as-is and ignore conntrack-min).
--conntrack-min int32     Default: 131072
Minimum number of conntrack entries to allocate, regardless of conntrack-max-per-core (set conntrack-max-per-core=0 to leave the limit as-is).Minimum number of conntrack entries to allocate, regardless of conntrack-max-per-core (set conntrack-max-per-core=0 to leave the limit as-is).
--conntrack-tcp-timeout-close-wait duration     Default: 1h0m0s
NAT timeout for TCP connections in the CLOSE_WAIT stateNAT timeout for TCP connections in the CLOSE_WAIT state
--conntrack-tcp-timeout-established duration     Default: 24h0m0s
Idle timeout for established TCP connections (0 to leave as-is)Idle timeout for established TCP connections (0 to leave as-is)
--feature-gates mapStringBool
A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIResponseCompression=true|false (ALPHA - default=false)
Accelerators=true|false (ALPHA - default=false)
AdvancedAuditing=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
BlockVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CRIContainerLogRotation=true|false (ALPHA - default=false)
CSIPersistentVolume=true|false (BETA - default=true)
CustomPodDNS=true|false (BETA - default=true)
CustomResourceSubresources=true|false (ALPHA - default=false)
CustomResourceValidation=true|false (BETA - default=true)
DebugContainers=true|false (ALPHA - default=false)
DevicePlugins=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
ExpandPersistentVolumes=true|false (ALPHA - default=false)
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
GCERegionalPersistentDisk=true|false (BETA - default=true)
HugePages=true|false (BETA - default=true)
HyperVContainer=true|false (ALPHA - default=false)
Initializers=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
MountContainers=true|false (ALPHA - default=false)
MountPropagation=true|false (BETA - default=true)
PersistentLocalVolumes=true|false (BETA - default=true)
PodPriority=true|false (ALPHA - default=false)
PodShareProcessNamespace=true|false (ALPHA - default=false)
ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
RunAsGroup=true|false (ALPHA - default=false)
ScheduleDaemonSetPods=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)
StorageObjectInUseProtection=true|false (BETA - default=true)
StreamingProxyRedirects=true|false (BETA - default=true)
SupportIPVSProxyMode=true|false (BETA - default=true)
SupportPodPidsLimit=true|false (ALPHA - default=false)
TaintBasedEvictions=true|false (ALPHA - default=false)
TaintNodesByCondition=true|false (ALPHA - default=false)
TokenRequest=true|false (ALPHA - default=false)
VolumeScheduling=true|false (BETA - default=true)
VolumeSubpath=true|false (default=true)
A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIResponseCompression=true|false (ALPHA - default=false)
AdvancedAuditing=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
AttachVolumeLimit=true|false (ALPHA - default=false)
BalanceAttachedNodeVolumes=true|false (ALPHA - default=false)
BlockVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CRIContainerLogRotation=true|false (BETA - default=true)
CSIBlockVolume=true|false (ALPHA - default=false)
CSIPersistentVolume=true|false (BETA - default=true)
CustomPodDNS=true|false (BETA - default=true)
CustomResourceSubresources=true|false (BETA - default=true)
CustomResourceValidation=true|false (BETA - default=true)
DebugContainers=true|false (ALPHA - default=false)
DevicePlugins=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (BETA - default=true)
DynamicProvisioningScheduling=true|false (ALPHA - default=false)
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
ExpandInUsePersistentVolumes=true|false (ALPHA - default=false)
ExpandPersistentVolumes=true|false (BETA - default=true)
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
GCERegionalPersistentDisk=true|false (BETA - default=true)
HugePages=true|false (BETA - default=true)
HyperVContainer=true|false (ALPHA - default=false)
Initializers=true|false (ALPHA - default=false)
KubeletPluginsWatcher=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
MountContainers=true|false (ALPHA - default=false)
MountPropagation=true|false (BETA - default=true)
PersistentLocalVolumes=true|false (BETA - default=true)
PodPriority=true|false (BETA - default=true)
PodReadinessGates=true|false (BETA - default=false)
PodShareProcessNamespace=true|false (ALPHA - default=false)
QOSReserved=true|false (ALPHA - default=false)
ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
ResourceQuotaScopeSelectors=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
RunAsGroup=true|false (ALPHA - default=false)
ScheduleDaemonSetPods=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)
StorageObjectInUseProtection=true|false (default=true)
StreamingProxyRedirects=true|false (BETA - default=true)
SupportIPVSProxyMode=true|false (default=true)
SupportPodPidsLimit=true|false (ALPHA - default=false)
Sysctls=true|false (BETA - default=true)
TaintBasedEvictions=true|false (ALPHA - default=false)
TaintNodesByCondition=true|false (ALPHA - default=false)
TokenRequest=true|false (ALPHA - default=false)
TokenRequestProjection=true|false (ALPHA - default=false)
VolumeScheduling=true|false (BETA - default=true)
VolumeSubpath=true|false (default=true)
VolumeSubpathEnvExpansion=true|false (ALPHA - default=false)
--healthz-bind-address 0.0.0.0     Default: 0.0.0.0:10256
The IP address and port for the health check server to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)The IP address and port for the health check server to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)
--healthz-port int32     Default: 10256
The port to bind the health check server. Use 0 to disable.The port to bind the health check server. Use 0 to disable.
-h, --help
help for kube-proxyhelp for kube-proxy
--hostname-override string
If non-empty, will use this string as identification instead of the actual hostname.If non-empty, will use this string as identification instead of the actual hostname.
--iptables-masquerade-bit int32     Default: 14
If using the pure iptables proxy, the bit of the fwmark space to mark packets requiring SNAT with. Must be within the range [0, 31].If using the pure iptables proxy, the bit of the fwmark space to mark packets requiring SNAT with. Must be within the range [0, 31].
--iptables-min-sync-period duration
The minimum interval of how often the iptables rules can be refreshed as endpoints and services change (e.g. '5s', '1m', '2h22m').The minimum interval of how often the iptables rules can be refreshed as endpoints and services change (e.g. '5s', '1m', '2h22m').
--iptables-sync-period duration     Default: 30s
The maximum interval of how often iptables rules are refreshed (e.g. '5s', '1m', '2h22m'). Must be greater than 0.The maximum interval of how often iptables rules are refreshed (e.g. '5s', '1m', '2h22m'). Must be greater than 0.
--ipvs-exclude-cidrs stringSlice
A comma-separated list of CIDR's which the ipvs proxier should not touch when cleaning up IPVS rules.
--ipvs-min-sync-period duration
The minimum interval of how often the ipvs rules can be refreshed as endpoints and services change (e.g. '5s', '1m', '2h22m').The minimum interval of how often the ipvs rules can be refreshed as endpoints and services change (e.g. '5s', '1m', '2h22m').
--ipvs-scheduler string
The ipvs scheduler type when proxy mode is ipvsThe ipvs scheduler type when proxy mode is ipvs
--ipvs-sync-period duration     Default: 30s
The maximum interval of how often ipvs rules are refreshed (e.g. '5s', '1m', '2h22m'). Must be greater than 0.The maximum interval of how often ipvs rules are refreshed (e.g. '5s', '1m', '2h22m'). Must be greater than 0.
--kube-api-burst int32     Default: 10
Burst to use while talking with kubernetes apiserverBurst to use while talking with kubernetes apiserver
--kube-api-content-type string     Default: "application/vnd.kubernetes.protobuf"
Content type of requests sent to apiserver.Content type of requests sent to apiserver.
--kube-api-qps float32     Default: 5
QPS to use while talking with kubernetes apiserverQPS to use while talking with kubernetes apiserver
--kubeconfig string
Path to kubeconfig file with authorization information (the master location is set by the master flag).Path to kubeconfig file with authorization information (the master location is set by the master flag).
--log-flush-frequency duration     Default: 5s
Maximum number of seconds between log flushesMaximum number of seconds between log flushes
--masquerade-all
If using the pure iptables proxy, SNAT all traffic sent via Service cluster IPs (this not commonly needed)If using the pure iptables proxy, SNAT all traffic sent via Service cluster IPs (this not commonly needed)
--master string
The address of the Kubernetes API server (overrides any value in kubeconfig)The address of the Kubernetes API server (overrides any value in kubeconfig)
--metrics-bind-address 0.0.0.0     Default: 127.0.0.1:10249
The IP address and port for the metrics server to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)The IP address and port for the metrics server to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)
--nodeport-addresses stringSlice
A string slice of values which specify the addresses to use for NodePorts. Values may be valid IP blocks (e.g. 1.2.3.0/24, 1.2.3.4/32). The default empty string slice ([]) means to use all local addresses.A string slice of values which specify the addresses to use for NodePorts. Values may be valid IP blocks (e.g. 1.2.3.0/24, 1.2.3.4/32). The default empty string slice ([]) means to use all local addresses.
--oom-score-adj int32     Default: -999
The oom-score-adj value for kube-proxy process. Values must be within the range [-1000, 1000]The oom-score-adj value for kube-proxy process. Values must be within the range [-1000, 1000]
--profiling
If true enables profiling via web interface on /debug/pprof handler.If true enables profiling via web interface on /debug/pprof handler.
--proxy-mode ProxyMode
Which proxy mode to use: 'userspace' (older) or 'iptables' (faster) or 'ipvs' (experimental). If blank, use the best-available proxy (currently iptables). If the iptables proxy is selected, regardless of how, but the system's kernel or iptables versions are insufficient, this always falls back to the userspace proxy.Which proxy mode to use: 'userspace' (older) or 'iptables' (faster) or 'ipvs' (experimental). If blank, use the best-available proxy (currently iptables). If the iptables proxy is selected, regardless of how, but the system's kernel or iptables versions are insufficient, this always falls back to the userspace proxy.
--proxy-port-range port-range
Range of host ports (beginPort-endPort, inclusive) that may be consumed in order to proxy service traffic. If unspecified (0-0) then ports will be randomly chosen.Range of host ports (beginPort-endPort, single port or beginPort+offset, inclusive) that may be consumed in order to proxy service traffic. If (unspecified, 0, or 0-0) then ports will be randomly chosen.
--udp-timeout duration     Default: 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=userspaceHow long an idle UDP connection will be kept open (e.g. '250ms', '2s'). Must be greater than 0. Only applicable for proxy-mode=userspace
--version version[=true]
Print version information and quitPrint version information and quit
--write-config-to string
If set, write the default configuration values to this file and exit.If set, write the default configuration values to this file and exit.
+ + + diff --git a/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md b/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md index ab0acc7e5e..382ba3784b 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md @@ -1,12 +1,14 @@ --- title: kube-scheduler notitle: true -weight: 70 --- ## kube-scheduler + + ### Synopsis + The Kubernetes scheduler is a policy-rich, topology-aware, workload-specific function that significantly impacts availability, performance, and capacity. The scheduler needs to take into account individual and collective @@ -21,179 +23,218 @@ kube-scheduler [flags] ### Options - +
+ - + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + + + + - + + + + + - - - - - - - + + - + + - + + - + + - + + + + + + + + +
--address string--address string     Default: "0.0.0.0"
The IP address to serve on (set to 0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).DEPRECATED: the IP address on which to listen for the --port port (set to 0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces). See --bind-address instead.
--algorithm-provider string
The scheduling algorithm provider to use, one of: ClusterAutoscalerProvider | DefaultProviderDEPRECATED: the scheduling algorithm provider to use, one of: ClusterAutoscalerProvider | DefaultProvider
--azure-container-registry-config string
Path to the file containing Azure container registry configuration information.Path to the file containing Azure container registry configuration information.
--config string
The path to the configuration file.The path to the configuration file. Flags override values in this file.
--contention-profiling
Enable lock contention profiling, if profiling is enabledDEPRECATED: enable lock contention profiling, if profiling is enabled
--feature-gates mapStringBool
A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIResponseCompression=true|false (ALPHA - default=false)
Accelerators=true|false (ALPHA - default=false)
AdvancedAuditing=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
BlockVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CRIContainerLogRotation=true|false (ALPHA - default=false)
CSIPersistentVolume=true|false (BETA - default=true)
CustomPodDNS=true|false (BETA - default=true)
CustomResourceSubresources=true|false (ALPHA - default=false)
CustomResourceValidation=true|false (BETA - default=true)
DebugContainers=true|false (ALPHA - default=false)
DevicePlugins=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
ExpandPersistentVolumes=true|false (ALPHA - default=false)
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
GCERegionalPersistentDisk=true|false (BETA - default=true)
HugePages=true|false (BETA - default=true)
HyperVContainer=true|false (ALPHA - default=false)
Initializers=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
MountContainers=true|false (ALPHA - default=false)
MountPropagation=true|false (BETA - default=true)
PersistentLocalVolumes=true|false (BETA - default=true)
PodPriority=true|false (ALPHA - default=false)
PodShareProcessNamespace=true|false (ALPHA - default=false)
ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
RunAsGroup=true|false (ALPHA - default=false)
ScheduleDaemonSetPods=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)
StorageObjectInUseProtection=true|false (BETA - default=true)
StreamingProxyRedirects=true|false (BETA - default=true)
SupportIPVSProxyMode=true|false (BETA - default=true)
SupportPodPidsLimit=true|false (ALPHA - default=false)
TaintBasedEvictions=true|false (ALPHA - default=false)
TaintNodesByCondition=true|false (ALPHA - default=false)
TokenRequest=true|false (ALPHA - default=false)
VolumeScheduling=true|false (BETA - default=true)
VolumeSubpath=true|false (default=true)
A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIResponseCompression=true|false (ALPHA - default=false)
AdvancedAuditing=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
AttachVolumeLimit=true|false (ALPHA - default=false)
BalanceAttachedNodeVolumes=true|false (ALPHA - default=false)
BlockVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CRIContainerLogRotation=true|false (BETA - default=true)
CSIBlockVolume=true|false (ALPHA - default=false)
CSIPersistentVolume=true|false (BETA - default=true)
CustomPodDNS=true|false (BETA - default=true)
CustomResourceSubresources=true|false (BETA - default=true)
CustomResourceValidation=true|false (BETA - default=true)
DebugContainers=true|false (ALPHA - default=false)
DevicePlugins=true|false (BETA - default=true)
DynamicKubeletConfig=true|false (BETA - default=true)
DynamicProvisioningScheduling=true|false (ALPHA - default=false)
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
ExpandInUsePersistentVolumes=true|false (ALPHA - default=false)
ExpandPersistentVolumes=true|false (BETA - default=true)
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
GCERegionalPersistentDisk=true|false (BETA - default=true)
HugePages=true|false (BETA - default=true)
HyperVContainer=true|false (ALPHA - default=false)
Initializers=true|false (ALPHA - default=false)
KubeletPluginsWatcher=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
MountContainers=true|false (ALPHA - default=false)
MountPropagation=true|false (BETA - default=true)
PersistentLocalVolumes=true|false (BETA - default=true)
PodPriority=true|false (BETA - default=true)
PodReadinessGates=true|false (BETA - default=false)
PodShareProcessNamespace=true|false (ALPHA - default=false)
QOSReserved=true|false (ALPHA - default=false)
ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
ResourceQuotaScopeSelectors=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
RunAsGroup=true|false (ALPHA - default=false)
ScheduleDaemonSetPods=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)
StorageObjectInUseProtection=true|false (default=true)
StreamingProxyRedirects=true|false (BETA - default=true)
SupportIPVSProxyMode=true|false (default=true)
SupportPodPidsLimit=true|false (ALPHA - default=false)
Sysctls=true|false (BETA - default=true)
TaintBasedEvictions=true|false (ALPHA - default=false)
TaintNodesByCondition=true|false (ALPHA - default=false)
TokenRequest=true|false (ALPHA - default=false)
TokenRequestProjection=true|false (ALPHA - default=false)
VolumeScheduling=true|false (BETA - default=true)
VolumeSubpath=true|false (default=true)
VolumeSubpathEnvExpansion=true|false (ALPHA - default=false)
-h, --help
help for kube-schedulerhelp for kube-scheduler
--kube-api-burst int32     Default: 100
Burst to use while talking with kubernetes apiserverDEPRECATED: burst to use while talking with kubernetes apiserver
--kube-api-content-type string     Default: "application/vnd.kubernetes.protobuf"
Content type of requests sent to apiserver.DEPRECATED: content type of requests sent to apiserver.
--kube-api-qps float32     Default: 50
QPS to use while talking with kubernetes apiserverDEPRECATED: QPS to use while talking with kubernetes apiserver
--kubeconfig string
Path to kubeconfig file with authorization and master location information.DEPRECATED: path to kubeconfig file with authorization and master location information.
--leader-elect     Default: true
Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.
--leader-elect-lease-duration duration     Default: 15s
The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled.The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled.
--leader-elect-renew-deadline duration     Default: 10s
The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.
--leader-elect-resource-lock endpoints     Default: "endpoints"
The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`.The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`.
--leader-elect-retry-period duration     Default: 2s
The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled.The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled.
--lock-object-name string     Default: "kube-scheduler"
Define the name of the lock object.DEPRECATED: define the name of the lock object.
--lock-object-namespace string     Default: "kube-system"
Define the namespace of the lock object.DEPRECATED: define the namespace of the lock object.
--log-flush-frequency duration     Default: 5s
Maximum number of seconds between log flushesMaximum number of seconds between log flushes
--master string
The address of the Kubernetes API server (overrides any value in kubeconfig)The address of the Kubernetes API server (overrides any value in kubeconfig)
--policy-config-file string
File with scheduler policy configuration. This file is used if policy ConfigMap is not provided or --use-legacy-policy-config==trueDEPRECATED: file with scheduler policy configuration. This file is used if policy ConfigMap is not provided or --use-legacy-policy-config=true
--policy-configmap string
Name of the ConfigMap object that contains scheduler's policy configuration. It must exist in the system namespace before scheduler initialization if --use-legacy-policy-config==false. The config must be provided as the value of an element in 'Data' map with the key='policy.cfg'DEPRECATED: name of the ConfigMap object that contains scheduler's policy configuration. It must exist in the system namespace before scheduler initialization if --use-legacy-policy-config=false. The config must be provided as the value of an element in 'Data' map with the key='policy.cfg'
--policy-configmap-namespace string     Default: "kube-system"
--policy-configmap-namespace stringDEPRECATED: the namespace where policy ConfigMap is located. The kube-system namespace will be used if this is not provided or is empty.
--port int     Default: 10251
The namespace where policy ConfigMap is located. The system namespace will be used if this is not provided or is empty.
--port int32     Default: 10251
The port that the scheduler's http service runs onDEPRECATED: the port on which to serve HTTP insecurely without authentication and authorization. If 0, don't serve HTTPS at all. See --secure-port instead.
--profiling
Enable profiling via web interface host:port/debug/pprof/DEPRECATED: enable profiling via web interface host:port/debug/pprof/
--scheduler-name string     Default: "default-scheduler"
Name of the scheduler, used to select which pods will be processed by this scheduler, based on pod's "spec.SchedulerName".DEPRECATED: name of the scheduler, used to select which pods will be processed by this scheduler, based on pod's "spec.schedulerName".
--use-legacy-policy-config
When set to true, scheduler will ignore policy ConfigMap and uses policy config fileDEPRECATED: when set to true, scheduler will ignore policy ConfigMap and uses policy config file
--version version[=true]
Print version information and quitPrint version information and quit
--write-config-to string
If set, write the configuration values to this file and exit.
+ + + diff --git a/content/en/docs/reference/command-line-tools-reference/kubelet.md b/content/en/docs/reference/command-line-tools-reference/kubelet.md index bfb1412d8f..5506d3469d 100644 --- a/content/en/docs/reference/command-line-tools-reference/kubelet.md +++ b/content/en/docs/reference/command-line-tools-reference/kubelet.md @@ -1,7 +1,6 @@ --- title: kubelet notitle: true -weight: 20 --- ## kubelet @@ -31,772 +30,48 @@ HTTP server: The kubelet can also listen for HTTP and respond to a simple API (underspec'd currently) to submit a new manifest. ``` -kubelet +kubelet [flags] ``` ### Options - +
- - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - + - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + +
--address 0.0.0.0     Default: 0.0.0.0
The IP address for the Kubelet to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)
--allow-privileged
If true, allow containers to request privileged mode.
--anonymous-auth     Default: true
Enables anonymous requests to the Kubelet server. Requests that are not rejected by another authentication method are treated as anonymous requests. Anonymous requests have a username of system:anonymous, and a group name of system:unauthenticated.
--authentication-token-webhook
Use the TokenReview API to determine authentication for bearer tokens.
--authentication-token-webhook-cache-ttl duration     Default: 2m0s
The duration to cache responses from the webhook token authenticator.
--authorization-mode string     Default: "AlwaysAllow"
Authorization mode for Kubelet server. Valid options are AlwaysAllow or Webhook. Webhook mode uses the SubjectAccessReview API to determine authorization.
--authorization-webhook-cache-authorized-ttl duration     Default: 5m0s
The duration to cache 'authorized' responses from the webhook authorizer.
--authorization-webhook-cache-unauthorized-ttl duration     Default: 30s
The duration to cache 'unauthorized' responses from the webhook authorizer.
--azure-container-registry-config string
Path to the file container Azure container registry configuration information.Path to the file containing Azure container registry configuration information.
--bootstrap-checkpoint-path string-h, --help
Path to the directory where the checkpoints are storedhelp for kubelet
--bootstrap-kubeconfig string--log-flush-frequency duration     Default: 5s
Path to a kubeconfig file that will be used to get client certificate for kubelet. If the file specified by --kubeconfig does not exist, the bootstrap kubeconfig is used to request a client certificate from the API server. On success, a kubeconfig file referencing the generated client certificate and key is written to the path specified by --kubeconfig. The client certificate and key file will be stored in the directory pointed by --cert-dir.
--cadvisor-port int32     Default: 4194
The port of the localhost cAdvisor endpoint (set to 0 to disable)
--cert-dir string     Default: "/var/lib/kubelet/pki"
The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.
--cgroup-driver string     Default: "cgroupfs"
Driver that the kubelet uses to manipulate cgroups on the host. Possible values: 'cgroupfs', 'systemd'
--cgroup-root string
Optional root cgroup to use for pods. This is handled by the container runtime on a best effort basis. Default: '', which means use the container runtime default.
--cgroups-per-qos     Default: true
Enable creation of QoS cgroup hierarchy, if true top level QoS and pod cgroups are created.
--chaos-chance float
If > 0.0, introduce random client errors and latency. Intended for testing.
--client-ca-file string
If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.
--cloud-config string
The path to the cloud provider configuration file. Empty string for no configuration file.
--cloud-provider string
The provider for cloud services. Specify empty string for running with no cloud provider.
--cluster-dns stringSlice
Comma-separated list of DNS server IP address. This value is used for containers DNS server in case of Pods with "dnsPolicy=ClusterFirst". Note: all DNS servers appearing in the list MUST serve the same set of records otherwise name resolution within the cluster may not work correctly. There is no guarantee as to which DNS server may be contacted for name resolution.
--cluster-domain string
Domain for this cluster. If set, kubelet will configure all containers to search this domain in addition to the host's search domains
--cni-bin-dir string
The full path of the directory in which to search for CNI plugin binaries. Default: /opt/cni/bin
--cni-conf-dir string
The full path of the directory in which to search for CNI config files. Default: /etc/cni/net.d
--config string
The Kubelet will load its initial configuration from this file. The path may be absolute or relative; relative paths start at the Kubelet's current working directory. Omit this flag to use the built-in default configuration values. You must also enable the KubeletConfigFile feature gate to pass this flag.
--container-runtime string     Default: "docker"
The container runtime to use. Possible values: 'docker', 'rkt'.
--container-runtime-endpoint string     Default: "unix:///var/run/dockershim.sock"
[Experimental] The endpoint of remote runtime service. Currently unix socket is supported on Linux, and tcp is supported on windows. Examples:'unix:///var/run/dockershim.sock', 'tcp://localhost:3735'
--containerized
Experimental support for running kubelet in a container. Intended for testing.
--contention-profiling
Enable lock contention profiling, if profiling is enabled
--cpu-cfs-quota     Default: true
Enable CPU CFS quota enforcement for containers that specify CPU limits
--cpu-manager-policy string     Default: "none"
CPU Manager policy to use. Possible values: 'none', 'static'. Default: 'none'
--cpu-manager-reconcile-period NodeStatusUpdateFrequency     Default: 10s
CPU Manager reconciliation period. Examples: '10s', or '1m'. If not supplied, defaults to NodeStatusUpdateFrequency
--docker-disable-shared-pid     Default: true
The Container Runtime Interface (CRI) defaults to using a shared PID namespace for containers in a pod when running with Docker 1.13.1 or higher. Setting this flag reverts to the previous behavior of isolated PID namespaces. This ability will be removed in a future Kubernetes release.
--docker-endpoint string     Default: "unix:///var/run/docker.sock"
Use this for the docker endpoint to communicate with
--dynamic-config-dir string
The Kubelet will use this directory for checkpointing downloaded configurations and tracking configuration health. The Kubelet will create this directory if it does not already exist. The path may be absolute or relative; relative paths start at the Kubelet's current working directory. Providing this flag enables dynamic Kubelet configuration. Presently, you must also enable the DynamicKubeletConfig feature gate to pass this flag.
--enable-controller-attach-detach     Default: true
Enables the Attach/Detach controller to manage attachment/detachment of volumes scheduled to this node, and disables kubelet from executing any attach/detach operations
--enable-debugging-handlers     Default: true
Enables server endpoints for log collection and local running of containers and commands
--enable-server     Default: true
Enable the Kubelet's server
--enforce-node-allocatable stringSlice     Default: [pods]
A comma separated list of levels of node allocatable enforcement to be enforced by kubelet. Acceptable options are 'pods', 'system-reserved' & 'kube-reserved'. If the latter two options are specified, '--system-reserved-cgroup' & '--kube-reserved-cgroup' must also be set respectively. See https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/ for more details.
--event-burst int32     Default: 10
Maximum size of a bursty event records, temporarily allows event records to burst to this number, while still not exceeding event-qps. Only used if --event-qps > 0
--event-qps int32     Default: 5
If > 0, limit event creations per second to this value. If 0, unlimited.
--eviction-hard mapStringString     Default: imagefs.available<15%!,(MISSING)memory.available<100Mi,nodefs.available<10%!,(MISSING)nodefs.inodesFree<5%!<(MISSING)/td> -
A set of eviction thresholds (e.g. memory.available<1Gi) that if met would trigger a pod eviction.
--eviction-max-pod-grace-period int32
Maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met. If negative, defer to pod specified value.
--eviction-minimum-reclaim mapStringString
A set of minimum reclaims (e.g. imagefs.available=2Gi) that describes the minimum amount of resource the kubelet will reclaim when performing a pod eviction if that resource is under pressure.
--eviction-pressure-transition-period duration     Default: 5m0s
Duration for which the kubelet has to wait before transitioning out of an eviction pressure condition.
--eviction-soft mapStringString
A set of eviction thresholds (e.g. memory.available<1.5Gi) that if met over a corresponding grace period would trigger a pod eviction.
--eviction-soft-grace-period mapStringString
A set of eviction grace periods (e.g. memory.available=1m30s) that correspond to how long a soft eviction threshold must hold before triggering a pod eviction.
--exit-on-lock-contention
Whether kubelet should exit upon lock-file contention.
--experimental-allocatable-ignore-eviction
When set to 'true', Hard Eviction Thresholds will be ignored while calculating Node Allocatable. See https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/ for more details. [default=false]
--experimental-allowed-unsafe-sysctls stringSlice
Comma-separated whitelist of unsafe sysctls or unsafe sysctl patterns (ending in *). Use these at your own risk.
--experimental-bootstrap-kubeconfig string
deprecated: use --bootstrap-kubeconfig
--experimental-check-node-capabilities-before-mount
[Experimental] if set true, the kubelet will check the underlying node for required components (binaries, etc.) before performing the mount
--experimental-kernel-memcg-notification
If enabled, the kubelet will integrate with the kernel memcg notification to determine if memory eviction thresholds are crossed rather than polling.
--experimental-mounter-path string
[Experimental] Path of mounter binary. Leave empty to use the default mount.
--experimental-qos-reserved mapStringString
A set of ResourceName=Percentage (e.g. memory=50%!)(MISSING) pairs that describe how pod resource requests are reserved at the QoS level. Currently only memory is supported. [default=none]
--fail-swap-on     Default: true
Makes the Kubelet fail to start if swap is enabled on the node.
--feature-gates mapStringBool
A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - default=true)
APIResponseCompression=true|false (ALPHA - default=false)
Accelerators=true|false (ALPHA - default=false)
AdvancedAuditing=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AllowExtTrafficLocalEndpoints=true|false (default=true)
AppArmor=true|false (BETA - default=true)
BlockVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CSIPersistentVolume=true|false (ALPHA - default=false)
CustomPodDNS=true|false (ALPHA - default=false)
CustomResourceValidation=true|false (BETA - default=true)
DebugContainers=true|false (ALPHA - default=false)
DevicePlugins=true|false (ALPHA - default=false)
DynamicKubeletConfig=true|false (ALPHA - default=false)
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
ExpandPersistentVolumes=true|false (ALPHA - default=false)
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
HugePages=true|false (BETA - default=true)
Initializers=true|false (ALPHA - default=false)
KubeletConfigFile=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (ALPHA - default=false)
MountContainers=true|false (ALPHA - default=false)
MountPropagation=true|false (ALPHA - default=false)
PVCProtection=true|false (ALPHA - default=false)
PersistentLocalVolumes=true|false (ALPHA - default=false)
PodPriority=true|false (ALPHA - default=false)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
StreamingProxyRedirects=true|false (BETA - default=true)
SupportIPVSProxyMode=true|false (BETA - default=false)
TaintBasedEvictions=true|false (ALPHA - default=false)
TaintNodesByCondition=true|false (ALPHA - default=false)
VolumeScheduling=true|false (ALPHA - default=false)
--file-check-frequency duration     Default: 20s
Duration between checking config files for new data
--google-json-key string
The Google Cloud Platform Service Account JSON Key to use for authentication.
--hairpin-mode string     Default: "promiscuous-bridge"
How should the kubelet setup hairpin NAT. This allows endpoints of a Service to loadbalance back to themselves if they should try to access their own Service. Valid values are "promiscuous-bridge", "hairpin-veth" and "none".
--healthz-bind-address 0.0.0.0     Default: 127.0.0.1
The IP address for the healthz server to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)
--healthz-port int32     Default: 10248
The port of the localhost healthz endpoint (set to 0 to disable)
--host-ipc-sources stringSlice     Default: [*]
Comma-separated list of sources from which the Kubelet allows pods to use the host ipc namespace.
--host-network-sources stringSlice     Default: [*]
Comma-separated list of sources from which the Kubelet allows pods to use of host network.
--host-pid-sources stringSlice     Default: [*]
Comma-separated list of sources from which the Kubelet allows pods to use the host pid namespace.
--hostname-override string
If non-empty, will use this string as identification instead of the actual hostname.
--http-check-frequency duration     Default: 20s
Duration between checking http for new data
--image-gc-high-threshold int32     Default: 85
The percent of disk usage after which image garbage collection is always run.
--image-gc-low-threshold int32     Default: 80
The percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to.
--image-pull-progress-deadline duration     Default: 1m0s
If no pulling progress is made before this deadline, the image pulling will be cancelled.
--image-service-endpoint string
[Experimental] The endpoint of remote image service. If not specified, it will be the same with container-runtime-endpoint by default. Currently unix socket is supported on Linux, and tcp is supported on windows. Examples:'unix:///var/run/dockershim.sock', 'tcp://localhost:3735'
--iptables-drop-bit int32     Default: 15
The bit of the fwmark space to mark packets for dropping. Must be within the range [0, 31].
--iptables-masquerade-bit int32     Default: 14
The bit of the fwmark space to mark packets for SNAT. Must be within the range [0, 31]. Please match this parameter with corresponding parameter in kube-proxy.
--kube-api-burst int32     Default: 10
Burst to use while talking with kubernetes apiserver
--kube-api-content-type string     Default: "application/vnd.kubernetes.protobuf"
Content type of requests sent to apiserver.
--kube-api-qps int32     Default: 5
QPS to use while talking with kubernetes apiserver
--kube-reserved mapStringString
A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=500Mi,ephemeral-storage=1Gi) pairs that describe resources reserved for kubernetes system components. Currently cpu, memory and local ephemeral storage for root file system are supported. See http://kubernetes.io/docs/user-guide/compute-resources for more detail. [default=none]
--kube-reserved-cgroup string
Absolute name of the top level cgroup that is used to manage kubernetes components for which compute resources were reserved via '--kube-reserved' flag. Ex. '/kube-reserved'. [default='']
--kubeconfig string     Default: "/var/lib/kubelet/kubeconfig"
Path to a kubeconfig file, specifying how to connect to the API server.
--kubelet-cgroups string
Optional absolute name of cgroups to create and run the Kubelet in.
--lock-file string
The path to file for kubelet to use as a lock file.
--make-iptables-util-chains     Default: true
If true, kubelet will ensure iptables utility rules are present on host.
--manifest-url string
URL for accessing the container manifest
--manifest-url-header --manifest-url-header 'a:hello,b:again,c:world' --manifest-url-header 'b:beautiful'
Comma-separated list of HTTP headers to use when accessing the manifest URL. Multiple headers with the same name will be added in the same order provided. This flag can be repeatedly invoked. For example: --manifest-url-header 'a:hello,b:again,c:world' --manifest-url-header 'b:beautiful'
--max-open-files int     Default: 1000000
Number of files that can be opened by Kubelet process.
--max-pods int32     Default: 110
Number of Pods that can run on this Kubelet.
--minimum-image-ttl-duration duration     Default: 2m0s
Minimum age for an unused image before it is garbage collected. Examples: '300ms', '10s' or '2h45m'.
--network-plugin string
The name of the network plugin to be invoked for various events in kubelet/pod lifecycle
--network-plugin-mtu int32
The MTU to be passed to the network plugin, to override the default. Set to 0 to use the default 1460 MTU.
--node-ip string
IP address of the node. If set, kubelet will use this IP address for the node
--node-labels mapStringString
Labels to add when registering the node in the cluster. Labels must be key=value pairs separated by ','.
--node-status-update-frequency duration     Default: 10s
Specifies how often kubelet posts node status to master. Note: be cautious when changing the constant, it must work with nodeMonitorGracePeriod in nodecontroller.
--oom-score-adj int32     Default: -999
The oom-score-adj value for kubelet process. Values must be within the range [-1000, 1000]
--pod-cidr string
The CIDR to use for pod IP addresses, only used in standalone mode. In cluster mode, this is obtained from the master.
--pod-infra-container-image string     Default: "gcr.io/google_containers/pause-amd64:3.1"
The image whose network/ipc namespaces containers in each pod will use.
--pod-manifest-path string
Path to the directory containing pod manifest files to run, or the path to a single pod manifest file. Files starting with dots will be ignored.
--pods-per-core int32
Number of Pods per core that can run on this Kubelet. The total number of Pods on this Kubelet cannot exceed max-pods, so max-pods will be used if this calculation results in a larger number of Pods allowed on the Kubelet. A value of 0 disables this limit.
--port int32     Default: 10250
The port for the Kubelet to serve on.
--protect-kernel-defaults
Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults.
--provider-id string
Unique identifier for identifying the node in a machine database, i.e cloudprovider
--read-only-port int32     Default: 10255
The read-only port for the Kubelet to serve on with no authentication/authorization (set to 0 to disable)
--really-crash-for-testing
If true, when panics occur crash. Intended for testing.
--register-node     Default: true
Register the node with the apiserver. If --kubeconfig is not provided, this flag is irrelevant, as the Kubelet won't have an apiserver to register with. Default=true.
--register-with-taints []api.Taint
Register the node with the given list of taints (comma separated "=:"). No-op if register-node is false.
--registry-burst int32     Default: 10
Maximum size of a bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry-qps. Only used if --registry-qps > 0
--registry-qps int32     Default: 5
If > 0, limit registry pull QPS to this value. If 0, unlimited.
--resolv-conf string     Default: "/etc/resolv.conf"
Resolver configuration file used as the basis for the container DNS resolution configuration.
--rkt-api-endpoint string     Default: "localhost:15441"
The endpoint of the rkt API service to communicate with. Only used if --container-runtime='rkt'.
--rkt-path string
Path of rkt binary. Leave empty to use the first rkt in $PATH. Only used if --container-runtime='rkt'.
--root-dir string     Default: "/var/lib/kubelet"
Directory path for managing kubelet files (volume mounts,etc).
--rotate-certificates
Auto rotate the kubelet client certificates by requesting new certificates from the kube-apiserver when the certificate expiration approaches.
--runonce
If true, exit after spawning pods from local manifests or remote urls. Exclusive with --enable-server
--runtime-cgroups string
Optional absolute name of cgroups to create and run the runtime in.
--runtime-request-timeout duration     Default: 2m0s
Timeout of all runtime requests except long running request - pull, logs, exec and attach. When timeout exceeded, kubelet will cancel the request, throw out an error and retry later.
--seccomp-profile-root string     Default: "/var/lib/kubelet/seccomp"
Directory path for seccomp profiles.
--serialize-image-pulls     Default: true
Pull images one at a time. We recommend *not* changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Issue #10959 has more details.
--streaming-connection-idle-timeout duration     Default: 4h0m0s
Maximum time a streaming connection can be idle before the connection is automatically closed. 0 indicates no timeout. Example: '5m'
--sync-frequency duration     Default: 1m0s
Max period between synchronizing running containers and config
--system-cgroups /
Optional absolute name of cgroups in which to place all non-kernel processes that are not already inside a cgroup under /. Empty for no container. Rolling back the flag requires a reboot.
--system-reserved mapStringString
A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=500Mi,ephemeral-storage=1Gi) pairs that describe resources reserved for non-kubernetes components. Currently only cpu and memory are supported. See http://kubernetes.io/docs/user-guide/compute-resources for more detail. [default=none]
--system-reserved-cgroup string
Absolute name of the top level cgroup that is used to manage non-kubernetes components for which compute resources were reserved via '--system-reserved' flag. Ex. '/system-reserved'. [default='']
--tls-cert-file string
File containing x509 Certificate used for serving HTTPS (with intermediate certs, if any, concatenated after server cert). If --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory passed to --cert-dir.
--tls-private-key-file string
File containing x509 private key matching --tls-cert-file.Maximum number of seconds between log flushes
--version version[=true]
Print version information and quit
--volume-plugin-dir string     Default: "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"
The full path of the directory in which to search for additional third party volume plugins
--volume-stats-agg-period duration     Default: 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.Print version information and quit
+ + + diff --git a/content/en/docs/reference/federation/extensions/v1beta1/definitions.html b/content/en/docs/reference/federation/extensions/v1beta1/definitions.html index cdeef7b790..f3bafaf149 100755 --- a/content/en/docs/reference/federation/extensions/v1beta1/definitions.html +++ b/content/en/docs/reference/federation/extensions/v1beta1/definitions.html @@ -683,6 +683,13 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

integer (int32)

+ +

conditions

+

Represents the latest available observations of a DaemonSet’s current state.

+

false

+

v1beta1.DaemonSetCondition array

+ + @@ -1984,7 +1991,7 @@ Populated by the system. Read-only. Null for lists. More info:

deletionTimestamp

-

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
+

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.

Populated by the system when a graceful deletion is requested. Read-only. More info:
https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata

false

@@ -2309,7 +2316,7 @@ When an object is created, the system will populate this list with the current s

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).

+

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

@@ -2323,14 +2330,14 @@ When an object is created, the system will populate this list with the current s

lun

-

iSCSI target lun number.

+

iSCSI Target Lun number.

true

integer (int32)

iscsiInterface

-

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

+

iSCSI Interface Name that uses an iSCSI transport. Defaults to default (tcp).

false

string

@@ -2351,7 +2358,7 @@ When an object is created, the system will populate this list with the current s

portals

-

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

+

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

false

string array

@@ -2372,14 +2379,14 @@ When an object is created, the system will populate this list with the current s

secretRef

-

CHAP secret for iSCSI target and initiator authentication

+

CHAP Secret for iSCSI target and initiator authentication

false

v1.LocalObjectReference

initiatorName

-

Custom iSCSI initiator name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface <target portal>:<volume name> will be created for the connection.

+

Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface <target portal>:<volume name> will be created for the connection.

false

string

@@ -2557,8 +2564,8 @@ When an object is created, the system will populate this list with the current s

topologyKey

-

This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. For PreferredDuringScheduling pod anti-affinity, empty topologyKey is interpreted as "all topologies" ("all topologies" here means all the topologyKeys indicated by scheduler command-line argument --failure-domains); for affinity and for RequiredDuringScheduling pod anti-affinity, empty topologyKey is not allowed.

-

false

+

This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.

+

true

string

@@ -2591,7 +2598,7 @@ When an object is created, the system will populate this list with the current s

prefix

-

An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.

+

An optional identifer to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.

false

string

@@ -2880,7 +2887,7 @@ When an object is created, the system will populate this list with the current s

v1.FlexVolumeSource

-

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

+

FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.

@@ -3305,7 +3312,7 @@ When an object is created, the system will populate this list with the current s - + @@ -3478,7 +3485,7 @@ When an object is created, the system will populate this list with the current s - + @@ -4076,7 +4083,7 @@ When an object is created, the system will populate this list with the current s - + @@ -4207,6 +4214,13 @@ When an object is created, the system will populate this list with the current s + + + + + + +

propagationPolicy

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: Orphan - orphan the dependents; Background - allow the garbage collector to delete the dependents in the background; Foreground - a cascading policy that deletes all dependents in the foreground.

false

v1.DeletionPropagation

flexVolume

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

FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.

false

v1.FlexVolumeSource

dnsPolicy

Set DNS policy for containers within the pod. One of ClusterFirstWithHostNet, ClusterFirst or Default. Defaults to "ClusterFirst". To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to ClusterFirstWithHostNet.

Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are ClusterFirstWithHostNet, ClusterFirst, Default or None. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to ClusterFirstWithHostNet. Note that None policy is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it.

false

string

integer (int32)

dnsConfig

Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. This is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it.

false

v1.PodDNSConfig

@@ -5026,6 +5040,54 @@ Examples:
+
+
+

v1.PodDNSConfig

+
+

PodDNSConfig defines the DNS parameters of a pod in addition to those generated from DNSPolicy.

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

nameservers

A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.

false

string array

searches

A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.

false

string array

options

A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.

false

v1.PodDNSConfigOption array

+

v1beta1.ScaleStatus

@@ -5775,6 +5837,13 @@ Both these may change in the future. Incoming requests are matched against the h +

volumeDevices

+

volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future.

+

false

+

v1.VolumeDevice array

+ + +

livenessProbe

Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

false

@@ -6139,6 +6208,47 @@ Both these may change in the future. Incoming requests are matched against the h +
+
+

v1.VolumeDevice

+
+

volumeDevice describes a mapping of a raw block device within a container.

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

name

name must match the name of a persistentVolumeClaim in the pod

true

string

devicePath

devicePath is the path inside of the container that the device will be mapped to.

true

string

+

v1.NodeSelectorRequirement

@@ -6341,6 +6451,47 @@ Both these may change in the future. Incoming requests are matched against the h +
+
+

v1.PodDNSConfigOption

+
+

PodDNSConfigOption defines DNS resolver options of a pod.

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

name

Required.

false

string

value

false

string

+

v1beta1.DaemonSet

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

v1beta1.DaemonSetCondition

+
+

DaemonSetCondition describes the state of a DaemonSet at a certain point.

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

type

Type of DaemonSet condition.

true

string

status

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

true

string

lastTransitionTime

Last time the condition transitioned from one status to another.

false

string

reason

The reason for the condition’s last transition.

false

string

message

A human readable message indicating details about the transition.

false

string

+

v1.ConfigMapKeySelector

diff --git a/content/en/docs/reference/federation/extensions/v1beta1/operations.html b/content/en/docs/reference/federation/extensions/v1beta1/operations.html index 26449a64e5..1818797217 100755 --- a/content/en/docs/reference/federation/extensions/v1beta1/operations.html +++ b/content/en/docs/reference/federation/extensions/v1beta1/operations.html @@ -1787,7 +1787,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

QueryParameter

propagationPolicy

-

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

+

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: Orphan - orphan the dependents; Background - allow the garbage collector to delete the dependents in the background; Foreground - a cascading policy that deletes all dependents in the foreground.

false

string

@@ -3209,7 +3209,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

QueryParameter

propagationPolicy

-

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

+

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: Orphan - orphan the dependents; Background - allow the garbage collector to delete the dependents in the background; Foreground - a cascading policy that deletes all dependents in the foreground.

false

string

@@ -5152,7 +5152,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

QueryParameter

propagationPolicy

-

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

+

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: Orphan - orphan the dependents; Background - allow the garbage collector to delete the dependents in the background; Foreground - a cascading policy that deletes all dependents in the foreground.

false

string

@@ -6574,7 +6574,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

QueryParameter

propagationPolicy

-

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

+

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: Orphan - orphan the dependents; Background - allow the garbage collector to delete the dependents in the background; Foreground - a cascading policy that deletes all dependents in the foreground.

false

string

diff --git a/content/en/docs/reference/federation/v1/definitions.html b/content/en/docs/reference/federation/v1/definitions.html index ca4e573991..82a8434e74 100755 --- a/content/en/docs/reference/federation/v1/definitions.html +++ b/content/en/docs/reference/federation/v1/definitions.html @@ -1030,6 +1030,48 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

string

+ +

eventTime

+

Time when this Event was first observed.

+

false

+

string

+ + + +

series

+

Data about the Event series this event represents or nil if it’s a singleton Event.

+

false

+

v1.EventSeries

+ + + +

action

+

What action was taken/failed regarding to the Regarding object.

+

false

+

string

+ + + +

related

+

Optional secondary object for more complex actions.

+

false

+

v1.ObjectReference

+ + + +

reportingComponent

+

Name of the controller that emitted this Event, e.g. kubernetes.io/kubelet.

+

true

+

string

+ + + +

reportingInstance

+

ID of the controller instance, e.g. kubelet-xyzf.

+

true

+

string

+ + @@ -1385,7 +1427,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

propagationPolicy

-

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

+

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: Orphan - orphan the dependents; Background - allow the garbage collector to delete the dependents in the background; Foreground - a cascading policy that deletes all dependents in the foreground.

false

v1.DeletionPropagation

@@ -1393,6 +1435,54 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } +
+
+

v1.EventSeries

+
+

EventSeries contain information on series of events, i.e. thing that was/is happening continously for some time.

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

count

Number of occurrences in this series up to the last heartbeat time

false

integer (int32)

lastObservedTime

Time of the last occurence observed

false

string

state

State of this Series: Ongoing or Finished

false

string

+

v1.StatusDetails

@@ -1509,7 +1599,14 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

data

-

Data contains the configuration data. Each key must consist of alphanumeric characters, -, _ or ..

+

Data contains the configuration data. Each key must consist of alphanumeric characters, -, _ or .. Values with non-UTF-8 byte sequences must use the BinaryData field. The keys stored in Data must not overlap with the keys in the BinaryData field, this is enforced during validation process.

+

false

+

object

+ + + +

binaryData

+

BinaryData contains the binary data. Each key must consist of alphanumeric characters, -, _ or .. BinaryData can contain byte sequences that are not in the UTF-8 range. The keys stored in BinaryData must not overlap with the ones in the Data field, this is enforced during validation process. Using this field will require 1.10+ apiserver and kubelet.

false

object

@@ -1945,7 +2042,7 @@ Populated by the system. Read-only. Null for lists. More info:

deletionTimestamp

-

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
+

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.

Populated by the system when a graceful deletion is requested. Read-only. More info:
https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata

false

@@ -2267,7 +2364,7 @@ When an object is created, the system will populate this list with the current s

externalName

-

externalName is the external reference that kubedns or equivalent will return as a CNAME record for this service. No proxying will be involved. Must be a valid DNS name and requires Type to be ExternalName.

+

externalName is the external reference that kubedns or equivalent will return as a CNAME record for this service. No proxying will be involved. Must be a valid RFC-1123 hostname (https://tools.ietf.org/html/rfc1123) and requires Type to be ExternalName.

false

string

diff --git a/content/en/docs/reference/federation/v1/operations.html b/content/en/docs/reference/federation/v1/operations.html index eef0937454..98a18c2278 100755 --- a/content/en/docs/reference/federation/v1/operations.html +++ b/content/en/docs/reference/federation/v1/operations.html @@ -1908,7 +1908,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

QueryParameter

propagationPolicy

-

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

+

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: Orphan - orphan the dependents; Background - allow the garbage collector to delete the dependents in the background; Foreground - a cascading policy that deletes all dependents in the foreground.

false

string

@@ -2946,7 +2946,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

QueryParameter

propagationPolicy

-

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

+

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: Orphan - orphan the dependents; Background - allow the garbage collector to delete the dependents in the background; Foreground - a cascading policy that deletes all dependents in the foreground.

false

string

@@ -3984,7 +3984,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

QueryParameter

propagationPolicy

-

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

+

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: Orphan - orphan the dependents; Background - allow the garbage collector to delete the dependents in the background; Foreground - a cascading policy that deletes all dependents in the foreground.

false

string

@@ -5022,7 +5022,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

QueryParameter

propagationPolicy

-

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

+

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: Orphan - orphan the dependents; Background - allow the garbage collector to delete the dependents in the background; Foreground - a cascading policy that deletes all dependents in the foreground.

false

string

@@ -5941,7 +5941,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

QueryParameter

propagationPolicy

-

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

+

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: Orphan - orphan the dependents; Background - allow the garbage collector to delete the dependents in the background; Foreground - a cascading policy that deletes all dependents in the foreground.

false

string

diff --git a/content/en/docs/reference/kubectl/kubectl.md b/content/en/docs/reference/kubectl/kubectl.md index dd968f8e3f..923ad9a84c 100755 --- a/content/en/docs/reference/kubectl/kubectl.md +++ b/content/en/docs/reference/kubectl/kubectl.md @@ -2,6 +2,7 @@ title: kubectl notitle: true --- + ## kubectl kubectl controls the Kubernetes cluster manager @@ -36,13 +37,11 @@ kubectl [flags] --logtostderr log to standard error instead of files --match-server-version Require server version to match client version -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") -s, --server string The address and port of the Kubernetes API server --stderrthreshold severity logs at or above this threshold go to stderr (default 2) --token string Bearer token for authentication to the API server --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -v, --v Level log level for V logs --vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging ``` @@ -51,6 +50,7 @@ kubectl [flags] * [kubectl alpha](kubectl_alpha.md) - Commands for features in alpha * [kubectl annotate](kubectl_annotate.md) - Update the annotations on a resource +* [kubectl api-resources](kubectl_api-resources.md) - Print the supported API resources on the server * [kubectl api-versions](kubectl_api-versions.md) - Print the supported API versions on the server, in the form of "group/version" * [kubectl apply](kubectl_apply.md) - Apply a configuration to a resource by filename or stdin * [kubectl attach](kubectl_attach.md) - Attach to a running container @@ -80,7 +80,6 @@ kubectl [flags] * [kubectl port-forward](kubectl_port-forward.md) - Forward one or more local ports to a pod * [kubectl proxy](kubectl_proxy.md) - Run a proxy to the Kubernetes API server * [kubectl replace](kubectl_replace.md) - Replace a resource by filename or stdin -* [kubectl rolling-update](kubectl_rolling-update.md) - Perform a rolling update of the given ReplicationController * [kubectl rollout](kubectl_rollout.md) - Manage the rollout of a resource * [kubectl run](kubectl_run.md) - Run a particular image on the cluster * [kubectl scale](kubectl_scale.md) - Set a new size for a Deployment, ReplicaSet, Replication Controller, or Job @@ -89,5 +88,6 @@ kubectl [flags] * [kubectl top](kubectl_top.md) - Display Resource (CPU/Memory/Storage) usage. * [kubectl uncordon](kubectl_uncordon.md) - Mark node as schedulable * [kubectl version](kubectl_version.md) - Print the client and server version information +* [kubectl wait](kubectl_wait.md) - Experimental: Wait for one condition on one or many resources -###### Auto generated by spf13/cobra on 25-Mar-2018 +###### Auto generated by spf13/cobra on 16-Jun-2018 diff --git a/content/en/docs/reference/kubectl/overview.md b/content/en/docs/reference/kubectl/overview.md index 4a80a4573b..dba8ea36a4 100644 --- a/content/en/docs/reference/kubectl/overview.md +++ b/content/en/docs/reference/kubectl/overview.md @@ -203,15 +203,18 @@ submit-queue 610995 This means that for any given resource, the server will return columns and rows relevant to that resource, for the client to print. This allows for consistent human-readable output across clients used against the same cluster, by having the server encapsulate the details of printing. -To output object information using this feature, you can add the `--experimental-server-print` flag to a supported `kubectl` command. +This feature is enabled by default in `kubectl` 1.11 and higher. To disable it, add the +`--server-print=false` flag to the `kubectl get` command. ##### Examples +To print information about the status of a pod, use a command like the following: + ```shell -$ kubectl get pods --experimental-server-print +kubectl get pods --server-print=false ``` -The result of running this command is: +Output looks like this: ```shell NAME READY STATUS RESTARTS AGE diff --git a/content/en/docs/reference/kubernetes-api/index.md b/content/en/docs/reference/kubernetes-api/index.md index 3d693134b1..8c2c6fab83 100644 --- a/content/en/docs/reference/kubernetes-api/index.md +++ b/content/en/docs/reference/kubernetes-api/index.md @@ -1,5 +1,5 @@ --- -title: v1.10 +title: v1.11 --- -[Kubernetes API v1.10](/docs/reference/generated/kubernetes-api/v1.10/) +[Kubernetes API v1.11](/docs/reference/generated/kubernetes-api/v1.11/) diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm.md index 4dfddf9c61..9c36cd372e 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm.md @@ -39,7 +39,7 @@ Example usage: ### Options - +
@@ -50,7 +50,7 @@ Example usage: - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha.md index 63bcf58f03..def246a453 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha.md @@ -8,7 +8,7 @@ Experimental sub-commands not yet fully functional. ### Options -
-h, --help
help for kubeadmhelp for kubeadm
+
@@ -19,7 +19,7 @@ Experimental sub-commands not yet fully functional. - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase.md index f72c52b0dc..aa175471ca 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase.md @@ -8,7 +8,7 @@ This command is not meant to be run on its own. See list of available subcommand ### Options -
-h, --help
help for alphahelp for alpha
+
@@ -19,7 +19,7 @@ This command is not meant to be run on its own. See list of available subcommand - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon.md index f293951dbd..52689eee0c 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon.md @@ -8,7 +8,7 @@ This command is not meant to be run on its own. See list of available subcommand ### Options -
-h, --help
help for phasehelp for phase
+
@@ -19,7 +19,7 @@ This command is not meant to be run on its own. See list of available subcommand - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_all.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_all.md index c83bbda153..29655fd8c6 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_all.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_all.md @@ -4,8 +4,7 @@ Installs all addons to a Kubernetes cluster ### Synopsis -Installs the kube-dns and the kube-proxys addons components via the API server. -Please note that although the DNS server is deployed, it will not be scheduled until CNI is installed. +Installs the CoreDNS and the kube-proxys addons components via the API server. Please note that although the DNS server is deployed, it will not be scheduled until CNI is installed. Alpha Disclaimer: this command is currently alpha. @@ -16,7 +15,7 @@ kubeadm alpha phase addon all [flags] ### Examples ``` - # Installs the kube-dns and the kube-proxys addons components via the API server, + # Installs the CoreDNS and the kube-proxys addons components via the API server, # functionally equivalent to what installed by kubeadm init. kubeadm alpha phase selfhosting from-staticpods @@ -24,7 +23,7 @@ kubeadm alpha phase addon all [flags] ### Options -
-h, --help
help for addonhelp for addon
+
@@ -35,77 +34,77 @@ kubeadm alpha phase addon all [flags] - + - + - + - + - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_coredns.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_coredns.md new file mode 100644 index 0000000000..0c17c292f3 --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_coredns.md @@ -0,0 +1,84 @@ + +Installs the CoreDNS addon to a Kubernetes cluster + +### Synopsis + + +Installs the CoreDNS addon components via the API server. Please note that although the DNS server is deployed, it will not be scheduled until CNI is installed. + +Alpha Disclaimer: this command is currently alpha. + +``` +kubeadm alpha phase addon coredns [flags] +``` + +### Options + +
--apiserver-advertise-address string
The IP address or DNS name the API server is accessible onThe IP address the API server is accessible on
--apiserver-bind-port int32     Default: 6443
The port the API server is accessible onThe port the API server is accessible on
--config string
Path to a kubeadm config file. WARNING: Usage of a configuration file is experimental!Path to a kubeadm config file. WARNING: Usage of a configuration file is experimental
--feature-gates string
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (BETA - default=false)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
-h, --help
help for allhelp for all
--image-repository string     Default: "k8s.gcr.io"
Choose a container registry to pull control plane images fromChoose a container registry to pull control plane images from
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
--kubernetes-version string     Default: "stable-1.10"
Choose a specific Kubernetes version for the control planeChoose a specific Kubernetes version for the control plane
--pod-network-cidr string
The range of IP addresses used for the Pod networkThe range of IP addresses used for the Pod network
--service-cidr string     Default: "10.96.0.0/12"
The range of IP address used for service VIPsThe range of IP address used for service VIPs
--service-dns-domain string     Default: "cluster.local"
Alternative domain for servicesAlternative domain for services
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
--config string
Path to a kubeadm config file. WARNING: Usage of a configuration file is experimental
--feature-gates string
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
-h, --help
help for coredns
--image-repository string     Default: "k8s.gcr.io"
Choose a container registry to pull control plane images from
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster
--kubernetes-version string     Default: "stable-1.10"
Choose a specific Kubernetes version for the control plane
--service-cidr string     Default: "10.96.0.0/12"
The range of IP address used for service VIPs
--service-dns-domain string     Default: "cluster.local"
Alternative domain for services
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_kube-proxy.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_kube-proxy.md index 534834950b..40d91010cb 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_kube-proxy.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_kube-proxy.md @@ -14,7 +14,7 @@ kubeadm alpha phase addon kube-proxy [flags] ### Options - +
@@ -25,56 +25,56 @@ kubeadm alpha phase addon kube-proxy [flags] - + - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token.md index 8629089198..491ef4d66c 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token.md @@ -8,7 +8,7 @@ This command is not meant to be run on its own. See list of available subcommand ### Options -
--apiserver-advertise-address string
The IP address or DNS name the API server is accessible onThe IP address the API server is accessible on
--apiserver-bind-port int32     Default: 6443
The port the API server is accessible onThe port the API server is accessible on
--config string
Path to a kubeadm config file. WARNING: Usage of a configuration file is experimental!Path to a kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for kube-proxyhelp for kube-proxy
--image-repository string     Default: "k8s.gcr.io"
Choose a container registry to pull control plane images fromChoose a container registry to pull control plane images from
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
--kubernetes-version string     Default: "stable-1.10"
Choose a specific Kubernetes version for the control planeChoose a specific Kubernetes version for the control plane
--pod-network-cidr string
The range of IP addresses used for the Pod networkThe range of IP addresses used for the Pod network
+
@@ -19,14 +19,14 @@ This command is not meant to be run on its own. See list of available subcommand - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_all.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_all.md index a595bd4b98..dd131e37d7 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_all.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_all.md @@ -24,7 +24,7 @@ kubeadm alpha phase bootstrap-token all [flags] ### Options -
-h, --help
help for bootstrap-tokenhelp for bootstrap-token
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
+
@@ -35,56 +35,56 @@ kubeadm alpha phase bootstrap-token all [flags] - + - + - + - + - + - + - + - + - + - + @@ -94,7 +94,7 @@ kubeadm alpha phase bootstrap-token all [flags] ### Options inherited from parent commands -
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
--description string     Default: "The default bootstrap token generated by 'kubeadm init'."--description string
A human friendly description of how this token is used.A human friendly description of how this token is used.
--groups stringSlice     Default: [system:bootstrappers:kubeadm:default-node-token]
Extra groups that this token will authenticate as when used for authentication. Must match "system:bootstrappers:[a-z0-9:-]{0,255}[a-z0-9]"Extra groups that this token will authenticate as when used for authentication. Must match "\\Asystem:bootstrappers:[a-z0-9:-]{0,255}[a-z0-9]\\z"
-h, --help
help for allhelp for all
--skip-token-print
Skip printing of the bootstrap tokenSkip printing of the bootstrap token
--token string
The token to use for establishing bidirectional trust between nodes and mastersThe token to use for establishing bidirectional trust between nodes and masters. The format is [a-z0-9]{6}\.[a-z0-9]{16} - e.g. abcdef.0123456789abcdef
--ttl duration     Default: 24h0m0s--token-ttl duration     Default: 24h0m0s
The duration before the token is automatically deleted (e.g. 1s, 2m, 3h). If set to '0', the token will never expireThe duration before the token is automatically deleted (e.g. 1s, 2m, 3h). If set to '0', the token will never expire
--usages stringSlice     Default: [signing,authentication]
Describes the ways in which this token can be used. You can pass --usages multiple times or provide a comma separated list of options. Valid options: [signing,authentication]Describes the ways in which this token can be used. You can pass --usages multiple times or provide a comma separated list of options. Valid options: [signing,authentication]
+
@@ -105,7 +105,7 @@ kubeadm alpha phase bootstrap-token all [flags] - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_cluster-info.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_cluster-info.md index f8ad6866e3..9e812e0916 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_cluster-info.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_cluster-info.md @@ -16,7 +16,7 @@ kubeadm alpha phase bootstrap-token cluster-info [flags] ### Options -
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
+
@@ -27,7 +27,7 @@ kubeadm alpha phase bootstrap-token cluster-info [flags] - + @@ -37,7 +37,7 @@ kubeadm alpha phase bootstrap-token cluster-info [flags] ### Options inherited from parent commands -
-h, --help
help for cluster-infohelp for cluster-info
+
@@ -48,7 +48,7 @@ kubeadm alpha phase bootstrap-token cluster-info [flags] - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_create.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_create.md index 7515ef09ed..d1cdf5d181 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_create.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_create.md @@ -16,7 +16,7 @@ kubeadm alpha phase bootstrap-token create [flags] ### Options -
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
+
@@ -27,56 +27,56 @@ kubeadm alpha phase bootstrap-token create [flags] - + - + - + - + - + - + - + - + - + - + @@ -86,7 +86,7 @@ kubeadm alpha phase bootstrap-token create [flags] ### Options inherited from parent commands -
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
--description string     Default: "The default bootstrap token generated by 'kubeadm init'."--description string
A human friendly description of how this token is used.A human friendly description of how this token is used.
--groups stringSlice     Default: [system:bootstrappers:kubeadm:default-node-token]
Extra groups that this token will authenticate as when used for authentication. Must match "system:bootstrappers:[a-z0-9:-]{0,255}[a-z0-9]"Extra groups that this token will authenticate as when used for authentication. Must match "\\Asystem:bootstrappers:[a-z0-9:-]{0,255}[a-z0-9]\\z"
-h, --help
help for createhelp for create
--skip-token-print
Skip printing of the bootstrap tokenSkip printing of the bootstrap token
--token string
The token to use for establishing bidirectional trust between nodes and mastersThe token to use for establishing bidirectional trust between nodes and masters. The format is [a-z0-9]{6}\.[a-z0-9]{16} - e.g. abcdef.0123456789abcdef
--ttl duration     Default: 24h0m0s--token-ttl duration     Default: 24h0m0s
The duration before the token is automatically deleted (e.g. 1s, 2m, 3h). If set to '0', the token will never expireThe duration before the token is automatically deleted (e.g. 1s, 2m, 3h). If set to '0', the token will never expire
--usages stringSlice     Default: [signing,authentication]
Describes the ways in which this token can be used. You can pass --usages multiple times or provide a comma separated list of options. Valid options: [signing,authentication]Describes the ways in which this token can be used. You can pass --usages multiple times or provide a comma separated list of options. Valid options: [signing,authentication]
+
@@ -97,7 +97,7 @@ kubeadm alpha phase bootstrap-token create [flags] - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node.md index 0ec18d7eac..2128d7c290 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node.md @@ -8,7 +8,7 @@ This command is not meant to be run on its own. See list of available subcommand ### Options -
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
+
@@ -19,7 +19,7 @@ This command is not meant to be run on its own. See list of available subcommand - + @@ -29,7 +29,7 @@ This command is not meant to be run on its own. See list of available subcommand ### Options inherited from parent commands -
-h, --help
help for nodehelp for node
+
@@ -40,7 +40,7 @@ This command is not meant to be run on its own. See list of available subcommand - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node_allow-auto-approve.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node_allow-auto-approve.md index dcbd443e3e..1d04250869 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node_allow-auto-approve.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node_allow-auto-approve.md @@ -16,7 +16,7 @@ kubeadm alpha phase bootstrap-token node allow-auto-approve [flags] ### Options -
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
+
@@ -27,7 +27,7 @@ kubeadm alpha phase bootstrap-token node allow-auto-approve [flags] - + @@ -37,7 +37,7 @@ kubeadm alpha phase bootstrap-token node allow-auto-approve [flags] ### Options inherited from parent commands -
-h, --help
help for allow-auto-approvehelp for allow-auto-approve
+
@@ -48,7 +48,7 @@ kubeadm alpha phase bootstrap-token node allow-auto-approve [flags] - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node_allow-post-csrs.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node_allow-post-csrs.md index 7fa3f3043b..713644e273 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node_allow-post-csrs.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node_allow-post-csrs.md @@ -16,7 +16,7 @@ kubeadm alpha phase bootstrap-token node allow-post-csrs [flags] ### Options -
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
+
@@ -27,7 +27,7 @@ kubeadm alpha phase bootstrap-token node allow-post-csrs [flags] - + @@ -37,7 +37,7 @@ kubeadm alpha phase bootstrap-token node allow-post-csrs [flags] ### Options inherited from parent commands -
-h, --help
help for allow-post-csrshelp for allow-post-csrs
+
@@ -48,7 +48,7 @@ kubeadm alpha phase bootstrap-token node allow-post-csrs [flags] - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs.md index e780478c15..d7ce2c46a0 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs.md @@ -8,7 +8,7 @@ This command is not meant to be run on its own. See list of available subcommand ### Options -
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
+
@@ -19,7 +19,7 @@ This command is not meant to be run on its own. See list of available subcommand - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_all.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_all.md index b9eb8eb92e..f40cf7c054 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_all.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_all.md @@ -28,7 +28,7 @@ kubeadm alpha phase certs all [flags] ### Options -
-h, --help
help for certshelp for certs
+
@@ -39,49 +39,49 @@ kubeadm alpha phase certs all [flags] - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver-etcd-client.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver-etcd-client.md index 9968b1e833..0f93b4f2f6 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver-etcd-client.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver-etcd-client.md @@ -16,7 +16,7 @@ kubeadm alpha phase certs apiserver-etcd-client [flags] ### Options -
--apiserver-advertise-address string
The IP address the API server is accessible on, to use for the API server serving certThe IP address the API server is accessible on, to use for the API server serving cert
--apiserver-cert-extra-sans stringSlice
Optional extra altnames to use for the API server serving cert. Can be both IP addresses and dns namesOptional extra altnames to use for the API server serving cert. Can be both IP addresses and DNS names
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for allhelp for all
--service-cidr string     Default: "10.96.0.0/12"
Alternative range of IP address for service VIPs, from which derives the internal API server VIP that will be added to the API Server serving certAlternative range of IP address for service VIPs, from which derives the internal API server VIP that will be added to the API Server serving cert
--service-dns-domain string     Default: "cluster.local"
Alternative domain for services, to use for the API server serving certAlternative domain for services, to use for the API server serving cert
+
@@ -27,21 +27,21 @@ kubeadm alpha phase certs apiserver-etcd-client [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver-kubelet-client.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver-kubelet-client.md index af8d9cb7ae..9772c82378 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver-kubelet-client.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver-kubelet-client.md @@ -16,7 +16,7 @@ kubeadm alpha phase certs apiserver-kubelet-client [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for apiserver-etcd-clienthelp for apiserver-etcd-client
+
@@ -27,21 +27,21 @@ kubeadm alpha phase certs apiserver-kubelet-client [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver.md index a4c6b1d03a..6fa23650d3 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver.md @@ -18,7 +18,7 @@ kubeadm alpha phase certs apiserver [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for apiserver-kubelet-clienthelp for apiserver-kubelet-client
+
@@ -29,49 +29,49 @@ kubeadm alpha phase certs apiserver [flags] - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_ca.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_ca.md index 840a798335..2d13b77835 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_ca.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_ca.md @@ -16,7 +16,7 @@ kubeadm alpha phase certs ca [flags] ### Options -
--apiserver-advertise-address string
The IP address the API server is accessible on, to use for the API server serving certThe IP address the API server is accessible on, to use for the API server serving cert
--apiserver-cert-extra-sans stringSlice
Optional extra altnames to use for the API server serving cert. Can be both IP addresses and dns namesOptional extra altnames to use for the API server serving cert. Can be both IP addresses and DNS names
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for apiserverhelp for apiserver
--service-cidr string     Default: "10.96.0.0/12"
Alternative range of IP address for service VIPs, from which derives the internal API server VIP that will be added to the API Server serving certAlternative range of IP address for service VIPs, from which derives the internal API server VIP that will be added to the API Server serving cert
--service-dns-domain string     Default: "cluster.local"
Alternative domain for services, to use for the API server serving certAlternative domain for services, to use for the API server serving cert
+
@@ -27,21 +27,21 @@ kubeadm alpha phase certs ca [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-ca.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-ca.md index d3e04a46ac..23ccb50b8a 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-ca.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-ca.md @@ -16,7 +16,7 @@ kubeadm alpha phase certs etcd-ca [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for cahelp for ca
+
@@ -27,21 +27,21 @@ kubeadm alpha phase certs etcd-ca [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-healthcheck-client.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-healthcheck-client.md index ecc45cc06b..fa0abd61cc 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-healthcheck-client.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-healthcheck-client.md @@ -16,7 +16,7 @@ kubeadm alpha phase certs etcd-healthcheck-client [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for etcd-cahelp for etcd-ca
+
@@ -27,21 +27,21 @@ kubeadm alpha phase certs etcd-healthcheck-client [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-peer.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-peer.md index 54942af8ec..6a02d7f21f 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-peer.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-peer.md @@ -18,7 +18,7 @@ kubeadm alpha phase certs etcd-peer [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for etcd-healthcheck-clienthelp for etcd-healthcheck-client
+
@@ -29,21 +29,21 @@ kubeadm alpha phase certs etcd-peer [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-server.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-server.md index 704b0aecc9..9c7d9d95c5 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-server.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_etcd-server.md @@ -18,7 +18,7 @@ kubeadm alpha phase certs etcd-server [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for etcd-peerhelp for etcd-peer
+
@@ -29,21 +29,21 @@ kubeadm alpha phase certs etcd-server [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_front-proxy-ca.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_front-proxy-ca.md index 89d58039d6..3eed51d2ac 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_front-proxy-ca.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_front-proxy-ca.md @@ -16,7 +16,7 @@ kubeadm alpha phase certs front-proxy-ca [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for etcd-serverhelp for etcd-server
+
@@ -27,21 +27,21 @@ kubeadm alpha phase certs front-proxy-ca [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_front-proxy-client.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_front-proxy-client.md index ace2d64d1d..072d83dfdd 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_front-proxy-client.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_front-proxy-client.md @@ -16,7 +16,7 @@ kubeadm alpha phase certs front-proxy-client [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for front-proxy-cahelp for front-proxy-ca
+
@@ -27,21 +27,21 @@ kubeadm alpha phase certs front-proxy-client [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_sa.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_sa.md index 15eda50f3c..5d56ec7b5c 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_sa.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_sa.md @@ -16,7 +16,7 @@ kubeadm alpha phase certs sa [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for front-proxy-clienthelp for front-proxy-client
+
@@ -27,21 +27,21 @@ kubeadm alpha phase certs sa [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane.md index 9cd09759d5..a14adfcf44 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane.md @@ -8,7 +8,7 @@ This command is not meant to be run on its own. See list of available subcommand ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save the certificatesThe path where to save the certificates
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for sahelp for sa
+
@@ -19,7 +19,7 @@ This command is not meant to be run on its own. See list of available subcommand - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_all.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_all.md index d2fd4bc44a..0a15bced4b 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_all.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_all.md @@ -25,7 +25,7 @@ kubeadm alpha phase controlplane all [flags] ### Options -
-h, --help
help for controlplanehelp for controlplane
+
@@ -36,84 +36,84 @@ kubeadm alpha phase controlplane all [flags] - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_apiserver.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_apiserver.md index 8a8d758b89..3939b997f4 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_apiserver.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_apiserver.md @@ -1,5 +1,5 @@ -Generates the API server static Pod manifest. +Generates the API server static Pod manifest ### Synopsis @@ -14,7 +14,7 @@ kubeadm alpha phase controlplane apiserver [flags] ### Options -
--apiserver-advertise-address string
The IP address of the API server is accessible onThe IP address of the API server is accessible on
--apiserver-bind-port int32     Default: 6443
The port the API server is accessible onThe port the API server is accessible on
--apiserver-extra-args mapStringString
A set of extra flags to pass to the API Server or override default ones in form of <flagname>=<value>A set of extra flags to pass to the API Server or override default ones in form of <flagname>=<value>
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
--controller-manager-extra-args mapStringString
A set of extra flags to pass to the Controller Manager or override default ones in form of <flagname>=<value>A set of extra flags to pass to the Controller Manager or override default ones in form of <flagname>=<value>
--feature-gates string
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (BETA - default=false)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
-h, --help
help for allhelp for all
--kubernetes-version string     Default: "stable-1.10"
Choose a specific Kubernetes version for the control planeChoose a specific Kubernetes version for the control plane
--pod-network-cidr string
The range of IP addresses used for the Pod networkThe range of IP addresses used for the Pod network
--scheduler-extra-args mapStringString
A set of extra flags to pass to the Scheduler or override default ones in form of <flagname>=<value>A set of extra flags to pass to the Scheduler or override default ones in form of <flagname>=<value>
--service-cidr string     Default: "10.96.0.0/12"
The range of IP address used for service VIPsThe range of IP address used for service VIPs
+
@@ -25,63 +25,63 @@ kubeadm alpha phase controlplane apiserver [flags] - + - + - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_controller-manager.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_controller-manager.md index 85bee32946..004692b024 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_controller-manager.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_controller-manager.md @@ -1,5 +1,5 @@ -Generates the controller-manager static Pod manifest. +Generates the controller-manager static Pod manifest ### Synopsis @@ -14,7 +14,7 @@ kubeadm alpha phase controlplane controller-manager [flags] ### Options -
--apiserver-advertise-address string
The IP address of the API server is accessible onThe IP address of the API server is accessible on
--apiserver-bind-port int32     Default: 6443
The port the API server is accessible onThe port the API server is accessible on
--apiserver-extra-args mapStringString
A set of extra flags to pass to the API Server or override default ones in form of <flagname>=<value>A set of extra flags to pass to the API Server or override default ones in form of <flagname>=<value>
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
--feature-gates string
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (BETA - default=false)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
-h, --help
help for apiserverhelp for apiserver
--kubernetes-version string     Default: "stable-1.10"
Choose a specific Kubernetes version for the control planeChoose a specific Kubernetes version for the control plane
--service-cidr string     Default: "10.96.0.0/12"
The range of IP address used for service VIPsThe range of IP address used for service VIPs
+
@@ -25,42 +25,42 @@ kubeadm alpha phase controlplane controller-manager [flags] - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_scheduler.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_scheduler.md index 8c6d1daca6..d8bab2226e 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_scheduler.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_controlplane_scheduler.md @@ -1,5 +1,5 @@ -Generates the scheduler static Pod manifest. +Generates the scheduler static Pod manifest ### Synopsis @@ -14,7 +14,7 @@ kubeadm alpha phase controlplane scheduler [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
--controller-manager-extra-args mapStringString
A set of extra flags to pass to the Controller Manager or override default ones in form of <flagname>=<value>A set of extra flags to pass to the Controller Manager or override default ones in form of <flagname>=<value>
-h, --help
help for controller-managerhelp for controller-manager
--kubernetes-version string     Default: "stable-1.10"
Choose a specific Kubernetes version for the control planeChoose a specific Kubernetes version for the control plane
--pod-network-cidr string
The range of IP addresses used for the Pod networkThe range of IP addresses used for the Pod network
+
@@ -25,35 +25,35 @@ kubeadm alpha phase controlplane scheduler [flags] - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_etcd.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_etcd.md index 85cada5d43..285144797f 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_etcd.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_etcd.md @@ -8,7 +8,7 @@ This command is not meant to be run on its own. See list of available subcommand ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for schedulerhelp for scheduler
--kubernetes-version string     Default: "stable-1.10"
Choose a specific Kubernetes version for the control planeChoose a specific Kubernetes version for the control plane
--scheduler-extra-args mapStringString
A set of extra flags to pass to the Scheduler or override default ones in form of <flagname>=<value>A set of extra flags to pass to the Scheduler or override default ones in form of <flagname>=<value>
+
@@ -19,7 +19,7 @@ This command is not meant to be run on its own. See list of available subcommand - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_etcd_local.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_etcd_local.md index 9b99b855c8..d3ca8e253a 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_etcd_local.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_etcd_local.md @@ -25,7 +25,7 @@ kubeadm alpha phase etcd local [flags] ### Options -
-h, --help
help for etcdhelp for etcd
+
@@ -36,21 +36,21 @@ kubeadm alpha phase etcd local [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig.md index 9357bae592..1c7c61dd0c 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig.md @@ -8,7 +8,7 @@ This command is not meant to be run on its own. See list of available subcommand ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for localhelp for local
+
@@ -19,7 +19,7 @@ This command is not meant to be run on its own. See list of available subcommand - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_admin.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_admin.md index b3b0e8c28d..4ed4e00b13 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_admin.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_admin.md @@ -14,7 +14,7 @@ kubeadm alpha phase kubeconfig admin [flags] ### Options -
-h, --help
help for kubeconfighelp for kubeconfig
+
@@ -25,42 +25,42 @@ kubeadm alpha phase kubeconfig admin [flags] - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_all.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_all.md index cd72365ae5..fa98914fbc 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_all.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_all.md @@ -25,7 +25,7 @@ kubeadm alpha phase kubeconfig all [flags] ### Options -
--apiserver-advertise-address string
The IP address the API server is accessible onThe IP address the API server is accessible on
--apiserver-bind-port int32     Default: 6443
The port the API server is accessible onThe port the API server is accessible on
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for adminhelp for admin
--kubeconfig-dir string     Default: "/etc/kubernetes"
The port where to save the kubeconfig fileThe path where to save the kubeconfig file
+
@@ -36,49 +36,49 @@ kubeadm alpha phase kubeconfig all [flags] - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_controller-manager.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_controller-manager.md index 87a07d1bd5..6cae50ba82 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_controller-manager.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_controller-manager.md @@ -14,7 +14,7 @@ kubeadm alpha phase kubeconfig controller-manager [flags] ### Options -
--apiserver-advertise-address string
The IP address the API server is accessible onThe IP address the API server is accessible on
--apiserver-bind-port int32     Default: 6443
The port the API server is accessible onThe port the API server is accessible on
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for allhelp for all
--kubeconfig-dir string     Default: "/etc/kubernetes"
The port where to save the kubeconfig fileThe path where to save the kubeconfig file
--node-name string
The node name that should be used for the kubelet client certificateThe node name that should be used for the kubelet client certificate
+
@@ -25,42 +25,42 @@ kubeadm alpha phase kubeconfig controller-manager [flags] - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_kubelet.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_kubelet.md index 5d5129756c..9eaa2c3521 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_kubelet.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_kubelet.md @@ -1,5 +1,5 @@ -Generates a kubeconfig file for the kubelet to use. Please note that this should be used *only* for bootstrapping purposes. +Generates a kubeconfig file for the kubelet to use. Please note that this should be used *only* for bootstrapping purposes ### Synopsis @@ -16,7 +16,7 @@ kubeadm alpha phase kubeconfig kubelet [flags] ### Options -
--apiserver-advertise-address string
The IP address the API server is accessible onThe IP address the API server is accessible on
--apiserver-bind-port int32     Default: 6443
The port the API server is accessible onThe port the API server is accessible on
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for controller-managerhelp for controller-manager
--kubeconfig-dir string     Default: "/etc/kubernetes"
The port where to save the kubeconfig fileThe path where to save the kubeconfig file
+
@@ -27,49 +27,49 @@ kubeadm alpha phase kubeconfig kubelet [flags] - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_scheduler.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_scheduler.md index 5a5551d891..b98f615b0b 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_scheduler.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_scheduler.md @@ -14,7 +14,7 @@ kubeadm alpha phase kubeconfig scheduler [flags] ### Options -
--apiserver-advertise-address string
The IP address the API server is accessible onThe IP address the API server is accessible on
--apiserver-bind-port int32     Default: 6443
The port the API server is accessible onThe port the API server is accessible on
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for kubelethelp for kubelet
--kubeconfig-dir string     Default: "/etc/kubernetes"
The port where to save the kubeconfig fileThe path where to save the kubeconfig file
--node-name string
The node name that should be used for the kubelet client certificateThe node name that should be used for the kubelet client certificate
+
@@ -25,42 +25,42 @@ kubeadm alpha phase kubeconfig scheduler [flags] - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_user.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_user.md index 0813ad24ea..b2f43935eb 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_user.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_user.md @@ -21,7 +21,7 @@ kubeadm alpha phase kubeconfig user [flags] ### Options -
--apiserver-advertise-address string
The IP address the API server is accessible onThe IP address the API server is accessible on
--apiserver-bind-port int32     Default: 6443
The port the API server is accessible onThe port the API server is accessible on
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for schedulerhelp for scheduler
--kubeconfig-dir string     Default: "/etc/kubernetes"
The port where to save the kubeconfig fileThe path where to save the kubeconfig file
+
@@ -32,49 +32,56 @@ kubeadm alpha phase kubeconfig user [flags] - + - + - + - + - + - + + + + + + + + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet.md new file mode 100644 index 0000000000..726a98890c --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet.md @@ -0,0 +1,29 @@ + +Commands related to handling the kubelet. + +### Synopsis + + +This command is not meant to be run on its own. See list of available subcommands. + +### Options + +
--apiserver-advertise-address string
The IP address the API server is accessible onThe IP address the API server is accessible on
--apiserver-bind-port int32     Default: 6443
The port the API server is accessible onThe port the API server is accessible on
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--client-name string
The name of user. It will be used as the CN if client certificates are createdThe name of user. It will be used as the CN if client certificates are created
-h, --help
help for userhelp for user
--kubeconfig-dir string     Default: "/etc/kubernetes"
The port where to save the kubeconfig fileThe path where to save the kubeconfig file
--org stringSlice
The orgnizations of the client certificate. It will be used as the O if client certificates are created
--token string
The token that should be used as the authentication mechanism for this kubeconfig (instead of client certificates)The token that should be used as the authentication mechanism for this kubeconfig, instead of client certificates
+ + + + + + + + + + + + + + +
-h, --help
help for kubelet
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config.md new file mode 100644 index 0000000000..8f2958f607 --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config.md @@ -0,0 +1,29 @@ + +Handles kubelet configuration. + +### Synopsis + + +This command is not meant to be run on its own. See list of available subcommands. + +### Options + + + + + + + + + + + + + + + + +
-h, --help
help for config
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_download.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_download.md new file mode 100644 index 0000000000..d8b3b3cd5f --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_download.md @@ -0,0 +1,59 @@ + +Downloads the kubelet configuration from the cluster ConfigMap kubelet-config-1.X, where X is the minor version of the kubelet. + +### Synopsis + + +Downloads the kubelet configuration from a ConfigMap of the form "kubelet-config-1.X" in the cluster, where X is the minor version of the kubelet. Either kubeadm autodetects the kubelet version by exec-ing "kubelet --version" or respects the --kubelet-version parameter. + +Alpha Disclaimer: this command is currently alpha. + +``` +kubeadm alpha phase kubelet config download [flags] +``` + +### Examples + +``` + # Downloads the kubelet configuration from the ConfigMap in the cluster. Autodetects the kubelet version. + kubeadm alpha phase kubelet config download + + # Downloads the kubelet configuration from the ConfigMap in the cluster. Uses a specific desired kubelet version. + kubeadm alpha phase kubelet config download --kubelet-version v1.11.0 +``` + +### Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-h, --help
help for download
--kubeconfig string     Default: "/etc/kubernetes/kubelet.conf"
The KubeConfig file to use when talking to the cluster
--kubelet-version string
The desired version for the kubelet. Defaults to being autodetected from 'kubelet --version'.
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_enable-dynamic.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_enable-dynamic.md new file mode 100644 index 0000000000..56d653b7fb --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_enable-dynamic.md @@ -0,0 +1,68 @@ + +EXPERIMENTAL: Enables or updates dynamic kubelet configuration for a Node + +### Synopsis + + +Enables or updates dynamic kubelet configuration for a Node, against the kubelet-config-1.X ConfigMap in the cluster, where X is the minor version of the desired kubelet version. + +WARNING: This feature is still experimental, and disabled by default. Enable only if you know what you are doing, as it may have surprising side-effects at this stage. + +Alpha Disclaimer: this command is currently alpha. + +``` +kubeadm alpha phase kubelet config enable-dynamic [flags] +``` + +### Examples + +``` + # Enables dynamic kubelet configuration for a Node. + kubeadm alpha phase kubelet enable-dynamic-config --node-name node-1 --kubelet-version v1.11.0 + + WARNING: This feature is still experimental, and disabled by default. Enable only if you know what you are doing, as it + may have surprising side-effects at this stage. +``` + +### Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-h, --help
help for enable-dynamic
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster
--kubelet-version string
The desired version for the kubelet
--node-name string
Name of the node that should enable the dynamic kubelet configuration
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_upload.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_upload.md new file mode 100644 index 0000000000..eb56fe1d03 --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_upload.md @@ -0,0 +1,56 @@ + +Uploads kubelet configuration to a ConfigMap based on a kubeadm MasterConfiguration file. + +### Synopsis + + +Uploads kubelet configuration extracted from the kubeadm MasterConfiguration object to a ConfigMap of the form kubelet-config-1.X in the cluster, where X is the minor version of the current (API Server) Kubernetes version. + +Alpha Disclaimer: this command is currently alpha. + +``` +kubeadm alpha phase kubelet config upload [flags] +``` + +### Examples + +``` + # Uploads the kubelet configuration from the kubeadm Config file to a ConfigMap in the cluster. + kubeadm alpha phase kubelet config upload --config kubeadm.yaml +``` + +### Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)
-h, --help
help for upload
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_write-to-disk.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_write-to-disk.md new file mode 100644 index 0000000000..09bcad8394 --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_config_write-to-disk.md @@ -0,0 +1,49 @@ + +Writes kubelet configuration to disk, either based on the --config argument. + +### Synopsis + + +Writes kubelet configuration to disk, based on the kubeadm configuration passed via "--config". + +Alpha Disclaimer: this command is currently alpha. + +``` +kubeadm alpha phase kubelet config write-to-disk [flags] +``` + +### Examples + +``` + # Extracts the kubelet configuration from a kubeadm configuration file + kubeadm alpha phase kubelet config write-to-disk --config kubeadm.yaml +``` + +### Options + + + + + + + + + + + + + + + + + + + + + + + +
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)
-h, --help
help for write-to-disk
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_write-env-file.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_write-env-file.md new file mode 100644 index 0000000000..7dc61eabb9 --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubelet_write-env-file.md @@ -0,0 +1,52 @@ + +Writes an environment file with runtime flags for the kubelet. + +### Synopsis + + +Writes an environment file with flags that should be passed to the kubelet executing on the master or node. This --config flag can either consume a MasterConfiguration object or a NodeConfiguration one, as this function is used for both "kubeadm init" and "kubeadm join". + +Alpha Disclaimer: this command is currently alpha. + +``` +kubeadm alpha phase kubelet write-env-file [flags] +``` + +### Examples + +``` + # Writes a dynamic environment file with kubelet flags from a MasterConfiguration file. + kubeadm alpha phase kubelet write-env-file --config masterconfig.yaml + + # Writes a dynamic environment file with kubelet flags from a NodeConfiguration file. + kubeadm alpha phase kubelet write-env-file --config nodeConfig.yaml +``` + +### Options + + + + + + + + + + + + + + + + + + + + + + + +
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)
-h, --help
help for write-env-file
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_mark-master.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_mark-master.md index f1df1a88c6..9c456dd483 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_mark-master.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_mark-master.md @@ -24,7 +24,7 @@ kubeadm alpha phase mark-master [flags] ### Options - +
@@ -35,28 +35,28 @@ kubeadm alpha phase mark-master [flags] - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight.md index 5156b96fd9..b47c3938c3 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight.md @@ -8,7 +8,7 @@ This command is not meant to be run on its own. See list of available subcommand ### Options -
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for mark-masterhelp for mark-master
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
--node-name string
The node name to which label and taints should applyThe node name to which label and taints should apply
+
@@ -19,7 +19,7 @@ This command is not meant to be run on its own. See list of available subcommand - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight_master.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight_master.md index b42b1bc7c2..2a84b5a9c3 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight_master.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight_master.md @@ -21,7 +21,7 @@ kubeadm alpha phase preflight master [flags] ### Options -
-h, --help
help for preflighthelp for preflight
+
@@ -32,7 +32,7 @@ kubeadm alpha phase preflight master [flags] - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight_node.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight_node.md index 34a2ee9873..973c743a4c 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight_node.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_preflight_node.md @@ -21,7 +21,7 @@ kubeadm alpha phase preflight node [flags] ### Options -
-h, --help
help for masterhelp for master
+
@@ -32,7 +32,7 @@ kubeadm alpha phase preflight node [flags] - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_selfhosting.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_selfhosting.md index 1815a4afa1..85f87530d2 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_selfhosting.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_selfhosting.md @@ -8,7 +8,7 @@ This command is not meant to be run on its own. See list of available subcommand ### Options -
-h, --help
help for nodehelp for node
+
@@ -19,7 +19,7 @@ This command is not meant to be run on its own. See list of available subcommand - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_selfhosting_convert-from-staticpods.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_selfhosting_convert-from-staticpods.md index 548f4a3a42..76e16d03e0 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_selfhosting_convert-from-staticpods.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_selfhosting_convert-from-staticpods.md @@ -26,7 +26,7 @@ kubeadm alpha phase selfhosting convert-from-staticpods [flags] ### Options -
-h, --help
help for selfhostinghelp for selfhosting
+
@@ -37,35 +37,35 @@ kubeadm alpha phase selfhosting convert-from-staticpods [flags] - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_upload-config.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_upload-config.md index 8ba97c8914..c9b013f934 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_upload-config.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_upload-config.md @@ -23,7 +23,7 @@ kubeadm alpha phase upload-config [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where certificates are storedThe path where certificates are stored
--config string
Path to a kubeadm config file. WARNING: Usage of a configuration file is experimental!Path to a kubeadm config file. WARNING: Usage of a configuration file is experimental
--feature-gates string
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (BETA - default=false)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
-h, --help
help for convert-from-staticpodshelp for convert-from-staticpods
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
+
@@ -34,21 +34,21 @@ kubeadm alpha phase upload-config [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_completion.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_completion.md index 392a006cc6..301a76999b 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_completion.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_completion.md @@ -10,16 +10,17 @@ The shell code must be evaluated to provide interactive completion of kubeadm commands. This can be done by sourcing it from the .bash_profile. -Note: this requires the bash-completion framework, which is not installed -by default on Mac. This can be installed by using homebrew: +Note: this requires the bash-completion framework. +To install it on Mac use homebrew: $ brew install bash-completion - Once installed, bash_completion must be evaluated. This can be done by adding the following line to the .bash_profile - $ source $(brew --prefix)/etc/bash_completion +If bash-completion is not installed on Linux, please install the 'bash-completion' package +via your distribution's package manager. + Note for zsh users: [1] zsh completions are only supported in versions of zsh >= 5.2 ``` @@ -49,7 +50,7 @@ source <(kubeadm completion zsh) ### Options -
--config string
Path to a kubeadm config file. WARNING: Usage of a configuration file is experimental!Path to a kubeadm config file. WARNING: Usage of a configuration file is experimental
-h, --help
help for upload-confighelp for upload-config
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster
+
@@ -60,7 +61,7 @@ source <(kubeadm completion zsh) - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config.md index 97a7460d28..54a478a8ea 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config.md @@ -17,7 +17,7 @@ kubeadm config [flags] ### Options -
-h, --help
help for completionhelp for completion
+
@@ -28,14 +28,14 @@ kubeadm config [flags] - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images.md new file mode 100644 index 0000000000..85f978a88e --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images.md @@ -0,0 +1,54 @@ + +Interact with container images used by kubeadm. + +### Synopsis + + +Interact with container images used by kubeadm. + +``` +kubeadm config images [flags] +``` + +### Options + +
-h, --help
help for confighelp for config
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.The KubeConfig file to use when talking to the cluster.
+ + + + + + + + + + + + + + +
-h, --help
help for images
+ + + +### Options inherited from parent commands + + + + + + + + + + + + + + + + +
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images_list.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images_list.md new file mode 100644 index 0000000000..ca2a2119b5 --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images_list.md @@ -0,0 +1,75 @@ + +Print a list of images kubeadm will use. The configuration file is used in case any images or image repositories are customized. + +### Synopsis + + +Print a list of images kubeadm will use. The configuration file is used in case any images or image repositories are customized. + +``` +kubeadm config images list [flags] +``` + +### Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
--config string
Path to kubeadm config file.
--feature-gates string
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
-h, --help
help for list
--kubernetes-version string     Default: "stable-1.10"
Choose a specific Kubernetes version for the control plane.
+ + + +### Options inherited from parent commands + + + + + + + + + + + + + + + + +
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images_pull.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images_pull.md new file mode 100644 index 0000000000..d5efa5ab05 --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images_pull.md @@ -0,0 +1,82 @@ + +Pull images used by kubeadm. + +### Synopsis + + +Pull images used by kubeadm. + +``` +kubeadm config images pull [flags] +``` + +### Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
--config string
Path to kubeadm config file.
--cri-socket-path string     Default: "/var/run/dockershim.sock"
Path to the CRI socket.
--feature-gates string
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
-h, --help
help for pull
--kubernetes-version string     Default: "stable-1.10"
Choose a specific Kubernetes version for the control plane.
+ + + +### Options inherited from parent commands + + + + + + + + + + + + + + + + +
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_migrate.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_migrate.md new file mode 100644 index 0000000000..2a41580170 --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_migrate.md @@ -0,0 +1,82 @@ + +Read an older version of the kubeadm configuration API types from a file, and output the similar config object for the newer version. + +### Synopsis + + + +This command lets you convert configuration objects of older versions to the latest supported version, +locally in the CLI tool without ever touching anything in the cluster. +In this version of kubeadm, the following API versions are supported: +- kubeadm.k8s.io/v1alpha2 +- kubeadm.k8s.io/v1alpha1 + +Further, kubeadm can only write out config of version "kubeadm.k8s.io/v1alpha2", but read both types. +So regardless of what version you pass to the --old-config parameter here, the API object will be +read, deserialized, defaulted, converted, validated, and re-serialized when written to stdout or +--new-config if specified. + +In other words, the output of this command is what kubeadm actually would read internally if you +submitted this file to "kubeadm init" + + +``` +kubeadm config migrate [flags] +``` + +### Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-h, --help
help for migrate
--new-config string
Path to the resulting equivalent kubeadm config file using the new API version. Optional, if not specified output will be sent to STDOUT.
--old-config string
Path to the kubeadm config file that is using an old API version and should be converted. This flag is mandatory.
+ + + +### Options inherited from parent commands + + + + + + + + + + + + + + + + +
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_print-default.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_print-default.md new file mode 100644 index 0000000000..3e011d9743 --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_print-default.md @@ -0,0 +1,67 @@ + +Print the default values for a kubeadm configuration object. + +### Synopsis + + + +This command prints the default MasterConfiguration object that is used for 'kubeadm init' and 'kubeadm upgrade', +and the default NodeConfiguration object that is used for 'kubeadm join'. + +Note that sensitive values like the Bootstrap Token fields are replaced with silly values like {"abcdef.0123456789abcdef" "" "nil" [] []} in order to pass validation but +not perform the real computation for creating a token. + + +``` +kubeadm config print-default [flags] +``` + +### Options + + + + + + + + + + + + + + + + + + + + + + + +
--api-objects stringSlice
A comma-separated list for API objects to print the default values for. Available values: [MasterConfiguration NodeConfiguration]. This flag unset means 'print all known objects'
-h, --help
help for print-default
+ + + +### Options inherited from parent commands + + + + + + + + + + + + + + + + +
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload.md index 6b349c6033..e20d2ca0c7 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload.md @@ -12,7 +12,7 @@ kubeadm config upload [flags] ### Options - +
@@ -23,7 +23,7 @@ kubeadm config upload [flags] - + @@ -33,7 +33,7 @@ kubeadm config upload [flags] ### Options inherited from parent commands -
-h, --help
help for uploadhelp for upload
+
@@ -44,7 +44,7 @@ kubeadm config upload [flags] - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload_from-file.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload_from-file.md index ce9ecef53b..aa2905e2c1 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload_from-file.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload_from-file.md @@ -18,7 +18,7 @@ kubeadm config upload from-file [flags] ### Options -
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.The KubeConfig file to use when talking to the cluster.
+
@@ -29,14 +29,14 @@ kubeadm config upload from-file [flags] - + - + @@ -46,7 +46,7 @@ kubeadm config upload from-file [flags] ### Options inherited from parent commands -
--config string
Path to a kubeadm config file. WARNING: Usage of a configuration file is experimental.Path to a kubeadm config file. WARNING: Usage of a configuration file is experimental.
-h, --help
help for from-filehelp for from-file
+
@@ -57,7 +57,7 @@ kubeadm config upload from-file [flags] - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload_from-flags.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload_from-flags.md index abae4d5316..faf57f341f 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload_from-flags.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload_from-flags.md @@ -18,7 +18,7 @@ kubeadm config upload from-flags [flags] ### Options -
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.The KubeConfig file to use when talking to the cluster.
+
@@ -29,98 +29,84 @@ kubeadm config upload from-flags [flags] - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - + @@ -130,7 +116,7 @@ kubeadm config upload from-flags [flags] ### Options inherited from parent commands -
--apiserver-advertise-address string
The IP address the API Server will advertise it's listening on. Specify '0.0.0.0' to use the address of the default network interface.The IP address the API Server will advertise it's listening on. Specify '0.0.0.0' to use the address of the default network interface.
--apiserver-bind-port int32     Default: 6443
Port for the API Server to bind to.Port for the API Server to bind to.
--apiserver-cert-extra-sans stringSlice
Optional extra Subject Alternative Names (SANs) to use for the API Server serving certificate. Can be both IP addresses and DNS names.Optional extra Subject Alternative Names (SANs) to use for the API Server serving certificate. Can be both IP addresses and DNS names.
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save and store the certificates.The path where to save and store the certificates.
--cri-socket string     Default: "/var/run/dockershim.sock"
Specify the CRI socket to connect to.Specify the CRI socket to connect to.
--feature-gates string
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (BETA - default=false)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
-h, --help
help for from-flagshelp for from-flags
--kubernetes-version string     Default: "stable-1.10"
Choose a specific Kubernetes version for the control plane.Choose a specific Kubernetes version for the control plane.
--node-name string
Specify the node name.Specify the node name.
--pod-network-cidr string
Specify range of IP addresses for the pod network. If set, the control plane will automatically allocate CIDRs for every node.Specify range of IP addresses for the pod network. If set, the control plane will automatically allocate CIDRs for every node.
--service-cidr string     Default: "10.96.0.0/12"
Use alternative range of IP address for service VIPs.Use alternative range of IP address for service VIPs.
--service-dns-domain string     Default: "cluster.local"
Use alternative domain for services, e.g. "myorg.internal".
--token string
The token to use for establishing bidirectional trust between nodes and masters.
--token-ttl duration     Default: 24h0m0s
The duration before the bootstrap token is automatically deleted. If set to '0', the token will never expire.Use alternative domain for services, e.g. "myorg.internal".
+
@@ -141,7 +127,7 @@ kubeadm config upload from-flags [flags] - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_view.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_view.md index a2ded40f2d..9869d43c8d 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_view.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_view.md @@ -16,7 +16,7 @@ kubeadm config view [flags] ### Options -
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.The KubeConfig file to use when talking to the cluster.
+
@@ -27,7 +27,7 @@ kubeadm config view [flags] - + @@ -37,7 +37,7 @@ kubeadm config view [flags] ### Options inherited from parent commands -
-h, --help
help for viewhelp for view
+
@@ -48,7 +48,7 @@ kubeadm config view [flags] - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init.md index d9139f947e..b846cf9034 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init.md @@ -12,7 +12,7 @@ kubeadm init [flags] ### Options -
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.The KubeConfig file to use when talking to the cluster.
+
@@ -23,126 +23,126 @@ kubeadm init [flags] - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join.md index 88388b2be4..c321fe6af9 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join.md @@ -53,7 +53,7 @@ kubeadm join [flags] ### Options -
--apiserver-advertise-address string
The IP address the API Server will advertise it's listening on. Specify '0.0.0.0' to use the address of the default network interface.The IP address the API Server will advertise it's listening on. Specify '0.0.0.0' to use the address of the default network interface.
--apiserver-bind-port int32     Default: 6443
Port for the API Server to bind to.Port for the API Server to bind to.
--apiserver-cert-extra-sans stringSlice
Optional extra Subject Alternative Names (SANs) to use for the API Server serving certificate. Can be both IP addresses and DNS names.Optional extra Subject Alternative Names (SANs) to use for the API Server serving certificate. Can be both IP addresses and DNS names.
--cert-dir string     Default: "/etc/kubernetes/pki"
The path where to save and store the certificates.The path where to save and store the certificates.
--config string
Path to kubeadm config file. WARNING: Usage of a configuration file is experimental.Path to kubeadm config file. WARNING: Usage of a configuration file is experimental.
--cri-socket string     Default: "/var/run/dockershim.sock"
Specify the CRI socket to connect to.Specify the CRI socket to connect to.
--dry-run
Don't apply any changes; just output what would be done.Don't apply any changes; just output what would be done.
--feature-gates string
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (BETA - default=false)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
-h, --help
help for inithelp for init
--ignore-preflight-errors stringSlice
A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.
--kubernetes-version string     Default: "stable-1.10"
Choose a specific Kubernetes version for the control plane.Choose a specific Kubernetes version for the control plane.
--node-name string
Specify the node name.Specify the node name.
--pod-network-cidr string
Specify range of IP addresses for the pod network. If set, the control plane will automatically allocate CIDRs for every node.Specify range of IP addresses for the pod network. If set, the control plane will automatically allocate CIDRs for every node.
--service-cidr string     Default: "10.96.0.0/12"
Use alternative range of IP address for service VIPs.Use alternative range of IP address for service VIPs.
--service-dns-domain string     Default: "cluster.local"
Use alternative domain for services, e.g. "myorg.internal".Use alternative domain for services, e.g. "myorg.internal".
--skip-token-print
Skip printing of the default bootstrap token generated by 'kubeadm init'.Skip printing of the default bootstrap token generated by 'kubeadm init'.
--token string
The token to use for establishing bidirectional trust between nodes and masters.The token to use for establishing bidirectional trust between nodes and masters. The format is [a-z0-9]{6}\.[a-z0-9]{16} - e.g. abcdef.0123456789abcdef
--token-ttl duration     Default: 24h0m0s
The duration before the bootstrap token is automatically deleted. If set to '0', the token will never expire.The duration before the token is automatically deleted (e.g. 1s, 2m, 3h). If set to '0', the token will never expire
+
@@ -64,84 +64,84 @@ kubeadm join [flags] - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_reset.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_reset.md index 49036f02a3..5f5cd9b4be 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_reset.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_reset.md @@ -12,7 +12,7 @@ kubeadm reset [flags] ### Options -
--config string
Path to kubeadm config file.Path to kubeadm config file.
--cri-socket string     Default: "/var/run/dockershim.sock"
Specify the CRI socket to connect to.Specify the CRI socket to connect to.
--discovery-file string
A file or url from which to load cluster information.A file or url from which to load cluster information.
--discovery-token string
A token used to validate cluster information fetched from the master.A token used to validate cluster information fetched from the master.
--discovery-token-ca-cert-hash stringSlice
For token-based discovery, validate that the root CA public key matches this hash (format: "<type>:<value>").For token-based discovery, validate that the root CA public key matches this hash (format: "<type>:<value>").
--discovery-token-unsafe-skip-ca-verification
For token-based discovery, allow joining without --discovery-token-ca-cert-hash pinning.For token-based discovery, allow joining without --discovery-token-ca-cert-hash pinning.
--feature-gates string
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (BETA - default=false)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
A set of key=value pairs that describe feature gates for various features. Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
-h, --help
help for joinhelp for join
--ignore-preflight-errors stringSlice
A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.
--node-name string
Specify the node name.Specify the node name.
--tls-bootstrap-token string
A token used for TLS bootstrapping.A token used for TLS bootstrapping.
--token string
Use this token for both discovery-token and tls-bootstrap-token.Use this token for both discovery-token and tls-bootstrap-token.
+
@@ -23,28 +23,35 @@ kubeadm reset [flags] - + - + + + + + + + + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token.md index a4dfb9a605..eaddaa1c5a 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token.md @@ -29,7 +29,7 @@ kubeadm token [flags] ### Options -
--cert-dir string     Default: "/etc/kubernetes/pki"
The path to the directory where the certificates are stored. If specified, clean this directory.The path to the directory where the certificates are stored. If specified, clean this directory.
--cri-socket string     Default: "/var/run/dockershim.sock"
The path to the CRI socket to use with crictl when cleaning up containers.The path to the CRI socket to use with crictl when cleaning up containers.
--force
Reset the node without prompting for confirmation.
-h, --help
help for resethelp for reset
--ignore-preflight-errors stringSlice
A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.
+
@@ -40,21 +40,21 @@ kubeadm token [flags] - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_create.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_create.md index f2622eae98..15116185ac 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_create.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_create.md @@ -19,7 +19,7 @@ kubeadm token create [token] ### Options -
--dry-run
Whether to enable dry-run mode or notWhether to enable dry-run mode or not
-h, --help
help for tokenhelp for token
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster. If the flag is not set a set of standard locations are searched for an existing KubeConfig file
+
@@ -30,49 +30,49 @@ kubeadm token create [token] - + - + - + - + - + - + - + - + @@ -82,7 +82,7 @@ kubeadm token create [token] ### Options inherited from parent commands -
--config string
Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)
--description string
A human friendly description of how this token is used.A human friendly description of how this token is used.
--groups stringSlice     Default: [system:bootstrappers:kubeadm:default-node-token]
Extra groups that this token will authenticate as when used for authentication. Must match "system:bootstrappers:[a-z0-9:-]{0,255}[a-z0-9]".Extra groups that this token will authenticate as when used for authentication. Must match "\\Asystem:bootstrappers:[a-z0-9:-]{0,255}[a-z0-9]\\z"
-h, --help
help for createhelp for create
--print-join-command
Instead of printing only the token, print the full 'kubeadm join' flag needed to join the cluster using the token.Instead of printing only the token, print the full 'kubeadm join' flag needed to join the cluster using the token.
--ttl duration     Default: 24h0m0s--token-ttl duration     Default: 24h0m0s
The duration before the token is automatically deleted (e.g. 1s, 2m, 3h). If set to '0', the token will never expire.The duration before the token is automatically deleted (e.g. 1s, 2m, 3h). If set to '0', the token will never expire
--usages stringSlice     Default: [signing,authentication]
Describes the ways in which this token can be used. You can pass --usages multiple times or provide a comma separated list of options. Valid options: [signing,authentication].Describes the ways in which this token can be used. You can pass --usages multiple times or provide a comma separated list of options. Valid options: [signing,authentication]
+
@@ -93,14 +93,14 @@ kubeadm token create [token] - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_delete.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_delete.md index 8a3c1b1624..8a47b4345d 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_delete.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_delete.md @@ -17,7 +17,7 @@ kubeadm token delete [token-value] ### Options -
--dry-run
Whether to enable dry-run mode or notWhether to enable dry-run mode or not
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster. If the flag is not set a set of standard locations are searched for an existing KubeConfig file
+
@@ -28,7 +28,7 @@ kubeadm token delete [token-value] - + @@ -38,7 +38,7 @@ kubeadm token delete [token-value] ### Options inherited from parent commands -
-h, --help
help for deletehelp for delete
+
@@ -49,14 +49,14 @@ kubeadm token delete [token-value] - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_generate.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_generate.md index 35c70727fd..f76a8d9d1a 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_generate.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_generate.md @@ -22,7 +22,7 @@ kubeadm token generate [flags] ### Options -
--dry-run
Whether to enable dry-run mode or notWhether to enable dry-run mode or not
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster. If the flag is not set a set of standard locations are searched for an existing KubeConfig file
+
@@ -33,7 +33,7 @@ kubeadm token generate [flags] - + @@ -43,7 +43,7 @@ kubeadm token generate [flags] ### Options inherited from parent commands -
-h, --help
help for generatehelp for generate
+
@@ -54,14 +54,14 @@ kubeadm token generate [flags] - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_list.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_list.md index dd1726026b..a65b730a28 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_list.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_list.md @@ -14,7 +14,7 @@ kubeadm token list [flags] ### Options -
--dry-run
Whether to enable dry-run mode or notWhether to enable dry-run mode or not
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster. If the flag is not set a set of standard locations are searched for an existing KubeConfig file
+
@@ -25,7 +25,7 @@ kubeadm token list [flags] - + @@ -35,7 +35,7 @@ kubeadm token list [flags] ### Options inherited from parent commands -
-h, --help
help for listhelp for list
+
@@ -46,14 +46,14 @@ kubeadm token list [flags] - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade.md index 5c6ba4673d..8bd7924283 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade.md @@ -12,7 +12,7 @@ kubeadm upgrade [flags] ### Options -
--dry-run
Whether to enable dry-run mode or notWhether to enable dry-run mode or not
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the clusterThe KubeConfig file to use when talking to the cluster. If the flag is not set a set of standard locations are searched for an existing KubeConfig file
+
@@ -23,56 +23,56 @@ kubeadm upgrade [flags] - + - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_apply.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_apply.md index df44de32d6..15ae2a283e 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_apply.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_apply.md @@ -12,7 +12,7 @@ kubeadm upgrade apply [version] ### Options -
--allow-experimental-upgrades
Show unstable versions of Kubernetes as an upgrade alternative and allow upgrading to an alpha/beta/release candidate versions of Kubernetes.Show unstable versions of Kubernetes as an upgrade alternative and allow upgrading to an alpha/beta/release candidate versions of Kubernetes.
--allow-release-candidate-upgrades
Show release candidate versions of Kubernetes as an upgrade alternative and allow upgrading to a release candidate versions of Kubernetes.Show release candidate versions of Kubernetes as an upgrade alternative and allow upgrading to a release candidate versions of Kubernetes.
--config string
Path to kubeadm config file. WARNING: Usage of a configuration file is experimental!Path to kubeadm config file. WARNING: Usage of a configuration file is experimental!
--feature-gates string
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (BETA - default=false)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
-h, --help
help for upgradehelp for upgrade
--ignore-preflight-errors stringSlice
A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.The KubeConfig file to use when talking to the cluster.
--print-config
Specifies whether the configuration file that will be used in the upgrade should be printed or not.Specifies whether the configuration file that will be used in the upgrade should be printed or not.
+
@@ -23,42 +23,42 @@ kubeadm upgrade apply [version] - + - + - + - + - + - + @@ -68,7 +68,7 @@ kubeadm upgrade apply [version] ### Options inherited from parent commands -
--dry-run
Do not change any state, just output what actions would be performed.Do not change any state, just output what actions would be performed.
--etcd-upgrade     Default: true
Perform the upgrade of etcd.Perform the upgrade of etcd.
-f, --force
Force upgrading although some requirements might not be met. This also implies non-interactive mode.Force upgrading although some requirements might not be met. This also implies non-interactive mode.
-h, --help
help for applyhelp for apply
--image-pull-timeout duration     Default: 15m0s
The maximum amount of time to wait for the control plane pods to be downloaded.The maximum amount of time to wait for the control plane pods to be downloaded.
-y, --yes
Perform the upgrade and do not prompt for confirmation (non-interactive mode).Perform the upgrade and do not prompt for confirmation (non-interactive mode).
+
@@ -79,49 +79,49 @@ kubeadm upgrade apply [version] - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_diff.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_diff.md new file mode 100644 index 0000000000..64053f17fc --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_diff.md @@ -0,0 +1,124 @@ + +Show what differences would be applied to existing static pod manifests. See also: kubeadm upgrade apply --dry-run + +### Synopsis + + +Show what differences would be applied to existing static pod manifests. See also: kubeadm upgrade apply --dry-run + +``` +kubeadm upgrade diff [version] [flags] +``` + +### Options + +
--allow-experimental-upgrades
Show unstable versions of Kubernetes as an upgrade alternative and allow upgrading to an alpha/beta/release candidate versions of Kubernetes.Show unstable versions of Kubernetes as an upgrade alternative and allow upgrading to an alpha/beta/release candidate versions of Kubernetes.
--allow-release-candidate-upgrades
Show release candidate versions of Kubernetes as an upgrade alternative and allow upgrading to a release candidate versions of Kubernetes.Show release candidate versions of Kubernetes as an upgrade alternative and allow upgrading to a release candidate versions of Kubernetes.
--config string
Path to kubeadm config file. WARNING: Usage of a configuration file is experimental!Path to kubeadm config file. WARNING: Usage of a configuration file is experimental!
--feature-gates string
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (BETA - default=false)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
--ignore-preflight-errors stringSlice
A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.The KubeConfig file to use when talking to the cluster.
--print-config
Specifies whether the configuration file that will be used in the upgrade should be printed or not.Specifies whether the configuration file that will be used in the upgrade should be printed or not.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
--api-server-manifest string     Default: "/etc/kubernetes/manifests/kube-apiserver.yaml"
path to API server manifest
-c, --context-lines int     Default: 3
How many lines of context in the diff
--controller-manager-manifest string     Default: "/etc/kubernetes/manifests/kube-controller-manager.yaml"
path to controller manifest
-h, --help
help for diff
--scheduler-manifest string     Default: "/etc/kubernetes/manifests/kube-scheduler.yaml"
path to scheduler manifest
+ + + +### Options inherited from parent commands + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
--allow-experimental-upgrades
Show unstable versions of Kubernetes as an upgrade alternative and allow upgrading to an alpha/beta/release candidate versions of Kubernetes.
--allow-release-candidate-upgrades
Show release candidate versions of Kubernetes as an upgrade alternative and allow upgrading to a release candidate versions of Kubernetes.
--config string
Path to kubeadm config file. WARNING: Usage of a configuration file is experimental!
--feature-gates string
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
--ignore-preflight-errors stringSlice
A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.
--print-config
Specifies whether the configuration file that will be used in the upgrade should be printed or not.
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node.md new file mode 100644 index 0000000000..037a07e56b --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node.md @@ -0,0 +1,96 @@ + +Upgrade commands for a node in the cluster. Currently only supports upgrading the configuration, not the kubelet itself. + +### Synopsis + + +Upgrade commands for a node in the cluster. Currently only supports upgrading the configuration, not the kubelet itself. + +``` +kubeadm upgrade node [flags] +``` + +### Options + + + + + + + + + + + + + + + + +
-h, --help
help for node
+ + + +### Options inherited from parent commands + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
--allow-experimental-upgrades
Show unstable versions of Kubernetes as an upgrade alternative and allow upgrading to an alpha/beta/release candidate versions of Kubernetes.
--allow-release-candidate-upgrades
Show release candidate versions of Kubernetes as an upgrade alternative and allow upgrading to a release candidate versions of Kubernetes.
--config string
Path to kubeadm config file. WARNING: Usage of a configuration file is experimental!
--feature-gates string
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
--ignore-preflight-errors stringSlice
A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.
--print-config
Specifies whether the configuration file that will be used in the upgrade should be printed or not.
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node_config.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node_config.md new file mode 100644 index 0000000000..3172348328 --- /dev/null +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node_config.md @@ -0,0 +1,121 @@ + +Downloads the kubelet configuration from the cluster ConfigMap kubelet-config-1.X, where X is the minor version of the kubelet. + +### Synopsis + + +Downloads the kubelet configuration from a ConfigMap of the form "kubelet-config-1.X" in the cluster, where X is the minor version of the kubelet. kubeadm uses the --kubelet-version parameter to determine what the desired kubelet version is. Give + +``` +kubeadm upgrade node config [flags] +``` + +### Examples + +``` + # Downloads the kubelet configuration from the ConfigMap in the cluster. Uses a specific desired kubelet version. + kubeadm upgrade node config --kubelet-version v1.11.0 + + # Simulates the downloading of the kubelet configuration from the ConfigMap in the cluster with a specific desired + # version. Does not change any state locally on the node. + kubeadm upgrade node config --kubelet-version v1.11.0 --dry-run +``` + +### Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
--dry-run
Do not change any state, just output the actions that would be performed.
-h, --help
help for config
--kubelet-version string
The *desired* version for the kubelet after the upgrade.
+ + + +### Options inherited from parent commands + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
--allow-experimental-upgrades
Show unstable versions of Kubernetes as an upgrade alternative and allow upgrading to an alpha/beta/release candidate versions of Kubernetes.
--allow-release-candidate-upgrades
Show release candidate versions of Kubernetes as an upgrade alternative and allow upgrading to a release candidate versions of Kubernetes.
--config string
Path to kubeadm config file. WARNING: Usage of a configuration file is experimental!
--feature-gates string
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
--ignore-preflight-errors stringSlice
A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.
--print-config
Specifies whether the configuration file that will be used in the upgrade should be printed or not.
+ + + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_plan.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_plan.md index 55bff85193..23e42a6401 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_plan.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_plan.md @@ -1,18 +1,18 @@ -Check which versions are available to upgrade to and validate whether your current cluster is upgradeable. +Check which versions are available to upgrade to and validate whether your current cluster is upgradeable. To skip the internet check, pass in the optional [version] parameter. ### Synopsis -Check which versions are available to upgrade to and validate whether your current cluster is upgradeable. +Check which versions are available to upgrade to and validate whether your current cluster is upgradeable. To skip the internet check, pass in the optional [version] parameter. ``` -kubeadm upgrade plan [flags] +kubeadm upgrade plan [version] [flags] ``` ### Options - +
@@ -23,7 +23,7 @@ kubeadm upgrade plan [flags] - + @@ -33,7 +33,7 @@ kubeadm upgrade plan [flags] ### Options inherited from parent commands -
-h, --help
help for planhelp for plan
+
@@ -44,49 +44,49 @@ kubeadm upgrade plan [flags] - + - + - + - + - + - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_version.md b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_version.md index 52cbb40aa4..9d47c24691 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_version.md +++ b/content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_version.md @@ -12,7 +12,7 @@ kubeadm version [flags] ### Options -
--allow-experimental-upgrades
Show unstable versions of Kubernetes as an upgrade alternative and allow upgrading to an alpha/beta/release candidate versions of Kubernetes.Show unstable versions of Kubernetes as an upgrade alternative and allow upgrading to an alpha/beta/release candidate versions of Kubernetes.
--allow-release-candidate-upgrades
Show release candidate versions of Kubernetes as an upgrade alternative and allow upgrading to a release candidate versions of Kubernetes.Show release candidate versions of Kubernetes as an upgrade alternative and allow upgrading to a release candidate versions of Kubernetes.
--config string
Path to kubeadm config file. WARNING: Usage of a configuration file is experimental!Path to kubeadm config file. WARNING: Usage of a configuration file is experimental!
--feature-gates string
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (BETA - default=false)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
A set of key=value pairs that describe feature gates for various features.Options are:
Auditing=true|false (ALPHA - default=false)
CoreDNS=true|false (default=true)
DynamicKubeletConfig=true|false (ALPHA - default=false)
SelfHosting=true|false (ALPHA - default=false)
StoreCertsInSecrets=true|false (ALPHA - default=false)
--ignore-preflight-errors stringSlice
A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.
--kubeconfig string     Default: "/etc/kubernetes/admin.conf"
The KubeConfig file to use when talking to the cluster.The KubeConfig file to use when talking to the cluster.
--print-config
Specifies whether the configuration file that will be used in the upgrade should be printed or not.Specifies whether the configuration file that will be used in the upgrade should be printed or not.
+
@@ -23,14 +23,14 @@ kubeadm version [flags] - + - + diff --git a/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md b/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md index 38dc52bfb3..9059248ce0 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md +++ b/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md @@ -28,7 +28,7 @@ The cluster that `kubeadm init` and `kubeadm join` set up should be: - using secure communication between the control plane components - using secure communication between the API server and the kubelets - lock-down the kubelet API - - locking down access to the API for system components like the kube-proxy and kube-dns + - locking down access to the API for system components like the kube-proxy and CoreDNS - locking down what a Bootstrap Token can access - etc. - **Easy to use**: The user should not have to run anything more than a couple of commands: @@ -451,17 +451,21 @@ A ServiceAccount for `kube-proxy` is created in the `kube-system` namespace; the #### DNS -A ServiceAccount for `kube-dns` is created in the `kube-system` namespace. +Note that: -Deploy the kube-dns Deployment and Service: +- The CoreDNS service is named `kube-dns`. This is done to prevent any interruption +in service when the user is switching the cluster DNS from kube-dns to CoreDNS or vice-versa +- In Kubernetes version 1.11 and later, CoreDNS is the default DNS server and you must +invoke kubeadm with `--feature-gates=CoreDNS=false` to install kube-dns instead +- In Kubernetes version 1.10 and earlier, you must enable CoreDNS with `--feature-gates=CoreDNS=true` -- It's the upstream kube-dns deployment relatively unmodified +A ServiceAccount for CoreDNS/kube-dns is created in the `kube-system` namespace. + +Deploy the `kube-dns` Deployment and Service: + +- It's the upstream CoreDNS deployment relatively unmodified - The `kube-dns` ServiceAccount is bound to the privileges in the `system:kube-dns` ClusterRole -Please note that: - -1. If kubeadm is invoked with `--feature-gates=CoreDNS`, CoreDNS is installed instead of `kube-dns` - ### (Optional and alpha in v1.9) self-hosting This phase is performed only if `kubeadm init` is invoked with `—features-gates=selfHosting` diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-alpha.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-alpha.md index aaa16e1ef5..ae8afd71df 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-alpha.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-alpha.md @@ -118,12 +118,14 @@ Alternatively, you can use [kubeadm config](/docs/reference/setup-tools/kubeadm/ You can install all the available addons with the `all` subcommand, or install them selectively. -Please note that if kubeadm is invoked with `--feature-gates=CoreDNS=true`, [CoreDNS](https://coredns.io/) is installed instead of `kube-dns`. +{{< note >}} +**Note:** If `kubeadm` is invoked with `--feature-gates=CoreDNS=false`, kube-dns is installed. +{{< /note >}} {{< tabs name="tab-addon" >}} {{< tab name="all" include="generated/kubeadm_alpha_phase_addon_all.md" />}} {{< tab name="kube-proxy" include="generated/kubeadm_alpha_phase_addon_kube-proxy.md" />}} -{{< tab name="kube-dns" include="generated/kubeadm_alpha_phase_addon_kube-dns.md" />}} +{{< tab name="coredns" include="generated/kubeadm_alpha_phase_addon_coredns.md" />}} {{< /tabs >}} diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-config.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-config.md index 3d095830c3..b5e9a19f93 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-config.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-config.md @@ -16,6 +16,11 @@ You can execute `kubeadm config view` to view the ConfigMap. If you initialized kubeadm v1.7.x or lower, you must use `kubeadm config upload` to create the ConfigMap before you may use `kubeadm upgrade`. +In Kubernetes v1.11.0, some new commands were added. You can use `kubeadm config print-default` +to print the default configuration and `kubeadm config migrate` to convert your old configuration +files to a newer version. `kubeadm config images list` and `kubeadm config images pull` can be used +to list and pull the images that kubeadm requires. + {{% /capture %}} {{% capture body %}} @@ -27,6 +32,19 @@ may use `kubeadm upgrade`. ## kubeadm config view {#cmd-config-view} {{< include "generated/kubeadm_config_view.md" >}} + +## kubeadm config print-default {#cmd-config-print-default} +{{< include "generated/kubeadm_config_print-default.md" >}} + +## kubeadm config migrate {#cmd-config-migrate} +{{< include "generated/kubeadm_config_migrate.md" >}} + +## kubeadm config images list {#cmd-config-images-list} +{{< include "generated/kubeadm_config_images_list.md" >}} + +## kubeadm config images pull {#cmd-config-images-pull} +{{< include "generated/kubeadm_config_images_pull.md" >}} + {{% /capture %}} {{% capture whatsnext %}} diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md index 9639fb39a7..d163b1a2eb 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md @@ -29,6 +29,7 @@ following steps: own CA cert and/or key by dropping it in the cert directory configured via `--cert-dir` (`/etc/kubernetes/pki` by default) this step is skipped as described in the [Using custom certificates](#custom-certificates) document. + The APIServer certs will have additional SAN entries for any `--apiserver-cert-extra-sans` arguments, lowercased if necessary. 1. Writes kubeconfig files in `/etc/kubernetes/` for the kubelet, the controller-manager and the scheduler to use to connect to the @@ -79,14 +80,15 @@ following steps: See [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/) for additional info. -1. Installs the internal DNS server (kube-dns) and the kube-proxy addon components via the API server. If kubeadm is invoked with `--feature-gates=CoreDNS=true`, then [CoreDNS](https://coredns.io/) will be installed as the default internal DNS server instead of kube-dns. +1. Installs a DNS server (CoreDNS) and the kube-proxy addon components via the API server. + In Kubernetes version 1.11 and later CoreDNS is the default DNS server. + To install kube-dns instead of CoreDNS, kubeadm must be invoked with `--feature-gates=CoreDNS=false`. Please note that although the DNS server is deployed, it will not be scheduled until CNI is installed. 1. If `kubeadm init` is invoked with the alpha self-hosting feature enabled, (`--feature-gates=SelfHosting=true`), the static Pod based control plane is transformed into a [self-hosted control plane](#self-hosting). - ### Using kubeadm init with a configuration file {#config-file} {{< caution >}} @@ -96,81 +98,160 @@ still considered alpha and may change in future versions. It's possible to configure `kubeadm init` with a configuration file instead of command line flags, and some more advanced features may only be available as -configuration file options. This file is passed in the `--config` option. +configuration file options. This file is passed in the `--config` option. + +In Kubernetes 1.11 and later, the default configuration can be printed out using the +[kubeadm config print-default](/docs/reference/setup-tools/kubeadm/kubeadm-config/) command. + +For more details on each field in the configuration you can navigate to our +[API reference pages.] (https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm#MasterConfiguration) + +Example of the kubeadm MasterConfiguration version `v1alpha2`: ```yaml -apiVersion: kubeadm.k8s.io/v1alpha1 +apiVersion: kubeadm.k8s.io/v1alpha2 kind: MasterConfiguration +kubernetesVersion: v1.11.0 api: - advertiseAddress: - controlPlaneEndpoint: - bindPort: + advertiseAddress: 192.168.0.102 + bindPort: 6443 + controlPlaneEndpoint: "" +auditPolicy: + logDir: /var/log/kubernetes/audit + logMaxAge: 2 + path: "" +bootstrapTokens: +- groups: + - system:bootstrappers:kubeadm:default-node-token + token: abcdef.0123456789abcdef + ttl: 24h0m0s + usages: + - signing + - authentication +certificatesDir: /etc/kubernetes/pki +clusterName: kubernetes etcd: - endpoints: - - - - - caFile: - certFile: - keyFile: - dataDir: - extraArgs: - : - : - image: - serverCertSANs: - - - - - peerCertSANs: - - - - + local: + dataDir: /var/lib/etcd + image: "" +imageRepository: k8s.gcr.io kubeProxy: config: - mode: - bindAddress: - clusterCIDR: + bindAddress: 0.0.0.0 + clientConnection: + acceptContentTypes: "" + burst: 10 + contentType: application/vnd.kubernetes.protobuf + kubeconfig: /var/lib/kube-proxy/kubeconfig.conf + qps: 5 + clusterCIDR: "" + configSyncPeriod: 15m0s + conntrack: + max: null + maxPerCore: 32768 + min: 131072 + tcpCloseWaitTimeout: 1h0m0s + tcpEstablishedTimeout: 24h0m0s + enableProfiling: false + healthzBindAddress: 0.0.0.0:10256 + hostnameOverride: "" + iptables: + masqueradeAll: false + masqueradeBit: 14 + minSyncPeriod: 0s + syncPeriod: 30s + ipvs: + ExcludeCIDRs: null + minSyncPeriod: 0s + scheduler: "" + syncPeriod: 30s + metricsBindAddress: 127.0.0.1:10249 + mode: "" + nodePortAddresses: null + oomScoreAdj: -999 + portRange: "" + resourceContainer: /kube-proxy + udpIdleTimeout: 250ms +kubeletConfiguration: + baseConfig: + address: 0.0.0.0 + authentication: + anonymous: + enabled: false + webhook: + cacheTTL: 2m0s + enabled: true + x509: + clientCAFile: /etc/kubernetes/pki/ca.crt + authorization: + mode: Webhook + webhook: + cacheAuthorizedTTL: 5m0s + cacheUnauthorizedTTL: 30s + cgroupDriver: cgroupfs + cgroupsPerQOS: true + clusterDNS: + - 10.96.0.10 + clusterDomain: cluster.local + containerLogMaxFiles: 5 + containerLogMaxSize: 10Mi + contentType: application/vnd.kubernetes.protobuf + cpuCFSQuota: true + cpuManagerPolicy: none + cpuManagerReconcilePeriod: 10s + enableControllerAttachDetach: true + enableDebuggingHandlers: true + enforceNodeAllocatable: + - pods + eventBurst: 10 + eventRecordQPS: 5 + evictionHard: + imagefs.available: 15% + memory.available: 100Mi + nodefs.available: 10% + nodefs.inodesFree: 5% + evictionPressureTransitionPeriod: 5m0s + failSwapOn: true + fileCheckFrequency: 20s + hairpinMode: promiscuous-bridge + healthzBindAddress: 127.0.0.1 + healthzPort: 10248 + httpCheckFrequency: 20s + imageGCHighThresholdPercent: 85 + imageGCLowThresholdPercent: 80 + imageMinimumGCAge: 2m0s + iptablesDropBit: 15 + iptablesMasqueradeBit: 14 + kubeAPIBurst: 10 + kubeAPIQPS: 5 + makeIPTablesUtilChains: true + maxOpenFiles: 1000000 + maxPods: 110 + nodeStatusUpdateFrequency: 10s + oomScoreAdj: -999 + podPidsLimit: -1 + port: 10250 + registryBurst: 10 + registryPullQPS: 5 + resolvConf: /etc/resolv.conf + rotateCertificates: true + runtimeRequestTimeout: 2m0s + serializeImagePulls: true + staticPodPath: /etc/kubernetes/manifests + streamingConnectionIdleTimeout: 4h0m0s + syncFrequency: 1m0s + volumeStatsAggPeriod: 1m0s networking: - dnsDomain: - serviceSubnet: - podSubnet: -kubernetesVersion: -cloudProvider: -nodeName: -authorizationModes: -- -- -token: -tokenTTL:
-h, --help
help for versionhelp for version
-o, --output string
Output format; available options are 'yaml', 'json' and 'short'Output format; available options are 'yaml', 'json' and 'short'
- -
- - - + + - - - + + - - - + + - - - + + - - - + + - - - + + + + + +
Possible MessagesPossible ReasonsStatusError MessagePossible Causes

using current: local

when the config source is nil, the Kubelet uses its local config

True

failed to load config, see Kubelet log for details

The Kubelet likely could not parse the downloaded config payload, or encountered a filesystem error attempting to load the payload from disk.

using current: /api/v1/namespaces/${CURRENT_CONFIG_MAP_NAMESPACE}/configmaps/${CURRENT_CONFIG_MAP_NAME}

passing all checks

True

failed to validate config, see Kubelet log for details

The configuration in the payload, combined with any command-line flag overrides, and the sum of feature gates from flags, the config file, and the remote payload, was determined to be invalid by the Kubelet.

using last-known-good: local

-
    -
  • failed to load current: /api/v1/namespaces/${CURRENT_CONFIG_MAP_NAMESPACE}/configmaps/${CURRENT_CONFIG_MAP_NAME}
  • -
  • failed to parse current: /api/v1/namespaces/${CURRENT_CONFIG_MAP_NAMESPACE}/configmaps/${CURRENT_CONFIG_MAP_NAME}
  • -
  • failed to validate current: /api/v1/namespaces/${CURRENT_CONFIG_MAP_NAMESPACE}/configmaps/${CURRENT_CONFIG_MAP_NAME}
  • -
-

False

invalid NodeConfigSource, exactly one subfield must be non-nil, but all were nil

Since Node.Spec.ConfigSource is validated by the API server to contain at least one non-nil subfield, this likely means that the Kubelet is older than the API server and does not recognize a newer source type.

using last-known-good: /api/v1/namespaces/${LAST_KNOWN_GOOD_CONFIG_MAP_NAMESPACE}/configmaps/${LAST_KNOWN_GOOD_CONFIG_MAP_NAME}

-
    -
  • failed to load current: /api/v1/namespaces/${CURRENT_CONFIG_MAP_NAMESPACE}/configmaps/${CURRENT_CONFIG_MAP_NAME}
  • -
  • failed to parse current: /api/v1/namespaces/${CURRENT_CONFIG_MAP_NAMESPACE}/configmaps/${CURRENT_CONFIG_MAP_NAME}
  • -
  • failed to validate current: /api/v1/namespaces/${CURRENT_CONFIG_MAP_NAMESPACE}/configmaps/${CURRENT_CONFIG_MAP_NAME}
  • -
-

False

failed to sync: failed to download config, see Kubelet log for details

The Kubelet could not download the config. It is possible that Node.Spec.ConfigSource could not be resolved to a concrete API object, or that network errors disrupted the download attempt. The Kubelet will retry the download when in this error state.

-

- The reasons in the next column could potentially appear for any of - the above messages. -

-

- This condition indicates that the Kubelet is having trouble - reconciling `spec.configSource`, and thus no change to the in-use - configuration has occurred. -

-

- The "failed to sync" reasons are specific to the failure that - occurred, and the next column does not necessarily contain all - possible failure reasons. -

-
-

failed to sync, reason:

-
    -
  • failed to read Node from informer object cache
  • -
  • failed to reset to local config
  • -
  • invalid NodeConfigSource, exactly one subfield must be non-nil, but all were nil
  • -
  • invalid ObjectReference, all of UID, Name, and Namespace must be specified
  • -
  • invalid ConfigSource.ConfigMapRef.UID: ${UID} does not match ${API_PATH}.UID: ${UID_OF_CONFIG_MAP_AT_API_PATH}
  • -
  • failed to determine whether object ${API_PATH} with UID ${UID} was already checkpointed
  • -
  • failed to download ConfigMap with name ${NAME} from namespace ${NAMESPACE}
  • -
  • failed to save config checkpoint for object ${API_PATH} with UID ${UID}
  • -
  • failed to set current config checkpoint to local config
  • -
  • failed to set current config checkpoint to object ${API_PATH} with UID ${UID}
  • -
-

False

failed to sync: internal failure, see Kubelet log for details

The Kubelet encountered some internal problem and failed to update its config as a result. Examples include filesystem errors and reading objects from the internal informer cache.

internal failure, see Kubelet log for details

The Kubelet encountered some internal problem while manipulating config, outside of the configuration sync loop.

+ {{% /capture %}} - - - diff --git a/content/en/docs/tasks/administer-cluster/running-cloud-controller.md b/content/en/docs/tasks/administer-cluster/running-cloud-controller.md index 107d23a48b..56615de4ba 100644 --- a/content/en/docs/tasks/administer-cluster/running-cloud-controller.md +++ b/content/en/docs/tasks/administer-cluster/running-cloud-controller.md @@ -9,7 +9,7 @@ content_template: templates/concept {{% capture overview %}} -{{< feature-state state="alpha" >}} +{{< feature-state state="beta" >}} Kubernetes v1.6 introduced a new binary called `cloud-controller-manager`. `cloud-controller-manager` is a daemon that embeds cloud-specific control loops. These cloud-specific control loops were originally in the `kube-controller-manager`. Since cloud providers develop and release at a different pace compared to the Kubernetes project, abstracting the provider-specific code to the `cloud-controller-manager` binary allows cloud vendors to evolve independently from the core Kubernetes code. @@ -37,7 +37,8 @@ Successfully running cloud-controller-manager requires some changes to your clus * `kube-apiserver` and `kube-controller-manager` MUST NOT specify the `--cloud-provider` flag. This ensures that it does not run any cloud specific loops that would be run by cloud controller manager. In the future, this flag will be deprecated and removed. * `kubelet` must run with `--cloud-provider=external`. This is to ensure that the kubelet is aware that it must be initialized by the cloud controller manager before it is scheduled any work. -* `kube-apiserver` SHOULD NOT run the `PersistentVolumeLabel` admission controller since the cloud controller manager takes over labeling persistent volumes. To prevent the PersistentVolumeLabel admission plugin from running in `kube-apiserver`, include the `PersistentVolumeLabel` as a listed value in the `--disable-admission-plugins` flag. +* `kube-apiserver` SHOULD NOT run the `PersistentVolumeLabel` admission controller + since the cloud controller manager takes over labeling persistent volumes. * For the `cloud-controller-manager` to label persistent volumes, initializers will need to be enabled and an InitializerConifguration needs to be added to the system. Follow [these instructions](/docs/admin/extensible-admission-controllers.md#enable-initializers-alpha-feature) to enable initializers. Use the following YAML to create the InitializerConfiguration: {{< code file="persistent-volume-label-initializer-config.yaml" >}} @@ -53,7 +54,7 @@ As of v1.8, cloud controller manager can implement: * node controller - responsible for updating kubernetes nodes using cloud APIs and deleting kubernetes nodes that were deleted on your cloud. * service controller - responsible for loadbalancers on your cloud against services of type LoadBalancer. * route controller - responsible for setting up network routes on your cloud -* [PersistentVolumeLabel Admission Controller](/docs/admin/admission-controllers#persistentvolumelabel) - responsible for labeling persistent volumes on your cloud - ensure that the persistent volume label admission plugin is not enabled on your kube-apiserver. +* persistent valume labels controller - responsible for setting the zone and region labels on PersistentVolumes created in GCP and AWS clouds. * any other features you would like to implement if you are running an out-of-tree provider. diff --git a/content/en/docs/tasks/administer-cluster/storage-object-in-use-protection.md b/content/en/docs/tasks/administer-cluster/storage-object-in-use-protection.md index ae67d40387..d5e90dd349 100644 --- a/content/en/docs/tasks/administer-cluster/storage-object-in-use-protection.md +++ b/content/en/docs/tasks/administer-cluster/storage-object-in-use-protection.md @@ -7,15 +7,16 @@ content_template: templates/task --- {{% capture overview %}} -{{< feature-state for_k8s_version="v1.10" state="beta" >}} -Persistent volume claims (PVCs) that are in active use by a pod and persistent volumes (PVs) that are bound to PVCs can be protected from pre-mature removal. +Persistent volume claims (PVCs) that are in active use by a pod and persistent volumes (PVs) that are bound to PVCs can be protected from premature removal. {{% /capture %}} {{% capture prerequisites %}} -- The Storage Object in Use Protection feature is enabled in a version of Kubernetes in which it is supported. +The Storage Object in Use Protection feature is enabled in one of the below Kubernetes versions: +- {% assign for_k8s_version = "1.10" %} {% include feature-state-beta.md %} +- {% assign for_k8s_version = "1.11" %} {% include feature-state-stable.md %} {{% /capture %}} @@ -312,5 +313,3 @@ No resources found. {{% /capture %}} - - diff --git a/content/en/docs/tasks/administer-cluster/sysctl-cluster.md b/content/en/docs/tasks/administer-cluster/sysctl-cluster.md index 8ea3e4a30e..3b3d53628e 100644 --- a/content/en/docs/tasks/administer-cluster/sysctl-cluster.md +++ b/content/en/docs/tasks/administer-cluster/sysctl-cluster.md @@ -1,13 +1,15 @@ --- -title: Using Sysctls in a Kubernetes Cluster +title: Using sysctls in a Kubernetes Cluster reviewers: - sttts content_template: templates/task --- {{% capture overview %}} +{{< feature-state for_k8s_version="v1.11" state="beta" >}} -This document describes how sysctls are used within a Kubernetes cluster. +This document describes how to configure and use kernel parameters within a +Kubernetes cluster using the sysctl interface. {{% /capture %}} @@ -74,7 +76,7 @@ application tuning. _Unsafe_ sysctls are enabled on a node-by-node basis with a flag of the kubelet, e.g.: ```shell -$ kubelet --experimental-allowed-unsafe-sysctls \ +$ kubelet --allowed-unsafe-sysctls \ 'kernel.msg*,net.ipv4.route.min_pmtu' ... ``` @@ -89,10 +91,11 @@ Only _namespaced_ sysctls can be enabled this way. ## Setting Sysctls for a Pod A number of sysctls are _namespaced_ in today's Linux kernels. This means that -they can be set independently for each pod on a node. Being namespaced is a -requirement for sysctls to be accessible in a pod context within Kubernetes. +they can be set independently for each pod on a node. Only namespaced sysctls +are configurable via the pod securityContext within Kubernetes. -The following sysctls are known to be _namespaced_: +The following sysctls are known to be namespaced. This list could change +in future versions of the Linux kernel. - `kernel.shm*`, - `kernel.msg*`, @@ -100,25 +103,37 @@ The following sysctls are known to be _namespaced_: - `fs.mqueue.*`, - `net.*`. -Sysctls which are not namespaced are called _node-level_ and must be set -manually by the cluster admin, either by means of the underlying Linux -distribution of the nodes (e.g. via `/etc/sysctls.conf`) or using a DaemonSet -with privileged containers. +Sysctls with no namespace are called _node-level_ sysctls. If you need to set +them, you must manually configure them on each node's operating system, or by +using a DaemonSet with privileged containers. -The sysctl feature is an alpha API. Therefore, sysctls are set using annotations -on pods. They apply to all containers in the same pod. +Use the pod securityContext to configure namespaced sysctls. The securityContext +applies to all containers in the same pod. -Here is an example, with different annotations for _safe_ and _unsafe_ sysctls: +This example uses the pod securityContext to set a safe sysctl +`kernel.shm_rmid_forced` and two unsafe sysctls `net.ipv4.route.min_pmtu` and +`kernel.msgmax` There is no distinction between _safe_ and _unsafe_ sysctls in +the specification. + +{{< warning >}} +Only modify sysctl parameters after you understand their effects, to avoid +destabilizing your operating system. +{{< /warning >}} ```yaml apiVersion: v1 kind: Pod metadata: name: sysctl-example - annotations: - security.alpha.kubernetes.io/sysctls: kernel.shm_rmid_forced=1 - security.alpha.kubernetes.io/unsafe-sysctls: net.ipv4.route.min_pmtu=1000,kernel.msgmax=1 2 3 spec: + securityContext: + sysctls: + - name: kernel.shm_rmid_forced + value: "0" + - name: net.ipv4.route.min_pmtu + value: "552" + - name: kernel.msgmax + value: "65536" ... ``` {{% /capture %}} @@ -143,27 +158,52 @@ is recommended to use [taints on nodes](/docs/concepts/configuration/taint-and-toleration/) to schedule those pods onto the right nodes. -## PodSecurityPolicy Annotations +## PodSecurityPolicy -The use of sysctl in pods can be controlled via annotation on the PodSecurityPolicy. +You can further control which sysctls can be set in pods by specifying lists of +sysctls or sysctl patterns in the `forbiddenSysctls` and/or +`allowedUnsafeSysctls` fields of the PodSecurityPolicy. A sysctl pattern ends +with a `*` character, such as `kernel.*`. A `*` character on its own matches +all sysctls. -Sysctl annotation represents a whitelist of allowed safe and unsafe sysctls -in a pod spec. It's a comma-separated list of plain sysctl names or sysctl patterns -(which end in `*`). The string `*` matches all sysctls. +By default, all safe sysctls are allowed. -Here is an example, it authorizes binding user creating pod with corresponding sysctls. +Both `forbiddenSysctls` and `allowedUnsafeSysctls` are lists of plain sysctl names +or sysctl patterns (which end with `*`). The string `*` matches all sysctls. + +The `forbiddenSysctls` field excludes specific sysctls. You can forbid a +combination of safe and unsafe sysctls in the list. To forbid setting any +sysctls, use `*` on its own. + +If you specify any unsafe sysctl in the `allowedUnsafeSysctls` field and it is +not present in the `forbiddenSysctls` field, that sysctl can be used in Pods +using this PodSecurityPolicy. To allow all unsafe sysctls in the +PodSecurityPolicy to be set, use `*` on its own. + +Do not configure these two fields such that there is overlap, meaning that a +given sysctl is both allowed and forbidden. + +{{< warning >}} +**Warning**: If you whitelist unsafe sysctls via the `allowedUnsafeSysctls` field +in a PodSecurityPolicy, any pod using such a sysctl will fail to start +if the sysctl is not whitelisted via the `--allowed-unsafe-sysctls` kubelet +flag as well on that node. +{{< /warning >}} + +This example allows unsafe sysctls prefixed with `kernel.msg` to be set and +disallows setting of the `kernel.shm_rmid_forced` sysctl. ```yaml apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: sysctl-psp - annotations: - security.alpha.kubernetes.io/sysctls: 'net.ipv4.route.*,kernel.msg*' spec: + allowedUnsafeSysctls: + - kernel.msg* + forbiddenSysctls: + - kernel.shm_rmid_forced ... ``` {{% /capture %}} - - diff --git a/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md b/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md index 8a6eebb01a..e5abfb736d 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md +++ b/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md @@ -20,28 +20,32 @@ but is not allowed to use more CPU than its limit. Each node in your cluster must have at least 1 cpu. -A few of the steps on this page require that the -[Heapster](https://github.com/kubernetes/heapster) service is running -in your cluster. But if you don't have Heapster running, you can do most -of the steps, and it won't be a problem if you skip the Heapster steps. +A few of the steps on this page require you to run the +[metrics-server](https://github.com/kubernetes-incubator/metrics-server) +service in your cluster. If you don't have metrics-server +running, you can skip those steps. -If you are running minikube, run the following command to enable heapster: +If you are running minikube, run the following command to enable +metrics-server: ```shell -minikube addons enable heapster +minikube addons enable metrics-server ``` -To see whether the Heapster service is running, enter this command: +To see whether metrics-server (or another provider of the resource metrics +API, `metrics.k8s.io`) is running, enter this command: ```shell -kubectl get services --namespace=kube-system +kubectl get apiservices ``` -If the heapster service is running, it shows in the output: +If the resource metrics API is available, the output will include a +reference to `metrics.k8s.io`. + ```shell -NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE -kube-system heapster 10.11.240.9 80/TCP 6d +NAME +v1beta1.metrics.k8s.io ``` {{% /capture %}} @@ -101,26 +105,18 @@ resources: cpu: 500m ``` -Start a proxy so that you can call the heapster service: +Use `kubectl top` to fetch the metrics for the pod: ```shell -kubectl proxy -``` - -In another command window, get the CPU usage rate from the heapster service: - -``` -curl http://localhost:8001/api/v1/namespaces/kube-system/services/heapster/proxy/api/v1/model/namespaces/cpu-example/pods/cpu-demo/metrics/cpu/usage_rate +kubectl top pod memory-demo ``` The output shows that the Pod is using 974 millicpu, which is just a bit less than the limit of 1 cpu specified in the Pod's configuration file. -```json -{ - "timestamp": "2017-06-22T18:48:00Z", - "value": 974 -} +``` +NAME CPU(cores) MEMORY(bytes) +memory-demo 794m ``` Recall that by setting `-cpu "2"`, you configured the Container to attempt to use 2 cpus. diff --git a/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md b/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md index 451e2123f5..6120b3a460 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md +++ b/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md @@ -19,28 +19,33 @@ but is not allowed to use more memory than its limit. Each node in your cluster must have at least 300 MiB of memory. -A few of the steps on this page require that the -[Heapster](https://github.com/kubernetes/heapster) service is running -in your cluster. But if you don't have Heapster running, you can do most -of the steps, and it won't be a problem if you skip the Heapster steps. +A few of the steps on this page require you to run the +[metrics-server](https://github.com/kubernetes-incubator/metrics-server) +service in your cluster. If you don't have metrics-server ++running, you can skip those steps. -If you are running minikube, run the following command to enable heapster: +If you are running minikube, run the following command to enable +metrics-server: ```shell -minikube addons enable heapster +minikube addons enable metrics-server ``` -To see whether the Heapster service is running, enter this command: +To see whether metrics-server (or another provider of the resource metrics +API, `metrics.k8s.io`) is running, enter this command: ```shell -kubectl get services --namespace=kube-system +kubectl get apiservices ``` -If the Heapster service is running, it shows in the output: +If the resource metrics API is available, the output will include a +reference to `metrics.k8s.io`. + + ```shell -NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE -kube-system heapster 10.11.240.9 80/TCP 6d +NAME +v1beta1.metrics.k8s.io ``` {{% /capture %}} @@ -103,29 +108,20 @@ resources: ... ``` -Start a proxy so that you can call the Heapster service: +Use `kubectl top` to fetch the metrics for the pod: ```shell -kubectl proxy -``` - -In another command window, get the memory usage from the Heapster service: - -``` -curl http://localhost:8001/api/v1/namespaces/kube-system/services/heapster/proxy/api/v1/model/namespaces/mem-example/pods/memory-demo/metrics/memory/usage +kubectl top pod memory-demo ``` The output shows that the Pod is using about 162,900,000 bytes of memory, which is about 150 MiB. This is greater than the Pod's 100 MiB request, but within the Pod's 200 MiB limit. -```json -{ - "timestamp": "2017-06-20T18:54:00Z", - "value": 162856960 -} ``` - +NAME CPU(cores) MEMORY(bytes) +memory-demo 162856960 +``` Delete your Pod: diff --git a/content/en/docs/tasks/debug-application-cluster/crictl.md b/content/en/docs/tasks/debug-application-cluster/crictl.md new file mode 100644 index 0000000000..53874f40a7 --- /dev/null +++ b/content/en/docs/tasks/debug-application-cluster/crictl.md @@ -0,0 +1,326 @@ +--- +reviewers: +- Random-Liu +- feiskyer +- mrunalp +title: Debugging Kubernetes nodes with crictl +content_template: templates/task +--- + +{{< toc >}} + +{{% capture overview %}} + +{{< feature-state for_k8s_version="v1.11" state="stable" >}} + +`crictl` is a command-line interface for CRI-compatible container runtimes. +You can use it to inspect and debug container runtimes and applications on a +Kubernetes node. `crictl` and its source are hosted in the +[cri-tools](https://github.com/kubernetes-incubator/cri-tools) repository. + +{{% /capture %}} + +{{% capture prerequisites %}} + +`crictl` requires a Linux operating system with a CRI runtime. + +{{% /capture %}} + +{{% capture steps %}} + +## Installing crictl + +You can download a compressed archive `crictl` from the cri-tools [release +page](https://github.com/kubernetes-incubator/cri-tools/releases), for several +different architectures. Download the version that corresponds to your version +of Kubernetes. Extract it and move it to a location on your system path, such as +`/usr/local/bin/`. + +## General usage + +The `crictl` command has several subcommands and runtime flags. Use +`crictl help` or `crictl help` for more details. + +`crictl` connects to `unix:///var/run/dockershim.sock` by default. For other +runtimes, you can set the endpoint in multiple different ways: + +- By setting flags `--runtime-endpoint` and `--image-endpoint` +- By setting environment variables `CONTAINER_RUNTIME_ENDPOINT` and `IMAGE_SERVICE_ENDPOINT` +- By setting the endpoint in the config file `--config=/etc/crictl.yaml` + +You can also specify timeout values when connecting to the server and enable or +disable debugging, by specifying `timeout` or `debug` values in the configuration +file or using the `--timeout` and `--debug` command-line flags. + +To view or edit the current configuration, view or edit the contents of +`/etc/crictl.yaml`. + +```sh +$ cat /etc/crictl.yaml +runtime-endpoint: unix:///var/run/dockershim.sock +image-endpoint: unix:///var/run/dockershim.sock +timeout: 10 +debug: true +``` + +## Example crictl commands + +The following examples show some `crictl` commands and and example output. + +{{< warning >}} +If you use `crictl` to create pod sandboxes or containers on a running +Kubernetes cluster, the Kubelet will eventually delete them. `crictl` is not a +general purpose workflow tool, but a tool that is useful for debugging. +{{< /warning >}} + +### List pods + +List all pods: + +```bash +crictl pods +``` +```none +POD ID CREATED STATE NAME NAMESPACE ATTEMPT +926f1b5a1d33a About a minute ago Ready sh-84d7dcf559-4r2gq default 0 +4dccb216c4adb About a minute ago Ready nginx-65899c769f-wv2gp default 0 +a86316e96fa89 17 hours ago Ready kube-proxy-gblk4 kube-system 0 +919630b8f81f1 17 hours ago Ready nvidia-device-plugin-zgbbv kube-system 0 +``` + +List pods by name: + +```bash +crictl pods --name nginx-65899c769f-wv2gp +``` +```none +POD ID CREATED STATE NAME NAMESPACE ATTEMPT +4dccb216c4adb 2 minutes ago Ready nginx-65899c769f-wv2gp default 0 +``` + +List pods by label: + +```bash +crictl pods --label run=nginx +``` +```none +POD ID CREATED STATE NAME NAMESPACE ATTEMPT +4dccb216c4adb 2 minutes ago Ready nginx-65899c769f-wv2gp default 0 +``` + +### List images + +List all images: + +```bash +crictl images +``` +```none +IMAGE TAG IMAGE ID SIZE +busybox latest 8c811b4aec35f 1.15MB +k8s-gcrio.azureedge.net/hyperkube-amd64 v1.10.3 e179bbfe5d238 665MB +k8s-gcrio.azureedge.net/pause-amd64 3.1 da86e6ba6ca19 742kB +nginx latest cd5239a0906a6 109MB +``` + +List images by repository: + +```bash +crictl images nginx +``` +```none +IMAGE TAG IMAGE ID SIZE +nginx latest cd5239a0906a6 109MB +``` + +Only list image IDs: + +```bash +crictl images -q +``` +```none +sha256:8c811b4aec35f259572d0f79207bc0678df4c736eeec50bc9fec37ed936a472a +sha256:e179bbfe5d238de6069f3b03fccbecc3fb4f2019af741bfff1233c4d7b2970c5 +sha256:da86e6ba6ca197bf6bc5e9d900febd906b133eaa4750e6bed647b0fbe50ed43e +sha256:cd5239a0906a6ccf0562354852fae04bc5b52d72a2aff9a871ddb6bd57553569 +``` + +### List containers + +List all containers: + +```bash +crictl ps -a +``` +```none +CONTAINER ID IMAGE CREATED STATE NAME ATTEMPT +1f73f2d81bf98 busybox@sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47 7 minutes ago Running sh 1 +9c5951df22c78 busybox@sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47 8 minutes ago Exited sh 0 +87d3992f84f74 nginx@sha256:d0a8828cccb73397acb0073bf34f4d7d8aa315263f1e7806bf8c55d8ac139d5f 8 minutes ago Running nginx 0 +1941fb4da154f k8s-gcrio.azureedge.net/hyperkube-amd64@sha256:00d814b1f7763f4ab5be80c58e98140dfc69df107f253d7fdd714b30a714260a 18 hours ago Running kube-proxy 0 +``` + +List running containers: + +```bash +crictl ps +``` +```none +CONTAINER ID IMAGE CREATED STATE NAME ATTEMPT +1f73f2d81bf98 busybox@sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47 6 minutes ago Running sh 1 +87d3992f84f74 nginx@sha256:d0a8828cccb73397acb0073bf34f4d7d8aa315263f1e7806bf8c55d8ac139d5f 7 minutes ago Running nginx 0 +1941fb4da154f k8s-gcrio.azureedge.net/hyperkube-amd64@sha256:00d814b1f7763f4ab5be80c58e98140dfc69df107f253d7fdd714b30a714260a 17 hours ago Running kube-proxy 0 +``` + +### Execute a command in a running container + +```bash +crictl exec -i -t 1f73f2d81bf98 ls +``` +```none +bin dev etc home proc root sys tmp usr var +``` + +### Get a coontainer's logs + +Get all container logs: + +```bash +crictl logs 87d3992f84f74 +``` +```none +10.240.0.96 - - [06/Jun/2018:02:45:49 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.47.0" "-" +10.240.0.96 - - [06/Jun/2018:02:45:50 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.47.0" "-" +10.240.0.96 - - [06/Jun/2018:02:45:51 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.47.0" "-" +``` + +Get only the latest `N` lines of logs: + +```bash +crictl logs --tail=1 87d3992f84f74 +``` +```none +10.240.0.96 - - [06/Jun/2018:02:45:51 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.47.0" "-" +``` + +### Run a pod sandbox + +Using `crictl` to run a pod sandbox is useful for debugging container runtimes. +On a running Kubernetes cluster, the sandbox will eventually be stopped and +deleted by the Kubelet. + +1. Create a JSON file like the following: + + ```json + { + "metadata": { + "name": "nginx-sandbox", + "namespace": "default", + "attempt": 1, + "uid": "hdishd83djaidwnduwk28bcsb" + }, + "logDirectory": "/tmp", + "linux": { + } + } + ``` + +2. Use the `crictl runp` command to apply the JSON and run the sandbox. + + ```bash + crictl runp pod-config.json + ``` + + The ID of the sandbox is returned. + +### Create a container + +Using `crictl` to create a container is useful for debugging container runtimes. +On a running Kubernetes cluster, the sandbox will eventually be stopped and +deleted by the Kubelet. + +1. Pull a busybox image + + ```bash + crictl pull busybox + Image is up to date for busybox@sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47 + ``` + +2. Create configs for the pod and the container: + + **Pod config**: + ```yaml + { + "metadata": { + "name": "nginx-sandbox", + "namespace": "default", + "attempt": 1, + "uid": "hdishd83djaidwnduwk28bcsb" + }, + "log_directory": "/tmp", + "linux": { + } + } + ``` + + **Container config**: + ```yaml + { + "metadata": { + "name": "busybox" + }, + "image":{ + "image": "busybox" + }, + "command": [ + "top" + ], + "log_path":"busybox/0.log", + "linux": { + } + } + ``` + +3. Create the container, passing the ID of the previously-created pod, the + container config file, and the pod config file. The ID of the container is + returned. + + ```bash + crictl create f84dd361f8dc51518ed291fbadd6db537b0496536c1d2d6c05ff943ce8c9a54f container-config.json pod-config.json + ``` + +4. List all containers and verify that the newly-created container has its + state set to `Created`. + + ```bash + crictl ps -a + ``` + ```none + CONTAINER ID IMAGE CREATED STATE NAME ATTEMPT + 3e025dd50a72d busybox 32 seconds ago Created busybox 0 + ``` + +### Start a container + +To start a container, pass its ID to `crictl start`: + +```bash +crictl start 3e025dd50a72d956c4f14881fbb5b1080c9275674e95fb67f965f6478a957d60 +``` +```none +3e025dd50a72d956c4f14881fbb5b1080c9275674e95fb67f965f6478a957d60 + +$ crictl ps +CONTAINER ID IMAGE CREATED STATE NAME ATTEMPT +3e025dd50a72d busybox About a minute ago Running busybox 0 +``` + +{{% /capture %}} + + +{{% capture discussion %}} + +See [kubernetes-incubator/cri-tools](https://github.com/kubernetes-incubator/cri-tools) +for more information. + +{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md b/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md index 27cf1dc7df..d5664698c8 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md @@ -363,6 +363,8 @@ status: systemUUID: ABE5F6B4-D44B-108B-C46A-24CCE16C8B6E ``` +{{% /capture %}} + {{% capture whatsnext %}} Learn about additional debugging tools, including: @@ -372,5 +374,6 @@ Learn about additional debugging tools, including: * [Getting into containers via `exec`](/docs/tasks/debug-application-cluster/get-shell-running-container/) * [Connecting to containers via proxies](/docs/tasks/access-kubernetes-api/http-proxy-access-api/) * [Connecting to containers via port forwarding](/docs/tasks/access-application-cluster/port-forward-access-application-cluster/) +* [Inspect Kubernetes node with crictl](/docs/tasks/debug-application-cluster/crictl/) {{% /capture %}} diff --git a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md index 665e52ef1a..34a611e125 100644 --- a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md +++ b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md @@ -7,7 +7,14 @@ title: Tools for Monitoring Compute, Storage, and Network Resources {{% capture overview %}} -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. +To scale and application and provide a reliable service, you need to +understand how an application behaves when it is deployed. You can examine +application performance in a Kubernetes cluster by examining the containers, +[pods](/docs/user-guide/pods), [services](/docs/user-guide/services), and +the characteristics of the overall cluster. Kubernetes provides detailed +information about an application's resource usage at each of these levels. +This information allows you to evaluate your application's performance and +where bottlenecks can be removed to improve overall performance. {{% /capture %}} @@ -15,11 +22,31 @@ Understanding how an application behaves when deployed is crucial to scaling the {{% capture body %}} -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](/docs/admin/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://git.k8s.io/heapster/docs/sink-configuration.md). The overall architecture of the service can be seen below: +In Kubernetes, application monitoring does not depend on a single monitoring +solution. On new clusters, you can use two separate pipelines to collect +monitoring statistics by default: -![overall monitoring architecture](/images/docs/monitoring-architecture.png) +- The **resource metrics pipeline** provides a limited set of metrics related + to cluster components such as the HorizontalPodAutoscaler controller, as well + as the `kubectl top` utility. These metrics are collected by + [metrics-server](https://github.com/kubernetes-incubator/metrics-server) + and are exposed via the `metrics.k8s.io` API. `metrics-server` discovers + all nodes on the cluster and queries each node's [Kubelet](/docs/admin/kubelet) + for CPU and memory usage. The Kubelet fetches the data from + [cAdvisor](https://github.com/google/cadvisor). `metrics-server` is a + lightweight short-term in-memory store. + +- A **full monitoring pipeline**, such as Prometheus, gives you access to richer + metrics. In addition, Kubernetes can respond to these metrics by automatically + scaling or adapting the cluster based on its current state, using mechanisms + such as the Horizontal Pod Autoscaler. The monitoring pipeline fetches + metrics from the Kubelet, and then exposes them to Kubernetes via an adapter + by implementing either the `custom.metrics.k8s.io` or + `external.metrics.k8s.io` API. See + [Full metrics pipeline](#full-metrics-pipelines) for more information about + some popular pipelines that implement these APIs and enable these + capabilities. -Let's look at some of the other components in more detail. ### cAdvisor @@ -33,38 +60,36 @@ On most Kubernetes clusters, cAdvisor exposes a simple UI for on-machine contain The Kubelet acts as a bridge between the Kubernetes master and the nodes. It manages the pods and containers running on a machine. Kubelet translates each pod into its constituent containers and fetches individual container usage statistics from cAdvisor. It then exposes the aggregated pod resource usage statistics via a REST API. -## Storage Backends +## Full Metrics Pipelines -### InfluxDB and Grafana +Many full metrics solutions exist for Kubernetes. Prometheus and Google Cloud +Monitoring are two of the most popular. -A Grafana setup with InfluxDB is a very popular combination for monitoring in the open source world. InfluxDB exposes an easy to use API to write and fetch time series data. Heapster is setup to use this storage backend by default on most Kubernetes clusters. A detailed setup guide can be found [here](https://github.com/GoogleCloudPlatform/heapster/blob/master/docs/influxdb.md). InfluxDB and Grafana run in Pods. The pod exposes itself as a Kubernetes service which is how Heapster discovers it. +### Prometheus -The Grafana container serves Grafana's UI which provides an easy to configure dashboard interface. The default dashboard for Kubernetes contains an example dashboard that monitors resource usage of the cluster and the pods inside of it. This dashboard can easily be customized and expanded. Take a look at the storage schema for InfluxDB [here](https://github.com/GoogleCloudPlatform/heapster/blob/master/docs/storage-schema.md#metrics). - -Here is a video showing how to monitor a Kubernetes cluster using heapster, InfluxDB and Grafana: - -[![How to monitor a Kubernetes cluster using heapster, InfluxDB and Grafana](http://img.youtube.com/vi/SZgqjMrxo3g/0.jpg)](http://www.youtube.com/watch?v=SZgqjMrxo3g) - -Here is a snapshot of the default Kubernetes Grafana dashboard that shows the CPU and Memory usage of the entire cluster, individual pods and containers: - -![snapshot of the default Kubernetes Grafana dashboard](/images/docs/influx.png) +[Prometheus](https://prometheus.io) natively monitors Prometheus. +The [Prometheus Operator](https://coreos.com/operators/prometheus/docs/latest/) +simplifies Prometheus setup on Kubernetes, and allows you to serve the +custom metrics API using the +[Prometheus adapter](https://github.com/directxman12/k8s-prometheus-adapter). +Prometheus provides a robust query language and a built-in dashboard for +querying and visualizing your data. Prometheus is also a supported +data source for [Grafana](https://prometheus.io/docs/visualization/grafana/). ### Google Cloud Monitoring -Google Cloud Monitoring is a hosted monitoring service that allows you to visualize and alert on important metrics in your application. Heapster can be setup to automatically push all collected metrics to Google Cloud Monitoring. These metrics are then available in the [Cloud Monitoring Console](https://app.google.stackdriver.com/). This storage backend is the easiest to setup and maintain. The monitoring console allows you to easily create and customize dashboards using the exported data. +Google Cloud Monitoring is a hosted monitoring service you can use to +visualize and alert on important metrics in your application. can collect +metrics from Kubernetes, and you can access them +using the [Cloud Monitoring Console](https://app.google.stackdriver.com/). +You can create and customize dashboards to visualize the data gathered +from your Kubernetes cluster. -Here is a video showing how to setup and run a Google Cloud Monitoring backed Heapster: +This video shows how to configure and run a Google Cloud Monitoring backed Heapster: [![how to setup and run a Google Cloud Monitoring backed Heapster](http://img.youtube.com/vi/xSMNR2fcoLs/0.jpg)](http://www.youtube.com/watch?v=xSMNR2fcoLs) -Here is a snapshot of the Google Cloud Monitoring dashboard showing cluster-wide resource usage. -![Google Cloud Monitoring dashboard](/images/docs/gcm.png) +{{< figure src="/images/docs/gcm.png" alt="Google Cloud Monitoring dashboard example" title="Google Cloud Monitoring dashboard example" caption="This dashboard shows cluster-wide resource usage." >}} {{% /capture %}} - -{{% capture whatsnext %}} - -Now that you've learned a bit about Heapster, feel free to try it out on your own clusters! The [Heapster repository](https://github.com/kubernetes/heapster) is available on GitHub. It contains detailed instructions to setup Heapster and its storage backends. Heapster runs by default on most Kubernetes clusters, so you may already have it! Feedback is always welcome. Please let us know if you run into any issues via the troubleshooting [channels](/docs/troubleshooting/). - -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/manage-gpus/scheduling-gpus.md b/content/en/docs/tasks/manage-gpus/scheduling-gpus.md index 58077bdbee..52afb97c28 100644 --- a/content/en/docs/tasks/manage-gpus/scheduling-gpus.md +++ b/content/en/docs/tasks/manage-gpus/scheduling-gpus.md @@ -152,70 +152,3 @@ spec: This will ensure that the pod will be scheduled to a node that has the GPU type you specified. - -## v1.6 and v1.7 -To enable GPU support in 1.6 and 1.7, a special **alpha** feature gate -`Accelerators` has to be set to true across the system: -`--feature-gates="Accelerators=true"`. It also requires using the Docker -Engine as the container runtime. - -Further, the Kubernetes nodes have to be pre-installed with NVIDIA drivers. -Kubelet will not detect NVIDIA GPUs otherwise. - -When you start Kubernetes components after all the above conditions are true, -Kubernetes will expose `alpha.kubernetes.io/nvidia-gpu` as a schedulable -resource. - -You can consume these GPUs from your containers by requesting -`alpha.kubernetes.io/nvidia-gpu` just like you request `cpu` or `memory`. -However, there are some limitations in how you specify the resource requirements -when using GPUs: -- GPUs are only supposed to be specified in the `limits` section, which means: - * You can specify GPU `limits` without specifying `requests` because - Kubernetes will use the limit as the request value by default. - * You can specify GPU in both `limits` and `requests` but these two values - must be equal. - * You cannot specify GPU `requests` without specifying `limits`. -- Containers (and pods) do not share GPUs. There's no overcommitting of GPUs. -- Each container can request one or more GPUs. It is not possible to request a - fraction of a GPU. - -When using `alpha.kubernetes.io/nvidia-gpu` as the resource, you also have to -mount host directories containing NVIDIA libraries (libcuda.so, libnvidia.so -etc.) to the container. - -Here's an example: - -```yaml -apiVersion: v1 -kind: Pod -metadata: - name: cuda-vector-add -spec: - restartPolicy: OnFailure - containers: - - name: cuda-vector-add - # https://github.com/kubernetes/kubernetes/blob/v1.7.11/test/images/nvidia-cuda/Dockerfile - image: "k8s.gcr.io/cuda-vector-add:v0.1" - resources: - limits: - alpha.kubernetes.io/nvidia-gpu: 1 # requesting 1 GPU - volumeMounts: - - name: "nvidia-libraries" - mountPath: "/usr/local/nvidia/lib64" - volumes: - - name: "nvidia-libraries" - hostPath: - path: "/usr/lib/nvidia-375" -``` - -The `Accelerators` feature gate and `alpha.kubernetes.io/nvidia-gpu` resource -works on 1.8 and 1.9 as well. It will be deprecated in 1.10 and removed in -1.11. - -## Future -- Support for hardware accelerators in Kubernetes is still in alpha. -- Better APIs will be introduced to provision and consume accelerators in a scalable manner. -- Kubernetes will automatically ensure that applications consuming GPUs get the best possible performance. - -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md b/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md index 798236e5ea..428d419dca 100644 --- a/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md +++ b/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md @@ -25,10 +25,10 @@ This document walks you through an example of enabling Horizontal Pod Autoscaler {{% capture prerequisites %}} This example requires a running Kubernetes cluster and kubectl, version 1.2 or later. -[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). +[metrics-server](https://github.com/kubernetes/heapster) monitoring needs to be deployed in the cluster +to provide metrics via the resource metrics API, as Horizontal Pod Autoscaler uses this API to collect metrics +(if you followed [getting started on GCE guide](/docs/getting-started-guides/gce.md), +metrics-server monitoring will be turned-on by default). To specify multiple resource metrics for a Horizontal Pod Autoscaler, you must have a Kubernetes cluster and kubectl at version 1.6 or later. Furthermore, in order to make use of custom metrics, your cluster @@ -212,7 +212,7 @@ Notice that the `targetCPUUtilizationPercentage` field has been replaced with an The CPU utilization metric is a *resource metric*, since it is represented as a percentage of a resource specified on pod containers. Notice that you can specify other resource metrics besides CPU. By default, the only other supported resource metric is memory. These resources do not change names from cluster -to cluster, and should always be available, as long as Heapster is deployed. +to cluster, and should always be available, as long as the `metrics.k8s.io` API is available. You can also specify resource metrics in terms of direct values, instead of as percentages of the requested value. To do so, use the `targetAverageValue` field instead of the `targetAverageUtilization` diff --git a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md index 663ebca21c..9bbb1c169f 100644 --- a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md +++ b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md @@ -60,19 +60,16 @@ or the custom metrics API (for all other metrics). * For object metrics, a single metric is fetched (which describes the object in question), and compared to the target value, to produce a ratio as above. -The HorizontalPodAutoscaler controller can fetch metrics in two different ways: direct Heapster -access, and REST client access. +The HorizontalPodAutoscaler normally fetches metrics a series of aggregated APIs (`metrics.k8s.io`,\ +`custom.metrics.k8s.io`, and `external.metrics.k8s.io`). It can also fetch metrics directly +from Heapster. Fetching metrics from Heapster is deprecated as of Kubernetes 1.11. -When using direct Heapster access, the HorizontalPodAutoscaler queries Heapster directly -through the API server's service proxy subresource. Heapster needs to be deployed on the -cluster and running in the kube-system namespace. - -See [Support for custom metrics](#support-for-custom-metrics) for more details on REST client access. - -The autoscaler accesses corresponding replication controller, deployment or replica set by scale sub-resource. -Scale is an interface that allows you to dynamically set the number of replicas and examine each of their current states. -More details on scale sub-resource can be found [here](https://git.k8s.io/community/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md#scale-subresource). +See [Support for metrics APIs](#support-for-metrics-apis) for more details. +The autoscaler accesses corresponding scalable controllers (such as replication controllers, deployments, and replica sets) +by using the scale sub-resource. Scale is an interface that allows you to dynamically set the number of replicas and examine +each of their current states. More details on scale sub-resource can be found +[here](https://git.k8s.io/community/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md#scale-subresource). ## API Object @@ -158,30 +155,27 @@ Kubernetes 1.6 adds support for making use of custom metrics in the Horizontal P You can add custom metrics for the Horizontal Pod Autoscaler to use in the `autoscaling/v2beta1` API. Kubernetes then queries the new custom metrics API to fetch the values of the appropriate custom metrics. -### Requirements +See [Support for metrics APIs](#support-for-metrics-APIs) for the requirements. -To use custom metrics with your Horizontal Pod Autoscaler, you must set the necessary configurations when deploying your cluster: +## Support for metrics APIs -* [Enable the API aggregation layer](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/) if you have not already done so. +By default, the HorizontalPodAutoscaler controller retrieves metrics from a series of APIs. In order for it to access these +APIs, cluster administrators must ensure that: -* Register your resource metrics API, your -custom metrics API and, optionally, external metrics API with the API aggregation layer. All of these API servers must be running *on* your cluster. +* The [API aggregation layer](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/) is enabled. - * *Resource Metrics API*: You can use Heapster's implementation of the resource metrics API, by running Heapster with its `--api-server` flag set to true. +* The corresponding APIs are registered: - * *Custom Metrics API*: This must be provided by a separate component. To get started with boilerplate code, see the [kubernetes-incubator/custom-metrics-apiserver](https://github.com/kubernetes-incubator/custom-metrics-apiserver) and the [k8s.io/metrics](https://github.com/kubernetes/metrics) repositories. + * For resource metrics, this is the `metrics.k8s.io` API, generally provided by [metrics-server](https://github.com/kubernetes-incubator/metrics-server). + It can be launched as a cluster addon. - * *External Metrics API*: Starting from Kubernetes 1.10 you can use this API if you need to autoscale on metrics not related to any Kubernetes object. Similarly to *Custom Metrics API* this must be provided by a separate component. + * For custom metrics, this is the `custom.metrics.k8s.io` API. It's provided by "adapter" API servers provided by metrics solution vendors. + Check with your metrics pipeline, or the [list of known solutions](https://github.com/kubernetes/metrics/blob/master/IMPLEMENTATIONS.md#custom-metrics-api). + If you would like to write your own, check out the [boilerplate](https://github.com/kubernetes-incubator/custom-metrics-apiserver) to get started. -* Set the appropriate flags for kube-controller-manager: + * For external metrics, this is the `external.metrics.k8s.io` API. It may be provided by the custom metrics adapters provided above. - * `--horizontal-pod-autoscaler-use-rest-clients` should be true. - - * `--kubeconfig ` OR `--master ` - - Note that either the `--master` or `--kubeconfig` flag can be used; `--master` will override `--kubeconfig` if both are specified. These flags specify the location of the API aggregation layer, allowing the controller manager to communicate to the API server. - - In Kubernetes 1.7, the standard aggregation layer that Kubernetes provides runs in-process with the kube-apiserver, so the target IP address can be found with `kubectl get pods --selector k8s-app=kube-apiserver --namespace kube-system -o jsonpath='{.items[0].status.podIP}'`. +* The `--horizontal-pod-autoscaler-use-rest-clients` is `true` or unset. Setting this to false switches to Heapster-based autoscaling, which is deprecated. {{% /capture %}} diff --git a/content/en/docs/user-journeys/users/cluster-operator/intermediate.md b/content/en/docs/user-journeys/users/cluster-operator/intermediate.md index 68761eb739..124e13dfbf 100644 --- a/content/en/docs/user-journeys/users/cluster-operator/intermediate.md +++ b/content/en/docs/user-journeys/users/cluster-operator/intermediate.md @@ -89,7 +89,7 @@ Kubernetes also supports a [core metrics pipeline](/docs/tasks/debug-application A common configuration on [Minikube](https://github.com/kubernetes/minikube) and some Kubernetes clusters uses [Heapster](https://github.com/kubernetes/heapster) [along with InfluxDB and Grafana](https://github.com/kubernetes/heapster/blob/master/docs/influxdb.md). There is a [walkthrough of how to install this configuration in your cluster](https://blog.kublr.com/how-to-utilize-the-heapster-influxdb-grafana-stack-in-kubernetes-for-monitoring-pods-4a553f4d36c9). -As of Kubernetes 1.9, the [sig-instrumentation](https://github.com/kubernetes/community/tree/master/sig-instrumentation) team is shifting away from an all-inclusive monitoring pattern with heapster, described in [Prometheus vs. Heapster vs. Kubernetes Metrics APIs](https://brancz.com/2018/01/05/prometheus-vs-heapster-vs-kubernetes-metrics-apis/). +As of Kubernetes 1.11, Heapster is deprecated, as per [sig-instrumentation](https://github.com/kubernetes/community/tree/master/sig-instrumentation). See [Prometheus vs. Heapster vs. Kubernetes Metrics APIs](https://brancz.com/2018/01/05/prometheus-vs-heapster-vs-kubernetes-metrics-apis/) for more information alternatives. Hosted data analytics services such as [Datadog](https://docs.datadoghq.com/integrations/kubernetes/) also offer Kubernetes integration. diff --git a/static/_redirects b/static/_redirects index 7a0756d0d9..b0ee124435 100644 --- a/static/_redirects +++ b/static/_redirects @@ -224,6 +224,8 @@ /docs/tasks/access-application-cluster/access-cluster.md /docs/tasks/access-application-cluster/access-cluster/ 301 /docs/tasks/access-application-cluster/authenticate-across-clusters-kubeconfig/ /docs/tasks/access-application-cluster/configure-access-multiple-clusters/ 301 /docs/tasks/access-kubernetes-api/access-kubernetes-api/http-proxy-access-api/ /docs/tasks/access-kubernetes-api/http-proxy-access-api/ 301 +/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/ /docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ 301 +/docs/tasks/access-kubernetes-api/migrate-third-party-resource/ /docs/tasks/access-kubernetes-api/custom-resources/migrate-third-party-resource/ 301 /docs/tasks/administer-cluster/apply-resource-quota-limit/ /docs/tasks/administer-cluster/quota-api-object/ 301 /docs/tasks/administer-cluster/assign-pods-nodes/ /docs/tasks/configure-pod-container/assign-pods-nodes/ 301 diff --git a/static/docs/reference/generated/kubectl/kubectl-commands.html b/static/docs/reference/generated/kubectl/kubectl-commands.html index 97b6efc8e8..c060bb0cef 100644 --- a/static/docs/reference/generated/kubectl/kubectl-commands.html +++ b/static/docs/reference/generated/kubectl/kubectl-commands.html @@ -11,7 +11,7 @@ - +
  • example

GETTING STARTED

@@ -25,1289 +25,6 @@ running on your cluster.

WORKING WITH APPS section to inspect them.


-

run

-
-

Start a single instance of nginx.

-
-
kubectl run nginx --image=nginx
-
-
-

Start a single instance of hazelcast and let the container expose port 5701 .

-
-
kubectl run hazelcast --image=hazelcast --port=5701
-
-
-

Start a single instance of hazelcast and set environment variables "DNS_DOMAIN=cluster" and "POD_NAMESPACE=default" in the container.

-
-
kubectl run hazelcast --image=hazelcast --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default"
-
-
-

Start a single instance of hazelcast and set labels "app=hazelcast" and "env=prod" in the container.

-
-
kubectl run hazelcast --image=nginx --labels="app=hazelcast,env=prod"
-
-
-

Start a replicated instance of nginx.

-
-
kubectl run nginx --image=nginx --replicas=5
-
-
-

Dry run. Print the corresponding API objects without creating them.

-
-
kubectl run nginx --image=nginx --dry-run
-
-
-

Start a single instance of nginx, but overload the spec of the deployment with a partial set of values parsed from JSON.

-
-
kubectl run nginx --image=nginx --overrides='{ "apiVersion": "v1", "spec": { ... } }'
-
-
-

Start a pod of busybox and keep it in the foreground, don't restart it if it exits.

-
-
kubectl run -i -t busybox --image=busybox --restart=Never
-
-
-

Start the nginx container using the default command, but use custom arguments (arg1 .. argN) for that command.

-
-
kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN>
-
-
-

Start the nginx container using a different command and custom arguments.

-
-
kubectl run nginx --image=nginx --command -- <cmd> <arg1> ... <argN>
-
-
-

Start the perl container to compute π to 2000 places and print it out.

-
-
kubectl run pi --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(2000)'
-
-
-

Start the cron job to compute π to 2000 places and print it out every 5 minutes.

-
-
kubectl run pi --schedule="0/5 * * * ?" --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(2000)'
-
-

Create and run a particular image, possibly replicated.

-

Creates a deployment or job to manage the created container(s).

-

Usage

-

$ run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...]

-

Flags

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameShorthandDefaultUsage
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
attachfalseIf true, wait for the Pod to start running, and then attach to the Pod as if 'kubectl attach ...' were called. Default false, unless '-i/--stdin' is set, in which case the default is true. With '--restart=Never' the exit code of the container process is returned.
commandfalseIf true and extra arguments are present, use them as the 'command' field in the container, rather than the 'args' field which is the default.
dry-runfalseIf true, only print the object that would be sent, without sending it.
env[]Environment variables to set in the container
exposefalseIf true, a public, external service is created for the container(s) which are run
generatorThe name of the API generator to use, see http://kubernetes.io/docs/user-guide/kubectl-conventions/#generators for a list.
hostport-1The host port mapping for the container port. To demonstrate a single-machine container.
imageThe image for the container to run.
image-pull-policyThe image pull policy for the container. If left empty, this value will not be specified by the client and defaulted by the server
include-extended-apistrueIf true, include definitions of new APIs via calls to the API server. [default true]
labelslComma separated labels to apply to the pod(s). Will override previous values.
leave-stdin-openfalseIf the pod is started in interactive mode or with stdin, leave stdin open after the first attach completes. By default, stdin will be closed after the first attach completes.
limitsThe resource requirement limits for this container. For example, 'cpu=200m,memory=512Mi'. Note that server side components may assign limits depending on the server configuration, such as limit ranges.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
overridesAn 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.
pod-running-timeout1m0sThe length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running
portThe port that this container exposes. If --expose is true, this is also the port used by the service that is created.
quietfalseIf true, suppress prompt messages.
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
replicasr1Number of replicas to create for this container. Default is 1.
requestsThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'. Note that server side components may assign requests depending on the server configuration, such as limit ranges.
restartAlwaysThe restart policy for this Pod. Legal values [Always, OnFailure, Never]. If set to 'Always' a deployment is created, if set to 'OnFailure' a job is created, if set to 'Never', a regular pod is created. For the latter two --replicas must be 1. Default 'Always', for CronJobs Never.
rmfalseIf true, delete resources created in this command for attached containers.
save-configfalseIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
scheduleA schedule in the Cron format the job should be run with.
service-generatorservice/v2The name of the generator to use for creating a service. Only used if --expose is true
service-overridesAn inline JSON override for the generated service object. If this is non-empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field. Only used if --expose is true.
serviceaccountService account to set in the pod spec
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
stdinifalseKeep stdin open on the container(s) in the pod, even if nothing is attached.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
ttytfalseAllocated a TTY for each container in the pod.
-
-

run-container

-
-

Start a single instance of nginx.

-
-
kubectl run nginx --image=nginx
-
-
-

Start a single instance of hazelcast and let the container expose port 5701 .

-
-
kubectl run hazelcast --image=hazelcast --port=5701
-
-
-

Start a single instance of hazelcast and set environment variables "DNS_DOMAIN=cluster" and "POD_NAMESPACE=default" in the container.

-
-
kubectl run hazelcast --image=hazelcast --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default"
-
-
-

Start a single instance of hazelcast and set labels "app=hazelcast" and "env=prod" in the container.

-
-
kubectl run hazelcast --image=nginx --labels="app=hazelcast,env=prod"
-
-
-

Start a replicated instance of nginx.

-
-
kubectl run nginx --image=nginx --replicas=5
-
-
-

Dry run. Print the corresponding API objects without creating them.

-
-
kubectl run nginx --image=nginx --dry-run
-
-
-

Start a single instance of nginx, but overload the spec of the deployment with a partial set of values parsed from JSON.

-
-
kubectl run nginx --image=nginx --overrides='{ "apiVersion": "v1", "spec": { ... } }'
-
-
-

Start a pod of busybox and keep it in the foreground, don't restart it if it exits.

-
-
kubectl run -i -t busybox --image=busybox --restart=Never
-
-
-

Start the nginx container using the default command, but use custom arguments (arg1 .. argN) for that command.

-
-
kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN>
-
-
-

Start the nginx container using a different command and custom arguments.

-
-
kubectl run nginx --image=nginx --command -- <cmd> <arg1> ... <argN>
-
-
-

Start the perl container to compute π to 2000 places and print it out.

-
-
kubectl run pi --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(2000)'
-
-
-

Start the cron job to compute π to 2000 places and print it out every 5 minutes.

-
-
kubectl run pi --schedule="0/5 * * * ?" --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(2000)'
-
-

Create and run a particular image, possibly replicated.

-

Creates a deployment or job to manage the created container(s).

-

Usage

-

$ run-container

-

Flags

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameShorthandDefaultUsage
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
attachfalseIf true, wait for the Pod to start running, and then attach to the Pod as if 'kubectl attach ...' were called. Default false, unless '-i/--stdin' is set, in which case the default is true. With '--restart=Never' the exit code of the container process is returned.
commandfalseIf true and extra arguments are present, use them as the 'command' field in the container, rather than the 'args' field which is the default.
dry-runfalseIf true, only print the object that would be sent, without sending it.
env[]Environment variables to set in the container
exposefalseIf true, a public, external service is created for the container(s) which are run
generatorThe name of the API generator to use, see http://kubernetes.io/docs/user-guide/kubectl-conventions/#generators for a list.
hostport-1The host port mapping for the container port. To demonstrate a single-machine container.
imageThe image for the container to run.
image-pull-policyThe image pull policy for the container. If left empty, this value will not be specified by the client and defaulted by the server
include-extended-apistrueIf true, include definitions of new APIs via calls to the API server. [default true]
labelslComma separated labels to apply to the pod(s). Will override previous values.
leave-stdin-openfalseIf the pod is started in interactive mode or with stdin, leave stdin open after the first attach completes. By default, stdin will be closed after the first attach completes.
limitsThe resource requirement limits for this container. For example, 'cpu=200m,memory=512Mi'. Note that server side components may assign limits depending on the server configuration, such as limit ranges.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
overridesAn 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.
pod-running-timeout1m0sThe length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running
portThe port that this container exposes. If --expose is true, this is also the port used by the service that is created.
quietfalseIf true, suppress prompt messages.
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
replicasr1Number of replicas to create for this container. Default is 1.
requestsThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'. Note that server side components may assign requests depending on the server configuration, such as limit ranges.
restartAlwaysThe restart policy for this Pod. Legal values [Always, OnFailure, Never]. If set to 'Always' a deployment is created, if set to 'OnFailure' a job is created, if set to 'Never', a regular pod is created. For the latter two --replicas must be 1. Default 'Always', for CronJobs Never.
rmfalseIf true, delete resources created in this command for attached containers.
save-configfalseIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
scheduleA schedule in the Cron format the job should be run with.
service-generatorservice/v2The name of the generator to use for creating a service. Only used if --expose is true
service-overridesAn inline JSON override for the generated service object. If this is non-empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field. Only used if --expose is true.
serviceaccountService account to set in the pod spec
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
stdinifalseKeep stdin open on the container(s) in the pod, even if nothing is attached.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
ttytfalseAllocated a TTY for each container in the pod.
-
-

expose

-
-

Create a service for a replicated nginx, which serves on port 80 and connects to the containers on port 8000.

-
-
kubectl expose rc nginx --port=80 --target-port=8000
-
-
-

Create a service for a replication controller identified by type and name specified in "nginx-controller.yaml", which serves on port 80 and connects to the containers on port 8000.

-
-
kubectl expose -f nginx-controller.yaml --port=80 --target-port=8000
-
-
-

Create a service for a pod valid-pod, which serves on port 444 with the name "frontend"

-
-
kubectl expose pod valid-pod --port=444 --name=frontend
-
-
-

Create a second service based on the above service, exposing the container port 8443 as port 443 with the name "nginx-https"

-
-
kubectl expose service nginx --port=443 --target-port=8443 --name=nginx-https
-
-
-

Create a service for a replicated streaming application on port 4100 balancing UDP traffic and named 'video-stream'.

-
-
kubectl expose rc streamer --port=4100 --protocol=udp --name=video-stream
-
-
-

Create a service for a replicated nginx using replica set, which serves on port 80 and connects to the containers on port 8000.

-
-
kubectl expose rs nginx --port=80 --target-port=8000
-
-
-

Create a service for an nginx deployment, which serves on port 80 and connects to the containers on port 8000.

-
-
kubectl expose deployment nginx --port=80 --target-port=8000
-
-

Expose a resource as a new Kubernetes service.

-

Looks up a deployment, service, replica set, replication controller or pod by name and uses the selector for that resource as the selector for a new service on the specified port. A deployment or replica set will be exposed as a service only if its selector is convertible to a selector that service supports, i.e. when the selector contains only the matchLabels component. Note that if no port is specified via --port and the exposed resource has multiple ports, all will be re-used by the new service. Also if no labels are specified, the new service will re-use the labels from the resource it exposes.

-

Possible resources include (case insensitive):

-

pod (po), service (svc), replicationcontroller (rc), deployment (deploy), replicaset (rs)

-

Usage

-

$ expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type]

-

Flags

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameShorthandDefaultUsage
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
cluster-ipClusterIP to be assigned to the service. Leave empty to auto-allocate, or set to 'None' to create a headless service.
container-portSynonym for --target-port
dry-runfalseIf true, only print the object that would be sent, without sending it.
external-ipAdditional external IP address (not managed by Kubernetes) to accept for the service. If this IP is routed to a node, the service can be accessed by this IP in addition to its generated service IP.
filenamef[]Filename, directory, or URL to files identifying the resource to expose a service
generatorservice/v2The name of the API generator to use. There are 2 generators: 'service/v1' and 'service/v2'. The only difference between them is that service port in v1 is named 'default', while it is left unnamed in v2. Default is 'service/v2'.
labelslLabels to apply to the service created by this call.
load-balancer-ipIP to assign to the LoadBalancer. If empty, an ephemeral IP will be created and used (cloud-provider specific).
nameThe name for the newly created object.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
overridesAn 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.
portThe port that the service should serve on. Copied from the resource being exposed, if unspecified
protocolThe network protocol for the service to be created. Default is 'TCP'.
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
save-configfalseIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
selectorA label selector to use for this service. Only equality-based selector requirements are supported. If empty (the default) infer the selector from the replication controller or replica set.)
session-affinityIf non-empty, set the session affinity for the service to this; legal values: 'None', 'ClientIP'
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
target-portName or number for the port on the container that the service should direct traffic to. Optional.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
typeType for this service: ClusterIP, NodePort, LoadBalancer, or ExternalName. Default is 'ClusterIP'.
-

APP MANAGEMENT

-

This section contains commands for creating, updating, deleting, and -viewing your workloads in a Kubernetes cluster.

-
-

annotate

-
-

Update pod 'foo' with the annotation 'description' and the value 'my frontend'. # If the same annotation is set multiple times, only the last value will be applied

-
-
kubectl annotate pods foo description='my frontend'
-
-
-

Update a pod identified by type and name in "pod.json"

-
-
kubectl annotate -f pod.json description='my frontend'
-
-
-

Update pod 'foo' with the annotation 'description' and the value 'my frontend running nginx', overwriting any existing value.

-
-
kubectl annotate --overwrite pods foo description='my frontend running nginx'
-
-
-

Update all pods in the namespace

-
-
kubectl annotate pods --all description='my frontend running nginx'
-
-
-

Update pod 'foo' only if the resource is unchanged from version 1.

-
-
kubectl annotate pods foo description='my frontend running nginx' --resource-version=1
-
-
-

Update pod 'foo' by removing an annotation named 'description' if it exists. # Does not require the --overwrite flag.

-
-
kubectl annotate pods foo description-
-
-

Update the annotations on one or more resources

-

All Kubernetes objects support the ability to store additional data with the object as annotations. Annotations are key/value pairs that can be larger than labels and include arbitrary string values such as structured JSON. Tools and system extensions may use annotations to store their own data.

-

Attempting to set an annotation that already exists will fail unless --overwrite is set. If --resource-version is specified and does not match the current resource version on the server the command will fail.

-

Valid resource types include:

-
    -
  • all
  • -
  • certificatesigningrequests (aka 'csr')
  • -
  • clusterrolebindings
  • -
  • clusterroles
  • -
  • componentstatuses (aka 'cs')
  • -
  • configmaps (aka 'cm')
  • -
  • controllerrevisions
  • -
  • cronjobs
  • -
  • customresourcedefinition (aka 'crd')
  • -
  • daemonsets (aka 'ds')
  • -
  • deployments (aka 'deploy')
  • -
  • endpoints (aka 'ep')
  • -
  • events (aka 'ev')
  • -
  • horizontalpodautoscalers (aka 'hpa')
  • -
  • ingresses (aka 'ing')
  • -
  • jobs
  • -
  • limitranges (aka 'limits')
  • -
  • namespaces (aka 'ns')
  • -
  • networkpolicies (aka 'netpol')
  • -
  • nodes (aka 'no')
  • -
  • persistentvolumeclaims (aka 'pvc')
  • -
  • persistentvolumes (aka 'pv')
  • -
  • poddisruptionbudgets (aka 'pdb')
  • -
  • podpreset
  • -
  • pods (aka 'po')
  • -
  • podsecuritypolicies (aka 'psp')
  • -
  • podtemplates
  • -
  • replicasets (aka 'rs')
  • -
  • replicationcontrollers (aka 'rc')
  • -
  • resourcequotas (aka 'quota')
  • -
  • rolebindings
  • -
  • roles
  • -
  • secrets
  • -
  • serviceaccounts (aka 'sa')
  • -
  • services (aka 'svc')
  • -
  • statefulsets (aka 'sts')
  • -
  • storageclasses (aka 'sc')
  • -
-

Usage

-

$ annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version]

-

Flags

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameShorthandDefaultUsage
allfalseSelect all resources, including uninitialized ones, in the namespace of the specified resource types.
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
dry-runfalseIf true, only print the object that would be sent, without sending it.
filenamef[]Filename, directory, or URL to files identifying the resource to update the annotation
include-extended-apistrueIf true, include definitions of new APIs via calls to the API server. [default true]
include-uninitializedfalseIf true, the kubectl command applies to uninitialized objects. If explicitly set to false, this flag overrides other flags that make the kubectl commands apply to uninitialized objects, e.g., "--all". Objects with empty metadata.initializers are regarded as initialized.
localfalseIf true, annotation will NOT contact api-server but run locally.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
overwritefalseIf true, allow annotations to be overwritten, otherwise reject annotation updates that overwrite existing annotations.
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
resource-versionIf 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.
selectorlSelector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2).
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
-
-

autoscale

-
-

Auto scale a deployment "foo", with the number of pods between 2 and 10, no target CPU utilization specified so a default autoscaling policy will be used:

-
-
kubectl autoscale deployment foo --min=2 --max=10
-
-
-

Auto scale a replication controller "foo", with the number of pods between 1 and 5, target CPU utilization at 80%:

-
-
kubectl autoscale rc foo --max=5 --cpu-percent=80
-
-

Creates an autoscaler that automatically chooses and sets the number of pods that run in a kubernetes cluster.

-

Looks up a Deployment, ReplicaSet, or ReplicationController by name and creates an autoscaler that uses the given resource as a reference. An autoscaler can automatically increase or decrease number of pods deployed within the system as needed.

-

Usage

-

$ autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU]

-

Flags

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameShorthandDefaultUsage
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
cpu-percent-1The target average CPU utilization (represented as a percent of requested CPU) over all the pods. If it's not specified or negative, a default autoscaling policy will be used.
dry-runfalseIf true, only print the object that would be sent, without sending it.
filenamef[]Filename, directory, or URL to files identifying the resource to autoscale.
generatorhorizontalpodautoscaler/v1The name of the API generator to use. Currently there is only 1 generator.
include-extended-apistrueIf true, include definitions of new APIs via calls to the API server. [default true]
max-1The upper limit for the number of pods that can be set by the autoscaler. Required.
min-1The lower limit for the number of pods that can be set by the autoscaler. If it's not specified or negative, the server will apply a default value.
nameThe name for the newly created object. If not specified, the name of the input resource will be used.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
save-configfalseIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
-
-

convert

-
-

Convert 'pod.yaml' to latest version and print to stdout.

-
-
kubectl convert -f pod.yaml
-
-
-

Convert the live state of the resource specified by 'pod.yaml' to the latest version # and print to stdout in JSON format.

-
-
kubectl convert -f pod.yaml --local -o json
-
-
-

Convert all files under current directory to latest version and create them all.

-
-
kubectl convert -f . | kubectl create -f -
-
-

Convert config files between different API versions. Both YAML and JSON formats are accepted.

-

The command takes filename, directory, or URL as input, and convert it into format of version specified by --output-version flag. If target version is not specified or not supported, convert to latest version.

-

The default output will be printed to stdout in YAML format. One can use -o option to change to output destination.

-

Usage

-

$ convert -f FILENAME

-

Flags

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameShorthandDefaultUsage
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
filenamef[]Filename, directory, or URL to files to need to get converted.
include-extended-apistrueIf true, include definitions of new APIs via calls to the API server. [default true]
localtrueIf true, convert will NOT try to contact api-server but run locally.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionOutput the formatted object with the given group version (for ex: 'extensions/v1beta1').)
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
validatetrueIf true, use a schema to validate the input before sending it
-

create

Create a pod using the data in pod.json.

@@ -1320,9 +37,9 @@ viewing your workloads in a Kubernetes cluster.

cat pod.json | kubectl create -f -
 
-

Edit the data in docker-registry.yaml in JSON using the v1 API format then create the resource using the edited data.

+

Edit the data in docker-registry.yaml in JSON then create the resource using the edited data.

-
kubectl create -f docker-registry.yaml --edit --output-version=v1 -o json
+
kubectl create -f docker-registry.yaml --edit -o json
 

Create a resource from a file or from stdin.

JSON and YAML formats are accepted.

@@ -1364,30 +81,12 @@ viewing your workloads in a Kubernetes cluster.

Filename, directory, or URL to files to use to create the resource -include-extended-apis - -true -If true, include definitions of new APIs via calls to the API server. [default true] - - -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - raw @@ -1418,24 +117,6 @@ viewing your workloads in a Kubernetes cluster.

Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2) -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - template @@ -1465,7 +146,7 @@ viewing your workloads in a Kubernetes cluster.

Create a ClusterRole named "pod-reader" with ResourceName specified

-
kubectl create clusterrole pod-reader --verb=get,list,watch --resource=pods --resource-name=readablepod --resource-name=anotherpod
+
kubectl create clusterrole pod-reader --verb=get --resource=pods --resource-name=readablepod --resource-name=anotherpod
 

Create a ClusterRole named "foo" with API Group specified

@@ -1482,6 +163,11 @@ viewing your workloads in a Kubernetes cluster.

kubectl create clusterrole "foo" --verb=get --non-resource-url=/logs/*
 
+
+

Create a ClusterRole name "monitoring" with AggregationRule specified

+
+
kubectl create clusterrole monitoring --aggregation-rule="rbac.example.com/aggregate-to-monitoring=true"
+

Create a ClusterRole.

Usage

$ clusterrole NAME --verb=verb --resource=resource.group [--resource-name=resourcename] [--dry-run]

@@ -1497,6 +183,12 @@ viewing your workloads in a Kubernetes cluster.

+aggregation-rule + + +An aggregation label selector for combining ClusterRoles. + + allow-missing-template-keys true @@ -1509,12 +201,6 @@ viewing your workloads in a Kubernetes cluster.

If true, only print the object that would be sent, without sending it. -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - non-resource-url [] @@ -1527,12 +213,6 @@ viewing your workloads in a Kubernetes cluster.

Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - resource [] @@ -1551,24 +231,6 @@ viewing your workloads in a Kubernetes cluster.

If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future. -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - template @@ -1640,24 +302,12 @@ viewing your workloads in a Kubernetes cluster.

Groups to bind to the role -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - save-config false @@ -1670,24 +320,6 @@ viewing your workloads in a Kubernetes cluster.

Service accounts to bind to the role, in the format : -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - template @@ -1788,48 +420,18 @@ viewing your workloads in a Kubernetes cluster.

The name of the API generator to use. -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future. -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - template @@ -1879,7 +481,7 @@ viewing your workloads in a Kubernetes cluster.

generator -deployment-basic/v1beta1 + The name of the API generator to use. @@ -1889,48 +491,18 @@ viewing your workloads in a Kubernetes cluster.

Image name to run. -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future. -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - template @@ -1949,11 +521,11 @@ viewing your workloads in a Kubernetes cluster.

Create a job from a CronJob named "a-cronjob"

-
kubectl create job --from=cronjob/a-cronjob
+
kubectl create job test-job --from=cronjob/a-cronjob
 

Create a job with the specified name.

Usage

-

$ job NAME [--from-cronjob=CRONJOB]

+

$ job NAME [--from=CRONJOB]

Flags

@@ -1972,54 +544,30 @@ viewing your workloads in a Kubernetes cluster.

+ + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2073,48 +621,18 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2185,24 +703,12 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - @@ -2215,24 +721,6 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - @@ -2303,48 +791,18 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2415,24 +873,12 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - @@ -2445,24 +891,6 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - @@ -2486,7 +914,7 @@ viewing your workloads in a Kubernetes cluster.

Create a Role named "pod-reader" with ResourceName specified

-
kubectl create role pod-reader --verb=get,list,watch --resource=pods --resource-name=readablepod --resource-name=anotherpod
+
kubectl create role pod-reader --verb=get --resource=pods --resource-name=readablepod --resource-name=anotherpod
 

Create a Role named "foo" with API Group specified

@@ -2525,24 +953,12 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - @@ -2561,24 +977,6 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - @@ -2650,24 +1048,12 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - @@ -2686,24 +1072,6 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - @@ -2729,12 +1097,14 @@ viewing your workloads in a Kubernetes cluster.

kubectl create secret docker-registry my-secret --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
 
-

Create a new secret for use with Docker registries.

-

Dockercfg secrets are used to authenticate against Docker registries.

-

When using the Docker command line to push images, you can authenticate to a given registry by running: '$ docker login DOCKER REGISTRY SERVER --username=DOCKER USER --password=DOCKER PASSWORD --email=DOCKER _EMAIL'.

-

That produces a ~/.dockercfg file that is used by subsequent 'docker push' and 'docker pull' commands to

-

authenticate to the registry. The email address is optional.

-

When creating applications, you may have a Docker registry that requires authentication. In order for the nodes to pull images on your behalf, they have to have the credentials. You can provide this information by creating a dockercfg secret and attaching it to your service account.

+

Create a new secret for use with Docker registries.

+

Dockercfg secrets are used to authenticate against Docker registries.

+

When using the Docker command line to push images, you can authenticate to a given registry by running: + '$ docker login DOCKER_REGISTRY_SERVER --username=DOCKER_USER --password=DOCKER_PASSWORD --email=DOCKER_EMAIL'.

+

That produces a ~/.dockercfg file that is used by subsequent 'docker push' and 'docker pull' commands to authenticate to the registry. The email address is optional.

+

When creating applications, you may have a Docker registry that requires authentication. In order for the + nodes to pull images on your behalf, they have to have the credentials. You can provide this information + by creating a dockercfg secret and attaching it to your service account.

Usage

$ docker-registry NAME --docker-username=user --docker-password=password --docker-email=email [--docker-server=string] [--from-literal=key1=value1] [--dry-run]

Flags

@@ -2791,60 +1161,30 @@ viewing your workloads in a Kubernetes cluster.

+ + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2945,48 +1285,18 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3065,48 +1375,18 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3176,48 +1456,18 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3284,48 +1534,18 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3385,48 +1605,18 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3486,12 +1676,6 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - @@ -3504,36 +1688,12 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - - - - - - - @@ -3593,10 +1753,149 @@ viewing your workloads in a Kubernetes cluster.

- + + + + + + + + + + + + + + + + + + + - + + + +
If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
dry-runfalseIf true, only print the object that would be sent, without sending it.
from The name of the resource to create a Job from (only cronjob is supported).
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
template The name of the API generator to use.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
template The minimum number or percentage of available pods this budget requires.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false A label selector to use for this budget. Only equality-based selector requirements are supported.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
template global-default specifies whether this PriorityClass should be considered as the default priority.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
template A comma-delimited set of resource=quantity pairs that define a hard limit.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false A comma-delimited set of quota scopes that must all match each object tracked by the quota.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
template If true, only print the object that would be sent, without sending it.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
resource []If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
template Groups to bind to the role
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
role Service accounts to bind to the role, in the format :
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
template If true, only print the object that would be sent, without sending it.
from-file[]Key files can be specified using their file path, in which case a default name will be given to them, or optionally with a name and file path, in which case the given name will be used. Specifying a directory will iterate each named file in the directory that is a valid secret key.
generator secret-for-docker-registry/v1 The name of the API generator to use.
include-extended-apistrueIf true, include definitions of new APIs via calls to the API server. [default true]
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
template The name of the API generator to use.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
template Path to private key associated with given certificate.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
template The name of the API generator to use.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
tcp []The name of the API generator to use.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
tcp []The name of the API generator to use.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
tcp []The name of the API generator to use.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
node-port 0Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
save-config false If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
tcp []The name of the API generator to use.
include-extended-apisoutputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
save-configfalseIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
validate trueIf true, include definitions of new APIs via calls to the API server. [default true] If true, use a schema to validate the input before sending it
+
+

get

+
+

List all pods in ps output format.

+
+
kubectl get pods
+
+
+

List all pods in ps output format with more information (such as node name).

+
+
kubectl get pods -o wide
+
+
+

List a single replication controller with specified NAME in ps output format.

+
+
kubectl get replicationcontroller web
+
+
+

List deployments in JSON output format, in the "v1" version of the "apps" API group:

+
+
kubectl get deployments.v1.apps -o json
+
+
+

List a single pod in JSON output format.

+
+
kubectl get -o json pod web-pod-13je7
+
+
+

List a pod identified by type and name specified in "pod.yaml" in JSON output format.

+
+
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}}
+
+
+

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
+
+

Display one or many resources

+

Prints a table of the most important information about the specified resources. You can filter the list using a label selector and the --selector flag. If the desired resource type is namespaced you will only see results in your current namespace unless you pass --all-namespaces.

+

Uninitialized objects are not shown unless --include-uninitialized is passed.

+

By specifying the output as 'template' and providing a Go template as the value of the --template flag, you can filter the attributes of the fetched resources.

+

Use "kubectl api-resources" for a complete list of supported resources.

+

Usage

+

$ get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...] (TYPE[.VERSION][.GROUP] [NAME | -l label] | TYPE[.VERSION][.GROUP]/NAME ...) [flags]

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3611,16 +1910,28 @@ viewing your workloads in a Kubernetes cluster.

- + - + - - + + - + + + + + + + + + + + + + @@ -3629,6 +1940,12 @@ viewing your workloads in a Kubernetes cluster.

+ + + + + + @@ -3647,10 +1964,493 @@ viewing your workloads in a Kubernetes cluster.

- + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
all-namespacesfalseIf present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
chunk-size500Return large lists in chunks rather than all at once. Pass 0 to disable. This flag is beta and may change in the future.
exportfalseIf true, use 'export' for the resources. Exported resources are stripped of cluster-specific information.
field-selectorSelector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type.
filenamef[]Filename, directory, or URL to files identifying the resource to get from a server.
ignore-not-foundfalseIf the requested object does not exist the command will return exit code 0.
include-uninitializedfalseIf true, the kubectl command applies to uninitialized objects. If explicitly set to false, this flag overrides other flags that make the kubectl commands apply to uninitialized objects, e.g., "--all". Objects with empty metadata.initializers are regarded as initialized.
label-columnsL[]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 options like -L label1 -L label2...
no-headers Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionraw DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). Raw URI to request from the server. Uses the transport specified by the kubeconfig file.
save-configrecursiveR falseIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future. Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
selectorlSelector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)
server-printtrueIf true, have the server return the appropriate table output. Supports extension APIs and CRDs.
show-all When printing, show all resources (default show all pods including terminated one.)
show-kindfalseIf present, list the resource type for the requested object(s).
show-labels false Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
validateuse-openapi-print-columnsfalseIf true, use x-kubernetes-print-column metadata (if present) from the OpenAPI schema for displaying a resource.
watchwfalseAfter listing/getting the requested object, watch for changes. Uninitialized objects are excluded if no object name is provided.
watch-onlyfalseWatch for changes to the requested object(s), without listing/getting first.
+
+

run

+
+

Start a single instance of nginx.

+
+
kubectl run nginx --image=nginx
+
+
+

Start a single instance of hazelcast and let the container expose port 5701 .

+
+
kubectl run hazelcast --image=hazelcast --port=5701
+
+
+

Start a single instance of hazelcast and set environment variables "DNS_DOMAIN=cluster" and "POD_NAMESPACE=default" in the container.

+
+
kubectl run hazelcast --image=hazelcast --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default"
+
+
+

Start a single instance of hazelcast and set labels "app=hazelcast" and "env=prod" in the container.

+
+
kubectl run hazelcast --image=nginx --labels="app=hazelcast,env=prod"
+
+
+

Start a replicated instance of nginx.

+
+
kubectl run nginx --image=nginx --replicas=5
+
+
+

Dry run. Print the corresponding API objects without creating them.

+
+
kubectl run nginx --image=nginx --dry-run
+
+
+

Start a single instance of nginx, but overload the spec of the deployment with a partial set of values parsed from JSON.

+
+
kubectl run nginx --image=nginx --overrides='{ "apiVersion": "v1", "spec": { ... } }'
+
+
+

Start a pod of busybox and keep it in the foreground, don't restart it if it exits.

+
+
kubectl run -i -t busybox --image=busybox --restart=Never
+
+
+

Start the nginx container using the default command, but use custom arguments (arg1 .. argN) for that command.

+
+
kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN>
+
+
+

Start the nginx container using a different command and custom arguments.

+
+
kubectl run nginx --image=nginx --command -- <cmd> <arg1> ... <argN>
+
+
+

Start the perl container to compute π to 2000 places and print it out.

+
+
kubectl run pi --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(2000)'
+
+
+

Start the cron job to compute π to 2000 places and print it out every 5 minutes.

+
+
kubectl run pi --schedule="0/5 * * * ?" --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(2000)'
+
+

Create and run a particular image, possibly replicated.

+

Creates a deployment or job to manage the created container(s).

+

Usage

+

$ run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...]

+

Flags

+ + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
attachfalseIf true, wait for the Pod to start running, and then attach to the Pod as if 'kubectl attach ...' were called. Default false, unless '-i/--stdin' is set, in which case the default is true. With '--restart=Never' the exit code of the container process is returned.
cascade trueIf true, use a schema to validate the input before sending it If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true.
commandfalseIf true and extra arguments are present, use them as the 'command' field in the container, rather than the 'args' field which is the default.
dry-runfalseIf true, only print the object that would be sent, without sending it.
env[]Environment variables to set in the container
exposefalseIf true, a public, external service is created for the container(s) which are run
filenamef[]to use to replace the resource.
forcefalseOnly used when grace-period=0. If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.
generatorThe name of the API generator to use, see http://kubernetes.io/docs/user-guide/kubectl-conventions/#generators for a list.
grace-period-1Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion).
hostport-1The host port mapping for the container port. To demonstrate a single-machine container.
imageThe image for the container to run.
image-pull-policyThe image pull policy for the container. If left empty, this value will not be specified by the client and defaulted by the server
labelslComma separated labels to apply to the pod(s). Will override previous values.
leave-stdin-openfalseIf the pod is started in interactive mode or with stdin, leave stdin open after the first attach completes. By default, stdin will be closed after the first attach completes.
limitsThe resource requirement limits for this container. For example, 'cpu=200m,memory=512Mi'. Note that server side components may assign limits depending on the server configuration, such as limit ranges.
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
overridesAn 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.
pod-running-timeout1m0sThe length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running
portThe port that this container exposes. If --expose is true, this is also the port used by the service that is created.
quietfalseIf true, suppress prompt messages.
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
replicasr1Number of replicas to create for this container. Default is 1.
requestsThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'. Note that server side components may assign requests depending on the server configuration, such as limit ranges.
restartAlwaysThe restart policy for this Pod. Legal values [Always, OnFailure, Never]. If set to 'Always' a deployment is created, if set to 'OnFailure' a job is created, if set to 'Never', a regular pod is created. For the latter two --replicas must be 1. Default 'Always', for CronJobs Never.
rmfalseIf true, delete resources created in this command for attached containers.
save-configfalseIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
scheduleA schedule in the Cron format the job should be run with.
service-generatorservice/v2The name of the generator to use for creating a service. Only used if --expose is true
service-overridesAn inline JSON override for the generated service object. If this is non-empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field. Only used if --expose is true.
serviceaccountService account to set in the pod spec
stdinifalseKeep stdin open on the container(s) in the pod, even if nothing is attached.
timeout0sThe length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object
ttytfalseAllocated a TTY for each container in the pod.
waitfalseIf true, wait for resources to be gone before returning. This waits for finalizers.
+
+

expose

+
+

Create a service for a replicated nginx, which serves on port 80 and connects to the containers on port 8000.

+
+
kubectl expose rc nginx --port=80 --target-port=8000
+
+
+

Create a service for a replication controller identified by type and name specified in "nginx-controller.yaml", which serves on port 80 and connects to the containers on port 8000.

+
+
kubectl expose -f nginx-controller.yaml --port=80 --target-port=8000
+
+
+

Create a service for a pod valid-pod, which serves on port 444 with the name "frontend"

+
+
kubectl expose pod valid-pod --port=444 --name=frontend
+
+
+

Create a second service based on the above service, exposing the container port 8443 as port 443 with the name "nginx-https"

+
+
kubectl expose service nginx --port=443 --target-port=8443 --name=nginx-https
+
+
+

Create a service for a replicated streaming application on port 4100 balancing UDP traffic and named 'video-stream'.

+
+
kubectl expose rc streamer --port=4100 --protocol=udp --name=video-stream
+
+
+

Create a service for a replicated nginx using replica set, which serves on port 80 and connects to the containers on port 8000.

+
+
kubectl expose rs nginx --port=80 --target-port=8000
+
+
+

Create a service for an nginx deployment, which serves on port 80 and connects to the containers on port 8000.

+
+
kubectl expose deployment nginx --port=80 --target-port=8000
+
+

Expose a resource as a new Kubernetes service.

+

Looks up a deployment, service, replica set, replication controller or pod by name and uses the selector for that resource as the selector for a new service on the specified port. A deployment or replica set will be exposed as a service only if its selector is convertible to a selector that service supports, i.e. when the selector contains only the matchLabels component. Note that if no port is specified via --port and the exposed resource has multiple ports, all will be re-used by the new service. Also if no labels are specified, the new service will re-use the labels from the resource it exposes.

+

Possible resources include (case insensitive):

+

pod (po), service (svc), replicationcontroller (rc), deployment (deploy), replicaset (rs)

+

Usage

+

$ expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type]

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
cluster-ipClusterIP to be assigned to the service. Leave empty to auto-allocate, or set to 'None' to create a headless service.
container-portSynonym for --target-port
dry-runfalseIf true, only print the object that would be sent, without sending it.
external-ipAdditional external IP address (not managed by Kubernetes) to accept for the service. If this IP is routed to a node, the service can be accessed by this IP in addition to its generated service IP.
filenamef[]Filename, directory, or URL to files identifying the resource to expose a service
generatorservice/v2The name of the API generator to use. There are 2 generators: 'service/v1' and 'service/v2'. The only difference between them is that service port in v1 is named 'default', while it is left unnamed in v2. Default is 'service/v2'.
labelslLabels to apply to the service created by this call.
load-balancer-ipIP to assign to the LoadBalancer. If empty, an ephemeral IP will be created and used (cloud-provider specific).
nameThe name for the newly created object.
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
overridesAn 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.
portThe port that the service should serve on. Copied from the resource being exposed, if unspecified
protocolThe network protocol for the service to be created. Default is 'TCP'.
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
save-configfalseIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
selectorA label selector to use for this service. Only equality-based selector requirements are supported. If empty (the default) infer the selector from the replication controller or replica set.)
session-affinityIf non-empty, set the session affinity for the service to this; legal values: 'None', 'ClientIP'
target-portName or number for the port on the container that the service should direct traffic to. Optional.
typeType for this service: ClusterIP, NodePort, LoadBalancer, or ExternalName. Default is 'ClusterIP'.
@@ -3722,22 +2522,28 @@ viewing your workloads in a Kubernetes cluster.

If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true. +field-selector + + +Selector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type. + + filename f [] -Filename, directory, or URL to files containing the resource to delete. +containing the resource to delete. force false -Immediate deletion of some resources may result in inconsistency or data loss and requires confirmation. +Only used when grace-period=0. If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation. grace-period -1 -Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. +Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion). ignore-not-found @@ -3746,12 +2552,6 @@ viewing your workloads in a Kubernetes cluster.

Treat "resource not found" as a successful delete. Defaults to "true" when --all is specified. -include-extended-apis - -true -If true, include definitions of new APIs via calls to the API server. [default true] - - include-uninitialized false @@ -3787,6 +2587,636 @@ viewing your workloads in a Kubernetes cluster.

0s The length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object + +wait + +true +If true, wait for resources to be gone before returning. This waits for finalizers. + + + +

APP MANAGEMENT

+

This section contains commands for creating, updating, deleting, and +viewing your workloads in a Kubernetes cluster.

+
+

apply

+
+

Apply the configuration in pod.json to a pod.

+
+
kubectl apply -f ./pod.json
+
+
+

Apply the JSON passed into stdin to a pod.

+
+
cat pod.json | kubectl apply -f -
+
+
+

Note: --prune is still in Alpha # Apply the configuration in manifest.yaml that matches label app=nginx and delete all the other resources that are not in the file and match label app=nginx.

+
+
kubectl apply --prune -f manifest.yaml -l app=nginx
+
+
+

Apply the configuration in manifest.yaml and delete all the other configmaps that are not in the file.

+
+
kubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/v1/ConfigMap
+
+

Apply a configuration to a resource by filename or stdin. The resource name must be specified. This resource will be created if it doesn't exist yet. To use 'apply', always create the resource initially with either 'apply' or 'create --save-config'.

+

JSON and YAML formats are accepted.

+

Alpha Disclaimer: the --prune functionality is not yet complete. Do not use unless you are aware of what the current state is. See https://issues.k8s.io/34274.

+

Usage

+

$ apply -f FILENAME

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
allfalseSelect all resources in the namespace of the specified resource types.
cascadetrueIf true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true.
dry-runfalseIf true, only print the object that would be sent, without sending it.
filenamef[]that contains the configuration to apply
forcefalseOnly used when grace-period=0. If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.
grace-period-1Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion).
include-uninitializedfalseIf true, the kubectl command applies to uninitialized objects. If explicitly set to false, this flag overrides other flags that make the kubectl commands apply to uninitialized objects, e.g., "--all". Objects with empty metadata.initializers are regarded as initialized.
openapi-patchtrueIf true, use openapi to calculate diff when the openapi presents and the resource can be found in the openapi spec. Otherwise, fall back to use baked-in types.
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
overwritetrueAutomatically resolve conflicts between the modified and live configuration by using values from the modified configuration
prunefalseAutomatically delete resource objects, including the uninitialized ones, that do not appear in the configs and are created by either apply or create --save-config. Should be used with either -l or --all.
prune-whitelist[]Overwrite the default whitelist with for --prune
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
selectorlSelector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)
timeout0sThe length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object
validatetrueIf true, use a schema to validate the input before sending it
waitfalseIf true, wait for resources to be gone before returning. This waits for finalizers.
+
+

edit-last-applied

+
+

Edit the last-applied-configuration annotations by type/name in YAML.

+
+
kubectl apply edit-last-applied deployment/nginx
+
+
+

Edit the last-applied-configuration annotations by file in JSON.

+
+
kubectl apply edit-last-applied -f deploy.yaml -o json
+
+

Edit the latest last-applied-configuration annotations of resources from the default editor.

+

The edit-last-applied command allows you to directly edit any API resource you can retrieve via the command line tools. It will open the editor defined by your KUBE _EDITOR, or EDITOR environment variables, or fall back to 'vi' for Linux or 'notepad' for Windows. You can edit multiple objects, although changes are applied one at a time. The command accepts filenames as well as command line arguments, although the files you point to must be previously saved versions of resources.

+

The default format is YAML. To edit in JSON, specify "-o json".

+

The flag --windows-line-endings can be used to force Windows line endings, otherwise the default for your operating system will be used.

+

In the event an error occurs while updating, a temporary file will be created on disk that contains your unapplied changes. The most common error when updating a resource is another editor changing the resource on the server. When this occurs, you will have to apply your changes to the newer version of the resource, or update your temporary saved copy to include the latest resource version.

+

Usage

+

$ edit-last-applied (RESOURCE/NAME | -f FILENAME)

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
filenamef[]Filename, directory, or URL to files to use to edit the resource
include-uninitializedfalseIf true, the kubectl command applies to uninitialized objects. If explicitly set to false, this flag overrides other flags that make the kubectl commands apply to uninitialized objects, e.g., "--all". Objects with empty metadata.initializers are regarded as initialized.
outputoyamlOutput format. One of: yaml|json.
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
windows-line-endingsfalseDefaults to the line ending native to your platform.
+
+

set-last-applied

+
+

Set the last-applied-configuration of a resource to match the contents of a file.

+
+
kubectl apply set-last-applied -f deploy.yaml
+
+
+

Execute set-last-applied against each configuration file in a directory.

+
+
kubectl apply set-last-applied -f path/
+
+
+

Set the last-applied-configuration of a resource to match the contents of a file, will create the annotation if it does not already exist.

+
+
kubectl apply set-last-applied -f deploy.yaml --create-annotation=true
+
+

Set the latest last-applied-configuration annotations by setting it to match the contents of a file. This results in the last-applied-configuration being updated as though 'kubectl apply -f ' was run, without updating any other parts of the object.

+

Usage

+

$ set-last-applied -f FILENAME

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
create-annotationfalseWill create 'last-applied-configuration' annotations if current objects doesn't have one
dry-runfalseIf true, only print the object that would be sent, without sending it.
filenamef[]Filename, directory, or URL to files that contains the last-applied-configuration annotations
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
+
+

view-last-applied

+
+

View the last-applied-configuration annotations by type/name in YAML.

+
+
kubectl apply view-last-applied deployment/nginx
+
+
+

View the last-applied-configuration annotations by file in JSON

+
+
kubectl apply view-last-applied -f deploy.yaml -o json
+
+

View the latest last-applied-configuration annotations by type/name or file.

+

The default output will be printed to stdout in YAML format. One can use -o option to change output format.

+

Usage

+

$ view-last-applied (TYPE [NAME | -l label] | TYPE/NAME | -f FILENAME)

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
allfalseSelect all resources in the namespace of the specified resource types
filenamef[]Filename, directory, or URL to files that contains the last-applied-configuration annotations
outputoyamlOutput format. Must be one of yaml|json
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
selectorlSelector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)
+
+

annotate

+
+

Update pod 'foo' with the annotation 'description' and the value 'my frontend'. # If the same annotation is set multiple times, only the last value will be applied

+
+
kubectl annotate pods foo description='my frontend'
+
+
+

Update a pod identified by type and name in "pod.json"

+
+
kubectl annotate -f pod.json description='my frontend'
+
+
+

Update pod 'foo' with the annotation 'description' and the value 'my frontend running nginx', overwriting any existing value.

+
+
kubectl annotate --overwrite pods foo description='my frontend running nginx'
+
+
+

Update all pods in the namespace

+
+
kubectl annotate pods --all description='my frontend running nginx'
+
+
+

Update pod 'foo' only if the resource is unchanged from version 1.

+
+
kubectl annotate pods foo description='my frontend running nginx' --resource-version=1
+
+
+

Update pod 'foo' by removing an annotation named 'description' if it exists. # Does not require the --overwrite flag.

+
+
kubectl annotate pods foo description-
+
+

Update the annotations on one or more resources

+

All Kubernetes objects support the ability to store additional data with the object as annotations. Annotations are key/value pairs that can be larger than labels and include arbitrary string values such as structured JSON. Tools and system extensions may use annotations to store their own data.

+

Attempting to set an annotation that already exists will fail unless --overwrite is set. If --resource-version is specified and does not match the current resource version on the server the command will fail.

+

Use "kubectl api-resources" for a complete list of supported resources.

+

Usage

+

$ annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version]

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
allfalseSelect all resources, including uninitialized ones, in the namespace of the specified resource types.
dry-runfalseIf true, only print the object that would be sent, without sending it.
field-selectorSelector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type.
filenamef[]Filename, directory, or URL to files identifying the resource to update the annotation
include-uninitializedfalseIf true, the kubectl command applies to uninitialized objects. If explicitly set to false, this flag overrides other flags that make the kubectl commands apply to uninitialized objects, e.g., "--all". Objects with empty metadata.initializers are regarded as initialized.
localfalseIf true, annotation will NOT contact api-server but run locally.
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
overwritefalseIf true, allow annotations to be overwritten, otherwise reject annotation updates that overwrite existing annotations.
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
resource-versionIf 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.
selectorlSelector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2).
+
+

autoscale

+
+

Auto scale a deployment "foo", with the number of pods between 2 and 10, no target CPU utilization specified so a default autoscaling policy will be used:

+
+
kubectl autoscale deployment foo --min=2 --max=10
+
+
+

Auto scale a replication controller "foo", with the number of pods between 1 and 5, target CPU utilization at 80%:

+
+
kubectl autoscale rc foo --max=5 --cpu-percent=80
+
+

Creates an autoscaler that automatically chooses and sets the number of pods that run in a kubernetes cluster.

+

Looks up a Deployment, ReplicaSet, or ReplicationController by name and creates an autoscaler that uses the given resource as a reference. An autoscaler can automatically increase or decrease number of pods deployed within the system as needed.

+

Usage

+

$ autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU]

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
cpu-percent-1The target average CPU utilization (represented as a percent of requested CPU) over all the pods. If it's not specified or negative, a default autoscaling policy will be used.
dry-runfalseIf true, only print the object that would be sent, without sending it.
filenamef[]Filename, directory, or URL to files identifying the resource to autoscale.
generatorhorizontalpodautoscaler/v1The name of the API generator to use. Currently there is only 1 generator.
max-1The upper limit for the number of pods that can be set by the autoscaler. Required.
min-1The lower limit for the number of pods that can be set by the autoscaler. If it's not specified or negative, the server will apply a default value.
nameThe name for the newly created object. If not specified, the name of the input resource will be used.
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
save-configfalseIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
+
+

convert

+
+

Convert 'pod.yaml' to latest version and print to stdout.

+
+
kubectl convert -f pod.yaml
+
+
+

Convert the live state of the resource specified by 'pod.yaml' to the latest version # and print to stdout in JSON format.

+
+
kubectl convert -f pod.yaml --local -o json
+
+
+

Convert all files under current directory to latest version and create them all.

+
+
kubectl convert -f . | kubectl create -f -
+
+

Convert config files between different API versions. Both YAML and JSON formats are accepted.

+

The command takes filename, directory, or URL as input, and convert it into format of version specified by --output-version flag. If target version is not specified or not supported, convert to latest version.

+

The default output will be printed to stdout in YAML format. One can use -o option to change to output destination.

+

Usage

+

$ convert -f FILENAME

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
filenamef[]Filename, directory, or URL to files to need to get converted.
localtrueIf true, convert will NOT try to contact api-server but run locally.
outputoyamlOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionOutput the formatted object with the given group version (for ex: 'extensions/v1beta1').)
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
validatetrueIf true, use a schema to validate the input before sending it

@@ -3837,12 +3267,6 @@ viewing your workloads in a Kubernetes cluster.

Filename, directory, or URL to files to use to edit the resource -include-extended-apis - -true -If true, include definitions of new APIs via calls to the API server. [default true] - - include-uninitialized false @@ -3851,8 +3275,8 @@ viewing your workloads in a Kubernetes cluster.

output o -yaml -Output format. One of: yaml|json. + +Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. output-patch @@ -3893,262 +3317,6 @@ viewing your workloads in a Kubernetes cluster.


-

get

-
-

List all pods in ps output format.

-
-
kubectl get pods
-
-
-

List all pods in ps output format with more information (such as node name).

-
-
kubectl get pods -o wide
-
-
-

List a single replication controller with specified NAME in ps output format.

-
-
kubectl get replicationcontroller web
-
-
-

List a single pod in JSON output format.

-
-
kubectl get -o json pod web-pod-13je7
-
-
-

List a pod identified by type and name specified in "pod.yaml" in JSON output format.

-
-
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}}
-
-
-

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
-
-
-

List all resources with different types.

-
-
kubectl get all
-
-

Display one or many resources

-

Prints a table of the most important information about the specified resources. You can filter the list using a label selector and the --selector flag. If the desired resource type is namespaced you will only see results in your current namespace unless you pass --all-namespaces.

-

Uninitialized objects are not shown unless --include-uninitialized is passed.

-

By specifying the output as 'template' and providing a Go template as the value of the --template flag, you can filter the attributes of the fetched resources.

-

Valid resource types include:

-
    -
  • all
  • -
  • certificatesigningrequests (aka 'csr')
  • -
  • clusterrolebindings
  • -
  • clusterroles
  • -
  • componentstatuses (aka 'cs')
  • -
  • configmaps (aka 'cm')
  • -
  • controllerrevisions
  • -
  • cronjobs
  • -
  • customresourcedefinition (aka 'crd')
  • -
  • daemonsets (aka 'ds')
  • -
  • deployments (aka 'deploy')
  • -
  • endpoints (aka 'ep')
  • -
  • events (aka 'ev')
  • -
  • horizontalpodautoscalers (aka 'hpa')
  • -
  • ingresses (aka 'ing')
  • -
  • jobs
  • -
  • limitranges (aka 'limits')
  • -
  • namespaces (aka 'ns')
  • -
  • networkpolicies (aka 'netpol')
  • -
  • nodes (aka 'no')
  • -
  • persistentvolumeclaims (aka 'pvc')
  • -
  • persistentvolumes (aka 'pv')
  • -
  • poddisruptionbudgets (aka 'pdb')
  • -
  • podpreset
  • -
  • pods (aka 'po')
  • -
  • podsecuritypolicies (aka 'psp')
  • -
  • podtemplates
  • -
  • replicasets (aka 'rs')
  • -
  • replicationcontrollers (aka 'rc')
  • -
  • resourcequotas (aka 'quota')
  • -
  • rolebindings
  • -
  • roles
  • -
  • secrets
  • -
  • serviceaccounts (aka 'sa')
  • -
  • services (aka 'svc')
  • -
  • statefulsets (aka 'sts')
  • -
  • storageclasses (aka 'sc')
  • -
-

Usage

-

$ get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...] (TYPE [NAME | -l label] | TYPE/NAME ...) [flags]

-

Flags

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameShorthandDefaultUsage
all-namespacesfalseIf present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
chunk-size500Return large lists in chunks rather than all at once. Pass 0 to disable. This flag is beta and may change in the future.
experimental-server-printfalseIf true, have the server return the appropriate table output. Supports extension APIs and CRD. Experimental.
exportfalseIf true, use 'export' for the resources. Exported resources are stripped of cluster-specific information.
field-selectorSelector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type.
filenamef[]Filename, directory, or URL to files identifying the resource to get from a server.
ignore-not-foundfalseIf the requested object does not exist the command will return exit code 0.
include-extended-apistrueIf true, include definitions of new APIs via calls to the API server. [default true]
include-uninitializedfalseIf true, the kubectl command applies to uninitialized objects. If explicitly set to false, this flag overrides other flags that make the kubectl commands apply to uninitialized objects, e.g., "--all". Objects with empty metadata.initializers are regarded as initialized.
label-columnsL[]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 options like -L label1 -L label2...
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
rawRaw URI to request from the server. Uses the transport specified by the kubeconfig file.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
selectorlSelector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-kindfalseIf present, list the resource type for the requested object(s).
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
use-openapi-print-columnstrueIf true, use x-kubernetes-print-column metadata (if present) from the OpenAPI schema for displaying a resource.
watchwfalseAfter listing/getting the requested object, watch for changes. Uninitialized objects are excluded if no object name is provided.
watch-onlyfalseWatch for changes to the requested object(s), without listing/getting first.
-

label

Update pod 'foo' with the label 'unhealthy' and the value 'true'.

@@ -4207,30 +3375,24 @@ viewing your workloads in a Kubernetes cluster.

Select all resources, including uninitialized ones, in the namespace of the specified resource types -allow-missing-template-keys - -true -If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. - - dry-run false If true, only print the object that would be sent, without sending it. +field-selector + + +Selector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type. + + filename f [] Filename, directory, or URL to files identifying the resource to update the labels -include-extended-apis - -true -If true, include definitions of new APIs via calls to the API server. [default true] - - include-uninitialized false @@ -4249,24 +3411,12 @@ viewing your workloads in a Kubernetes cluster.

If true, label will NOT contact api-server but run locally. -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - overwrite false @@ -4296,30 +3446,6 @@ viewing your workloads in a Kubernetes cluster.

Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2). - -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - -template - - -Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. -
@@ -4366,10 +3492,10 @@ viewing your workloads in a Kubernetes cluster.

-allow-missing-template-keys +dry-run -true -If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. +false +If true, only print the object that would be sent, without sending it. filename @@ -4378,36 +3504,18 @@ viewing your workloads in a Kubernetes cluster.

Filename, directory, or URL to files identifying the resource to update -include-extended-apis - -true -If true, include definitions of new APIs via calls to the API server. [default true] - - local false If true, patch will operate on the content of the file, not the server-side resource. -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - patch p @@ -4426,30 +3534,6 @@ viewing your workloads in a Kubernetes cluster.

Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory. -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - -template - - -Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. - - type strategic @@ -4499,44 +3583,32 @@ viewing your workloads in a Kubernetes cluster.

cascade -false -Only relevant during a force replace. If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). +true +If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true. filename f [] -Filename, directory, or URL to files to use to replace the resource. +to use to replace the resource. force false -Delete and re-create the specified resource +Only used when grace-period=0. If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation. grace-period -1 -Only relevant during a force replace. Period of time in seconds given to the old resource to terminate gracefully. Ignored if negative. - - -include-extended-apis - -true -If true, include definitions of new APIs via calls to the API server. [default true] +Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion). output o -Output mode. Use "-o name" for shorter output (resource/name). - - -record - -false -Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists. +Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. recursive @@ -4554,7 +3626,7 @@ viewing your workloads in a Kubernetes cluster.

timeout 0s -Only relevant during a force replace. The length of time to wait before giving up on a delete of the old resource, zero means determine a timeout from the size of the object. Any other values should contain a corresponding time unit (e.g. 1s, 2m, 3h). +The length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object validate @@ -4562,170 +3634,11 @@ viewing your workloads in a Kubernetes cluster.

true If true, use a schema to validate the input before sending it - - -
-

rolling-update

-
-

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 -
-
-
-

Update the pods of frontend-v1 to frontend-v2 by just changing the image, and switching the # name of the replication controller.

-
-
kubectl rolling-update frontend-v1 frontend-v2 --image=image:v2
-
-
-

Update the pods of frontend by just changing the image, and keeping the old name.

-
-
kubectl rolling-update frontend --image=image:v2
-
-
-

Abort and reverse an existing rollout in progress (from frontend-v1 to frontend-v2).

-
-
kubectl rolling-update frontend-v1 frontend-v2 --rollback
-
-

Perform a rolling update of the given ReplicationController.

-

Replaces the specified replication controller with a new replication controller by updating one pod at a time to use the new PodTemplate. The new-controller.json must specify the same namespace as the existing replication controller and overwrite at least one (common) label in its replicaSelector.

-

! http://kubernetes.io/images/docs/kubectl_rollingupdate.svg

-

Usage

-

$ rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --image=NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC)

-

Flags

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
NameShorthandDefaultUsage
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
containerContainer name which will have its image upgraded. Only relevant when --image is specified, ignored otherwise. Required when using --image on a multi-container pod
deployment-label-keydeploymentThe key to use to differentiate between two different controllers, default 'deployment'. Only relevant when --image is specified, ignored otherwise
dry-runwait falseIf true, only print the object that would be sent, without sending it.
filenamef[]Filename or URL to file to use to create the new replication controller.
imageImage 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
image-pull-policyExplicit policy for when to pull container images. Required when --image is same as existing image, ignored otherwise.
include-extended-apistrueIf true, include definitions of new APIs via calls to the API server. [default true]
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
poll-interval3sTime delay between polling for replication controller status after the update. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
rollbackfalseIf 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
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
timeout5m0sMax time to wait for a replication controller to update before giving up. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
update-period1m0sTime to wait between updating pods. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
validatetrueIf true, use a schema to validate the input before sending it If true, wait for resources to be gone before returning. This waits for finalizers.
@@ -5035,16 +3948,10 @@ viewing your workloads in a Kubernetes cluster.

Filename, directory, or URL to files identifying the resource to set a new size -include-extended-apis - -true -If true, include definitions of new APIs via calls to the API server. [default true] - - output o -Output mode. Use "-o name" for shorter output (resource/name). +Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. record @@ -5061,7 +3968,7 @@ viewing your workloads in a Kubernetes cluster.

replicas --1 +0 The new desired number of replicas. Required. @@ -5128,6 +4035,11 @@ viewing your workloads in a Kubernetes cluster.

kubectl set env --from=configmap/myconfigmap --prefix=MYSQL_ deployment/myapp
 
+

Import specific keys from a config map

+
+
kubectl set env --keys=my-example-key --from=configmap/myconfigmap deployment/myapp
+
+

Remove the environment variable ENV from container 'c1' in all deployment configs

kubectl set env deployments --all --containers="c1" ENV-
@@ -5167,12 +4079,6 @@ viewing your workloads in a Kubernetes cluster.

If true, select all resources in the namespace of the specified resource types -allow-missing-template-keys - -true -If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. - - containers c * @@ -5203,6 +4109,12 @@ viewing your workloads in a Kubernetes cluster.

The name of a resource from which to inject environment variables +keys + +[] +Comma-separated list of keys to import from specified resource + + list false @@ -5215,24 +4127,12 @@ viewing your workloads in a Kubernetes cluster.

If true, set env will NOT contact api-server but run locally. -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - overwrite true @@ -5262,30 +4162,6 @@ viewing your workloads in a Kubernetes cluster.

Selector (label query) to filter on - -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - -template - - -Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. -
@@ -5333,12 +4209,6 @@ viewing your workloads in a Kubernetes cluster.

Select all resources, including uninitialized ones, in the namespace of the specified resource types -allow-missing-template-keys - -true -If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. - - dry-run false @@ -5363,24 +4233,12 @@ viewing your workloads in a Kubernetes cluster.

If true, set image will NOT contact api-server but run locally. -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - record false @@ -5398,30 +4256,6 @@ viewing your workloads in a Kubernetes cluster.

Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2) - -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - -template - - -Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. -
@@ -5448,7 +4282,7 @@ viewing your workloads in a Kubernetes cluster.

Specify compute resource requirements (cpu, memory) for any resource that defines a pod template. If a pod is successfully scheduled, it is guaranteed the amount of resource requested, but may burst up to its specified limits.

for each compute resource, if a limit is specified and a request is omitted, the request will default to the limit.

-

Possible resources include (case insensitive): replicationcontroller, deployment, daemonset, job, replicaset.

+

Possible resources include (case insensitive): Use "kubectl api-resources" for a complete list of supported resources..

Usage

$ resources (-f FILENAME | TYPE NAME) ([--limits=LIMITS & --requests=REQUESTS]

Flags

@@ -5469,12 +4303,6 @@ viewing your workloads in a Kubernetes cluster.

Select all resources, including uninitialized ones, in the namespace of the specified resource types -allow-missing-template-keys - -true -If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. - - containers c * @@ -5511,24 +4339,12 @@ viewing your workloads in a Kubernetes cluster.

If true, set resources will NOT contact api-server but run locally. -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - record false @@ -5552,30 +4368,6 @@ viewing your workloads in a Kubernetes cluster.

Selector (label query) to filter on, not including uninitialized ones,supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2) - -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - -template - - -Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. -
@@ -5605,13 +4397,7 @@ viewing your workloads in a Kubernetes cluster.

all false -Select all resources, including uninitialized ones, in the namespace of the specified resource types - - -allow-missing-template-keys - -true -If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. +Select all resources in the namespace of the specified resource types dry-run @@ -5623,7 +4409,7 @@ viewing your workloads in a Kubernetes cluster.

filename f [] -Filename, directory, or URL to files the resource to update the selectors +identifying the resource. include-uninitialized @@ -5635,13 +4421,7 @@ viewing your workloads in a Kubernetes cluster.

local false -If true, set selector will NOT contact api-server but run locally. - - -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). +If true, annotation will NOT contact api-server but run locally. output @@ -5650,12 +4430,6 @@ viewing your workloads in a Kubernetes cluster.

Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - record false @@ -5664,7 +4438,7 @@ viewing your workloads in a Kubernetes cluster.

recursive R -false +true Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory. @@ -5673,30 +4447,6 @@ viewing your workloads in a Kubernetes cluster.

If non-empty, the selectors update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource. - -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - -template - - -Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. -
@@ -5734,12 +4484,6 @@ viewing your workloads in a Kubernetes cluster.

Select all resources, including uninitialized ones, in the namespace of the specified resource types -allow-missing-template-keys - -true -If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. - - dry-run false @@ -5764,24 +4508,12 @@ viewing your workloads in a Kubernetes cluster.

If true, set serviceaccount will NOT contact api-server but run locally. -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - record false @@ -5793,30 +4525,6 @@ viewing your workloads in a Kubernetes cluster.

false Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory. - -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - -template - - -Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. -
@@ -5857,12 +4565,6 @@ viewing your workloads in a Kubernetes cluster.

Select all resources, including uninitialized ones, in the namespace of the specified resource types -allow-missing-template-keys - -true -If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. - - dry-run false @@ -5893,24 +4595,12 @@ viewing your workloads in a Kubernetes cluster.

If true, set subject will NOT contact api-server but run locally. -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - recursive R false @@ -5928,60 +4618,12 @@ viewing your workloads in a Kubernetes cluster.

[] Service accounts to bind to the role - -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - -template - - -Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. - -

DECLARATIVE APP MANAGEMENT


-

apply

-
-

Apply the configuration in pod.json to a pod.

-
-
kubectl apply -f ./pod.json
-
-
-

Apply the JSON passed into stdin to a pod.

-
-
cat pod.json | kubectl apply -f -
-
-
-

Note: --prune is still in Alpha # Apply the configuration in manifest.yaml that matches label app=nginx and delete all the other resources that are not in the file and match label app=nginx.

-
-
kubectl apply --prune -f manifest.yaml -l app=nginx
-
-
-

Apply the configuration in manifest.yaml and delete all the other configmaps that are not in the file.

-
-
kubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/v1/ConfigMap
-
-

Apply a configuration to a resource by filename or stdin. The resource name must be specified. This resource will be created if it doesn't exist yet. To use 'apply', always create the resource initially with either 'apply' or 'create --save-config'.

-

JSON and YAML formats are accepted.

-

Alpha Disclaimer: the --prune functionality is not yet complete. Do not use unless you are aware of what the current state is. See https://issues.k8s.io/34274.

+

wait

Usage

-

$ apply -f FILENAME

+

$ wait resource.group/name [--for=delete|--for condition=available]

Flags

@@ -5994,70 +4636,22 @@ viewing your workloads in a Kubernetes cluster.

- + - - - - - - - - - - - - - - - - - - - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -6066,39 +4660,9 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -6108,272 +4672,10 @@ viewing your workloads in a Kubernetes cluster.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
allall-namespaces falseSelect all resources in the namespace of the specified resource types.
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
cascadetrueOnly relevant during a prune or a force apply. If true, cascade the deletion of the resources managed by pruned or deleted resources (e.g. Pods created by a ReplicationController).
dry-runfalseIf true, only print the object that would be sent, without sending it. If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.
filename f []Filename, directory, or URL to files that contains the configuration to apply identifying the resource.
forcefor falseDelete and re-create the specified resource, when PATCH encounters conflict and has retried for 5 times.
grace-period -1Only relevant during a prune or a force apply. Period of time in seconds given to pruned or deleted resources to terminate gracefully. Ignored if negative.
include-extended-apistrueIf true, include definitions of new APIs via calls to the API server. [default true]
include-uninitializedfalseIf true, the kubectl command applies to uninitialized objects. If explicitly set to false, this flag overrides other flags that make the kubectl commands apply to uninitialized objects, e.g., "--all". Objects with empty metadata.initializers are regarded as initialized.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
openapi-patchtrueIf true, use openapi to calculate diff when the openapi presents and the resource can be found in the openapi spec. Otherwise, fall back to use baked-in types. The condition to wait on: [delete|condition=condition-name].
output Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
overwritetrueAutomatically resolve conflicts between the modified and live configuration by using values from the modified configuration
prunefalseAutomatically delete resource objects, including the uninitialized ones, that do not appear in the configs and are created by either apply or create --save-config. Should be used with either -l or --all.
prune-whitelist[]Overwrite the default whitelist with for --prune
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursive Rfalsetrue Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
timeout 0sOnly relevant during a force apply. The length of time to wait before giving up on a delete of the old resource, zero means determine a timeout from the size of the object. Any other values should contain a corresponding time unit (e.g. 1s, 2m, 3h).
validatetrueIf true, use a schema to validate the input before sending it
-
-

edit-last-applied

-
-

Edit the last-applied-configuration annotations by type/name in YAML.

-
-
kubectl apply edit-last-applied deployment/nginx
-
-
-

Edit the last-applied-configuration annotations by file in JSON.

-
-
kubectl apply edit-last-applied -f deploy.yaml -o json
-
-

Edit the latest last-applied-configuration annotations of resources from the default editor.

-

The edit-last-applied command allows you to directly edit any API resource you can retrieve via the command line tools. It will open the editor defined by your KUBE _EDITOR, or EDITOR environment variables, or fall back to 'vi' for Linux or 'notepad' for Windows. You can edit multiple objects, although changes are applied one at a time. The command accepts filenames as well as command line arguments, although the files you point to must be previously saved versions of resources.

-

The default format is YAML. To edit in JSON, specify "-o json".

-

The flag --windows-line-endings can be used to force Windows line endings, otherwise the default for your operating system will be used.

-

In the event an error occurs while updating, a temporary file will be created on disk that contains your unapplied changes. The most common error when updating a resource is another editor changing the resource on the server. When this occurs, you will have to apply your changes to the newer version of the resource, or update your temporary saved copy to include the latest resource version.

-

Usage

-

$ edit-last-applied (RESOURCE/NAME | -f FILENAME)

-

Flags

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameShorthandDefaultUsage
filenamef[]Filename, directory, or URL to files to use to edit the resource
include-uninitializedfalseIf true, the kubectl command applies to uninitialized objects. If explicitly set to false, this flag overrides other flags that make the kubectl commands apply to uninitialized objects, e.g., "--all". Objects with empty metadata.initializers are regarded as initialized.
outputoyamlOutput format. One of: yaml|json.
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
windows-line-endingsfalseDefaults to the line ending native to your platform.
-
-

set-last-applied

-
-

Set the last-applied-configuration of a resource to match the contents of a file.

-
-
kubectl apply set-last-applied -f deploy.yaml
-
-
-

Execute set-last-applied against each configuration file in a directory.

-
-
kubectl apply set-last-applied -f path/
-
-
-

Set the last-applied-configuration of a resource to match the contents of a file, will create the annotation if it does not already exist.

-
-
kubectl apply set-last-applied -f deploy.yaml --create-annotation=true
-
-

Set the latest last-applied-configuration annotations by setting it to match the contents of a file. This results in the last-applied-configuration being updated as though 'kubectl apply -f ' was run, without updating any other parts of the object.

-

Usage

-

$ set-last-applied -f FILENAME

-

Flags

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameShorthandDefaultUsage
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
create-annotationfalseWill create 'last-applied-configuration' annotations if current objects doesn't have one
dry-runfalseIf true, only print the object that would be sent, without sending it.
filenamef[]Filename, directory, or URL to files that contains the last-applied-configuration annotations
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
output-versionDEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob').
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
show-allatrueWhen printing, show all resources (default show all pods including terminated one.)
show-labelsfalseWhen printing, show all labels as the last column (default hide labels column)
sort-byIf non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
-
-

view-last-applied

-
-

View the last-applied-configuration annotations by type/name in YAML.

-
-
kubectl apply view-last-applied deployment/nginx
-
-
-

View the last-applied-configuration annotations by file in JSON

-
-
kubectl apply view-last-applied -f deploy.yaml -o json
-
-

View the latest last-applied-configuration annotations by type/name or file.

-

The default output will be printed to stdout in YAML format. One can use -o option to change output format.

-

Usage

-

$ view-last-applied (TYPE [NAME | -l label] | TYPE/NAME | -f FILENAME)

-

Flags

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
NameShorthandDefaultUsage
allfalseSelect all resources in the namespace of the specified resource types
filenamef[]Filename, directory, or URL to files that contains the last-applied-configuration annotations
outputoOutput format. Must be one of yaml|json
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
selectorlSelector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2) 30sThe length of time to wait before giving up. Zero means check once and don't wait, negative means wait for a week.
@@ -6542,10 +4844,10 @@ applications.

-allow-missing-template-keys +dry-run -true -If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. +false +If true, display results but do not submit changes filename @@ -6554,53 +4856,17 @@ applications.

Filename, directory, or URL to files identifying the resource to reconcile. -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - recursive R false Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory. - -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - -template - - -Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. -
@@ -6683,46 +4949,7 @@ applications.

Print a detailed description of the selected resources, including related resources such as events or controllers. You may select a single object by name, all objects of that type, provide a name prefix, or label selector. For example:

$ kubectl describe TYPE NAME_PREFIX

will first check for an exact match on TYPE and NAME PREFIX. If no such resource exists, it will output details for every resource that has a name prefixed with NAME PREFIX.

-

Valid resource types include:

-
    -
  • all
  • -
  • certificatesigningrequests (aka 'csr')
  • -
  • clusterrolebindings
  • -
  • clusterroles
  • -
  • componentstatuses (aka 'cs')
  • -
  • configmaps (aka 'cm')
  • -
  • controllerrevisions
  • -
  • cronjobs
  • -
  • customresourcedefinition (aka 'crd')
  • -
  • daemonsets (aka 'ds')
  • -
  • deployments (aka 'deploy')
  • -
  • endpoints (aka 'ep')
  • -
  • events (aka 'ev')
  • -
  • horizontalpodautoscalers (aka 'hpa')
  • -
  • ingresses (aka 'ing')
  • -
  • jobs
  • -
  • limitranges (aka 'limits')
  • -
  • namespaces (aka 'ns')
  • -
  • networkpolicies (aka 'netpol')
  • -
  • nodes (aka 'no')
  • -
  • persistentvolumeclaims (aka 'pvc')
  • -
  • persistentvolumes (aka 'pv')
  • -
  • poddisruptionbudgets (aka 'pdb')
  • -
  • podpreset
  • -
  • pods (aka 'po')
  • -
  • podsecuritypolicies (aka 'psp')
  • -
  • podtemplates
  • -
  • replicasets (aka 'rs')
  • -
  • replicationcontrollers (aka 'rc')
  • -
  • resourcequotas (aka 'quota')
  • -
  • rolebindings
  • -
  • roles
  • -
  • secrets
  • -
  • serviceaccounts (aka 'sa')
  • -
  • services (aka 'svc')
  • -
  • statefulsets (aka 'sts')
  • -
  • storageclasses (aka 'sc')
  • -
+

Use "kubectl api-resources" for a complete list of supported resources.

Usage

$ describe (-f FILENAME | TYPE [NAME_PREFIX | -l label] | TYPE/NAME)

Flags

@@ -6749,12 +4976,6 @@ applications.

Filename, directory, or URL to files containing the resource to describe -include-extended-apis - -true -If true, include definitions of new APIs via calls to the API server. [default true] - - include-uninitialized false @@ -6850,9 +5071,14 @@ applications.

kubectl logs nginx
 
-

Return snapshot logs for the pods defined by label app=nginx

+

Return snapshot logs from pod nginx with multi containers

-
kubectl logs -lapp=nginx
+
kubectl logs nginx --all-containers=true
+
+
+

Return snapshot logs from all containers in pods defined by label app=nginx

+
+
kubectl logs -lapp=nginx --all-containers=true
 

Return snapshot of previous terminated ruby container logs from pod web-1

@@ -6899,6 +5125,12 @@ applications.

+all-containers + +false +Get all containers's logs in the pod(s). + + container c @@ -6911,12 +5143,6 @@ applications.

Specify if the logs should be streamed. -include-extended-apis - -true -If true, include definitions of new APIs via calls to the API server. [default true] - - interactive false @@ -7321,10 +5547,16 @@ applications.

Filename, directory, or URL to files identifying the resource to update +force + +false +Update the CSR even if it is already approved. + + output o -Output mode. Use "-o name" for shorter output (resource/name). +Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. recursive @@ -7358,10 +5590,16 @@ applications.

Filename, directory, or URL to files identifying the resource to update +force + +false +Update the CSR even if it is already denied. + + output o -Output mode. Use "-o name" for shorter output (resource/name). +Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. recursive @@ -7381,25 +5619,6 @@ applications.

Display addresses of the master and services with label kubernetes.io/cluster-service=true To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

Usage

$ cluster-info

-

Flags

- - - - - - - - - - - - - - - - - -
NameShorthandDefaultUsage
include-extended-apistrueIf true, include definitions of new APIs via calls to the API server. [default true]

dump

@@ -7629,36 +5848,12 @@ applications.

Select all nodes in the cluster -allow-missing-template-keys - -true -If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. - - -include-extended-apis - -true -If true, include definitions of new APIs via calls to the API server. [default true] - - -no-headers - -false -When using the default or custom-column output format, don't print headers (default print headers). - - output o Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. -output-version - - -DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). - - overwrite false @@ -7671,30 +5866,6 @@ applications.

Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2) -show-all -a -true -When printing, show all resources (default show all pods including terminated one.) - - -show-labels - -false -When printing, show all labels as the last column (default hide labels column) - - -sort-by - - -If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - - -template - - -Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. - - validate true @@ -7792,6 +5963,85 @@ applications.


+

api-resources

+
+

Print the supported API Resources

+
+
kubectl api-resources
+
+
+

Print the supported API Resources with more information

+
+
kubectl api-resources -o wide
+
+
+

Print the supported namespaced resources

+
+
kubectl api-resources --namespaced=true
+
+
+

Print the supported non-namespaced resources

+
+
kubectl api-resources --namespaced=false
+
+
+

Print the supported API Resources with specific APIGroup

+
+
kubectl api-resources --api-group=extensions
+
+

Print the supported API resources on the server

+

Usage

+

$ api-resources

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
api-groupLimit to resources in the specified API group.
cachedfalseUse the cached list of resources if available.
namespacedtrueIf false, non-namespaced resources will be returned, otherwise returning namespaced resources by default.
no-headersfalseWhen using the default or custom-column output format, don't print headers (default print headers).
outputoOutput format. One of: wide|name.
verbs[]Limit to resources that support the specified verbs.
+

completion

Installing bash completion on macOS using homebrew ## If running Bash 3.2 included with macOS

@@ -7919,12 +6169,6 @@ source $HOME/.bash_profile -allow-missing-template-keys - -true -If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. - - no-headers false @@ -7934,7 +6178,7 @@ source $HOME/.bash_profile output o -Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. +Output format. One of: name @@ -8100,6 +6344,18 @@ source $HOME/.bash_profile false Embed client cert/key for the user entry in kubeconfig + +password + + +password for the user entry in kubeconfig + + +username + + +username for the user entry in kubeconfig +
@@ -8131,11 +6387,16 @@ source $HOME/.bash_profile

view

-

Show Merged kubeconfig settings.

+

Show merged kubeconfig settings.

kubectl config view
 
+

Show merged kubeconfig settings and raw certificate data.

+
+
kubectl config view --raw
+
+

Get the password for the e2e user

kubectl config view -o jsonpath='{.users[?(@.name == "e2e")].user.password}'
@@ -8180,22 +6441,10 @@ source $HOME/.bash_profile
 Remove all information not used by current-context from the output 
 
 
-no-headers
-
-false
-When using the default or custom-column output format, don't print headers (default print headers). 
-
-
 output
 o
-
-Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. 
-
-
-output-version
-
-
-DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). 
+yaml
+Output format. One of: json|yaml|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. 
 
 
 raw
@@ -8204,24 +6453,6 @@ source $HOME/.bash_profile
 Display raw byte data 
 
 
-show-all
-a
-true
-When printing, show all resources (default show all pods including terminated one.) 
-
-
-show-labels
-
-false
-When printing, show all labels as the last column (default hide labels column) 
-
-
-sort-by
-
-
-If non-empty, sort list types using this field specification.  The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. 
-
-
 template
 
 
@@ -8245,46 +6476,7 @@ source $HOME/.bash_profile
 

This command describes the fields associated with each supported API resource. Fields are identified via a simple JSONPath identifier:

.[.]

Add the --recursive flag to display all of the fields at once without descriptions. Information about each field is retrieved from the server in OpenAPI format.

-

Valid resource types include:

-
    -
  • all
  • -
  • certificatesigningrequests (aka 'csr')
  • -
  • clusterrolebindings
  • -
  • clusterroles
  • -
  • componentstatuses (aka 'cs')
  • -
  • configmaps (aka 'cm')
  • -
  • controllerrevisions
  • -
  • cronjobs
  • -
  • customresourcedefinition (aka 'crd')
  • -
  • daemonsets (aka 'ds')
  • -
  • deployments (aka 'deploy')
  • -
  • endpoints (aka 'ep')
  • -
  • events (aka 'ev')
  • -
  • horizontalpodautoscalers (aka 'hpa')
  • -
  • ingresses (aka 'ing')
  • -
  • jobs
  • -
  • limitranges (aka 'limits')
  • -
  • namespaces (aka 'ns')
  • -
  • networkpolicies (aka 'netpol')
  • -
  • nodes (aka 'no')
  • -
  • persistentvolumeclaims (aka 'pvc')
  • -
  • persistentvolumes (aka 'pv')
  • -
  • poddisruptionbudgets (aka 'pdb')
  • -
  • podpreset
  • -
  • pods (aka 'po')
  • -
  • podsecuritypolicies (aka 'psp')
  • -
  • podtemplates
  • -
  • replicasets (aka 'rs')
  • -
  • replicationcontrollers (aka 'rc')
  • -
  • resourcequotas (aka 'quota')
  • -
  • rolebindings
  • -
  • roles
  • -
  • secrets
  • -
  • serviceaccounts (aka 'sa')
  • -
  • services (aka 'svc')
  • -
  • statefulsets (aka 'sts')
  • -
  • storageclasses (aka 'sc')
  • -
+

Use "kubectl api-resources" for a complete list of supported resources.

Usage

$ explain RESOURCE

Flags

@@ -8305,12 +6497,6 @@ source $HOME/.bash_profile Get different explanations for particular API version -include-extended-apis - -true -If true, include definitions of new APIs via calls to the API server. [default true] - - recursive false @@ -8329,6 +6515,12 @@ source $HOME/.bash_profile

Usage

$ options


+

plugin

+

Runs a command-line plugin.

+

Plugins are subcommands that are not part of the major command-line distribution and can even be provided by third-parties. Please refer to the documentation and examples for more information about how to install and write your own plugins.

+

Usage

+

$ plugin NAME

+

version

Print the client and server versions for the current context

@@ -8369,13 +6561,419 @@ source $HOME/.bash_profile -
-

plugin

-

Runs a command-line plugin.

-

Plugins are subcommands that are not part of the major command-line distribution and can even be provided by third-parties. Please refer to the documentation and examples for more information about how to install and write your own plugins.

-

Usage

-

$ plugin NAME

DEPRECATED COMMANDS

+
+

rolling-update

+
+

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 -
+
+
+

Update the pods of frontend-v1 to frontend-v2 by just changing the image, and switching the # name of the replication controller.

+
+
kubectl rolling-update frontend-v1 frontend-v2 --image=image:v2
+
+
+

Update the pods of frontend by just changing the image, and keeping the old name.

+
+
kubectl rolling-update frontend --image=image:v2
+
+
+

Abort and reverse an existing rollout in progress (from frontend-v1 to frontend-v2).

+
+
kubectl rolling-update frontend-v1 frontend-v2 --rollback
+
+

Perform a rolling update of the given ReplicationController.

+

Replaces the specified replication controller with a new replication controller by updating one pod at a time to use the new PodTemplate. The new-controller.json must specify the same namespace as the existing replication controller and overwrite at least one (common) label in its replicaSelector.

+

! http://kubernetes.io/images/docs/kubectl_rollingupdate.svg

+

Usage

+

$ rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --image=NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC)

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
containerContainer name which will have its image upgraded. Only relevant when --image is specified, ignored otherwise. Required when using --image on a multi-container pod
deployment-label-keydeploymentThe key to use to differentiate between two different controllers, default 'deployment'. Only relevant when --image is specified, ignored otherwise
dry-runfalseIf true, only print the object that would be sent, without sending it.
filenamef[]Filename or URL to file to use to create the new replication controller.
imageImage 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
image-pull-policyExplicit policy for when to pull container images. Required when --image is same as existing image, ignored otherwise.
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
poll-interval3sTime delay between polling for replication controller status after the update. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
rollbackfalseIf 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
timeout5m0sMax time to wait for a replication controller to update before giving up. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
update-period1m0sTime to wait between updating pods. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
validatetrueIf true, use a schema to validate the input before sending it
+
+

run-container

+
+

Start a single instance of nginx.

+
+
kubectl run nginx --image=nginx
+
+
+

Start a single instance of hazelcast and let the container expose port 5701 .

+
+
kubectl run hazelcast --image=hazelcast --port=5701
+
+
+

Start a single instance of hazelcast and set environment variables "DNS_DOMAIN=cluster" and "POD_NAMESPACE=default" in the container.

+
+
kubectl run hazelcast --image=hazelcast --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default"
+
+
+

Start a single instance of hazelcast and set labels "app=hazelcast" and "env=prod" in the container.

+
+
kubectl run hazelcast --image=nginx --labels="app=hazelcast,env=prod"
+
+
+

Start a replicated instance of nginx.

+
+
kubectl run nginx --image=nginx --replicas=5
+
+
+

Dry run. Print the corresponding API objects without creating them.

+
+
kubectl run nginx --image=nginx --dry-run
+
+
+

Start a single instance of nginx, but overload the spec of the deployment with a partial set of values parsed from JSON.

+
+
kubectl run nginx --image=nginx --overrides='{ "apiVersion": "v1", "spec": { ... } }'
+
+
+

Start a pod of busybox and keep it in the foreground, don't restart it if it exits.

+
+
kubectl run -i -t busybox --image=busybox --restart=Never
+
+
+

Start the nginx container using the default command, but use custom arguments (arg1 .. argN) for that command.

+
+
kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN>
+
+
+

Start the nginx container using a different command and custom arguments.

+
+
kubectl run nginx --image=nginx --command -- <cmd> <arg1> ... <argN>
+
+
+

Start the perl container to compute π to 2000 places and print it out.

+
+
kubectl run pi --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(2000)'
+
+
+

Start the cron job to compute π to 2000 places and print it out every 5 minutes.

+
+
kubectl run pi --schedule="0/5 * * * ?" --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(2000)'
+
+

Create and run a particular image, possibly replicated.

+

Creates a deployment or job to manage the created container(s).

+

Usage

+

$ run-container

+

Flags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameShorthandDefaultUsage
attachfalseIf true, wait for the Pod to start running, and then attach to the Pod as if 'kubectl attach ...' were called. Default false, unless '-i/--stdin' is set, in which case the default is true. With '--restart=Never' the exit code of the container process is returned.
cascadetrueIf true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true.
commandfalseIf true and extra arguments are present, use them as the 'command' field in the container, rather than the 'args' field which is the default.
dry-runfalseIf true, only print the object that would be sent, without sending it.
env[]Environment variables to set in the container
exposefalseIf true, a public, external service is created for the container(s) which are run
filenamef[]to use to replace the resource.
forcefalseOnly used when grace-period=0. If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.
generatorThe name of the API generator to use, see http://kubernetes.io/docs/user-guide/kubectl-conventions/#generators for a list.
grace-period-1Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion).
hostport-1The host port mapping for the container port. To demonstrate a single-machine container.
imageThe image for the container to run.
image-pull-policyThe image pull policy for the container. If left empty, this value will not be specified by the client and defaulted by the server
labelslComma separated labels to apply to the pod(s). Will override previous values.
leave-stdin-openfalseIf the pod is started in interactive mode or with stdin, leave stdin open after the first attach completes. By default, stdin will be closed after the first attach completes.
limitsThe resource requirement limits for this container. For example, 'cpu=200m,memory=512Mi'. Note that server side components may assign limits depending on the server configuration, such as limit ranges.
outputoOutput format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
overridesAn 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.
pod-running-timeout1m0sThe length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running
portThe port that this container exposes. If --expose is true, this is also the port used by the service that is created.
quietfalseIf true, suppress prompt messages.
recordfalseRecord current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
recursiveRfalseProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.
replicasr1Number of replicas to create for this container. Default is 1.
requestsThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'. Note that server side components may assign requests depending on the server configuration, such as limit ranges.
restartAlwaysThe restart policy for this Pod. Legal values [Always, OnFailure, Never]. If set to 'Always' a deployment is created, if set to 'OnFailure' a job is created, if set to 'Never', a regular pod is created. For the latter two --replicas must be 1. Default 'Always', for CronJobs Never.
rmfalseIf true, delete resources created in this command for attached containers.
save-configfalseIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
scheduleA schedule in the Cron format the job should be run with.
service-generatorservice/v2The name of the generator to use for creating a service. Only used if --expose is true
service-overridesAn inline JSON override for the generated service object. If this is non-empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field. Only used if --expose is true.
serviceaccountService account to set in the pod spec
stdinifalseKeep stdin open on the container(s) in the pod, even if nothing is attached.
timeout0sThe length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object
ttytfalseAllocated a TTY for each container in the pod.
waitfalseIf true, wait for resources to be gone before returning. This waits for finalizers.
diff --git a/static/docs/reference/generated/kubectl/navData.js b/static/docs/reference/generated/kubectl/navData.js index 213410f510..4df43b4b82 100644 --- a/static/docs/reference/generated/kubectl/navData.js +++ b/static/docs/reference/generated/kubectl/navData.js @@ -1 +1 @@ -(function(){navData = {"toc":[{"section":"-strong-deprecated-commands-strong-","subsections":[]},{"section":"plugin","subsections":[]},{"section":"version","subsections":[]},{"section":"options","subsections":[]},{"section":"explain","subsections":[]},{"section":"config","subsections":[{"section":"-em-view-em-"},{"section":"-em-use-context-em-"},{"section":"-em-unset-em-"},{"section":"-em-set-credentials-em-"},{"section":"-em-set-context-em-"},{"section":"-em-set-cluster-em-"},{"section":"-em-set-em-"},{"section":"-em-rename-context-em-"},{"section":"-em-get-contexts-em-"},{"section":"-em-get-clusters-em-"},{"section":"-em-delete-context-em-"},{"section":"-em-delete-cluster-em-"},{"section":"-em-current-context-em-"}]},{"section":"completion","subsections":[]},{"section":"alpha","subsections":[{"section":"-em-diff-em-"}]},{"section":"-strong-kubectl-settings-and-usage-strong-","subsections":[]},{"section":"uncordon","subsections":[]},{"section":"taint","subsections":[]},{"section":"drain","subsections":[]},{"section":"cordon","subsections":[]},{"section":"cluster-info","subsections":[{"section":"-em-dump-em-"}]},{"section":"certificate","subsections":[{"section":"-em-deny-em-"},{"section":"-em-approve-em-"}]},{"section":"api-versions","subsections":[]},{"section":"-strong-cluster-management-strong-","subsections":[]},{"section":"top","subsections":[{"section":"-em-pod-em-"},{"section":"-em-node-em-"}]},{"section":"proxy","subsections":[]},{"section":"port-forward","subsections":[]},{"section":"logs","subsections":[]},{"section":"exec","subsections":[]},{"section":"describe","subsections":[]},{"section":"cp","subsections":[]},{"section":"auth","subsections":[{"section":"-em-reconcile-em-"},{"section":"-em-can-i-em-"}]},{"section":"attach","subsections":[]},{"section":"-strong-working-with-apps-strong-","subsections":[]},{"section":"apply","subsections":[{"section":"-em-view-last-applied-em-"},{"section":"-em-set-last-applied-em-"},{"section":"-em-edit-last-applied-em-"}]},{"section":"-strong-declarative-app-management-strong-","subsections":[]},{"section":"set","subsections":[{"section":"-em-subject-em-"},{"section":"-em-serviceaccount-em--1"},{"section":"-em-selector-em-"},{"section":"-em-resources-em-"},{"section":"-em-image-em-"},{"section":"-em-env-em-"}]},{"section":"scale","subsections":[]},{"section":"rollout","subsections":[{"section":"-em-undo-em-"},{"section":"-em-status-em-"},{"section":"-em-resume-em-"},{"section":"-em-pause-em-"},{"section":"-em-history-em-"}]},{"section":"rolling-update","subsections":[]},{"section":"replace","subsections":[]},{"section":"patch","subsections":[]},{"section":"label","subsections":[]},{"section":"get","subsections":[]},{"section":"edit","subsections":[]},{"section":"delete","subsections":[]},{"section":"create","subsections":[{"section":"-em-serviceaccount-em-"},{"section":"-em-service-nodeport-em-"},{"section":"-em-service-loadbalancer-em-"},{"section":"-em-service-externalname-em-"},{"section":"-em-service-clusterip-em-"},{"section":"-em-service-em-"},{"section":"-em-secret-tls-em-"},{"section":"-em-secret-generic-em-"},{"section":"-em-secret-docker-registry-em-"},{"section":"-em-secret-em-"},{"section":"-em-rolebinding-em-"},{"section":"-em-role-em-"},{"section":"-em-quota-em-"},{"section":"-em-priorityclass-em-"},{"section":"-em-poddisruptionbudget-em-"},{"section":"-em-namespace-em-"},{"section":"-em-job-em-"},{"section":"-em-deployment-em-"},{"section":"-em-configmap-em-"},{"section":"-em-clusterrolebinding-em-"},{"section":"-em-clusterrole-em-"}]},{"section":"convert","subsections":[]},{"section":"autoscale","subsections":[]},{"section":"annotate","subsections":[]},{"section":"-strong-app-management-strong-","subsections":[]},{"section":"expose","subsections":[]},{"section":"run-container","subsections":[]},{"section":"run","subsections":[]},{"section":"-strong-getting-started-strong-","subsections":[]}],"flatToc":["-strong-deprecated-commands-strong-","plugin","version","options","explain","-em-view-em-","-em-use-context-em-","-em-unset-em-","-em-set-credentials-em-","-em-set-context-em-","-em-set-cluster-em-","-em-set-em-","-em-rename-context-em-","-em-get-contexts-em-","-em-get-clusters-em-","-em-delete-context-em-","-em-delete-cluster-em-","-em-current-context-em-","config","completion","-em-diff-em-","alpha","-strong-kubectl-settings-and-usage-strong-","uncordon","taint","drain","cordon","-em-dump-em-","cluster-info","-em-deny-em-","-em-approve-em-","certificate","api-versions","-strong-cluster-management-strong-","-em-pod-em-","-em-node-em-","top","proxy","port-forward","logs","exec","describe","cp","-em-reconcile-em-","-em-can-i-em-","auth","attach","-strong-working-with-apps-strong-","-em-view-last-applied-em-","-em-set-last-applied-em-","-em-edit-last-applied-em-","apply","-strong-declarative-app-management-strong-","-em-subject-em-","-em-serviceaccount-em--1","-em-selector-em-","-em-resources-em-","-em-image-em-","-em-env-em-","set","scale","-em-undo-em-","-em-status-em-","-em-resume-em-","-em-pause-em-","-em-history-em-","rollout","rolling-update","replace","patch","label","get","edit","delete","-em-serviceaccount-em-","-em-service-nodeport-em-","-em-service-loadbalancer-em-","-em-service-externalname-em-","-em-service-clusterip-em-","-em-service-em-","-em-secret-tls-em-","-em-secret-generic-em-","-em-secret-docker-registry-em-","-em-secret-em-","-em-rolebinding-em-","-em-role-em-","-em-quota-em-","-em-priorityclass-em-","-em-poddisruptionbudget-em-","-em-namespace-em-","-em-job-em-","-em-deployment-em-","-em-configmap-em-","-em-clusterrolebinding-em-","-em-clusterrole-em-","create","convert","autoscale","annotate","-strong-app-management-strong-","expose","run-container","run","-strong-getting-started-strong-"]};})(); \ No newline at end of file +(function(){navData = {"toc":[{"section":"run-container","subsections":[]},{"section":"rolling-update","subsections":[]},{"section":"-strong-deprecated-commands-strong-","subsections":[]},{"section":"version","subsections":[]},{"section":"plugin","subsections":[]},{"section":"options","subsections":[]},{"section":"explain","subsections":[]},{"section":"config","subsections":[{"section":"-em-view-em-"},{"section":"-em-use-context-em-"},{"section":"-em-unset-em-"},{"section":"-em-set-credentials-em-"},{"section":"-em-set-context-em-"},{"section":"-em-set-cluster-em-"},{"section":"-em-set-em-"},{"section":"-em-rename-context-em-"},{"section":"-em-get-contexts-em-"},{"section":"-em-get-clusters-em-"},{"section":"-em-delete-context-em-"},{"section":"-em-delete-cluster-em-"},{"section":"-em-current-context-em-"}]},{"section":"completion","subsections":[]},{"section":"api-resources","subsections":[]},{"section":"alpha","subsections":[{"section":"-em-diff-em-"}]},{"section":"-strong-kubectl-settings-and-usage-strong-","subsections":[]},{"section":"uncordon","subsections":[]},{"section":"taint","subsections":[]},{"section":"drain","subsections":[]},{"section":"cordon","subsections":[]},{"section":"cluster-info","subsections":[{"section":"-em-dump-em-"}]},{"section":"certificate","subsections":[{"section":"-em-deny-em-"},{"section":"-em-approve-em-"}]},{"section":"api-versions","subsections":[]},{"section":"-strong-cluster-management-strong-","subsections":[]},{"section":"top","subsections":[{"section":"-em-pod-em-"},{"section":"-em-node-em-"}]},{"section":"proxy","subsections":[]},{"section":"port-forward","subsections":[]},{"section":"logs","subsections":[]},{"section":"exec","subsections":[]},{"section":"describe","subsections":[]},{"section":"cp","subsections":[]},{"section":"auth","subsections":[{"section":"-em-reconcile-em-"},{"section":"-em-can-i-em-"}]},{"section":"attach","subsections":[]},{"section":"-strong-working-with-apps-strong-","subsections":[]},{"section":"wait","subsections":[]},{"section":"set","subsections":[{"section":"-em-subject-em-"},{"section":"-em-serviceaccount-em--1"},{"section":"-em-selector-em-"},{"section":"-em-resources-em-"},{"section":"-em-image-em-"},{"section":"-em-env-em-"}]},{"section":"scale","subsections":[]},{"section":"rollout","subsections":[{"section":"-em-undo-em-"},{"section":"-em-status-em-"},{"section":"-em-resume-em-"},{"section":"-em-pause-em-"},{"section":"-em-history-em-"}]},{"section":"replace","subsections":[]},{"section":"patch","subsections":[]},{"section":"label","subsections":[]},{"section":"edit","subsections":[]},{"section":"convert","subsections":[]},{"section":"autoscale","subsections":[]},{"section":"annotate","subsections":[]},{"section":"apply","subsections":[{"section":"-em-view-last-applied-em-"},{"section":"-em-set-last-applied-em-"},{"section":"-em-edit-last-applied-em-"}]},{"section":"-strong-app-management-strong-","subsections":[]},{"section":"delete","subsections":[]},{"section":"expose","subsections":[]},{"section":"run","subsections":[]},{"section":"get","subsections":[]},{"section":"create","subsections":[{"section":"-em-serviceaccount-em-"},{"section":"-em-service-nodeport-em-"},{"section":"-em-service-loadbalancer-em-"},{"section":"-em-service-externalname-em-"},{"section":"-em-service-clusterip-em-"},{"section":"-em-service-em-"},{"section":"-em-secret-tls-em-"},{"section":"-em-secret-generic-em-"},{"section":"-em-secret-docker-registry-em-"},{"section":"-em-secret-em-"},{"section":"-em-rolebinding-em-"},{"section":"-em-role-em-"},{"section":"-em-quota-em-"},{"section":"-em-priorityclass-em-"},{"section":"-em-poddisruptionbudget-em-"},{"section":"-em-namespace-em-"},{"section":"-em-job-em-"},{"section":"-em-deployment-em-"},{"section":"-em-configmap-em-"},{"section":"-em-clusterrolebinding-em-"},{"section":"-em-clusterrole-em-"}]},{"section":"-strong-getting-started-strong-","subsections":[]}],"flatToc":["run-container","rolling-update","-strong-deprecated-commands-strong-","version","plugin","options","explain","-em-view-em-","-em-use-context-em-","-em-unset-em-","-em-set-credentials-em-","-em-set-context-em-","-em-set-cluster-em-","-em-set-em-","-em-rename-context-em-","-em-get-contexts-em-","-em-get-clusters-em-","-em-delete-context-em-","-em-delete-cluster-em-","-em-current-context-em-","config","completion","api-resources","-em-diff-em-","alpha","-strong-kubectl-settings-and-usage-strong-","uncordon","taint","drain","cordon","-em-dump-em-","cluster-info","-em-deny-em-","-em-approve-em-","certificate","api-versions","-strong-cluster-management-strong-","-em-pod-em-","-em-node-em-","top","proxy","port-forward","logs","exec","describe","cp","-em-reconcile-em-","-em-can-i-em-","auth","attach","-strong-working-with-apps-strong-","wait","-em-subject-em-","-em-serviceaccount-em--1","-em-selector-em-","-em-resources-em-","-em-image-em-","-em-env-em-","set","scale","-em-undo-em-","-em-status-em-","-em-resume-em-","-em-pause-em-","-em-history-em-","rollout","replace","patch","label","edit","convert","autoscale","annotate","-em-view-last-applied-em-","-em-set-last-applied-em-","-em-edit-last-applied-em-","apply","-strong-app-management-strong-","delete","expose","run","get","-em-serviceaccount-em-","-em-service-nodeport-em-","-em-service-loadbalancer-em-","-em-service-externalname-em-","-em-service-clusterip-em-","-em-service-em-","-em-secret-tls-em-","-em-secret-generic-em-","-em-secret-docker-registry-em-","-em-secret-em-","-em-rolebinding-em-","-em-role-em-","-em-quota-em-","-em-priorityclass-em-","-em-poddisruptionbudget-em-","-em-namespace-em-","-em-job-em-","-em-deployment-em-","-em-configmap-em-","-em-clusterrolebinding-em-","-em-clusterrole-em-","create","-strong-getting-started-strong-"]};})(); \ No newline at end of file diff --git a/static/docs/reference/generated/kubectl/scroll.js b/static/docs/reference/generated/kubectl/scroll.js index 6639f62895..67fee8729e 100644 --- a/static/docs/reference/generated/kubectl/scroll.js +++ b/static/docs/reference/generated/kubectl/scroll.js @@ -187,10 +187,10 @@ $(document).ready(function() { var scrollPosition = $(window).scrollTop(); scrollActions(scrollPosition); checkActiveElement(flatToc, scrollPosition); - // TODO: prevent scroll on sidebar from propagating to window + // TODO: prevent scroll on sidebar from propogating to window $(window).on('scroll', function(event) { var scrollPosition = $(window).scrollTop(); var activeSectionTokens = scrollActions(scrollPosition); var activeElemToken = checkActiveElement(flatToc, scrollPosition); }); -}); +}); \ No newline at end of file diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/index.html b/static/docs/reference/generated/kubernetes-api/v1.11/index.html new file mode 100755 index 0000000000..e427398de5 --- /dev/null +++ b/static/docs/reference/generated/kubernetes-api/v1.11/index.html @@ -0,0 +1,113523 @@ + + + + +Kubernetes API Reference Docs + + + + + + + + + +
+
  • kubectl
  • curl
+

API OVERVIEW

+

Welcome to the Kubernetes API. You can use the Kubernetes API to read +and write Kubernetes resource objects via a Kubernetes API endpoint.

+

Resource Categories

+

This is a high-level overview of the basic types of resources provide by the Kubernetes API and their primary functions.

+

Workloads are objects you use to manage and run your containers on the cluster.

+

Discovery & LB resources are objects you use to "stitch" your workloads together into an externally accessible, load-balanced Service.

+

Config & Storage resources are objects you use to inject initialization data into your applications, and to persist data that is external to your container.

+

Cluster resources objects define how the cluster itself is configured; these are typically used only by cluster operators.

+

Metadata resources are objects you use to configure the behavior of other resources within the cluster, such as HorizontalPodAutoscaler for scaling workloads.

+
+

Resource Objects

+

Resource objects typically have 3 components:

+
    +
  • ResourceSpec: This is defined by the user and describes the desired state of system. Fill this in when creating or updating an +object.
  • +
  • ResourceStatus: This is filled in by the server and reports the current state of the system. Only kubernetes components should fill +this in
  • +
  • Resource ObjectMeta: This is metadata about the resource, such as its name, type, api version, annotations, and labels. This contains +fields that maybe updated both by the end user and the system (e.g. annotations)
  • +
+
+

Resource Operations

+

Most resources provide the following Operations:

+

Create:

+

Create operations will create the resource in the storage backend. After a resource is create the system will apply +the desired state.

+

Update:

+

Updates come in 2 forms: Replace and Patch

+

Replace: +Replacing a resource object will update the resource by replacing the existing spec with the provided one. For +read-then-write operations this is safe because an optimistic lock failure will occur if the resource was modified +between the read and write. Note: The ResourceStatus will be ignored by the system and will not be updated. +To update the status, one must invoke the specific status update operation.

+

Note: Replacing a resource object may not result immediately in changes being propagated to downstream objects. For instance +replacing a ConfigMap or Secret resource will not result in all Pods seeing the changes unless the Pods are +restarted out of band.

+

Patch: +Patch will apply a change to a specific field. How the change is merged is defined per field. Lists may either be +replaced or merged. Merging lists will not preserve ordering.

+

Patches will never cause optimistic locking failures, and the last write will win. Patches are recommended + when the full state is not read before an update, or when failing on optimistic locking is undesirable. When patching + complex types, arrays and maps, how the patch is applied is defined on a per-field basis and may either replace + the field's current value, or merge the contents into the current value.

+

Read

+

Reads come in 3 forms: Get, List and Watch

+

Get: Get will retrieve a specific resource object by name.

+

List: List will retrieve all resource objects of a specific type within a namespace, and the results can be restricted to resources matching a selector query.

+

List All Namespaces: Like List but retrieves resources across all namespaces.

+

Watch: Watch will stream results for an object(s) as it is updated. Similar to a callback, watch is used to respond to resource changes.

+

Delete

+

Delete will delete a resource. Depending on the specific resource, child objects may or may not be garbage collected by the server. See +notes on specific resource objects for details.

+

Additional Operations

+

Resources may define additional operations specific to that resource type.

+

Rollback: Rollback a PodTemplate to a previous version. Only available for some resource types.

+

Read / Write Scale: Read or Update the number of replicas for the given resource. Only available for some resource types.

+

Read / Write Status: Read or Update the Status for a resource object. The Status can only changed through these update operations.

+
+

WORKLOADS

+

Workloads resources are responsible for managing and running your containers on the cluster. Containers are created +by Controllers through Pods. Pods run Containers and provide environmental dependencies such as shared or +persistent storage Volumes and Configuration or Secret data injected into the +container.

+

The most common Controllers are:

+
    +
  • Deployments for stateless persistent apps (e.g. http servers)
  • +
  • StatefulSets for stateful persistent apps (e.g. databases)
  • +
  • Jobs for run-to-completion apps (e.g. batch jobs).
  • +
+
+
+

Container v1 core

+
+

Container Config to run nginx (must be embedded in a PodSpec to run).

+
+

+name: nginx
+# Run the nginx:1.10 image
+image: nginx:1.10
+
+
+

Container Config to run nginx (must be embedded in a PodSpec to run).

+
+

+name: nginx
+# Run the nginx:1.10 image
+image: nginx:1.10
+
+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Container
+ + + + + + +

A single application container that you want to run within a pod.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
args
string array
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: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
command
string array
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: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
env
EnvVar array
patch type: merge
patch merge key: name
List of environment variables to set in the container. Cannot be updated.
envFrom
EnvFromSource array
List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
image
string
Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
imagePullPolicy
string
Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
lifecycle
Lifecycle
Actions that the management system should take in response to container lifecycle events. Cannot be updated.
livenessProbe
Probe
Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
name
string
Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.
ports
ContainerPort array
patch type: merge
patch merge key: containerPort
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.
readinessProbe
Probe
Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
resources
ResourceRequirements
Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
securityContext
SecurityContext
Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
stdin
boolean
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.
stdinOnce
boolean
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
terminationMessagePath
string
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. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.
terminationMessagePolicy
string
Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
tty
boolean
Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.
volumeDevices
VolumeDevice array
patch type: merge
patch merge key: devicePath
volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future.
volumeMounts
VolumeMount array
patch type: merge
patch merge key: mountPath
Pod volumes to mount into the container's filesystem. Cannot be updated.
workingDir
string
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.
+

ContainerStatus v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
containerID
string
Container's ID in the format 'docker://<container_id>'.
image
string
The image the container is running. More info: https://kubernetes.io/docs/concepts/containers/images
imageID
string
ImageID of the container's image.
lastState
ContainerState
Details about the container's last termination condition.
name
string
This must be a DNS_LABEL. Each container in a pod must have a unique name. Cannot be updated.
ready
boolean
Specifies whether the container has passed its readiness probe.
restartCount
integer
The number of times the container has been restarted, currently based on the number of dead containers that have not yet been removed. Note that this is calculated from dead containers. But those containers are subject to garbage collection. This value will get capped at 5 by GC.
state
ContainerState
Details about the container's current condition.
+
+

CronJob v1beta1 batch

+ + + + + + + + + + + + + + + +
GroupVersionKind
batchv1beta1CronJob
+ + + +

CronJob represents the configuration of a single cron job.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
CronJobSpec
Specification of the desired behavior of a cron job, including the schedule. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
CronJobStatus
Current status of a cron job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

CronJobSpec v1beta1 batch

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
concurrencyPolicy
string
Specifies how to treat concurrent executions of a Job. Valid values are: - "Allow" (default): allows CronJobs to run concurrently; - "Forbid": forbids concurrent runs, skipping next run if previous run hasn't finished yet; - "Replace": cancels currently running job and replaces it with a new one
failedJobsHistoryLimit
integer
The number of failed finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
jobTemplate
JobTemplateSpec
Specifies the job that will be created when executing a CronJob.
schedule
string
The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
startingDeadlineSeconds
integer
Optional deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones.
successfulJobsHistoryLimit
integer
The number of successful finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified. Defaults to 3.
suspend
boolean
This flag tells the controller to suspend subsequent executions, it does not apply to already started executions. Defaults to false.
+

CronJobStatus v1beta1 batch

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
active
ObjectReference array
A list of pointers to currently running jobs.
lastScheduleTime
Time
Information when was the last time the job was successfully scheduled.
+

CronJobList v1beta1 batch

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
CronJob array
items is the list of CronJobs.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a CronJob

+

HTTP Request

+

POST /apis/batch/v1beta1/namespaces/{namespace}/cronjobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CronJob
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
201
CronJob
Created
202
CronJob
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified CronJob

+

HTTP Request

+

PATCH /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified CronJob

+

HTTP Request

+

PUT /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CronJob
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
201
CronJob
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a CronJob

+

HTTP Request

+

DELETE /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of CronJob

+

HTTP Request

+

DELETE /apis/batch/v1beta1/namespaces/{namespace}/cronjobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified CronJob

+

HTTP Request

+

GET /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind CronJob

+

HTTP Request

+

GET /apis/batch/v1beta1/namespaces/{namespace}/cronjobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJobList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind CronJob

+

HTTP Request

+

GET /apis/batch/v1beta1/cronjobs

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJobList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind CronJob

+

HTTP Request

+

GET /apis/batch/v1beta1/watch/namespaces/{namespace}/cronjobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of CronJob

+

HTTP Request

+

GET /apis/batch/v1beta1/watch/namespaces/{namespace}/cronjobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of CronJob

+

HTTP Request

+

GET /apis/batch/v1beta1/watch/cronjobs

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified CronJob

+

HTTP Request

+

PATCH /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified CronJob

+

HTTP Request

+

GET /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified CronJob

+

HTTP Request

+

PUT /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CronJob
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
201
CronJob
Created
+
+

DaemonSet v1 apps

+
+

DaemonSet Config to print the hostname on each Node in the cluster every 10 seconds.

+
+

+apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+  # Unique key of the DaemonSet instance
+  name: daemonset-example
+spec:
+  template:
+    metadata:
+      labels:
+        app: daemonset-example
+    spec:
+      containers:
+      # This container is run once on each Node in the cluster
+      - name: daemonset-example
+        image: ubuntu:trusty
+        command:
+        - /bin/sh
+        args:
+        - -c
+        # This script is run through `sh -c <script>`
+        - >-
+          while [ true ]; do
+          echo "DaemonSet running on $(hostname)" ;
+          sleep 10 ;
+          done
+
+
+

DaemonSet Config to print the hostname on each Node in the cluster every 10 seconds.

+
+

+apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+  # Unique key of the DaemonSet instance
+  name: daemonset-example
+spec:
+  template:
+    metadata:
+      labels:
+        app: daemonset-example
+    spec:
+      containers:
+      # This container is run once on each Node in the cluster
+      - name: daemonset-example
+        image: ubuntu:trusty
+        command:
+        - /bin/sh
+        args:
+        - -c
+        # This script is run through `sh -c <script>`
+        - >-
+          while [ true ]; do
+          echo "DaemonSet running on $(hostname)" ;
+          sleep 10 ;
+          done
+
+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1DaemonSet
+ + + +

DaemonSet represents the configuration of a daemon set.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
DaemonSetSpec
The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
DaemonSetStatus
The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

DaemonSetSpec v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
minReadySeconds
integer
The minimum number of seconds for which a newly created DaemonSet 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).
revisionHistoryLimit
integer
The number of old history to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10.
selector
LabelSelector
A label query over pods that are managed by the daemon set. Must match in order to be controlled. It must match the pod template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
template
PodTemplateSpec
An 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: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
updateStrategy
DaemonSetUpdateStrategy
An update strategy to replace existing DaemonSet pods with new pods.
+

DaemonSetStatus v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
collisionCount
integer
Count of hash collisions for the DaemonSet. The DaemonSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.
conditions
DaemonSetCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a DaemonSet's current state.
currentNumberScheduled
integer
The number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
desiredNumberScheduled
integer
The total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
numberAvailable
integer
The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and available (ready for at least spec.minReadySeconds)
numberMisscheduled
integer
The number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
numberReady
integer
The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.
numberUnavailable
integer
The number of nodes that should be running the daemon pod and have none of the daemon pod running and available (ready for at least spec.minReadySeconds)
observedGeneration
integer
The most recent generation observed by the daemon set controller.
updatedNumberScheduled
integer
The total number of nodes that are running updated daemon pod
+

DaemonSetList v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
DaemonSet array
A list of daemon sets.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

RollingUpdateDaemonSet v1 apps

+ + + + + + + + + + + + + + + +
FieldDescription
maxUnavailableThe maximum number of DaemonSet pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up. This cannot be 0. Default value is 1. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their pods stopped for an update at any given time. The update starts by stopping at most 30% of those DaemonSet pods and then brings up new DaemonSet pods in their place. Once the new pods are available, it then proceeds onto other DaemonSet pods, thus ensuring that at least 70% of original number of DaemonSet pods are available at all times during the update.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+$ echo 'apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+  name: daemonset-example
+spec:
+  template:
+    metadata:
+      labels:
+        app: daemonset-example
+    spec:
+      containers:
+      - name: daemonset-example
+        image: ubuntu:trusty
+        command:
+        - /bin/sh
+        args:
+        - -c
+        - >-
+          while [ true ]; do
+          echo "DaemonSet running on $(hostname)" ;
+          sleep 10 ;
+          done
+' | kubectl create -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X POST -H 'Content-Type: application/yaml' --data '
+apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+  name: daemonset-example
+spec:
+  template:
+    metadata:
+      labels:
+        app: daemonset-example
+    spec:
+      containers:
+      - name: daemonset-example
+        image: ubuntu:trusty
+        command:
+        - /bin/sh
+        args:
+        - -c
+        - >-
+          while [ true ]; do
+          echo "DaemonSet running on $(hostname)" ;
+          sleep 10 ;
+          done
+' http://127.0.0.1:8001/apis/apps/v1/namespaces/default/daemonsets
+
+
+

Output

+
+

+daemonset "daemonset-example" created
+
+
+

Response Body

+
+

+{
+  "kind": "DaemonSet",
+  "apiVersion": "extensions/v1beta1",
+  "metadata": {
+    "name": "daemonset-example",
+    "namespace": "default",
+    "selfLink": "/apis/extensions/v1beta1/namespaces/default/daemonsets/daemonset-example",
+    "uid": "65552ced-b0e2-11e6-aef0-42010af00229",
+    "resourceVersion": "3558",
+    "generation": 1,
+    "creationTimestamp": "2016-11-22T18:35:09Z",
+    "labels": {
+      "app": "daemonset-example"
+    }
+  },
+  "spec": {
+    "selector": {
+      "matchLabels": {
+        "app": "daemonset-example"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "daemonset-example"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "daemonset-example",
+            "image": "ubuntu:trusty",
+            "command": [
+              "/bin/sh"
+            ],
+            "args": [
+              "-c",
+              "while [ true ]; do echo \"DaemonSet running on $(hostname)\" ; sleep 10 ; done"
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    }
+  },
+  "status": {
+    "currentNumberScheduled": 0,
+    "numberMisscheduled": 0,
+    "desiredNumberScheduled": 0
+  }
+}
+
+

create a DaemonSet

+

HTTP Request

+

POST /apis/apps/v1/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DaemonSet
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
DaemonSet
Created
202
DaemonSet
Accepted
200
DaemonSet
OK
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified DaemonSet

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified DaemonSet

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DaemonSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
201
DaemonSet
Created
+

Delete

+
+

kubectl Command

+
+

+$ kubectl delete daemonset daemonset-example
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X DELETE -H 'Content-Type: application/yaml' --data '
+gracePeriodSeconds: 0
+orphanDependents: false
+' 'http://127.0.0.1:8001/apis/apps/v1/namespaces/default/daemonsets/daemonset-example'
+
+
+

Output

+
+

+daemonset "daemonset-example" deleted
+
+
+

Response Body

+
+

+{
+  "kind": "Status",
+  "apiVersion": "v1",
+  "metadata": {},
+  "status": "Success",
+  "code": 200
+}
+
+

delete a DaemonSet

+

HTTP Request

+

DELETE /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of DaemonSet

+

HTTP Request

+

DELETE /apis/apps/v1/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+$ kubectl get daemonset daemonset-example -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET http://127.0.0.1:8001/apis/apps/v1/namespaces/default/daemonsets/daemonset-example
+
+
+

Output

+
+

+
+
+

Response Body

+
+

+
+

read the specified DaemonSet

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind DaemonSet

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSetList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind DaemonSet

+

HTTP Request

+

GET /apis/apps/v1/daemonsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSetList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind DaemonSet

+

HTTP Request

+

GET /apis/apps/v1/watch/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of DaemonSet

+

HTTP Request

+

GET /apis/apps/v1/watch/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of DaemonSet

+

HTTP Request

+

GET /apis/apps/v1/watch/daemonsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified DaemonSet

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified DaemonSet

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified DaemonSet

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DaemonSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
201
DaemonSet
Created
+
+

Deployment v1 apps

+
+

Deployment Config to run 3 nginx instances (max rollback set to 10 revisions).

+
+

+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  # Unique key of the Deployment instance
+  name: deployment-example
+spec:
+  # 3 Pods should exist at all times.
+  replicas: 3
+  template:
+    metadata:
+      labels:
+        # Apply this label to pods and default
+        # the Deployment label selector to this value
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        # Run this image
+        image: nginx:1.10
+
+
+

Deployment Config to run 3 nginx instances (max rollback set to 10 revisions).

+
+

+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  # Unique key of the Deployment instance
+  name: deployment-example
+spec:
+  # 3 Pods should exist at all times.
+  replicas: 3
+  template:
+    metadata:
+      labels:
+        # Apply this label to pods and default
+        # the Deployment label selector to this value
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        # Run this image
+        image: nginx:1.10
+
+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1Deployment
+ + + +

Deployment enables declarative updates for Pods and ReplicaSets.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata.
spec
DeploymentSpec
Specification of the desired behavior of the Deployment.
status
DeploymentStatus
Most recently observed status of the Deployment.
+

DeploymentSpec v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
minReadySeconds
integer
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)
paused
boolean
Indicates that the deployment is paused.
progressDeadlineSeconds
integer
The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.
replicas
integer
Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
revisionHistoryLimit
integer
The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10.
selector
LabelSelector
Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template's labels.
strategy
DeploymentStrategy
The deployment strategy to use to replace existing pods with new ones.
template
PodTemplateSpec
Template describes the pods that will be created.
+

DeploymentStatus v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
availableReplicas
integer
Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.
collisionCount
integer
Count of hash collisions for the Deployment. The Deployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ReplicaSet.
conditions
DeploymentCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a deployment's current state.
observedGeneration
integer
The generation observed by the deployment controller.
readyReplicas
integer
Total number of ready pods targeted by this deployment.
replicas
integer
Total number of non-terminated pods targeted by this deployment (their labels match the selector).
unavailableReplicas
integer
Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity. They may either be pods that are running but not yet available or pods that still have not been created.
updatedReplicas
integer
Total number of non-terminated pods targeted by this deployment that have the desired template spec.
+

DeploymentList v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Deployment array
Items is the list of Deployments.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata.
+

DeploymentStrategy v1 apps

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
rollingUpdate
RollingUpdateDeployment
Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.
type
string
Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.
+

RollingUpdateDeployment v1 apps

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
maxSurgeThe maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods.
maxUnavailableThe maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+$ echo 'apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.10
+        ports:
+        - containerPort: 80
+' | kubectl create -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X POST -H 'Content-Type: application/yaml' --data '
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.10
+        ports:
+        - containerPort: 80
+' http://127.0.0.1:8001/apis/apps/v1/namespaces/default/deployments
+
+
+

Output

+
+

+deployment "deployment-example" created
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "4ccca349-9cb1-11e6-9c54-42010a800148",
+    "resourceVersion": "2118306",
+    "generation": 1,
+    "creationTimestamp": "2016-10-28T01:53:19Z",
+    "labels": {
+      "app": "nginx"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {}
+}
+
+

create a Deployment

+

HTTP Request

+

POST /apis/apps/v1/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
201
Deployment
Created
202
Deployment
Accepted
+

Patch

+
+

kubectl Command

+
+

+$ kubectl patch deployment deployment-example -p \
+    '{"spec":{"template":{"spec":{"containers":[{"name":"nginx","image":"nginx:1.11"}]}}}}'
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X PATCH -H 'Content-Type: application/strategic-merge-patch+json' --data '
+{"spec":{"template":{"spec":{"containers":[{"name":"nginx","image":"nginx:1.11"}]}}}}' \
+    'http://127.0.0.1:8001/apis/apps/v1/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+"deployment-example" patched
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "5dc3a8e6-b0ee-11e6-aef0-42010af00229",
+    "resourceVersion": "164489",
+    "generation": 11,
+    "creationTimestamp": "2016-11-22T20:00:50Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "5"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.11",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {
+    "observedGeneration": 10,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

partially update the specified Deployment

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Replace

+
+

kubectl Command

+
+

+$ echo 'apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.11
+        ports:
+        - containerPort: 80
+' | kubectl replace -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X PUT -H 'Content-Type: application/yaml' --data '
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.11
+        ports:
+        - containerPort: 80
+' http://127.0.0.1:8001/apis/apps/v1/namespaces/default/deployments/deployment-example
+
+
+

Output

+
+

+deployment "deployment-example" replaced
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "4ccca349-9cb1-11e6-9c54-42010a800148",
+    "resourceVersion": "2119082",
+    "generation": 5,
+    "creationTimestamp": "2016-10-28T01:53:19Z",
+    "labels": {
+      "app": "nginx"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.11",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

replace the specified Deployment

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
201
Deployment
Created
+

Delete

+
+

kubectl Command

+
+

+$ kubectl delete deployment deployment-example
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X DELETE -H 'Content-Type: application/yaml' --data '
+gracePeriodSeconds: 0
+orphanDependents: false
+' 'http://127.0.0.1:8001/apis/apps/v1/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+deployment "deployment-example" deleted
+
+
+

Response Body

+
+

+{
+  "kind": "Status",
+  "apiVersion": "v1",
+  "metadata": {},
+  "status": "Success",
+  "code": 200
+}
+
+

delete a Deployment

+

HTTP Request

+

DELETE /apis/apps/v1/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Deployment

+

HTTP Request

+

DELETE /apis/apps/v1/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+$ kubectl get deployment deployment-example -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET http://127.0.0.1:8001/apis/apps/v1/namespaces/default/deployments/deployment-example
+
+
+

Output

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+    "resourceVersion": "2064726",
+    "generation": 4,
+    "creationTimestamp": "2016-10-27T16:33:35Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "1"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    }
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+    "resourceVersion": "2064726",
+    "generation": 4,
+    "creationTimestamp": "2016-10-27T16:33:35Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "1"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    }
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

read the specified Deployment

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

List

+
+

kubectl Command

+
+

+$ kubectl get deployment -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/apis/apps/v1/namespaces/default/deployments'
+
+
+

Output

+
+

+{
+  "kind": "List",
+  "apiVersion": "v1",
+  "metadata": {},
+  "items": [
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "docs",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/docs",
+        "uid": "ef49e1d2-915e-11e6-be81-42010a80003f",
+        "resourceVersion": "1924126",
+        "generation": 21,
+        "creationTimestamp": "2016-10-13T16:06:00Z",
+        "labels": {
+          "run": "docs"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "10",
+          "replicatingperfection.net/push-image": "true"
+        }
+      },
+      "spec": {
+        "replicas": 1,
+        "selector": {
+          "matchLabels": {
+            "run": "docs"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "auto-pushed-image-pwittrock/api-docs": "1477496453",
+              "run": "docs"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "docs",
+                "image": "pwittrock/api-docs:v9",
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "Always"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 21,
+        "replicas": 1,
+        "updatedReplicas": 1,
+        "availableReplicas": 1
+      }
+    },
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "deployment-example",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/deployment-example",
+        "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+        "resourceVersion": "2064726",
+        "generation": 4,
+        "creationTimestamp": "2016-10-27T16:33:35Z",
+        "labels": {
+          "app": "nginx"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "1"
+        }
+      },
+      "spec": {
+        "replicas": 3,
+        "selector": {
+          "matchLabels": {
+            "app": "nginx"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "app": "nginx"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "nginx",
+                "image": "nginx:1.10",
+                "ports": [
+                  {
+                    "containerPort": 80,
+                    "protocol": "TCP"
+                  }
+                ],
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "IfNotPresent"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 4,
+        "replicas": 3,
+        "updatedReplicas": 3,
+        "availableReplicas": 3
+      }
+    }
+  ]
+}
+
+
+

Response Body

+
+

+{
+  "kind": "List",
+  "apiVersion": "v1",
+  "metadata": {},
+  "items": [
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "docs",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/docs",
+        "uid": "ef49e1d2-915e-11e6-be81-42010a80003f",
+        "resourceVersion": "1924126",
+        "generation": 21,
+        "creationTimestamp": "2016-10-13T16:06:00Z",
+        "labels": {
+          "run": "docs"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "10",
+          "replicatingperfection.net/push-image": "true"
+        }
+      },
+      "spec": {
+        "replicas": 1,
+        "selector": {
+          "matchLabels": {
+            "run": "docs"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "auto-pushed-image-pwittrock/api-docs": "1477496453",
+              "run": "docs"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "docs",
+                "image": "pwittrock/api-docs:v9",
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "Always"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 21,
+        "replicas": 1,
+        "updatedReplicas": 1,
+        "availableReplicas": 1
+      }
+    },
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "deployment-example",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/deployment-example",
+        "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+        "resourceVersion": "2064726",
+        "generation": 4,
+        "creationTimestamp": "2016-10-27T16:33:35Z",
+        "labels": {
+          "app": "nginx"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "1"
+        }
+      },
+      "spec": {
+        "replicas": 3,
+        "selector": {
+          "matchLabels": {
+            "app": "nginx"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "app": "nginx"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "nginx",
+                "image": "nginx:1.10",
+                "ports": [
+                  {
+                    "containerPort": 80,
+                    "protocol": "TCP"
+                  }
+                ],
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "IfNotPresent"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 4,
+        "replicas": 3,
+        "updatedReplicas": 3,
+        "availableReplicas": 3
+      }
+    }
+  ]
+}
+
+

list or watch objects of kind Deployment

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DeploymentList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Deployment

+

HTTP Request

+

GET /apis/apps/v1/deployments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DeploymentList
OK
+

Watch

+
+

kubectl Command

+
+

+$ kubectl get deployment deployment-example --watch -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/apis/apps/v1/watch/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Deployment",
+        "apiVersion": "apps/v1beta1",
+        "metadata": {
+            "name": "deployment-example",
+            "namespace": "default",
+            "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+            "uid": "64c12290-9cbf-11e6-9c54-42010a800148",
+            "resourceVersion": "2128095",
+            "generation": 2,
+            "creationTimestamp": "2016-10-28T03:34:12Z",
+            "labels": {
+                "app": "nginx"
+            },
+            "annotations": {
+                "deployment.kubernetes.io/revision": "3"
+            }
+        },
+        "spec": {
+            "replicas": 3,
+            "selector": {
+                "matchLabels": {
+                    "app": "nginx"
+                }
+            },
+            "template": {
+                "metadata": {
+                    "creationTimestamp": null,
+                    "labels": {
+                        "app": "nginx"
+                    }
+                },
+                "spec": {
+                    "containers": [
+                        {
+                            "name": "nginx",
+                            "image": "nginx:1.10",
+                            "ports": [
+                                {
+                                    "containerPort": 80,
+                                    "protocol": "TCP"
+                                }
+                            ],
+                            "resources": {
+                            },
+                            "terminationMessagePath": "/dev/termination-log",
+                            "imagePullPolicy": "IfNotPresent"
+                        }
+                    ],
+                    "restartPolicy": "Always",
+                    "terminationGracePeriodSeconds": 30,
+                    "dnsPolicy": "ClusterFirst",
+                    "securityContext": {
+                    }
+                }
+            },
+            "strategy": {
+                "type": "RollingUpdate",
+                "rollingUpdate": {
+                    "maxUnavailable": 1,
+                    "maxSurge": 1
+                }
+            }
+        },
+        "status": {
+            "observedGeneration": 2,
+            "replicas": 3,
+            "updatedReplicas": 3,
+            "availableReplicas": 3
+        }
+    }
+}
+
+
+

Response Body

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Deployment",
+        "apiVersion": "apps/v1beta1",
+        "metadata": {
+            "name": "deployment-example",
+            "namespace": "default",
+            "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+            "uid": "64c12290-9cbf-11e6-9c54-42010a800148",
+            "resourceVersion": "2128095",
+            "generation": 2,
+            "creationTimestamp": "2016-10-28T03:34:12Z",
+            "labels": {
+                "app": "nginx"
+            },
+            "annotations": {
+                "deployment.kubernetes.io/revision": "3"
+            }
+        },
+        "spec": {
+            "replicas": 3,
+            "selector": {
+                "matchLabels": {
+                    "app": "nginx"
+                }
+            },
+            "template": {
+                "metadata": {
+                    "creationTimestamp": null,
+                    "labels": {
+                        "app": "nginx"
+                    }
+                },
+                "spec": {
+                    "containers": [
+                        {
+                            "name": "nginx",
+                            "image": "nginx:1.10",
+                            "ports": [
+                                {
+                                    "containerPort": 80,
+                                    "protocol": "TCP"
+                                }
+                            ],
+                            "resources": {
+                            },
+                            "terminationMessagePath": "/dev/termination-log",
+                            "imagePullPolicy": "IfNotPresent"
+                        }
+                    ],
+                    "restartPolicy": "Always",
+                    "terminationGracePeriodSeconds": 30,
+                    "dnsPolicy": "ClusterFirst",
+                    "securityContext": {
+                    }
+                }
+            },
+            "strategy": {
+                "type": "RollingUpdate",
+                "rollingUpdate": {
+                    "maxUnavailable": 1,
+                    "maxSurge": 1
+                }
+            }
+        },
+        "status": {
+            "observedGeneration": 2,
+            "replicas": 3,
+            "updatedReplicas": 3,
+            "availableReplicas": 3
+        }
+    }
+}
+
+

watch changes to an object of kind Deployment

+

HTTP Request

+

GET /apis/apps/v1/watch/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Deployment

+

HTTP Request

+

GET /apis/apps/v1/watch/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Deployment

+

HTTP Request

+

GET /apis/apps/v1/watch/deployments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified Deployment

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified Deployment

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified Deployment

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
201
Deployment
Created
+

Misc Operations

+

See supported operations below...

+

Read Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read scale of the specified Deployment

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Replace Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace scale of the specified Deployment

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Scale
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
201
Scale
Created
+

Patch Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update scale of the specified Deployment

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+
+

Job v1 batch

+
+

Job Config to print pi up to 2000 digits (then exit).

+
+

+apiVersion: batch/v1
+kind: Job
+metadata:
+  # Unique key of the Job instance
+  name: example-job
+spec:
+  template:
+    metadata:
+      name: example-job
+    spec:
+      containers:
+      - name: pi
+        image: perl
+        command: ["perl"]
+        args: ["-Mbignum=bpi", "-wle", "print bpi(2000)"]
+      # Do not restart containers after they exit
+      restartPolicy: Never
+
+
+

Job Config to print pi up to 2000 digits (then exit).

+
+

+apiVersion: batch/v1
+kind: Job
+metadata:
+  # Unique key of the Job instance
+  name: example-job
+spec:
+  template:
+    metadata:
+      name: example-job
+    spec:
+      containers:
+      - name: pi
+        image: perl
+        command: ["perl"]
+        args: ["-Mbignum=bpi", "-wle", "print bpi(2000)"]
+      # Do not restart containers after they exit
+      restartPolicy: Never
+
+ + + + + + + + + + + + + + + +
GroupVersionKind
batchv1Job
+

Job represents the configuration of a single job.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
JobSpec
Specification of the desired behavior of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
JobStatus
Current status of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

JobSpec v1 batch

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
activeDeadlineSeconds
integer
Specifies the 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
backoffLimit
integer
Specifies the number of retries before marking this job failed. Defaults to 6
completions
integer
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: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
manualSelector
boolean
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: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#specifying-your-own-pod-selector
parallelism
integer
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: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
selector
LabelSelector
A label query over pods that should match the pod count. Normally, the system sets this field for you. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
template
PodTemplateSpec
Describes the pod that will be created when executing a job. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
+

JobStatus v1 batch

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
active
integer
The number of actively running pods.
completionTime
Time
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.
conditions
JobCondition array
patch type: merge
patch merge key: type
The latest available observations of an object's current state. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
failed
integer
The number of pods which reached phase Failed.
startTime
Time
Represents time when the job was acknowledged by the job controller. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.
succeeded
integer
The number of pods which reached phase Succeeded.
+

JobList v1 batch

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Job array
items is the list of Jobs.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+$ echo 'apiVersion: batch/v1
+kind: Job
+metadata:
+  name: example-job
+spec:
+  template:
+    metadata:
+      name: example-job
+    spec:
+      containers:
+      - name: pi
+        image: perl
+        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
+      restartPolicy: Never
+' | kubectl create -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X POST -H 'Content-Type: application/yaml' --data '
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: example-job
+spec:
+  template:
+    metadata:
+      name: example-job
+    spec:
+      containers:
+      - name: pi
+        image: perl
+        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
+      restartPolicy: Never
+' http://127.0.0.1:8001/apis/batch/v1/namespaces/default/jobs
+
+
+

Output

+
+

+job "example-job" created
+
+
+

Response Body

+
+

+{
+  "kind": "Job",
+  "apiVersion": "batch/v1",
+  "metadata": {
+    "name": "example-job",
+    "namespace": "default",
+    "selfLink": "/apis/batch/v1/namespaces/default/jobs/example-job",
+    "uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+    "resourceVersion": "7479",
+    "creationTimestamp": "2016-11-04T18:45:25Z"
+  },
+  "spec": {
+    "parallelism": 1,
+    "completions": 1,
+    "selector": {
+      "matchLabels": {
+        "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7"
+      }
+    },
+    "template": {
+      "metadata": {
+        "name": "example-job",
+        "creationTimestamp": null,
+        "labels": {
+          "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+          "job-name": "example-job"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "pi",
+            "image": "perl",
+            "command": [
+              "perl",
+              "-Mbignum=bpi",
+              "-wle",
+              "print bpi(2000)"
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "Always"
+          }
+        ],
+        "restartPolicy": "Never",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    }
+  },
+  "status": {}
+}
+
+

create a Job

+

HTTP Request

+

POST /apis/batch/v1/namespaces/{namespace}/jobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Job
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
Job
Accepted
200
Job
OK
201
Job
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Job

+

HTTP Request

+

PATCH /apis/batch/v1/namespaces/{namespace}/jobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Job
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Job
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Job

+

HTTP Request

+

PUT /apis/batch/v1/namespaces/{namespace}/jobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Job
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Job
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Job
OK
201
Job
Created
+

Delete

+
+

kubectl Command

+
+

+$ kubectl delete job example-job
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X DELETE -H 'Content-Type: application/yaml' --data '
+gracePeriodSeconds: 0
+orphanDependents: false
+' 'http://127.0.0.1:8001/apis/batch/v1/namespaces/default/jobs/example-job'
+
+
+

Output

+
+

+job "example-job" deleted
+
+
+

Response Body

+
+

+{
+  "kind": "Status",
+  "apiVersion": "v1",
+  "metadata": {},
+  "status": "Success",
+  "code": 200
+}
+
+

delete a Job

+

HTTP Request

+

DELETE /apis/batch/v1/namespaces/{namespace}/jobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Job
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Job

+

HTTP Request

+

DELETE /apis/batch/v1/namespaces/{namespace}/jobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+$ kubectl get job example-job -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET http://127.0.0.1:8001/apis/batch/v1/namespaces/default/jobs/example-job
+
+
+

Output

+
+

+{
+  "kind": "Job",
+  "apiVersion": "batch/v1",
+  "metadata": {
+    "name": "example-job",
+    "namespace": "default",
+    "selfLink": "/apis/batch/v1/namespaces/default/jobs/example-job",
+    "uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+    "resourceVersion": "7482",
+    "creationTimestamp": "2016-11-04T18:45:25Z"
+  },
+  "spec": {
+    "parallelism": 1,
+    "completions": 1,
+    "selector": {
+      "matchLabels": {
+        "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7"
+      }
+    },
+    "template": {
+      "metadata": {
+        "name": "example-job",
+        "creationTimestamp": null,
+        "labels": {
+          "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+          "job-name": "example-job"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "pi",
+            "image": "perl",
+            "command": [
+              "perl",
+              "-Mbignum=bpi",
+              "-wle",
+              "print bpi(2000)"
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "Always"
+          }
+        ],
+        "restartPolicy": "Never",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    }
+  },
+  "status": {
+    "startTime": "2016-11-04T18:45:25Z",
+    "active": 1
+  }
+}
+
+
+

Response Body

+
+

+{
+  "kind": "Job",
+  "apiVersion": "batch/v1",
+  "metadata": {
+    "name": "example-job",
+    "namespace": "default",
+    "selfLink": "/apis/batch/v1/namespaces/default/jobs/example-job",
+    "uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+    "resourceVersion": "7482",
+    "creationTimestamp": "2016-11-04T18:45:25Z"
+  },
+  "spec": {
+    "parallelism": 1,
+    "completions": 1,
+    "selector": {
+      "matchLabels": {
+        "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7"
+      }
+    },
+    "template": {
+      "metadata": {
+        "name": "example-job",
+        "creationTimestamp": null,
+        "labels": {
+          "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+          "job-name": "example-job"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "pi",
+            "image": "perl",
+            "command": [
+              "perl",
+              "-Mbignum=bpi",
+              "-wle",
+              "print bpi(2000)"
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "Always"
+          }
+        ],
+        "restartPolicy": "Never",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    }
+  },
+  "status": {
+    "startTime": "2016-11-04T18:45:25Z",
+    "active": 1
+  }
+}
+
+

read the specified Job

+

HTTP Request

+

GET /apis/batch/v1/namespaces/{namespace}/jobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Job
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Job
OK
+

List

+
+

kubectl Command

+
+

+$ kubectl get job -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/apis/batch/v1/namespaces/default/jobs'
+
+
+

Output

+
+

+{
+  "kind": "JobList",
+  "apiVersion": "batch/v1",
+  "metadata": {
+    "selfLink": "/apis/batch/v1/namespaces/default/jobs",
+    "resourceVersion": "7589"
+  },
+  "items": [
+    {
+      "metadata": {
+        "name": "",
+        "namespace": "default",
+        "selfLink": "/apis/batch/v1/namespaces/default/jobs/",
+        "uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+        "resourceVersion": "7482",
+        "creationTimestamp": "2016-11-04T18:45:25Z"
+      },
+      "spec": {
+        "parallelism": 1,
+        "completions": 1,
+        "selector": {
+          "matchLabels": {
+            "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7"
+          }
+        },
+        "template": {
+          "metadata": {
+            "name": "",
+            "creationTimestamp": null,
+            "labels": {
+              "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+              "job-name": ""
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "pi",
+                "image": "perl",
+                "command": [
+                  "perl",
+                  "-Mbignum=bpi",
+                  "-wle",
+                  "print bpi(2000)"
+                ],
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "Always"
+              }
+            ],
+            "restartPolicy": "Never",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        }
+      },
+      "status": {
+        "startTime": "2016-11-04T18:45:25Z",
+        "active": 1
+      }
+    }
+  ]
+}
+
+
+

Response Body

+
+

+{
+  "kind": "JobList",
+  "apiVersion": "batch/v1",
+  "metadata": {
+    "selfLink": "/apis/batch/v1/namespaces/default/jobs",
+    "resourceVersion": "7589"
+  },
+  "items": [
+    {
+      "metadata": {
+        "name": "",
+        "namespace": "default",
+        "selfLink": "/apis/batch/v1/namespaces/default/jobs/",
+        "uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+        "resourceVersion": "7482",
+        "creationTimestamp": "2016-11-04T18:45:25Z"
+      },
+      "spec": {
+        "parallelism": 1,
+        "completions": 1,
+        "selector": {
+          "matchLabels": {
+            "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7"
+          }
+        },
+        "template": {
+          "metadata": {
+            "name": "",
+            "creationTimestamp": null,
+            "labels": {
+              "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+              "job-name": ""
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "pi",
+                "image": "perl",
+                "command": [
+                  "perl",
+                  "-Mbignum=bpi",
+                  "-wle",
+                  "print bpi(2000)"
+                ],
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "Always"
+              }
+            ],
+            "restartPolicy": "Never",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        }
+      },
+      "status": {
+        "startTime": "2016-11-04T18:45:25Z",
+        "active": 1
+      }
+    }
+  ]
+}
+
+

list or watch objects of kind Job

+

HTTP Request

+

GET /apis/batch/v1/namespaces/{namespace}/jobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
JobList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Job

+

HTTP Request

+

GET /apis/batch/v1/jobs

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
JobList
OK
+

Watch

+
+

kubectl Command

+
+

+$ kubectl get job example-job --watch -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/apis/batch/v1/watch/namespaces/default/jobs/example-job'
+
+
+

Output

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Job",
+        "apiVersion": "batch/v1",
+        "metadata": {
+            "name": "example-job",
+            "namespace": "default",
+            "selfLink": "/apis/batch/v1/namespaces/default/jobs/example-job",
+            "uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+            "resourceVersion": "7482",
+            "creationTimestamp": "2016-11-04T18:45:25Z"
+        },
+        "spec": {
+            "parallelism": 1,
+            "completions": 1,
+            "selector": {
+                "matchLabels": {
+                    "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7"
+                }
+            },
+            "template": {
+                "metadata": {
+                    "name": "example-job",
+                    "creationTimestamp": null,
+                    "labels": {
+                        "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+                        "job-name": "example-job"
+                    }
+                },
+                "spec": {
+                    "containers": [
+                        {
+                            "name": "pi",
+                            "image": "perl",
+                            "command": [
+                                "perl",
+                                "-Mbignum=bpi",
+                                "-wle",
+                                "print bpi(2000)"
+                            ],
+                            "resources": {
+                            },
+                            "terminationMessagePath": "/dev/termination-log",
+                            "imagePullPolicy": "Always"
+                        }
+                    ],
+                    "restartPolicy": "Never",
+                    "terminationGracePeriodSeconds": 30,
+                    "dnsPolicy": "ClusterFirst",
+                    "securityContext": {
+                    }
+                }
+            }
+        },
+        "status": {
+            "startTime": "2016-11-04T18:45:25Z",
+            "active": 1
+        }
+    }
+}
+
+
+

Response Body

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Job",
+        "apiVersion": "batch/v1",
+        "metadata": {
+            "name": "example-job",
+            "namespace": "default",
+            "selfLink": "/apis/batch/v1/namespaces/default/jobs/example-job",
+            "uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+            "resourceVersion": "7482",
+            "creationTimestamp": "2016-11-04T18:45:25Z"
+        },
+        "spec": {
+            "parallelism": 1,
+            "completions": 1,
+            "selector": {
+                "matchLabels": {
+                    "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7"
+                }
+            },
+            "template": {
+                "metadata": {
+                    "name": "example-job",
+                    "creationTimestamp": null,
+                    "labels": {
+                        "controller-uid": "d93a3569-a2be-11e6-a008-fa043d458cc7",
+                        "job-name": "example-job"
+                    }
+                },
+                "spec": {
+                    "containers": [
+                        {
+                            "name": "pi",
+                            "image": "perl",
+                            "command": [
+                                "perl",
+                                "-Mbignum=bpi",
+                                "-wle",
+                                "print bpi(2000)"
+                            ],
+                            "resources": {
+                            },
+                            "terminationMessagePath": "/dev/termination-log",
+                            "imagePullPolicy": "Always"
+                        }
+                    ],
+                    "restartPolicy": "Never",
+                    "terminationGracePeriodSeconds": 30,
+                    "dnsPolicy": "ClusterFirst",
+                    "securityContext": {
+                    }
+                }
+            }
+        },
+        "status": {
+            "startTime": "2016-11-04T18:45:25Z",
+            "active": 1
+        }
+    }
+}
+
+

watch changes to an object of kind Job

+

HTTP Request

+

GET /apis/batch/v1/watch/namespaces/{namespace}/jobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Job
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Job

+

HTTP Request

+

GET /apis/batch/v1/watch/namespaces/{namespace}/jobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Job

+

HTTP Request

+

GET /apis/batch/v1/watch/jobs

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified Job

+

HTTP Request

+

PATCH /apis/batch/v1/namespaces/{namespace}/jobs/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Job
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Job
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified Job

+

HTTP Request

+

GET /apis/batch/v1/namespaces/{namespace}/jobs/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Job
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Job
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified Job

+

HTTP Request

+

PUT /apis/batch/v1/namespaces/{namespace}/jobs/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Job
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Job
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Job
OK
201
Job
Created
+
+

Pod v1 core

+
+

Pod Config to print "Hello World".

+
+

+apiVersion: v1
+kind: Pod
+metadata:
+  name: pod-example
+spec:
+  containers:
+  - name: ubuntu
+    image: ubuntu:trusty
+    command: ["echo"]
+    args: ["Hello World"]
+
+
+

Pod Config to print "Hello World".

+
+

+apiVersion: v1
+kind: Pod
+metadata:
+  name: pod-example
+spec:
+  containers:
+  - name: ubuntu
+    image: ubuntu:trusty
+    command: ["echo"]
+    args: ["Hello World"]
+
+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Pod
+ + + + + + +

Pod is a collection of containers that can run on a host. This resource is created by clients and scheduled onto hosts.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
PodSpec
Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
PodStatus
Most recently observed status of the pod. This data may not be up to date. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

PodSpec v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
activeDeadlineSeconds
integer
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.
affinity
Affinity
If specified, the pod's scheduling constraints
automountServiceAccountToken
boolean
AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
containers
Container array
patch type: merge
patch merge key: name
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.
dnsConfig
PodDNSConfig
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.
dnsPolicy
string
Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.
hostAliases
HostAlias array
patch type: merge
patch merge key: ip
HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods.
hostIPC
boolean
Use the host's ipc namespace. Optional: Default to false.
hostNetwork
boolean
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.
hostPID
boolean
Use the host's pid namespace. Optional: Default to false.
hostname
string
Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value.
imagePullSecrets
LocalObjectReference array
patch type: merge
patch merge key: name
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: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
initContainers
Container array
patch type: merge
patch merge key: name
List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
nodeName
string
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.
nodeSelector
object
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: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
priority
integer
The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.
priorityClassName
string
If specified, indicates the pod's priority. "system-node-critical" and "system-cluster-critical" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.
readinessGates
PodReadinessGate array
If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to "True" More info: https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md
restartPolicy
string
Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy
schedulerName
string
If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler.
securityContext
PodSecurityContext
SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.
serviceAccount
string
DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.
serviceAccountName
string
ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
shareProcessNamespace
boolean
Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. This field is alpha-level and is honored only by servers that enable the PodShareProcessNamespace feature.
subdomain
string
If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>". If not specified, the pod will not have a domainname at all.
terminationGracePeriodSeconds
integer
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.
tolerations
Toleration array
If specified, the pod's tolerations.
volumes
Volume array
patch type: merge,retainKeys
patch merge key: name
List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes
+

PodStatus v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
conditions
PodCondition array
patch type: merge
patch merge key: type
Current service state of pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
containerStatuses
ContainerStatus array
The list has one entry per container in the manifest. Each entry is currently the output of docker inspect. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
hostIP
string
IP address of the host to which the pod is assigned. Empty if not yet scheduled.
initContainerStatuses
ContainerStatus array
The list has one entry per init container in the manifest. The most recent successful init container will have ready = true, the most recently started container will have startTime set. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
message
string
A human readable message indicating details about why the pod is in this condition.
nominatedNodeName
string
nominatedNodeName is set only when this pod preempts other pods on the node, but it cannot be scheduled right away as preemption victims receive their graceful termination periods. This field does not guarantee that the pod will be scheduled on this node. Scheduler may decide to place the pod elsewhere if other nodes become available sooner. Scheduler may also decide to give the resources on this node to a higher priority pod that is created after preemption. As a result, this field may be different than PodSpec.nodeName when the pod is scheduled.
phase
string
The phase of a Pod is a simple, high-level summary of where the Pod is in its lifecycle. The conditions array, the reason and message fields, and the individual container status arrays contain more detail about the pod's status. There are five possible phase values: Pending: The pod has been accepted by the Kubernetes system, but one or more of the container images has not been created. This includes time before being scheduled as well as time spent downloading images over the network, which could take a while. Running: The pod has been bound to a node, and all of the containers have been created. At least one container is still running, or is in the process of starting or restarting. Succeeded: All containers in the pod have terminated in success, and will not be restarted. Failed: All containers in the pod have terminated, and at least one container has terminated in failure. The container either exited with non-zero status or was terminated by the system. Unknown: For some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-phase
podIP
string
IP address allocated to the pod. Routable at least within the cluster. Empty if not yet allocated.
qosClass
string
The Quality of Service (QOS) classification assigned to the pod based on resource requirements See PodQOSClass type for available QOS classes More info: https://git.k8s.io/community/contributors/design-proposals/node/resource-qos.md
reason
string
A brief CamelCase message indicating details about why the pod is in this state. e.g. 'Evicted'
startTime
Time
RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod.
+

PodList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Pod array
List of pods. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a Pod

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/pods

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Pod
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
Pod
Created
202
Pod
Accepted
200
Pod
OK
+

Create Eviction

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create eviction of a Pod

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/pods/{name}/eviction

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Eviction
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Eviction
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
Eviction
Created
202
Eviction
Accepted
200
Eviction
OK
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Pod

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/pods/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Pod
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Pod

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/pods/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Pod
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Pod
OK
201
Pod
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a Pod

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/pods/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Pod

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/pods

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified Pod

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/pods/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Pod
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Pod

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/pods

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Pod

+

HTTP Request

+

GET /api/v1/pods

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind Pod

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/pods/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Pod

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/pods

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Pod

+

HTTP Request

+

GET /api/v1/watch/pods

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified Pod

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/pods/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Pod
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified Pod

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/pods/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Pod
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified Pod

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/pods/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Pod
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
Pod
Created
200
Pod
OK
+

Proxy Operations

+

See supported operations below...

+

Create Connect Portforward

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect POST requests to portforward of Pod

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/pods/{name}/portforward

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
portsList of ports to forward Required when using WebSockets
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Create Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect POST requests to proxy of Pod

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/pods/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to pod.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Create Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect POST requests to proxy of Pod

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to pod.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Delete Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect DELETE requests to proxy of Pod

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/pods/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to pod.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Delete Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect DELETE requests to proxy of Pod

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to pod.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Get Connect Portforward

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect GET requests to portforward of Pod

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/pods/{name}/portforward

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
portsList of ports to forward Required when using WebSockets
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Get Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect GET requests to proxy of Pod

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/pods/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to pod.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Get Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect GET requests to proxy of Pod

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to pod.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Head Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect HEAD requests to proxy of Pod

+

HTTP Request

+

HEAD /api/v1/namespaces/{namespace}/pods/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to pod.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Head Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect HEAD requests to proxy of Pod

+

HTTP Request

+

HEAD /api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to pod.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Replace Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect PUT requests to proxy of Pod

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/pods/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to pod.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Replace Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect PUT requests to proxy of Pod

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to pod.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Misc Operations

+

See supported operations below...

+

Read Log

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read log of the specified Pod

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/pods/{name}/log

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Pod
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
containerThe container for which to stream logs. Defaults to only container if there is one container in the pod.
followFollow the log stream of the pod. Defaults to false.
limitBytesIf set, the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.
prettyIf 'true', then the output is pretty printed.
previousReturn previous terminated container logs. Defaults to false.
sinceSecondsA relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.
tailLinesIf set, the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime
timestampsIf true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+
+

ReplicaSet v1 apps

+
+

ReplicaSet Config to run 3 nginx instances.

+
+

+apiVersion: extensions/v1beta1
+kind: ReplicaSet
+metadata:
+  # Unique key of the ReplicaSet instance
+  name: replicaset-example
+spec:
+  # 3 Pods should exist at all times.
+  replicas: 3
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      # Run the nginx image
+      - name: nginx
+        image: nginx:1.10
+
+
+

ReplicaSet Config to run 3 nginx instances.

+
+

+apiVersion: extensions/v1beta1
+kind: ReplicaSet
+metadata:
+  # Unique key of the ReplicaSet instance
+  name: replicaset-example
+spec:
+  # 3 Pods should exist at all times.
+  replicas: 3
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      # Run the nginx image
+      - name: nginx
+        image: nginx:1.10
+
+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1ReplicaSet
+ + + + + + +

ReplicaSet ensures that a specified number of pod replicas are running at any given time.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
ReplicaSetSpec
Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
ReplicaSetStatus
Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

ReplicaSetSpec v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
minReadySeconds
integer
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)
replicas
integer
Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller
selector
LabelSelector
Selector is a label query over pods that should match the replica count. Label keys and values that must match in order to be controlled by this replica set. It must match the pod template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
template
PodTemplateSpec
Template is the object that describes the pod that will be created if insufficient replicas are detected. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
+

ReplicaSetStatus v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
availableReplicas
integer
The number of available replicas (ready for at least minReadySeconds) for this replica set.
conditions
ReplicaSetCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a replica set's current state.
fullyLabeledReplicas
integer
The number of pods that have labels matching the labels of the pod template of the replicaset.
observedGeneration
integer
ObservedGeneration reflects the generation of the most recently observed ReplicaSet.
readyReplicas
integer
The number of ready replicas for this replica set.
replicas
integer
Replicas is the most recently oberved number of replicas. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller
+

ReplicaSetList v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ReplicaSet array
List of ReplicaSets. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ReplicaSet

+

HTTP Request

+

POST /apis/apps/v1/namespaces/{namespace}/replicasets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicaSet
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
201
ReplicaSet
Created
202
ReplicaSet
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ReplicaSet

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/replicasets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ReplicaSet

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/replicasets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicaSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
201
ReplicaSet
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ReplicaSet

+

HTTP Request

+

DELETE /apis/apps/v1/namespaces/{namespace}/replicasets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ReplicaSet

+

HTTP Request

+

DELETE /apis/apps/v1/namespaces/{namespace}/replicasets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/replicasets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/replicasets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSetList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1/replicasets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSetList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1/watch/namespaces/{namespace}/replicasets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1/watch/namespaces/{namespace}/replicasets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1/watch/replicasets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified ReplicaSet

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/replicasets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/replicasets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified ReplicaSet

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/replicasets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicaSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
201
ReplicaSet
Created
+

Misc Operations

+

See supported operations below...

+

Read Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read scale of the specified ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/replicasets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Replace Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace scale of the specified ReplicaSet

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/replicasets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Scale
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
201
Scale
Created
+

Patch Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update scale of the specified ReplicaSet

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/replicasets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+
+

ReplicationController v1 core

+
+

ReplicationController Config to run 3 nginx instances.

+
+

+apiVersion: v1
+kind: ReplicationController
+metadata:
+  # Unique key of the ReplicationController instance
+  name: replicationcontroller-example
+spec:
+  # 3 Pods should exist at all times.
+  replicas: 3
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      # Run the nginx image
+      - name: nginx
+        image: nginx:1.10
+
+
+

ReplicationController Config to run 3 nginx instances.

+
+

+apiVersion: v1
+kind: ReplicationController
+metadata:
+  # Unique key of the ReplicationController instance
+  name: replicationcontroller-example
+spec:
+  # 3 Pods should exist at all times.
+  replicas: 3
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      # Run the nginx image
+      - name: nginx
+        image: nginx:1.10
+
+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ReplicationController
+ + + + + + +

ReplicationController represents the configuration of a replication controller.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
If the Labels of a ReplicationController are empty, they are defaulted to be the same as the Pod(s) that the replication controller manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
ReplicationControllerSpec
Spec defines the specification of the desired behavior of the replication controller. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
ReplicationControllerStatus
Status is the most recently observed status of the replication controller. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

ReplicationControllerSpec v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
minReadySeconds
integer
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)
replicas
integer
Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#what-is-a-replicationcontroller
selector
object
Selector is a label query over pods that should match the Replicas count. If Selector is empty, it is defaulted to the labels present on the Pod template. Label keys and values that must match in order to be controlled by this replication controller, if empty defaulted to labels on Pod template. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
template
PodTemplateSpec
Template is the object that describes the pod that will be created if insufficient replicas are detected. This takes precedence over a TemplateRef. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
+

ReplicationControllerStatus v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
availableReplicas
integer
The number of available replicas (ready for at least minReadySeconds) for this replication controller.
conditions
ReplicationControllerCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a replication controller's current state.
fullyLabeledReplicas
integer
The number of pods that have labels matching the labels of the pod template of the replication controller.
observedGeneration
integer
ObservedGeneration reflects the generation of the most recently observed replication controller.
readyReplicas
integer
The number of ready replicas for this replication controller.
replicas
integer
Replicas is the most recently oberved number of replicas. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#what-is-a-replicationcontroller
+

ReplicationControllerList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ReplicationController array
List of replication controllers. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ReplicationController

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/replicationcontrollers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicationController
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ReplicationController
OK
201
ReplicationController
Created
202
ReplicationController
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ReplicationController

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/replicationcontrollers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicationController
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicationController
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ReplicationController

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/replicationcontrollers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicationController
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicationController
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ReplicationController
OK
201
ReplicationController
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ReplicationController

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/replicationcontrollers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicationController
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ReplicationController

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/replicationcontrollers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ReplicationController

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/replicationcontrollers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicationController
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicationController
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ReplicationController

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/replicationcontrollers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicationControllerList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ReplicationController

+

HTTP Request

+

GET /api/v1/replicationcontrollers

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicationControllerList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ReplicationController

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/replicationcontrollers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicationController
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ReplicationController

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/replicationcontrollers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ReplicationController

+

HTTP Request

+

GET /api/v1/watch/replicationcontrollers

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified ReplicationController

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/replicationcontrollers/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicationController
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicationController
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified ReplicationController

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/replicationcontrollers/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicationController
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicationController
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified ReplicationController

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/replicationcontrollers/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicationController
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicationController
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ReplicationController
OK
201
ReplicationController
Created
+

Misc Operations

+

See supported operations below...

+

Read Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read scale of the specified ReplicationController

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/replicationcontrollers/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Replace Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace scale of the specified ReplicationController

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/replicationcontrollers/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Scale
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
201
Scale
Created
+

Patch Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update scale of the specified ReplicationController

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/replicationcontrollers/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+
+

StatefulSet v1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1StatefulSet
+ + + +

StatefulSet represents a set of pods with consistent identities. Identities are defined as:

+
    +
  • Network: A single stable DNS and hostname.
  • +
  • Storage: As many VolumeClaims as requested. +The StatefulSet guarantees that a given network identity will always map to the same storage identity.
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
StatefulSetSpec
Spec defines the desired identities of pods in this set.
status
StatefulSetStatus
Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time.
+

StatefulSetSpec v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
podManagementPolicy
string
podManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. The default policy is OrderedReady, where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. The alternative policy is Parallel which will create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once.
replicas
integer
replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1.
revisionHistoryLimit
integer
revisionHistoryLimit is the maximum number of revisions that will be maintained in the StatefulSet's revision history. The revision history consists of all revisions not represented by a currently applied StatefulSetSpec version. The default value is 10.
selector
LabelSelector
selector is a label query over pods that should match the replica count. It must match the pod template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
serviceName
string
serviceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where "pod-specific-string" is managed by the StatefulSet controller.
template
PodTemplateSpec
template is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet.
updateStrategy
StatefulSetUpdateStrategy
updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.
volumeClaimTemplates
PersistentVolumeClaim array
volumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.
+

StatefulSetStatus v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
collisionCount
integer
collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.
conditions
StatefulSetCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a statefulset's current state.
currentReplicas
integer
currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by currentRevision.
currentRevision
string
currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).
observedGeneration
integer
observedGeneration is the most recent generation observed for this StatefulSet. It corresponds to the StatefulSet's generation, which is updated on mutation by the API Server.
readyReplicas
integer
readyReplicas is the number of Pods created by the StatefulSet controller that have a Ready Condition.
replicas
integer
replicas is the number of Pods created by the StatefulSet controller.
updateRevision
string
updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)
updatedReplicas
integer
updatedReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by updateRevision.
+

StatefulSetList v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
StatefulSet array
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a StatefulSet

+

HTTP Request

+

POST /apis/apps/v1/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StatefulSet
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
StatefulSet
Created
202
StatefulSet
Accepted
200
StatefulSet
OK
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified StatefulSet

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified StatefulSet

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StatefulSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
201
StatefulSet
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a StatefulSet

+

HTTP Request

+

DELETE /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of StatefulSet

+

HTTP Request

+

DELETE /apis/apps/v1/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified StatefulSet

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind StatefulSet

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSetList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind StatefulSet

+

HTTP Request

+

GET /apis/apps/v1/statefulsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSetList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind StatefulSet

+

HTTP Request

+

GET /apis/apps/v1/watch/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of StatefulSet

+

HTTP Request

+

GET /apis/apps/v1/watch/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of StatefulSet

+

HTTP Request

+

GET /apis/apps/v1/watch/statefulsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified StatefulSet

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified StatefulSet

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified StatefulSet

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StatefulSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
201
StatefulSet
Created
+

Misc Operations

+

See supported operations below...

+

Read Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read scale of the specified StatefulSet

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Replace Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace scale of the specified StatefulSet

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Scale
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
201
Scale
Created
+

Patch Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update scale of the specified StatefulSet

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

DISCOVERY & LOAD BALANCING

+

Discovery and Load Balancing resources are responsible for stitching your workloads together into an accessible Loadbalanced Service. By default, +Workloads are only accessible within the cluster, and they must be exposed externally using a either +a LoadBalancer or NodePort Service. For development, internally accessible +Workloads can be accessed via proxy through the api master using the kubectl proxy command.

+

Common resource types:

+
    +
  • Services for providing a single ip endpoint loadbalanced across multiple Workload replicas.
  • +
  • Ingress for providing a https(s) endpoint http(s) routed to one or more Services
  • +
+
+
+

Endpoints v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Endpoints
+

Endpoints is a collection of endpoints that implement the actual service. Example: + Name: "mysvc", + Subsets: [ + { + Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], + Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] + }, + { + Addresses: [{"ip": "10.10.3.3"}], + Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}] + }, + ]

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
subsets
EndpointSubset array
The set of all endpoints is the union of all subsets. Addresses are placed into subsets according to the IPs they share. A single address with multiple ports, some of which are ready and some of which are not (because they come from different containers) will result in the address being displayed in different subsets for the different ports. No address will appear in both Addresses and NotReadyAddresses in the same subset. Sets of addresses and ports that comprise a service.
+

EndpointsList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Endpoints array
List of endpoints.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create Endpoints

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/endpoints

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Endpoints
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
Endpoints
OK
201
Endpoints
Created
202
Endpoints
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Endpoints

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/endpoints/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Endpoints
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Endpoints
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Endpoints

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/endpoints/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Endpoints
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Endpoints
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Endpoints
OK
201
Endpoints
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete Endpoints

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/endpoints/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Endpoints
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Endpoints

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/endpoints

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified Endpoints

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/endpoints/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Endpoints
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Endpoints
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Endpoints

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/endpoints

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
EndpointsList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Endpoints

+

HTTP Request

+

GET /api/v1/endpoints

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
EndpointsList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind Endpoints

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/endpoints/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Endpoints
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Endpoints

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/endpoints

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Endpoints

+

HTTP Request

+

GET /api/v1/watch/endpoints

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

Ingress v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1Ingress
+

Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
IngressSpec
Spec is the desired state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
IngressStatus
Status is the current state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

IngressSpec v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
backend
IngressBackend
A default backend capable of servicing requests that don't match any rule. At least one of 'backend' or 'rules' must be specified. This field is optional to allow the loadbalancer controller or defaulting logic to specify a global default.
rules
IngressRule array
A list of host rules used to configure the Ingress. If unspecified, or no rule matches, all traffic is sent to the default backend.
tls
IngressTLS array
TLS configuration. Currently the Ingress only supports a single TLS port, 443. If multiple members of this list specify different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension, if the ingress controller fulfilling the ingress supports SNI.
+

IngressStatus v1beta1 extensions

+ + + + + + + + + + + + + + + +
FieldDescription
loadBalancer
LoadBalancerStatus
LoadBalancer contains the current status of the load-balancer.
+

IngressList v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Ingress array
Items is the list of Ingress.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create an Ingress

+

HTTP Request

+

POST /apis/extensions/v1beta1/namespaces/{namespace}/ingresses

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Ingress
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
Ingress
OK
201
Ingress
Created
202
Ingress
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Ingress

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Ingress
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Ingress
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Ingress

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Ingress
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Ingress
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Ingress
OK
201
Ingress
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete an Ingress

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Ingress
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Ingress

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified Ingress

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Ingress
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Ingress
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Ingress

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
IngressList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Ingress

+

HTTP Request

+

GET /apis/extensions/v1beta1/ingresses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
IngressList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind Ingress

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/ingresses/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Ingress
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Ingress

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Ingress

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/ingresses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified Ingress

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Ingress
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Ingress
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified Ingress

+

HTTP Request

+

GET /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Ingress
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Ingress
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified Ingress

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Ingress
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Ingress
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
Ingress
Created
200
Ingress
OK
+
+

Service v1 core

+
+

Service Config to load balance traffic across all Pods with the app=nginx label. Receives on and sends to port 80. Exposes an externally accessible endpoint.

+
+

+kind: Service
+apiVersion: v1
+metadata:
+  # Unique key of the Service instance
+  name: service-example
+spec:
+  ports:
+    # Accept traffic sent to port 80
+    - name: http
+      port: 80
+      targetPort: 80
+  selector:
+    # Loadbalance traffic across Pods matching
+    # this label selector
+    app: nginx
+  # Create an HA proxy in the cloud provider
+  # with an External IP address - *Only supported
+  # by some cloud providers*
+  type: LoadBalancer
+
+
+

Service Config to load balance traffic across all Pods with the app=nginx label. Receives on and sends to port 80. Exposes an externally accessible endpoint.

+
+

+kind: Service
+apiVersion: v1
+metadata:
+  # Unique key of the Service instance
+  name: service-example
+spec:
+  ports:
+    # Accept traffic sent to port 80
+    - name: http
+      port: 80
+      targetPort: 80
+  selector:
+    # Loadbalance traffic across Pods matching
+    # this label selector
+    app: nginx
+  # Create an HA proxy in the cloud provider
+  # with an External IP address - *Only supported
+  # by some cloud providers*
+  type: LoadBalancer
+
+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Service
+

Service is a named abstraction of software service (for example, mysql) consisting of local port (for example 3306) that the proxy listens on, and the selector that determines which pods will answer requests sent through the proxy.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
ServiceSpec
Spec defines the behavior of a service. https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
ServiceStatus
Most recently observed status of the service. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

ServiceSpec v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
clusterIP
string
clusterIP is the IP address of the service and is usually assigned randomly by the master. If an address is specified manually and is not in use by others, it will be allocated to the service; otherwise, creation of the service will fail. This field can not be changed through updates. Valid values are "None", empty string (""), or a valid IP address. "None" can be specified for headless services when proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
externalIPs
string array
externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system.
externalName
string
externalName is the external reference that kubedns or equivalent will return as a CNAME record for this service. No proxying will be involved. Must be a valid RFC-1123 hostname (https://tools.ietf.org/html/rfc1123) and requires Type to be ExternalName.
externalTrafficPolicy
string
externalTrafficPolicy denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints. "Local" preserves the client source IP and avoids a second hop for LoadBalancer and Nodeport type services, but risks potentially imbalanced traffic spreading. "Cluster" obscures the client source IP and may cause a second hop to another node, but should have good overall load-spreading.
healthCheckNodePort
integer
healthCheckNodePort specifies the healthcheck nodePort for the service. If not specified, HealthCheckNodePort is created by the service api backend with the allocated nodePort. Will use user-specified nodePort value if specified by the client. Only effects when Type is set to LoadBalancer and ExternalTrafficPolicy is set to Local.
loadBalancerIP
string
Only applies to Service Type: LoadBalancer LoadBalancer will get created with the IP specified in this field. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerSourceRanges
string array
If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature." More info: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/
ports
ServicePort array
patch type: merge
patch merge key: port
The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
publishNotReadyAddresses
boolean
publishNotReadyAddresses, when set to true, indicates that DNS implementations must publish the notReadyAddresses of subsets for the Endpoints associated with the Service. The default value is false. The primary use case for setting this field is to use a StatefulSet's Headless Service to propagate SRV records for its Pods without respect to their readiness for purpose of peer discovery.
selector
object
Route service traffic to pods with label keys and values matching this selector. If empty or not present, the service is assumed to have an external process managing its endpoints, which Kubernetes will not modify. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/
sessionAffinity
string
Supports "ClientIP" and "None". Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
sessionAffinityConfig
SessionAffinityConfig
sessionAffinityConfig contains the configurations of session affinity.
type
string
type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. "ExternalName" maps to the specified externalName. "ClusterIP" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, by manual construction of an Endpoints object. If clusterIP is "None", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a stable IP. "NodePort" builds on ClusterIP and allocates a port on every node which routes to the clusterIP. "LoadBalancer" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services---service-types
+

ServiceStatus v1 core

+ + + + + + + + + + + + + + + +
FieldDescription
loadBalancer
LoadBalancerStatus
LoadBalancer contains the current status of the load-balancer, if one is present.
+

ServiceList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Service array
List of services
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+$ echo 'kind: Service
+apiVersion: v1
+metadata:
+  name: service-example
+spec:
+  ports:
+    - name: http
+      port: 80
+      targetPort: 80
+  selector:
+      app: nginx
+  type: LoadBalancer
+' | kubectl create -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X POST -H 'Content-Type: application/yaml' --data '
+kind: Service
+apiVersion: v1
+metadata:
+  name: service-example
+spec:
+  ports:
+    - name: http
+      port: 80
+      targetPort: 80
+  selector:
+      app: nginx
+  type: LoadBalancer
+' http://127.0.0.1:8001/api/v1/namespaces/default/services
+
+
+

Output

+
+

+service "service-example" created
+
+
+

Response Body

+
+

+{
+  "kind": "Service",
+  "apiVersion": "v1",
+  "metadata": {
+    "name": "service-example",
+    "namespace": "default",
+    "selfLink": "/api/v1/namespaces/default/services/service-example",
+    "uid": "93e5c731-9d30-11e6-9c54-42010a800148",
+    "resourceVersion": "2205767",
+    "creationTimestamp": "2016-10-28T17:04:24Z"
+  },
+  "spec": {
+    "ports": [
+      {
+        "name": "http",
+        "protocol": "TCP",
+        "port": 80,
+        "targetPort": 80,
+        "nodePort": 32417
+      }
+    ],
+    "selector": {
+      "app": "nginx"
+    },
+    "clusterIP": "10.183.250.161",
+    "type": "LoadBalancer",
+    "sessionAffinity": "None"
+  },
+  "status": {
+    "loadBalancer": {}
+  }
+}
+
+

create a Service

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/services

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Service
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
Service
OK
201
Service
Created
202
Service
Accepted
+

Patch

+
+

kubectl Command

+
+

+$ kubectl patch service  -p \
+    '{"spec":{"ports":[{"name":"http","port":80,"targetPort":8080}]}}'
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X PATCH -H 'Content-Type: application/strategic-merge-patch+json' --data '
+{"spec":{"ports":[{"name":"http","port":80,"targetPort":8080}]}}' \
+    'http://127.0.0.1:8001/api/v1/namespaces/default/services/'
+
+
+

Output

+
+

+"" patched
+
+
+

Response Body

+
+

+{
+  "kind": "Service",
+  "apiVersion": "v1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/api/v1/namespaces/default/services/deployment-example",
+    "uid": "93e5c731-9d30-11e6-9c54-42010a800148",
+    "resourceVersion": "2205995",
+    "creationTimestamp": "2016-10-28T17:04:24Z"
+  },
+  "spec": {
+    "ports": [
+      {
+        "name": "http",
+        "protocol": "TCP",
+        "port": 80,
+        "targetPort": 8080,
+        "nodePort": 32417
+      }
+    ],
+    "selector": {
+      "app": "nginx"
+    },
+    "clusterIP": "10.183.250.161",
+    "type": "LoadBalancer",
+    "sessionAffinity": "None"
+  },
+  "status": {
+    "loadBalancer": {
+      "ingress": [
+        {
+          "ip": "104.198.186.106"
+        }
+      ]
+    }
+  }
+}
+
+

partially update the specified Service

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/services/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Service
OK
+

Replace

+
+

kubectl Command

+
+

+$ echo 'apiVersion: v1
+kind: Service
+metadata:
+  name: deployment-example
+  resourceVersion: "2205995"
+spec:
+  clusterIP: 10.183.250.161
+  ports:
+  - name: http
+    nodePort: 32417
+    port: 80
+    protocol: TCP
+    targetPort: 8080
+  selector:
+    app: nginx
+  sessionAffinity: None
+  type: LoadBalancer
+' | kubectl replace -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X PUT -H 'Content-Type: application/yaml' --data '
+apiVersion: v1
+kind: Service
+metadata:
+  name: deployment-example
+  resourceVersion: "2205995"
+spec:
+  clusterIP: 10.183.250.161
+  ports:
+  - name: http
+    nodePort: 32417
+    port: 80
+    protocol: TCP
+    targetPort: 8080
+  selector:
+    app: nginx
+  sessionAffinity: None
+  type: LoadBalancer
+' http://127.0.0.1:8001/api/v1/namespaces/default/services/deployment-example
+
+
+

Output

+
+

+service "deployment-example" replaced
+
+
+

Response Body

+
+

+{
+  "kind": "Service",
+  "apiVersion": "v1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/api/v1/namespaces/default/services/deployment-example",
+    "uid": "93e5c731-9d30-11e6-9c54-42010a800148",
+    "resourceVersion": "2208672",
+    "creationTimestamp": "2016-10-28T17:04:24Z"
+  },
+  "spec": {
+    "ports": [
+      {
+        "name": "http",
+        "protocol": "TCP",
+        "port": 80,
+        "targetPort": 8080,
+        "nodePort": 32417
+      }
+    ],
+    "selector": {
+      "app": "nginx"
+    },
+    "clusterIP": "10.183.250.161",
+    "type": "LoadBalancer",
+    "sessionAffinity": "None"
+  },
+  "status": {
+    "loadBalancer": {
+      "ingress": [
+        {
+          "ip": "104.198.186.106"
+        }
+      ]
+    }
+  }
+}
+
+

replace the specified Service

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/services/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Service
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Service
OK
201
Service
Created
+

Delete

+
+

kubectl Command

+
+

+$ kubectl delete service deployment-example
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X DELETE -H 'Content-Type: application/yaml' --data '
+gracePeriodSeconds: 0
+orphanDependents: false
+' 'http://127.0.0.1:8001/api/v1/namespaces/default/services/deployment-example'
+
+
+

Output

+
+

+service "deployment-example" deleted
+
+
+

Response Body

+
+

+{
+  "kind": "Status",
+  "apiVersion": "v1",
+  "metadata": {},
+  "status": "Success",
+  "code": 200
+}
+
+

delete a Service

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/services/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+$ kubectl get service deployment-example -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET http://127.0.0.1:8001/api/v1/namespaces/default/services/deployment-example
+
+
+

Output

+
+

+{
+  "kind": "Service",
+  "apiVersion": "v1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/api/v1/namespaces/default/services/deployment-example",
+    "uid": "93e5c731-9d30-11e6-9c54-42010a800148",
+    "resourceVersion": "2205995",
+    "creationTimestamp": "2016-10-28T17:04:24Z"
+  },
+  "spec": {
+    "ports": [
+      {
+        "name": "http",
+        "protocol": "TCP",
+        "port": 80,
+        "targetPort": 8080,
+        "nodePort": 32417
+      }
+    ],
+    "selector": {
+      "app": "nginx"
+    },
+    "clusterIP": "10.183.250.161",
+    "type": "LoadBalancer",
+    "sessionAffinity": "None"
+  },
+  "status": {
+    "loadBalancer": {
+      "ingress": [
+        {
+          "ip": "104.198.186.106"
+        }
+      ]
+    }
+  }
+}
+
+
+

Response Body

+
+

+{
+  "kind": "Service",
+  "apiVersion": "v1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/api/v1/namespaces/default/services/deployment-example",
+    "uid": "93e5c731-9d30-11e6-9c54-42010a800148",
+    "resourceVersion": "2205995",
+    "creationTimestamp": "2016-10-28T17:04:24Z"
+  },
+  "spec": {
+    "ports": [
+      {
+        "name": "http",
+        "protocol": "TCP",
+        "port": 80,
+        "targetPort": 8080,
+        "nodePort": 32417
+      }
+    ],
+    "selector": {
+      "app": "nginx"
+    },
+    "clusterIP": "10.183.250.161",
+    "type": "LoadBalancer",
+    "sessionAffinity": "None"
+  },
+  "status": {
+    "loadBalancer": {
+      "ingress": [
+        {
+          "ip": "104.198.186.106"
+        }
+      ]
+    }
+  }
+}
+
+

read the specified Service

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/services/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Service
OK
+

List

+
+

kubectl Command

+
+

+$ kubectl get service -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/api/v1/namespaces/default/services'
+
+
+

Output

+
+

+
+
+

Response Body

+
+

+
+

list or watch objects of kind Service

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/services

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ServiceList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Service

+

HTTP Request

+

GET /api/v1/services

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ServiceList
OK
+

Watch

+
+

kubectl Command

+
+

+$ kubectl get service deployment-example --watch -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/api/v1/watch/namespaces/default/services/deployment-example'
+
+
+

Output

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Service",
+        "apiVersion": "v1",
+        "metadata": {
+            "name": "deployment-example",
+            "namespace": "default",
+            "selfLink": "/api/v1/namespaces/default/services/deployment-example",
+            "uid": "93e5c731-9d30-11e6-9c54-42010a800148",
+            "resourceVersion": "2205995",
+            "creationTimestamp": "2016-10-28T17:04:24Z"
+        },
+        "spec": {
+            "ports": [
+                {
+                    "name": "http",
+                    "protocol": "TCP",
+                    "port": 80,
+                    "targetPort": 8080,
+                    "nodePort": 32417
+                }
+            ],
+            "selector": {
+                "app": "nginx"
+            },
+            "clusterIP": "10.183.250.161",
+            "type": "LoadBalancer",
+            "sessionAffinity": "None"
+        },
+        "status": {
+            "loadBalancer": {
+                "ingress": [
+                    {
+                        "ip": "104.198.186.106"
+                    }
+                ]
+            }
+        }
+    }
+}
+
+
+

Response Body

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Service",
+        "apiVersion": "v1",
+        "metadata": {
+            "name": "deployment-example",
+            "namespace": "default",
+            "selfLink": "/api/v1/namespaces/default/services/deployment-example",
+            "uid": "93e5c731-9d30-11e6-9c54-42010a800148",
+            "resourceVersion": "2205995",
+            "creationTimestamp": "2016-10-28T17:04:24Z"
+        },
+        "spec": {
+            "ports": [
+                {
+                    "name": "http",
+                    "protocol": "TCP",
+                    "port": 80,
+                    "targetPort": 8080,
+                    "nodePort": 32417
+                }
+            ],
+            "selector": {
+                "app": "nginx"
+            },
+            "clusterIP": "10.183.250.161",
+            "type": "LoadBalancer",
+            "sessionAffinity": "None"
+        },
+        "status": {
+            "loadBalancer": {
+                "ingress": [
+                    {
+                        "ip": "104.198.186.106"
+                    }
+                ]
+            }
+        }
+    }
+}
+
+

watch changes to an object of kind Service

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/services/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Service

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/services

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Service

+

HTTP Request

+

GET /api/v1/watch/services

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified Service

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/services/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Service
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified Service

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/services/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Service
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified Service

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/services/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Service
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
Service
Created
200
Service
OK
+

Proxy Operations

+

See supported operations below...

+

Create Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect POST requests to proxy of Service

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/services/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath 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.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Create Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect POST requests to proxy of Service

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath 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.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Delete Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect DELETE requests to proxy of Service

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/services/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath 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.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Delete Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect DELETE requests to proxy of Service

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath 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.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Get Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect GET requests to proxy of Service

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/services/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath 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.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Get Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect GET requests to proxy of Service

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath 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.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Head Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect HEAD requests to proxy of Service

+

HTTP Request

+

HEAD /api/v1/namespaces/{namespace}/services/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath 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.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Head Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect HEAD requests to proxy of Service

+

HTTP Request

+

HEAD /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath 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.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Replace Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect PUT requests to proxy of Service

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/services/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath 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.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Replace Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect PUT requests to proxy of Service

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/services/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Service
namespaceobject name and auth scope, such as for teams and projects
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath 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.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

CONFIG & STORAGE

+

Config and Storage resources are responsible for injecting data into your applications and persisting data externally to your container.

+

Common resource types:

+
    +
  • ConfigMaps for providing text key value pairs injected into the application through environment variables, command line arguments, or files
  • +
  • Secrets for providing binary data injected into the application through files
  • +
  • Volumes for providing a filesystem external to the Container. Maybe shared across Containers within the same Pod and have a lifetime persisting beyond a Container or Pod.
  • +
+
+
+

ConfigMap v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ConfigMap
+

ConfigMap holds configuration data for pods to consume.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
binaryData
object
BinaryData contains the binary data. Each key must consist of alphanumeric characters, '-', '_' or '.'. BinaryData can contain byte sequences that are not in the UTF-8 range. The keys stored in BinaryData must not overlap with the ones in the Data field, this is enforced during validation process. Using this field will require 1.10+ apiserver and kubelet.
data
object
Data contains the configuration data. Each key must consist of alphanumeric characters, '-', '_' or '.'. Values with non-UTF-8 byte sequences must use the BinaryData field. The keys stored in Data must not overlap with the keys in the BinaryData field, this is enforced during validation process.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

ConfigMapList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ConfigMap array
Items is the list of ConfigMaps.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ConfigMap

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/configmaps

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ConfigMap
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
ConfigMap
Accepted
200
ConfigMap
OK
201
ConfigMap
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ConfigMap

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/configmaps/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ConfigMap
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ConfigMap
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ConfigMap

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/configmaps/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ConfigMap
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ConfigMap
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ConfigMap
OK
201
ConfigMap
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ConfigMap

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/configmaps/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ConfigMap
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ConfigMap

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/configmaps

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ConfigMap

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/configmaps/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ConfigMap
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ConfigMap
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ConfigMap

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/configmaps

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ConfigMapList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ConfigMap

+

HTTP Request

+

GET /api/v1/configmaps

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ConfigMapList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ConfigMap

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/configmaps/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ConfigMap
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ConfigMap

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/configmaps

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ConfigMap

+

HTTP Request

+

GET /api/v1/watch/configmaps

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

Secret v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Secret
+

Secret holds secret data of a certain type. The total bytes of the values in the Data field must be less than MaxSecretSize bytes.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
data
object
Data contains the secret data. Each key must consist of alphanumeric characters, '-', '_' or '.'. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in https://tools.ietf.org/html/rfc4648#section-4
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
stringData
object
stringData allows specifying non-binary secret data in string form. It is provided as a write-only convenience method. All keys and values are merged into the data field on write, overwriting any existing values. It is never output when reading from the API.
type
string
Used to facilitate programmatic handling of secret data.
+

SecretList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Secret array
Items is a list of secret objects. More info: https://kubernetes.io/docs/concepts/configuration/secret
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a Secret

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/secrets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Secret
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
Secret
Created
202
Secret
Accepted
200
Secret
OK
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Secret

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/secrets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Secret
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Secret
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Secret

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/secrets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Secret
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Secret
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Secret
OK
201
Secret
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a Secret

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/secrets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Secret
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Secret

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/secrets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified Secret

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/secrets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Secret
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Secret
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Secret

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/secrets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
SecretList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Secret

+

HTTP Request

+

GET /api/v1/secrets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
SecretList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind Secret

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/secrets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Secret
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Secret

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/secrets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Secret

+

HTTP Request

+

GET /api/v1/watch/secrets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

PersistentVolumeClaim v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PersistentVolumeClaim
+ + + + + +

PersistentVolumeClaim is a user's request for and claim to a persistent volume

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
PersistentVolumeClaimSpec
Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
status
PersistentVolumeClaimStatus
Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
+

PersistentVolumeClaimSpec v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
accessModes
string array
AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
resources
ResourceRequirements
Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
selector
LabelSelector
A label query over volumes to consider for binding.
storageClassName
string
Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
volumeMode
string
volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is an alpha feature and may change in the future.
volumeName
string
VolumeName is the binding reference to the PersistentVolume backing this claim.
+

PersistentVolumeClaimStatus v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
accessModes
string array
AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
capacity
object
Represents the actual resources of the underlying volume.
conditions
PersistentVolumeClaimCondition array
patch type: merge
patch merge key: type
Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
phase
string
Phase represents the current phase of PersistentVolumeClaim.
+

PersistentVolumeClaimList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
PersistentVolumeClaim array
A list of persistent volume claims. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a PersistentVolumeClaim

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/persistentvolumeclaims

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PersistentVolumeClaim
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
PersistentVolumeClaim
OK
201
PersistentVolumeClaim
Created
202
PersistentVolumeClaim
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified PersistentVolumeClaim

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolumeClaim
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PersistentVolumeClaim
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified PersistentVolumeClaim

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolumeClaim
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PersistentVolumeClaim
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PersistentVolumeClaim
OK
201
PersistentVolumeClaim
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a PersistentVolumeClaim

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolumeClaim
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of PersistentVolumeClaim

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/persistentvolumeclaims

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified PersistentVolumeClaim

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolumeClaim
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PersistentVolumeClaim
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PersistentVolumeClaim

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/persistentvolumeclaims

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PersistentVolumeClaimList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PersistentVolumeClaim

+

HTTP Request

+

GET /api/v1/persistentvolumeclaims

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PersistentVolumeClaimList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind PersistentVolumeClaim

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/persistentvolumeclaims/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolumeClaim
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PersistentVolumeClaim

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/persistentvolumeclaims

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PersistentVolumeClaim

+

HTTP Request

+

GET /api/v1/watch/persistentvolumeclaims

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified PersistentVolumeClaim

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolumeClaim
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PersistentVolumeClaim
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified PersistentVolumeClaim

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolumeClaim
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PersistentVolumeClaim
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified PersistentVolumeClaim

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolumeClaim
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PersistentVolumeClaim
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PersistentVolumeClaim
OK
201
PersistentVolumeClaim
Created
+
+

StorageClass v1 storage.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
storage.k8s.iov1StorageClass
+ + + +

StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.

+

StorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
allowVolumeExpansion
boolean
AllowVolumeExpansion shows whether the storage class allow volume expand
allowedTopologies
TopologySelectorTerm array
Restrict the node topologies where volumes can be dynamically provisioned. Each volume plugin defines its own supported topology specifications. An empty TopologySelectorTerm list means there is no topology restriction. This field is alpha-level and is only honored by servers that enable the DynamicProvisioningScheduling feature.
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
mountOptions
string array
Dynamically provisioned PersistentVolumes of this storage class are created with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.
parameters
object
Parameters holds the parameters for the provisioner that should create volumes of this storage class.
provisioner
string
Provisioner indicates the type of the provisioner.
reclaimPolicy
string
Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.
volumeBindingMode
string
VolumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is alpha-level and is only honored by servers that enable the VolumeScheduling feature.
+

StorageClassList v1 storage

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
StorageClass array
Items is the list of StorageClasses
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a StorageClass

+

HTTP Request

+

POST /apis/storage.k8s.io/v1/storageclasses

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StorageClass
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
StorageClass
OK
201
StorageClass
Created
202
StorageClass
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified StorageClass

+

HTTP Request

+

PATCH /apis/storage.k8s.io/v1/storageclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the StorageClass
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StorageClass
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified StorageClass

+

HTTP Request

+

PUT /apis/storage.k8s.io/v1/storageclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the StorageClass
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StorageClass
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
StorageClass
OK
201
StorageClass
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a StorageClass

+

HTTP Request

+

DELETE /apis/storage.k8s.io/v1/storageclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the StorageClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of StorageClass

+

HTTP Request

+

DELETE /apis/storage.k8s.io/v1/storageclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified StorageClass

+

HTTP Request

+

GET /apis/storage.k8s.io/v1/storageclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the StorageClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StorageClass
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind StorageClass

+

HTTP Request

+

GET /apis/storage.k8s.io/v1/storageclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StorageClassList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind StorageClass

+

HTTP Request

+

GET /apis/storage.k8s.io/v1/watch/storageclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the StorageClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of StorageClass

+

HTTP Request

+

GET /apis/storage.k8s.io/v1/watch/storageclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

Volume v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Volume
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
awsElasticBlockStore
AWSElasticBlockStoreVolumeSource
AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
azureDisk
AzureDiskVolumeSource
AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
azureFile
AzureFileVolumeSource
AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
cephfs
CephFSVolumeSource
CephFS represents a Ceph FS mount on the host that shares a pod's lifetime
cinder
CinderVolumeSource
Cinder represents a cinder volume attached and mounted on kubelets host machine More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md
configMap
ConfigMapVolumeSource
ConfigMap represents a configMap that should populate this volume
downwardAPI
DownwardAPIVolumeSource
DownwardAPI represents downward API about the pod that should populate this volume
emptyDir
EmptyDirVolumeSource
EmptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
fc
FCVolumeSource
FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.
flexVolume
FlexVolumeSource
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.
flocker
FlockerVolumeSource
Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running
gcePersistentDisk
GCEPersistentDiskVolumeSource
GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
gitRepo
GitRepoVolumeSource
GitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.
glusterfs
GlusterfsVolumeSource
Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md
hostPath
HostPathVolumeSource
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: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
iscsi
ISCSIVolumeSource
ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md
name
string
Volume's name. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
nfs
NFSVolumeSource
NFS represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
persistentVolumeClaim
PersistentVolumeClaimVolumeSource
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
photonPersistentDisk
PhotonPersistentDiskVolumeSource
PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
portworxVolume
PortworxVolumeSource
PortworxVolume represents a portworx volume attached and mounted on kubelets host machine
projected
ProjectedVolumeSource
Items for all in one resources secrets, configmaps, and downward API
quobyte
QuobyteVolumeSource
Quobyte represents a Quobyte mount on the host that shares a pod's lifetime
rbd
RBDVolumeSource
RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md
scaleIO
ScaleIOVolumeSource
ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
secret
SecretVolumeSource
Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
storageos
StorageOSVolumeSource
StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
vsphereVolume
VsphereVirtualDiskVolumeSource
VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine
+
+

VolumeAttachment v1beta1 storage.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
storage.k8s.iov1beta1VolumeAttachment
+ + + +

VolumeAttachment captures the intent to attach or detach the specified volume to/from the specified node.

+

VolumeAttachment objects are non-namespaced.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
VolumeAttachmentSpec
Specification of the desired attach/detach volume behavior. Populated by the Kubernetes system.
status
VolumeAttachmentStatus
Status of the VolumeAttachment request. Populated by the entity completing the attach or detach operation, i.e. the external-attacher.
+

VolumeAttachmentSpec v1beta1 storage

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
attacher
string
Attacher indicates the name of the volume driver that MUST handle this request. This is the name returned by GetPluginName().
nodeName
string
The node that the volume should be attached to.
source
VolumeAttachmentSource
Source represents the volume that should be attached.
+

VolumeAttachmentStatus v1beta1 storage

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
attachError
VolumeError
The last error encountered during attach operation, if any. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.
attached
boolean
Indicates the volume is successfully attached. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.
attachmentMetadata
object
Upon successful attach, this field is populated with any information returned by the attach operation that must be passed into subsequent WaitForAttach or Mount calls. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.
detachError
VolumeError
The last error encountered during detach operation, if any. This field must only be set by the entity completing the detach operation, i.e. the external-attacher.
+

VolumeAttachmentList v1beta1 storage

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
VolumeAttachment array
Items is the list of VolumeAttachments
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a VolumeAttachment

+

HTTP Request

+

POST /apis/storage.k8s.io/v1beta1/volumeattachments

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
VolumeAttachment
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
VolumeAttachment
OK
201
VolumeAttachment
Created
202
VolumeAttachment
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified VolumeAttachment

+

HTTP Request

+

PATCH /apis/storage.k8s.io/v1beta1/volumeattachments/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the VolumeAttachment
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
VolumeAttachment
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified VolumeAttachment

+

HTTP Request

+

PUT /apis/storage.k8s.io/v1beta1/volumeattachments/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the VolumeAttachment
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
VolumeAttachment
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
VolumeAttachment
OK
201
VolumeAttachment
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a VolumeAttachment

+

HTTP Request

+

DELETE /apis/storage.k8s.io/v1beta1/volumeattachments/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the VolumeAttachment
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of VolumeAttachment

+

HTTP Request

+

DELETE /apis/storage.k8s.io/v1beta1/volumeattachments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified VolumeAttachment

+

HTTP Request

+

GET /apis/storage.k8s.io/v1beta1/volumeattachments/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the VolumeAttachment
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
VolumeAttachment
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind VolumeAttachment

+

HTTP Request

+

GET /apis/storage.k8s.io/v1beta1/volumeattachments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
VolumeAttachmentList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind VolumeAttachment

+

HTTP Request

+

GET /apis/storage.k8s.io/v1beta1/watch/volumeattachments/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the VolumeAttachment
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of VolumeAttachment

+

HTTP Request

+

GET /apis/storage.k8s.io/v1beta1/watch/volumeattachments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

METADATA

+

Metadata resources are responsible for configuring behavior of your other Resources within the Cluster.

+

Common resource types:

+
    +
  • HorizontalPodAutoscaler (HPA) for automatically scaling the replicacount of your workloads in response to load
  • +
  • PodDisruptionBudget for configuring how many replicas in a given workload maybe made concurrently unavailable when performing maintenance.
  • +
  • ThirdPartyResource for extending the Kubernetes APIs with your own types
  • +
  • Event for notification of resource lifecycle events in the cluster.
  • +
+
+
+

ControllerRevision v1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1ControllerRevision
+ + + +

ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
dataData is the serialized representation of the state.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
revision
integer
Revision indicates the revision of the state represented by Data.
+

ControllerRevisionList v1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ControllerRevision array
Items is the list of ControllerRevisions
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ControllerRevision

+

HTTP Request

+

POST /apis/apps/v1/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ControllerRevision
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ControllerRevision
OK
201
ControllerRevision
Created
202
ControllerRevision
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ControllerRevision

+

HTTP Request

+

PATCH /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevision
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ControllerRevision

+

HTTP Request

+

PUT /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ControllerRevision
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
ControllerRevision
Created
200
ControllerRevision
OK
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ControllerRevision

+

HTTP Request

+

DELETE /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ControllerRevision

+

HTTP Request

+

DELETE /apis/apps/v1/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevision
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevisionList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1/controllerrevisions

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevisionList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1/watch/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1/watch/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1/watch/controllerrevisions

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

CustomResourceDefinition v1beta1 apiextensions.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1CustomResourceDefinition
+

CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format <.spec.name>.<.spec.group>.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
CustomResourceDefinitionSpec
Spec describes how the user wants the resources to appear
status
CustomResourceDefinitionStatus
Status indicates the actual state of the CustomResourceDefinition
+

CustomResourceDefinitionSpec v1beta1 apiextensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
additionalPrinterColumns
CustomResourceColumnDefinition array
AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column.
group
string
Group is the group this resource belongs in
names
CustomResourceDefinitionNames
Names are the names used to describe this custom resource
scope
string
Scope indicates whether this resource is cluster or namespace scoped. Default is namespaced
subresources
CustomResourceSubresources
Subresources describes the subresources for CustomResources
validation
CustomResourceValidation
Validation describes the validation methods for CustomResources
version
string
Version is the version this resource belongs in Should be always first item in Versions field if provided. Optional, but at least one of Version or Versions must be set. Deprecated: Please use Versions.
versions
CustomResourceDefinitionVersion array
Versions is the list of all supported versions for this resource. If Version field is provided, this field is optional. Validation: All versions must use the same validation schema for now. i.e., top level Validation field is applied to all of these versions. Order: The version name will be used to compute the order. If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
+

CustomResourceDefinitionStatus v1beta1 apiextensions

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
acceptedNames
CustomResourceDefinitionNames
AcceptedNames are the names that are actually being used to serve discovery They may be different than the names in spec.
conditions
CustomResourceDefinitionCondition array
Conditions indicate state for particular aspects of a CustomResourceDefinition
storedVersions
string array
StoredVersions are all versions of CustomResources that were ever persisted. Tracking these versions allows a migration path for stored versions in etcd. The field is mutable so the migration controller can first finish a migration to another version (i.e. that no old objects are left in the storage), and then remove the rest of the versions from this list. None of the versions in this list can be removed from the spec.Versions field.
+

CustomResourceDefinitionList v1beta1 apiextensions

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
CustomResourceDefinition array
Items individual CustomResourceDefinitions
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a CustomResourceDefinition

+

HTTP Request

+

POST /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CustomResourceDefinition
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
CustomResourceDefinition
Created
202
CustomResourceDefinition
Accepted
200
CustomResourceDefinition
OK
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified CustomResourceDefinition

+

HTTP Request

+

PATCH /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CustomResourceDefinition
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CustomResourceDefinition
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified CustomResourceDefinition

+

HTTP Request

+

PUT /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CustomResourceDefinition
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CustomResourceDefinition
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
CustomResourceDefinition
Created
200
CustomResourceDefinition
OK
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a CustomResourceDefinition

+

HTTP Request

+

DELETE /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CustomResourceDefinition
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of CustomResourceDefinition

+

HTTP Request

+

DELETE /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified CustomResourceDefinition

+

HTTP Request

+

GET /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CustomResourceDefinition
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CustomResourceDefinition
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind CustomResourceDefinition

+

HTTP Request

+

GET /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CustomResourceDefinitionList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind CustomResourceDefinition

+

HTTP Request

+

GET /apis/apiextensions.k8s.io/v1beta1/watch/customresourcedefinitions/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CustomResourceDefinition
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of CustomResourceDefinition

+

HTTP Request

+

GET /apis/apiextensions.k8s.io/v1beta1/watch/customresourcedefinitions

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified CustomResourceDefinition

+

HTTP Request

+

PATCH /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CustomResourceDefinition
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CustomResourceDefinition
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified CustomResourceDefinition

+

HTTP Request

+

GET /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CustomResourceDefinition
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CustomResourceDefinition
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified CustomResourceDefinition

+

HTTP Request

+

PUT /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CustomResourceDefinition
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CustomResourceDefinition
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
CustomResourceDefinition
OK
201
CustomResourceDefinition
Created
+
+

Event v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Event
+ + + +

Event is a report of an event somewhere in the cluster.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
action
string
What action was taken/failed regarding to the Regarding object.
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
count
integer
The number of times this event has occurred.
eventTime
MicroTime
Time when this Event was first observed.
firstTimestamp
Time
The time at which the event was first recorded. (Time of server receipt is in TypeMeta.)
involvedObject
ObjectReference
The object that this event is about.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
lastTimestamp
Time
The time at which the most recent occurrence of this event was recorded.
message
string
A human-readable description of the status of this operation.
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
reason
string
This should be a short, machine understandable string that gives the reason for the transition into the object's current status.
related
ObjectReference
Optional secondary object for more complex actions.
reportingComponent
string
Name of the controller that emitted this Event, e.g. kubernetes.io/kubelet.
reportingInstance
string
ID of the controller instance, e.g. kubelet-xyzf.
series
EventSeries
Data about the Event series this event represents or nil if it's a singleton Event.
source
EventSource
The component reporting this event. Should be a short machine understandable string.
type
string
Type of this event (Normal, Warning), new types could be added in the future
+

EventList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Event array
List of events
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create an Event

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/events

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Event
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
Event
Accepted
200
Event
OK
201
Event
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Event

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/events/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Event
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Event
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Event

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/events/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Event
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Event
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
Event
Created
200
Event
OK
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete an Event

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/events/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Event
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Event

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/events

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified Event

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/events/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Event
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Event
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Event

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/events

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
EventList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Event

+

HTTP Request

+

GET /api/v1/events

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
EventList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind Event

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/events/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Event
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Event

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/events

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Event

+

HTTP Request

+

GET /api/v1/watch/events

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

LimitRange v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1LimitRange
+

LimitRange sets resource usage limits for each kind of resource in a Namespace.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
LimitRangeSpec
Spec defines the limits enforced. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

LimitRangeSpec v1 core

+ + + + + + + + + + + + + + + +
FieldDescription
limits
LimitRangeItem array
Limits is the list of LimitRangeItem objects that are enforced.
+

LimitRangeList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
LimitRange array
Items is a list of LimitRange objects. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a LimitRange

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/limitranges

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
LimitRange
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
LimitRange
OK
201
LimitRange
Created
202
LimitRange
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified LimitRange

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/limitranges/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the LimitRange
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
LimitRange
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified LimitRange

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/limitranges/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the LimitRange
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
LimitRange
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
LimitRange
OK
201
LimitRange
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a LimitRange

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/limitranges/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the LimitRange
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of LimitRange

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/limitranges

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified LimitRange

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/limitranges/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the LimitRange
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
LimitRange
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind LimitRange

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/limitranges

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
LimitRangeList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind LimitRange

+

HTTP Request

+

GET /api/v1/limitranges

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
LimitRangeList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind LimitRange

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/limitranges/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the LimitRange
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of LimitRange

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/limitranges

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of LimitRange

+

HTTP Request

+

GET /api/v1/watch/limitranges

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

HorizontalPodAutoscaler v1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv1HorizontalPodAutoscaler
+ + + +

configuration of a horizontal pod autoscaler.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
HorizontalPodAutoscalerSpec
behaviour of autoscaler. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
status
HorizontalPodAutoscalerStatus
current information about the autoscaler.
+

HorizontalPodAutoscalerSpec v1 autoscaling

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
maxReplicas
integer
upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.
minReplicas
integer
lower limit for the number of pods that can be set by the autoscaler, default 1.
scaleTargetRef
CrossVersionObjectReference
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.
targetCPUUtilizationPercentage
integer
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.
+

HorizontalPodAutoscalerStatus v1 autoscaling

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
currentCPUUtilizationPercentage
integer
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.
currentReplicas
integer
current number of replicas of pods managed by this autoscaler.
desiredReplicas
integer
desired number of replicas of pods managed by this autoscaler.
lastScaleTime
Time
last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed.
observedGeneration
integer
most recent generation observed by this autoscaler.
+

HorizontalPodAutoscalerList v1 autoscaling

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
HorizontalPodAutoscaler array
list of horizontal pod autoscaler objects.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a HorizontalPodAutoscaler

+

HTTP Request

+

POST /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
HorizontalPodAutoscaler
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
HorizontalPodAutoscaler
Created
202
HorizontalPodAutoscaler
Accepted
200
HorizontalPodAutoscaler
OK
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified HorizontalPodAutoscaler

+

HTTP Request

+

PATCH /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscaler
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified HorizontalPodAutoscaler

+

HTTP Request

+

PUT /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
HorizontalPodAutoscaler
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscaler
OK
201
HorizontalPodAutoscaler
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a HorizontalPodAutoscaler

+

HTTP Request

+

DELETE /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of HorizontalPodAutoscaler

+

HTTP Request

+

DELETE /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscaler
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscalerList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v1/horizontalpodautoscalers

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscalerList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v1/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v1/watch/namespaces/{namespace}/horizontalpodautoscalers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v1/watch/horizontalpodautoscalers

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified HorizontalPodAutoscaler

+

HTTP Request

+

PATCH /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscaler
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscaler
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified HorizontalPodAutoscaler

+

HTTP Request

+

PUT /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
HorizontalPodAutoscaler
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscaler
OK
201
HorizontalPodAutoscaler
Created
+
+

InitializerConfiguration v1alpha1 admissionregistration.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
admissionregistration.k8s.iov1alpha1InitializerConfiguration
+

InitializerConfiguration describes the configuration of initializers.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
initializers
Initializer array
patch type: merge
patch merge key: name
Initializers is a list of resources and their default initializers Order-sensitive. When merging multiple InitializerConfigurations, we sort the initializers from different InitializerConfigurations by the name of the InitializerConfigurations; the order of the initializers from the same InitializerConfiguration is preserved.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
+

InitializerConfigurationList v1alpha1 admissionregistration

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
InitializerConfiguration array
List of InitializerConfiguration.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create an InitializerConfiguration

+

HTTP Request

+

POST /apis/admissionregistration.k8s.io/v1alpha1/initializerconfigurations

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
InitializerConfiguration
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
InitializerConfiguration
OK
201
InitializerConfiguration
Created
202
InitializerConfiguration
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified InitializerConfiguration

+

HTTP Request

+

PATCH /apis/admissionregistration.k8s.io/v1alpha1/initializerconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the InitializerConfiguration
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
InitializerConfiguration
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified InitializerConfiguration

+

HTTP Request

+

PUT /apis/admissionregistration.k8s.io/v1alpha1/initializerconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the InitializerConfiguration
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
InitializerConfiguration
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
InitializerConfiguration
Created
200
InitializerConfiguration
OK
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete an InitializerConfiguration

+

HTTP Request

+

DELETE /apis/admissionregistration.k8s.io/v1alpha1/initializerconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the InitializerConfiguration
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of InitializerConfiguration

+

HTTP Request

+

DELETE /apis/admissionregistration.k8s.io/v1alpha1/initializerconfigurations

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified InitializerConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1alpha1/initializerconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the InitializerConfiguration
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
InitializerConfiguration
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind InitializerConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1alpha1/initializerconfigurations

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
InitializerConfigurationList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind InitializerConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1alpha1/watch/initializerconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the InitializerConfiguration
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of InitializerConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1alpha1/watch/initializerconfigurations

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

MutatingWebhookConfiguration v1beta1 admissionregistration.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
admissionregistration.k8s.iov1beta1MutatingWebhookConfiguration
+

MutatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and may change the object.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
webhooks
Webhook array
patch type: merge
patch merge key: name
Webhooks is a list of webhooks and the affected resources and operations.
+

MutatingWebhookConfigurationList v1beta1 admissionregistration

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
MutatingWebhookConfiguration array
List of MutatingWebhookConfiguration.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a MutatingWebhookConfiguration

+

HTTP Request

+

POST /apis/admissionregistration.k8s.io/v1beta1/mutatingwebhookconfigurations

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
MutatingWebhookConfiguration
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
MutatingWebhookConfiguration
OK
201
MutatingWebhookConfiguration
Created
202
MutatingWebhookConfiguration
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified MutatingWebhookConfiguration

+

HTTP Request

+

PATCH /apis/admissionregistration.k8s.io/v1beta1/mutatingwebhookconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the MutatingWebhookConfiguration
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
MutatingWebhookConfiguration
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified MutatingWebhookConfiguration

+

HTTP Request

+

PUT /apis/admissionregistration.k8s.io/v1beta1/mutatingwebhookconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the MutatingWebhookConfiguration
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
MutatingWebhookConfiguration
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
MutatingWebhookConfiguration
OK
201
MutatingWebhookConfiguration
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a MutatingWebhookConfiguration

+

HTTP Request

+

DELETE /apis/admissionregistration.k8s.io/v1beta1/mutatingwebhookconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the MutatingWebhookConfiguration
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of MutatingWebhookConfiguration

+

HTTP Request

+

DELETE /apis/admissionregistration.k8s.io/v1beta1/mutatingwebhookconfigurations

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified MutatingWebhookConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1beta1/mutatingwebhookconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the MutatingWebhookConfiguration
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
MutatingWebhookConfiguration
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind MutatingWebhookConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1beta1/mutatingwebhookconfigurations

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
MutatingWebhookConfigurationList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind MutatingWebhookConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1beta1/watch/mutatingwebhookconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the MutatingWebhookConfiguration
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of MutatingWebhookConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1beta1/watch/mutatingwebhookconfigurations

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

ValidatingWebhookConfiguration v1beta1 admissionregistration.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
admissionregistration.k8s.iov1beta1ValidatingWebhookConfiguration
+

ValidatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and object without changing it.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
webhooks
Webhook array
patch type: merge
patch merge key: name
Webhooks is a list of webhooks and the affected resources and operations.
+

ValidatingWebhookConfigurationList v1beta1 admissionregistration

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ValidatingWebhookConfiguration array
List of ValidatingWebhookConfiguration.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ValidatingWebhookConfiguration

+

HTTP Request

+

POST /apis/admissionregistration.k8s.io/v1beta1/validatingwebhookconfigurations

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ValidatingWebhookConfiguration
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ValidatingWebhookConfiguration
OK
201
ValidatingWebhookConfiguration
Created
202
ValidatingWebhookConfiguration
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ValidatingWebhookConfiguration

+

HTTP Request

+

PATCH /apis/admissionregistration.k8s.io/v1beta1/validatingwebhookconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ValidatingWebhookConfiguration
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ValidatingWebhookConfiguration
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ValidatingWebhookConfiguration

+

HTTP Request

+

PUT /apis/admissionregistration.k8s.io/v1beta1/validatingwebhookconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ValidatingWebhookConfiguration
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ValidatingWebhookConfiguration
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ValidatingWebhookConfiguration
OK
201
ValidatingWebhookConfiguration
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ValidatingWebhookConfiguration

+

HTTP Request

+

DELETE /apis/admissionregistration.k8s.io/v1beta1/validatingwebhookconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ValidatingWebhookConfiguration
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ValidatingWebhookConfiguration

+

HTTP Request

+

DELETE /apis/admissionregistration.k8s.io/v1beta1/validatingwebhookconfigurations

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ValidatingWebhookConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1beta1/validatingwebhookconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ValidatingWebhookConfiguration
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ValidatingWebhookConfiguration
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ValidatingWebhookConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1beta1/validatingwebhookconfigurations

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ValidatingWebhookConfigurationList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ValidatingWebhookConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1beta1/watch/validatingwebhookconfigurations/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ValidatingWebhookConfiguration
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ValidatingWebhookConfiguration

+

HTTP Request

+

GET /apis/admissionregistration.k8s.io/v1beta1/watch/validatingwebhookconfigurations

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

PodTemplate v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PodTemplate
+

PodTemplate describes a template for creating copies of a predefined pod.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
template
PodTemplateSpec
Template defines the pods that will be created from this pod template. https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

PodTemplateSpec v1 core

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
PodSpec
Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

PodTemplateList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
PodTemplate array
List of pod templates
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a PodTemplate

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/podtemplates

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PodTemplate
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
PodTemplate
OK
201
PodTemplate
Created
202
PodTemplate
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified PodTemplate

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/podtemplates/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodTemplate
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodTemplate
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified PodTemplate

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/podtemplates/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodTemplate
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PodTemplate
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PodTemplate
OK
201
PodTemplate
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a PodTemplate

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/podtemplates/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodTemplate
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of PodTemplate

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/podtemplates

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified PodTemplate

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/podtemplates/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodTemplate
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodTemplate
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PodTemplate

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/podtemplates

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodTemplateList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PodTemplate

+

HTTP Request

+

GET /api/v1/podtemplates

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodTemplateList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind PodTemplate

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/podtemplates/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodTemplate
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PodTemplate

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/podtemplates

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PodTemplate

+

HTTP Request

+

GET /api/v1/watch/podtemplates

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

PodDisruptionBudget v1beta1 policy

+ + + + + + + + + + + + + + + +
GroupVersionKind
policyv1beta1PodDisruptionBudget
+

PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
PodDisruptionBudgetSpec
Specification of the desired behavior of the PodDisruptionBudget.
status
PodDisruptionBudgetStatus
Most recently observed status of the PodDisruptionBudget.
+

PodDisruptionBudgetSpec v1beta1 policy

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
maxUnavailableAn eviction is allowed if at most "maxUnavailable" pods selected by "selector" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with "minAvailable".
minAvailableAn eviction is allowed if at least "minAvailable" pods selected by "selector" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying "100%".
selector
LabelSelector
Label query over pods whose evictions are managed by the disruption budget.
+

PodDisruptionBudgetStatus v1beta1 policy

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
currentHealthy
integer
current number of healthy pods
desiredHealthy
integer
minimum desired number of healthy pods
disruptedPods
object
DisruptedPods contains information about pods whose eviction was processed by the API server eviction subresource handler but has not yet been observed by the PodDisruptionBudget controller. A pod will be in this map from the time when the API server processed the eviction request to the time when the pod is seen by PDB controller as having been marked for deletion (or after a timeout). The key in the map is the name of the pod and the value is the time when the API server processed the eviction request. If the deletion didn't occur and a pod is still there it will be removed from the list automatically by PodDisruptionBudget controller after some time. If everything goes smooth this map should be empty for the most of the time. Large number of entries in the map may indicate problems with pod deletions.
disruptionsAllowed
integer
Number of pod disruptions that are currently allowed.
expectedPods
integer
total number of pods counted by this disruption budget
observedGeneration
integer
Most recent generation observed when updating this PDB status. PodDisruptionsAllowed and other status informatio is valid only if observedGeneration equals to PDB's object generation.
+

PodDisruptionBudgetList v1beta1 policy

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
PodDisruptionBudget array
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a PodDisruptionBudget

+

HTTP Request

+

POST /apis/policy/v1beta1/namespaces/{namespace}/poddisruptionbudgets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PodDisruptionBudget
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
PodDisruptionBudget
OK
201
PodDisruptionBudget
Created
202
PodDisruptionBudget
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified PodDisruptionBudget

+

HTTP Request

+

PATCH /apis/policy/v1beta1/namespaces/{namespace}/poddisruptionbudgets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodDisruptionBudget
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodDisruptionBudget
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified PodDisruptionBudget

+

HTTP Request

+

PUT /apis/policy/v1beta1/namespaces/{namespace}/poddisruptionbudgets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodDisruptionBudget
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PodDisruptionBudget
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PodDisruptionBudget
OK
201
PodDisruptionBudget
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a PodDisruptionBudget

+

HTTP Request

+

DELETE /apis/policy/v1beta1/namespaces/{namespace}/poddisruptionbudgets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodDisruptionBudget
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of PodDisruptionBudget

+

HTTP Request

+

DELETE /apis/policy/v1beta1/namespaces/{namespace}/poddisruptionbudgets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified PodDisruptionBudget

+

HTTP Request

+

GET /apis/policy/v1beta1/namespaces/{namespace}/poddisruptionbudgets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodDisruptionBudget
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodDisruptionBudget
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PodDisruptionBudget

+

HTTP Request

+

GET /apis/policy/v1beta1/namespaces/{namespace}/poddisruptionbudgets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodDisruptionBudgetList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PodDisruptionBudget

+

HTTP Request

+

GET /apis/policy/v1beta1/poddisruptionbudgets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodDisruptionBudgetList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind PodDisruptionBudget

+

HTTP Request

+

GET /apis/policy/v1beta1/watch/namespaces/{namespace}/poddisruptionbudgets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodDisruptionBudget
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PodDisruptionBudget

+

HTTP Request

+

GET /apis/policy/v1beta1/watch/namespaces/{namespace}/poddisruptionbudgets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PodDisruptionBudget

+

HTTP Request

+

GET /apis/policy/v1beta1/watch/poddisruptionbudgets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified PodDisruptionBudget

+

HTTP Request

+

PATCH /apis/policy/v1beta1/namespaces/{namespace}/poddisruptionbudgets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodDisruptionBudget
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodDisruptionBudget
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified PodDisruptionBudget

+

HTTP Request

+

GET /apis/policy/v1beta1/namespaces/{namespace}/poddisruptionbudgets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodDisruptionBudget
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodDisruptionBudget
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified PodDisruptionBudget

+

HTTP Request

+

PUT /apis/policy/v1beta1/namespaces/{namespace}/poddisruptionbudgets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodDisruptionBudget
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PodDisruptionBudget
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PodDisruptionBudget
OK
201
PodDisruptionBudget
Created
+
+

PriorityClass v1beta1 scheduling.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
scheduling.k8s.iov1beta1PriorityClass
+ + + + + + +

PriorityClass defines mapping from a priority class name to the priority integer value. The value can be any valid integer.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
description
string
description is an arbitrary string that usually provides guidelines on when this priority class should be used.
globalDefault
boolean
globalDefault specifies whether this PriorityClass should be considered as the default priority for pods that do not have any priority class. Only one PriorityClass can be marked as globalDefault. However, if more than one PriorityClasses exists with their globalDefault field set to true, the smallest value of such global default PriorityClasses will be used as the default priority.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
value
integer
The value of this priority class. This is the actual priority that pods receive when they have the name of this class in their pod spec.
+

PriorityClassList v1beta1 scheduling

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
PriorityClass array
items is the list of PriorityClasses
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a PriorityClass

+

HTTP Request

+

POST /apis/scheduling.k8s.io/v1beta1/priorityclasses

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PriorityClass
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
PriorityClass
Created
202
PriorityClass
Accepted
200
PriorityClass
OK
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified PriorityClass

+

HTTP Request

+

PATCH /apis/scheduling.k8s.io/v1beta1/priorityclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PriorityClass
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PriorityClass
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified PriorityClass

+

HTTP Request

+

PUT /apis/scheduling.k8s.io/v1beta1/priorityclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PriorityClass
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PriorityClass
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PriorityClass
OK
201
PriorityClass
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a PriorityClass

+

HTTP Request

+

DELETE /apis/scheduling.k8s.io/v1beta1/priorityclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PriorityClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of PriorityClass

+

HTTP Request

+

DELETE /apis/scheduling.k8s.io/v1beta1/priorityclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified PriorityClass

+

HTTP Request

+

GET /apis/scheduling.k8s.io/v1beta1/priorityclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PriorityClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PriorityClass
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PriorityClass

+

HTTP Request

+

GET /apis/scheduling.k8s.io/v1beta1/priorityclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PriorityClassList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind PriorityClass

+

HTTP Request

+

GET /apis/scheduling.k8s.io/v1beta1/watch/priorityclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PriorityClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PriorityClass

+

HTTP Request

+

GET /apis/scheduling.k8s.io/v1beta1/watch/priorityclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

PodPreset v1alpha1 settings.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
settings.k8s.iov1alpha1PodPreset
+ + + + + + +

PodPreset is a policy resource that defines additional runtime requirements for a Pod.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
PodPresetSpec
+

PodPresetSpec v1alpha1 settings

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
env
EnvVar array
Env defines the collection of EnvVar to inject into containers.
envFrom
EnvFromSource array
EnvFrom defines the collection of EnvFromSource to inject into containers.
selector
LabelSelector
Selector is a label query over a set of resources, in this case pods. Required.
volumeMounts
VolumeMount array
VolumeMounts defines the collection of VolumeMount to inject into containers.
volumes
Volume array
Volumes defines the collection of Volume to inject into the pod.
+

PodPresetList v1alpha1 settings

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
PodPreset array
Items is a list of schema objects.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a PodPreset

+

HTTP Request

+

POST /apis/settings.k8s.io/v1alpha1/namespaces/{namespace}/podpresets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PodPreset
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
PodPreset
OK
201
PodPreset
Created
202
PodPreset
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified PodPreset

+

HTTP Request

+

PATCH /apis/settings.k8s.io/v1alpha1/namespaces/{namespace}/podpresets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodPreset
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodPreset
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified PodPreset

+

HTTP Request

+

PUT /apis/settings.k8s.io/v1alpha1/namespaces/{namespace}/podpresets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodPreset
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PodPreset
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PodPreset
OK
201
PodPreset
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a PodPreset

+

HTTP Request

+

DELETE /apis/settings.k8s.io/v1alpha1/namespaces/{namespace}/podpresets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodPreset
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of PodPreset

+

HTTP Request

+

DELETE /apis/settings.k8s.io/v1alpha1/namespaces/{namespace}/podpresets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified PodPreset

+

HTTP Request

+

GET /apis/settings.k8s.io/v1alpha1/namespaces/{namespace}/podpresets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodPreset
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodPreset
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PodPreset

+

HTTP Request

+

GET /apis/settings.k8s.io/v1alpha1/namespaces/{namespace}/podpresets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodPresetList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PodPreset

+

HTTP Request

+

GET /apis/settings.k8s.io/v1alpha1/podpresets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodPresetList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind PodPreset

+

HTTP Request

+

GET /apis/settings.k8s.io/v1alpha1/watch/namespaces/{namespace}/podpresets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the PodPreset
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PodPreset

+

HTTP Request

+

GET /apis/settings.k8s.io/v1alpha1/watch/namespaces/{namespace}/podpresets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PodPreset

+

HTTP Request

+

GET /apis/settings.k8s.io/v1alpha1/watch/podpresets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

PodSecurityPolicy v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1PodSecurityPolicy
+

PodSecurityPolicy governs the ability to make requests that affect the Security Context that will be applied to a pod and container. Deprecated: use PodSecurityPolicy from policy API Group instead.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
PodSecurityPolicySpec
spec defines the policy enforced.
+

PodSecurityPolicySpec v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
allowPrivilegeEscalation
boolean
allowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.
allowedCapabilities
string array
allowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field may be added at the pod author's discretion. You must not list a capability in both allowedCapabilities and requiredDropCapabilities.
allowedFlexVolumes
AllowedFlexVolume array
allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the "volumes" field.
allowedHostPaths
AllowedHostPath array
allowedHostPaths is a white list of allowed host paths. Empty indicates that all host paths may be used.
allowedUnsafeSysctls
string array
allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. Each entry is either a plain sysctl name or ends in "" in which case it is considered as a prefix of allowed sysctls. Single means all unsafe sysctls are allowed. Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection. Examples: e.g. "foo/" allows "foo/bar", "foo/baz", etc. e.g. "foo." allows "foo.bar", "foo.baz", etc.
defaultAddCapabilities
string array
defaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capability in both defaultAddCapabilities and requiredDropCapabilities. Capabilities added here are implicitly allowed, and need not be included in the allowedCapabilities list.
defaultAllowPrivilegeEscalation
boolean
defaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.
forbiddenSysctls
string array
forbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. Each entry is either a plain sysctl name or ends in "" in which case it is considered as a prefix of forbidden sysctls. Single means all sysctls are forbidden. Examples: e.g. "foo/" forbids "foo/bar", "foo/baz", etc. e.g. "foo." forbids "foo.bar", "foo.baz", etc.
fsGroup
FSGroupStrategyOptions
fsGroup is the strategy that will dictate what fs group is used by the SecurityContext.
hostIPC
boolean
hostIPC determines if the policy allows the use of HostIPC in the pod spec.
hostNetwork
boolean
hostNetwork determines if the policy allows the use of HostNetwork in the pod spec.
hostPID
boolean
hostPID determines if the policy allows the use of HostPID in the pod spec.
hostPorts
HostPortRange array
hostPorts determines which host port ranges are allowed to be exposed.
privileged
boolean
privileged determines if a pod can request to be run as privileged.
readOnlyRootFilesystem
boolean
readOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the PSP should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.
requiredDropCapabilities
string array
requiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.
runAsUser
RunAsUserStrategyOptions
runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.
seLinux
SELinuxStrategyOptions
seLinux is the strategy that will dictate the allowable labels that may be set.
supplementalGroups
SupplementalGroupsStrategyOptions
supplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.
volumes
string array
volumes is a white list of allowed volume plugins. Empty indicates that no volumes may be used. To allow all volumes you may use '*'.
+

PodSecurityPolicyList v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
PodSecurityPolicy array
items is a list of schema objects.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a PodSecurityPolicy

+

HTTP Request

+

POST /apis/extensions/v1beta1/podsecuritypolicies

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PodSecurityPolicy
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
PodSecurityPolicy
OK
201
PodSecurityPolicy
Created
202
PodSecurityPolicy
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified PodSecurityPolicy

+

HTTP Request

+

PATCH /apis/extensions/v1beta1/podsecuritypolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PodSecurityPolicy
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodSecurityPolicy
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified PodSecurityPolicy

+

HTTP Request

+

PUT /apis/extensions/v1beta1/podsecuritypolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PodSecurityPolicy
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PodSecurityPolicy
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PodSecurityPolicy
OK
201
PodSecurityPolicy
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a PodSecurityPolicy

+

HTTP Request

+

DELETE /apis/extensions/v1beta1/podsecuritypolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PodSecurityPolicy
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of PodSecurityPolicy

+

HTTP Request

+

DELETE /apis/extensions/v1beta1/podsecuritypolicies

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified PodSecurityPolicy

+

HTTP Request

+

GET /apis/extensions/v1beta1/podsecuritypolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PodSecurityPolicy
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodSecurityPolicy
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PodSecurityPolicy

+

HTTP Request

+

GET /apis/extensions/v1beta1/podsecuritypolicies

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodSecurityPolicyList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind PodSecurityPolicy

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/podsecuritypolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PodSecurityPolicy
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PodSecurityPolicy

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/podsecuritypolicies

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

CLUSTER

+

Cluster resources are responsible for defining configuration of the cluster itself, and are generally only used by cluster operators.

+
+
+

APIService v1 apiregistration.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiregistration.k8s.iov1APIService
+ + + +

APIService represents a server for a particular GroupVersion. Name must be "version.group".

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
APIServiceSpec
Spec contains information for locating and communicating with a server
status
APIServiceStatus
Status contains derived information about an API server
+

APIServiceSpec v1 apiregistration

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
caBundle
string
CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
group
string
Group is the API group name this server hosts
groupPriorityMinimum
integer
GroupPriorityMininum is the priority this group should have at least. Higher priority means that the group is preferred by clients over lower priority ones. Note that other versions of this group might specify even higher GroupPriorityMininum values such that the whole group gets a higher priority. The primary sort is based on GroupPriorityMinimum, ordered highest number to lowest (20 before 10). The secondary sort is based on the alphabetical comparison of the name of the object. (v1.bar before v1.foo) We'd recommend something like: *.k8s.io (except extensions) at 18000 and PaaSes (OpenShift, Deis) are recommended to be in the 2000s
insecureSkipTLSVerify
boolean
InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server. This is strongly discouraged. You should use the CABundle instead.
service
ServiceReference
Service is a reference to the service for this API server. It must communicate on port 443 If the Service is nil, that means the handling for the API groupversion is handled locally on this server. The call will simply delegate to the normal handler chain to be fulfilled.
version
string
Version is the API version this server hosts. For example, "v1"
versionPriority
integer
VersionPriority controls the ordering of this API version inside of its group. Must be greater than zero. The primary sort is based on VersionPriority, ordered highest to lowest (20 before 10). Since it's inside of a group, the number can be small, probably in the 10s. In case of equal version priorities, the version string will be used to compute the order inside a group. If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
+

APIServiceStatus v1 apiregistration

+ + + + + + + + + + + + + + + +
FieldDescription
conditions
APIServiceCondition array
patch type: merge
patch merge key: type
Current service state of apiService.
+

APIServiceList v1 apiregistration

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
APIService array
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create an APIService

+

HTTP Request

+

POST /apis/apiregistration.k8s.io/v1/apiservices

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
APIService
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
201
APIService
Created
202
APIService
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified APIService

+

HTTP Request

+

PATCH /apis/apiregistration.k8s.io/v1/apiservices/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified APIService

+

HTTP Request

+

PUT /apis/apiregistration.k8s.io/v1/apiservices/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
APIService
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
201
APIService
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete an APIService

+

HTTP Request

+

DELETE /apis/apiregistration.k8s.io/v1/apiservices/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of APIService

+

HTTP Request

+

DELETE /apis/apiregistration.k8s.io/v1/apiservices

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified APIService

+

HTTP Request

+

GET /apis/apiregistration.k8s.io/v1/apiservices/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind APIService

+

HTTP Request

+

GET /apis/apiregistration.k8s.io/v1/apiservices

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
APIServiceList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind APIService

+

HTTP Request

+

GET /apis/apiregistration.k8s.io/v1/watch/apiservices/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of APIService

+

HTTP Request

+

GET /apis/apiregistration.k8s.io/v1/watch/apiservices

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified APIService

+

HTTP Request

+

PATCH /apis/apiregistration.k8s.io/v1/apiservices/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified APIService

+

HTTP Request

+

GET /apis/apiregistration.k8s.io/v1/apiservices/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified APIService

+

HTTP Request

+

PUT /apis/apiregistration.k8s.io/v1/apiservices/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
APIService
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
201
APIService
Created
+
+

Binding v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Binding
+

Binding ties one object to another; for example, a pod is bound to a node by a scheduler. Deprecated in 1.7, please use the bindings subresource of pods instead.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
target
ObjectReference
The target object that you want to bind to the standard object.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a Binding

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/bindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Binding
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
Binding
OK
201
Binding
Created
202
Binding
Accepted
+
+

CertificateSigningRequest v1beta1 certificates.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
certificates.k8s.iov1beta1CertificateSigningRequest
+

Describes a certificate signing request

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
CertificateSigningRequestSpec
The certificate request itself and any additional information.
status
CertificateSigningRequestStatus
Derived information about the request.
+

CertificateSigningRequestSpec v1beta1 certificates

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
extra
object
Extra information about the requesting user. See user.Info interface for details.
groups
string array
Group information about the requesting user. See user.Info interface for details.
request
string
Base64-encoded PKCS#10 CSR data
uid
string
UID information about the requesting user. See user.Info interface for details.
usages
string array
allowedUsages specifies a set of usage contexts the key will be valid for. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12
username
string
Information about the requesting user. See user.Info interface for details.
+

CertificateSigningRequestStatus v1beta1 certificates

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
certificate
string
If request was approved, the controller will place the issued certificate here.
conditions
CertificateSigningRequestCondition array
Conditions applied to the request, such as approval or denial.
+

CertificateSigningRequestList v1beta1 certificates

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
CertificateSigningRequest array
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a CertificateSigningRequest

+

HTTP Request

+

POST /apis/certificates.k8s.io/v1beta1/certificatesigningrequests

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CertificateSigningRequest
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
CertificateSigningRequest
Created
202
CertificateSigningRequest
Accepted
200
CertificateSigningRequest
OK
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified CertificateSigningRequest

+

HTTP Request

+

PATCH /apis/certificates.k8s.io/v1beta1/certificatesigningrequests/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CertificateSigningRequest
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CertificateSigningRequest
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified CertificateSigningRequest

+

HTTP Request

+

PUT /apis/certificates.k8s.io/v1beta1/certificatesigningrequests/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CertificateSigningRequest
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CertificateSigningRequest
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
CertificateSigningRequest
OK
201
CertificateSigningRequest
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a CertificateSigningRequest

+

HTTP Request

+

DELETE /apis/certificates.k8s.io/v1beta1/certificatesigningrequests/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CertificateSigningRequest
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of CertificateSigningRequest

+

HTTP Request

+

DELETE /apis/certificates.k8s.io/v1beta1/certificatesigningrequests

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified CertificateSigningRequest

+

HTTP Request

+

GET /apis/certificates.k8s.io/v1beta1/certificatesigningrequests/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CertificateSigningRequest
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CertificateSigningRequest
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind CertificateSigningRequest

+

HTTP Request

+

GET /apis/certificates.k8s.io/v1beta1/certificatesigningrequests

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CertificateSigningRequestList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind CertificateSigningRequest

+

HTTP Request

+

GET /apis/certificates.k8s.io/v1beta1/watch/certificatesigningrequests/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CertificateSigningRequest
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of CertificateSigningRequest

+

HTTP Request

+

GET /apis/certificates.k8s.io/v1beta1/watch/certificatesigningrequests

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified CertificateSigningRequest

+

HTTP Request

+

PATCH /apis/certificates.k8s.io/v1beta1/certificatesigningrequests/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CertificateSigningRequest
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CertificateSigningRequest
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified CertificateSigningRequest

+

HTTP Request

+

GET /apis/certificates.k8s.io/v1beta1/certificatesigningrequests/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CertificateSigningRequest
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CertificateSigningRequest
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified CertificateSigningRequest

+

HTTP Request

+

PUT /apis/certificates.k8s.io/v1beta1/certificatesigningrequests/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the CertificateSigningRequest
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CertificateSigningRequest
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
CertificateSigningRequest
OK
201
CertificateSigningRequest
Created
+
+

ClusterRole v1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1ClusterRole
+ + + +

ClusterRole is a cluster level, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding or ClusterRoleBinding.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
aggregationRule
AggregationRule
AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be stomped by the controller.
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
rules
PolicyRule array
Rules holds all the PolicyRules for this ClusterRole
+

ClusterRoleList v1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ClusterRole array
Items is a list of ClusterRoles
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ClusterRole

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRole
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ClusterRole
OK
201
ClusterRole
Created
202
ClusterRole
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ClusterRole

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRole
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ClusterRole

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRole
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
ClusterRole
Created
200
ClusterRole
OK
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ClusterRole

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ClusterRole

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRole
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/watch/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/watch/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

ClusterRoleBinding v1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1ClusterRoleBinding
+ + + +

ClusterRoleBinding references a ClusterRole, but not contain it. It can reference a ClusterRole in the global namespace, and adds who information via Subject.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
roleRef
RoleRef
RoleRef can only reference a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.
subjects
Subject array
Subjects holds references to the objects the role applies to.
+

ClusterRoleBindingList v1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ClusterRoleBinding array
Items is a list of ClusterRoleBindings
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ClusterRoleBinding

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRoleBinding
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
ClusterRoleBinding
Accepted
200
ClusterRoleBinding
OK
201
ClusterRoleBinding
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ClusterRoleBinding

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBinding
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ClusterRoleBinding

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRoleBinding
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBinding
OK
201
ClusterRoleBinding
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ClusterRoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ClusterRoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBinding
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBindingList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/watch/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/watch/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

ComponentStatus v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ComponentStatus
+

ComponentStatus (and ComponentStatusList) holds the cluster validation info.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
conditions
ComponentCondition array
patch type: merge
patch merge key: type
List of component conditions observed
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

ComponentStatusList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ComponentStatus array
List of ComponentStatus objects.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ComponentStatus

+

HTTP Request

+

GET /api/v1/componentstatuses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ComponentStatus
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ComponentStatus
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list objects of kind ComponentStatus

+

HTTP Request

+

GET /api/v1/componentstatuses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ComponentStatusList
OK
+
+

LocalSubjectAccessReview v1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1LocalSubjectAccessReview
+ + + +

LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
SubjectAccessReviewSpec
Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted.
status
SubjectAccessReviewStatus
Status is filled in by the server and indicates whether the request is allowed or not
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a LocalSubjectAccessReview

+

HTTP Request

+

POST /apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
LocalSubjectAccessReview
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
LocalSubjectAccessReview
OK
201
LocalSubjectAccessReview
Created
202
LocalSubjectAccessReview
Accepted
+
+

Namespace v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Namespace
+

Namespace provides a scope for Names. Use of multiple namespaces is optional.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
NamespaceSpec
Spec defines the behavior of the Namespace. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
NamespaceStatus
Status describes the current status of a Namespace. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

NamespaceSpec v1 core

+ + + + + + + + + + + + + + + +
FieldDescription
finalizers
string array
Finalizers is an opaque list of values that must be empty to permanently remove object from storage. More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/
+

NamespaceStatus v1 core

+ + + + + + + + + + + + + + + +
FieldDescription
phase
string
Phase is the current lifecycle phase of the namespace. More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/
+

NamespaceList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Namespace array
Items is the list of Namespace objects in the list. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a Namespace

+

HTTP Request

+

POST /api/v1/namespaces

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Namespace
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
Namespace
Created
202
Namespace
Accepted
200
Namespace
OK
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Namespace

+

HTTP Request

+

PATCH /api/v1/namespaces/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Namespace
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Namespace
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Namespace

+

HTTP Request

+

PUT /api/v1/namespaces/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Namespace
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Namespace
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
Namespace
Created
200
Namespace
OK
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a Namespace

+

HTTP Request

+

DELETE /api/v1/namespaces/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Namespace
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified Namespace

+

HTTP Request

+

GET /api/v1/namespaces/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Namespace
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Namespace
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Namespace

+

HTTP Request

+

GET /api/v1/namespaces

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
NamespaceList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind Namespace

+

HTTP Request

+

GET /api/v1/watch/namespaces/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Namespace
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Namespace

+

HTTP Request

+

GET /api/v1/watch/namespaces

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified Namespace

+

HTTP Request

+

PATCH /api/v1/namespaces/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Namespace
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Namespace
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified Namespace

+

HTTP Request

+

GET /api/v1/namespaces/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Namespace
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Namespace
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified Namespace

+

HTTP Request

+

PUT /api/v1/namespaces/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Namespace
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Namespace
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
Namespace
Created
200
Namespace
OK
+
+

Node v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Node
+

Node is a worker node in Kubernetes. Each node will have a unique identifier in the cache (i.e. in etcd).

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
NodeSpec
Spec defines the behavior of a node. https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
NodeStatus
Most recently observed status of the node. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

NodeSpec v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
configSource
NodeConfigSource
If specified, the source to get node configuration from The DynamicKubeletConfig feature gate must be enabled for the Kubelet to use this field
externalID
string
Deprecated. Not all kubelets will set this field. Remove field after 1.13. see: https://issues.k8s.io/61966
podCIDR
string
PodCIDR represents the pod IP range assigned to the node.
providerID
string
ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>
taints
Taint array
If specified, the node's taints.
unschedulable
boolean
Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration
+

NodeStatus v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
addresses
NodeAddress array
patch type: merge
patch merge key: type
List of addresses reachable to the node. Queried from cloud provider, if available. More info: https://kubernetes.io/docs/concepts/nodes/node/#addresses
allocatable
object
Allocatable represents the resources of a node that are available for scheduling. Defaults to Capacity.
capacity
object
Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity
conditions
NodeCondition array
patch type: merge
patch merge key: type
Conditions is an array of current observed node conditions. More info: https://kubernetes.io/docs/concepts/nodes/node/#condition
config
NodeConfigStatus
Status of the config assigned to the node via the dynamic Kubelet config feature.
daemonEndpoints
NodeDaemonEndpoints
Endpoints of daemons running on the Node.
images
ContainerImage array
List of container images on this node
nodeInfo
NodeSystemInfo
Set of ids/uuids to uniquely identify the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#info
phase
string
NodePhase is the recently observed lifecycle phase of the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#phase The field is never populated, and now is deprecated.
volumesAttached
AttachedVolume array
List of volumes that are attached to the node.
volumesInUse
string array
List of attachable volumes in use (mounted) by the node.
+

NodeList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Node array
List of nodes
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a Node

+

HTTP Request

+

POST /api/v1/nodes

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Node
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
Node
Accepted
200
Node
OK
201
Node
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Node

+

HTTP Request

+

PATCH /api/v1/nodes/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Node
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Node

+

HTTP Request

+

PUT /api/v1/nodes/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Node
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
Node
Created
200
Node
OK
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a Node

+

HTTP Request

+

DELETE /api/v1/nodes/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Node

+

HTTP Request

+

DELETE /api/v1/nodes

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified Node

+

HTTP Request

+

GET /api/v1/nodes/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Node
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Node

+

HTTP Request

+

GET /api/v1/nodes

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
NodeList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind Node

+

HTTP Request

+

GET /api/v1/watch/nodes/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Node

+

HTTP Request

+

GET /api/v1/watch/nodes

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified Node

+

HTTP Request

+

PATCH /api/v1/nodes/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Node
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified Node

+

HTTP Request

+

GET /api/v1/nodes/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Node
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified Node

+

HTTP Request

+

PUT /api/v1/nodes/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Node
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Node
OK
201
Node
Created
+

Proxy Operations

+

See supported operations below...

+

Create Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect POST requests to proxy of Node

+

HTTP Request

+

POST /api/v1/nodes/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to node.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Create Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect POST requests to proxy of Node

+

HTTP Request

+

POST /api/v1/nodes/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Node
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to node.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Delete Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect DELETE requests to proxy of Node

+

HTTP Request

+

DELETE /api/v1/nodes/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to node.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Delete Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect DELETE requests to proxy of Node

+

HTTP Request

+

DELETE /api/v1/nodes/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Node
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to node.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Get Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect GET requests to proxy of Node

+

HTTP Request

+

GET /api/v1/nodes/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to node.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Get Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect GET requests to proxy of Node

+

HTTP Request

+

GET /api/v1/nodes/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Node
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to node.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Head Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect HEAD requests to proxy of Node

+

HTTP Request

+

HEAD /api/v1/nodes/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to node.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Head Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect HEAD requests to proxy of Node

+

HTTP Request

+

HEAD /api/v1/nodes/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Node
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to node.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Replace Connect Proxy

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect PUT requests to proxy of Node

+

HTTP Request

+

PUT /api/v1/nodes/{name}/proxy

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the Node
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to node.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+

Replace Connect Proxy Path

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

connect PUT requests to proxy of Node

+

HTTP Request

+

PUT /api/v1/nodes/{name}/proxy/{path}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Node
pathpath to the resource
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
pathPath is the URL path to use for the current proxy request to node.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
string
OK
+
+

PersistentVolume v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PersistentVolume
+ + + + + +

PersistentVolume (PV) is a storage resource provisioned by an administrator. It is analogous to a node. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
PersistentVolumeSpec
Spec defines a specification of a persistent volume owned by the cluster. Provisioned by an administrator. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistent-volumes
status
PersistentVolumeStatus
Status represents the current information/status for the persistent volume. Populated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistent-volumes
+

PersistentVolumeSpec v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
accessModes
string array
AccessModes contains all ways the volume can be mounted. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes
awsElasticBlockStore
AWSElasticBlockStoreVolumeSource
AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
azureDisk
AzureDiskVolumeSource
AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
azureFile
AzureFilePersistentVolumeSource
AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
capacity
object
A description of the persistent volume's resources and capacity. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity
cephfs
CephFSPersistentVolumeSource
CephFS represents a Ceph FS mount on the host that shares a pod's lifetime
cinder
CinderPersistentVolumeSource
Cinder represents a cinder volume attached and mounted on kubelets host machine More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md
claimRef
ObjectReference
ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName is the authoritative bind between PV and PVC. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#binding
csi
CSIPersistentVolumeSource
CSI represents storage that handled by an external CSI driver (Beta feature).
fc
FCVolumeSource
FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.
flexVolume
FlexPersistentVolumeSource
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.
flocker
FlockerVolumeSource
Flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running
gcePersistentDisk
GCEPersistentDiskVolumeSource
GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
glusterfs
GlusterfsVolumeSource
Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md
hostPath
HostPathVolumeSource
HostPath represents a directory on the host. Provisioned by a developer or tester. This is useful for single-node development and testing only! On-host storage is not supported in any way and WILL NOT WORK in a multi-node cluster. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
iscsi
ISCSIPersistentVolumeSource
ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin.
local
LocalVolumeSource
Local represents directly-attached storage with node affinity
mountOptions
string array
A list of mount options, e.g. ["ro", "soft"]. Not validated - mount will simply fail if one is invalid. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options
nfs
NFSVolumeSource
NFS represents an NFS mount on the host. Provisioned by an admin. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
nodeAffinity
VolumeNodeAffinity
NodeAffinity defines constraints that limit what nodes this volume can be accessed from. This field influences the scheduling of pods that use this volume.
persistentVolumeReclaimPolicy
string
What happens to a persistent volume when released from its claim. Valid options are Retain (default for manually created PersistentVolumes), Delete (default for dynamically provisioned PersistentVolumes), and Recycle (deprecated). Recycle must be supported by the volume plugin underlying this PersistentVolume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming
photonPersistentDisk
PhotonPersistentDiskVolumeSource
PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
portworxVolume
PortworxVolumeSource
PortworxVolume represents a portworx volume attached and mounted on kubelets host machine
quobyte
QuobyteVolumeSource
Quobyte represents a Quobyte mount on the host that shares a pod's lifetime
rbd
RBDPersistentVolumeSource
RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md
scaleIO
ScaleIOPersistentVolumeSource
ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
storageClassName
string
Name of StorageClass to which this persistent volume belongs. Empty value means that this volume does not belong to any StorageClass.
storageos
StorageOSPersistentVolumeSource
StorageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod More info: https://releases.k8s.io/HEAD/examples/volumes/storageos/README.md
volumeMode
string
volumeMode defines if a volume is intended to be used with a formatted filesystem or to remain in raw block state. Value of Filesystem is implied when not included in spec. This is an alpha feature and may change in the future.
vsphereVolume
VsphereVirtualDiskVolumeSource
VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine
+

PersistentVolumeStatus v1 core

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
message
string
A human-readable message indicating details about why the volume is in this state.
phase
string
Phase indicates if a volume is available, bound to a claim, or released by a claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#phase
reason
string
Reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI.
+

PersistentVolumeList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
PersistentVolume array
List of persistent volumes. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a PersistentVolume

+

HTTP Request

+

POST /api/v1/persistentvolumes

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PersistentVolume
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
PersistentVolume
OK
201
PersistentVolume
Created
202
PersistentVolume
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified PersistentVolume

+

HTTP Request

+

PATCH /api/v1/persistentvolumes/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolume
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PersistentVolume
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified PersistentVolume

+

HTTP Request

+

PUT /api/v1/persistentvolumes/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolume
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PersistentVolume
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PersistentVolume
OK
201
PersistentVolume
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a PersistentVolume

+

HTTP Request

+

DELETE /api/v1/persistentvolumes/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolume
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of PersistentVolume

+

HTTP Request

+

DELETE /api/v1/persistentvolumes

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified PersistentVolume

+

HTTP Request

+

GET /api/v1/persistentvolumes/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolume
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PersistentVolume
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PersistentVolume

+

HTTP Request

+

GET /api/v1/persistentvolumes

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PersistentVolumeList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind PersistentVolume

+

HTTP Request

+

GET /api/v1/watch/persistentvolumes/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolume
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PersistentVolume

+

HTTP Request

+

GET /api/v1/watch/persistentvolumes

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified PersistentVolume

+

HTTP Request

+

PATCH /api/v1/persistentvolumes/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolume
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PersistentVolume
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified PersistentVolume

+

HTTP Request

+

GET /api/v1/persistentvolumes/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolume
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PersistentVolume
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified PersistentVolume

+

HTTP Request

+

PUT /api/v1/persistentvolumes/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PersistentVolume
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PersistentVolume
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PersistentVolume
OK
201
PersistentVolume
Created
+
+

ResourceQuota v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ResourceQuota
+

ResourceQuota sets aggregate quota restrictions enforced per namespace

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
ResourceQuotaSpec
Spec defines the desired quota. https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
ResourceQuotaStatus
Status defines the actual enforced quota and its current usage. https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

ResourceQuotaSpec v1 core

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
hard
object
hard is the set of desired hard limits for each named resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/
scopeSelector
ScopeSelector
scopeSelector is also a collection of filters like scopes that must match each object tracked by a quota but expressed using ScopeSelectorOperator in combination with possible values. For a resource to match, both scopes AND scopeSelector (if specified in spec), must be matched.
scopes
string array
A collection of filters that must match each object tracked by a quota. If not specified, the quota matches all objects.
+

ResourceQuotaStatus v1 core

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
hard
object
Hard is the set of enforced hard limits for each named resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/
used
object
Used is the current observed total usage of the resource in the namespace.
+

ResourceQuotaList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ResourceQuota array
Items is a list of ResourceQuota objects. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ResourceQuota

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/resourcequotas

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ResourceQuota
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ResourceQuota
OK
201
ResourceQuota
Created
202
ResourceQuota
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ResourceQuota

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/resourcequotas/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ResourceQuota
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ResourceQuota
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ResourceQuota

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/resourcequotas/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ResourceQuota
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ResourceQuota
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ResourceQuota
OK
201
ResourceQuota
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ResourceQuota

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/resourcequotas/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ResourceQuota
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ResourceQuota

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/resourcequotas

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ResourceQuota

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/resourcequotas/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ResourceQuota
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ResourceQuota
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ResourceQuota

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/resourcequotas

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ResourceQuotaList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ResourceQuota

+

HTTP Request

+

GET /api/v1/resourcequotas

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ResourceQuotaList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ResourceQuota

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/resourcequotas/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ResourceQuota
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ResourceQuota

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/resourcequotas

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ResourceQuota

+

HTTP Request

+

GET /api/v1/watch/resourcequotas

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified ResourceQuota

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/resourcequotas/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ResourceQuota
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ResourceQuota
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified ResourceQuota

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/resourcequotas/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ResourceQuota
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ResourceQuota
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified ResourceQuota

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/resourcequotas/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ResourceQuota
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ResourceQuota
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
ResourceQuota
Created
200
ResourceQuota
OK
+
+

Role v1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1Role
+ + + +

Role is a namespaced, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
rules
PolicyRule array
Rules holds all the PolicyRules for this Role
+

RoleList v1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Role array
Items is a list of Roles
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a Role

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Role
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
Role
OK
201
Role
Created
202
Role
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Role

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Role
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Role

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Role
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Role
OK
201
Role
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a Role

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Role

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Role
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/roles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/watch/roles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

RoleBinding v1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1RoleBinding
+ + + +

RoleBinding references a role, but does not contain it. It can reference a Role in the same namespace or a ClusterRole in the global namespace. It adds who information via Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
roleRef
RoleRef
RoleRef can reference a Role in the current namespace or a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.
subjects
Subject array
Subjects holds references to the objects the role applies to.
+

RoleBindingList v1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
RoleBinding array
Items is a list of RoleBindings
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a RoleBinding

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
RoleBinding
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
RoleBinding
OK
201
RoleBinding
Created
202
RoleBinding
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified RoleBinding

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBinding
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified RoleBinding

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
RoleBinding
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
RoleBinding
OK
201
RoleBinding
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a RoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of RoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBinding
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBindingList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/rolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBindingList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1/watch/rolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

SelfSubjectAccessReview v1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1SelfSubjectAccessReview
+ + + +

SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a spec.namespace means "in all namespaces". Self is a special case, because users should always be able to check whether they can perform an action

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
SelfSubjectAccessReviewSpec
Spec holds information about the request being evaluated. user and groups must be empty
status
SubjectAccessReviewStatus
Status is filled in by the server and indicates whether the request is allowed or not
+

SelfSubjectAccessReviewSpec v1 authorization

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
nonResourceAttributes
NonResourceAttributes
NonResourceAttributes describes information for a non-resource access request
resourceAttributes
ResourceAttributes
ResourceAuthorizationAttributes describes information for a resource access request
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a SelfSubjectAccessReview

+

HTTP Request

+

POST /apis/authorization.k8s.io/v1/selfsubjectaccessreviews

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
SelfSubjectAccessReview
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
SelfSubjectAccessReview
OK
201
SelfSubjectAccessReview
Created
202
SelfSubjectAccessReview
Accepted
+
+

SelfSubjectRulesReview v1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1SelfSubjectRulesReview
+ + + +

SelfSubjectRulesReview enumerates the set of actions the current user can perform within a namespace. The returned list of actions may be incomplete depending on the server's authorization mode, and any errors experienced during the evaluation. SelfSubjectRulesReview should be used by UIs to show/hide actions, or to quickly let an end user reason about their permissions. It should NOT Be used by external systems to drive authorization decisions as this raises confused deputy, cache lifetime/revocation, and correctness concerns. SubjectAccessReview, and LocalAccessReview are the correct way to defer authorization decisions to the API server.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
SelfSubjectRulesReviewSpec
Spec holds information about the request being evaluated.
status
SubjectRulesReviewStatus
Status is filled in by the server and indicates the set of actions a user can perform.
+

SelfSubjectRulesReviewSpec v1 authorization

+ + + + + + + + + + + + + + + +
FieldDescription
namespace
string
Namespace to evaluate rules for. Required.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a SelfSubjectRulesReview

+

HTTP Request

+

POST /apis/authorization.k8s.io/v1/selfsubjectrulesreviews

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
SelfSubjectRulesReview
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
SelfSubjectRulesReview
OK
201
SelfSubjectRulesReview
Created
202
SelfSubjectRulesReview
Accepted
+
+

ServiceAccount v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ServiceAccount
+

ServiceAccount binds together: a name, understood by users, and perhaps by peripheral systems, for an identity a principal that can be authenticated and authorized * a set of secrets

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
automountServiceAccountToken
boolean
AutomountServiceAccountToken indicates whether pods running as this service account should have an API token automatically mounted. Can be overridden at the pod level.
imagePullSecrets
LocalObjectReference array
ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
secrets
ObjectReference array
patch type: merge
patch merge key: name
Secrets is the list of secrets allowed to be used by pods running using this ServiceAccount. More info: https://kubernetes.io/docs/concepts/configuration/secret
+

ServiceAccountList v1 core

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ServiceAccount array
List of ServiceAccounts. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ServiceAccount

+

HTTP Request

+

POST /api/v1/namespaces/{namespace}/serviceaccounts

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ServiceAccount
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
ServiceAccount
Accepted
200
ServiceAccount
OK
201
ServiceAccount
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ServiceAccount

+

HTTP Request

+

PATCH /api/v1/namespaces/{namespace}/serviceaccounts/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ServiceAccount
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ServiceAccount
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ServiceAccount

+

HTTP Request

+

PUT /api/v1/namespaces/{namespace}/serviceaccounts/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ServiceAccount
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ServiceAccount
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ServiceAccount
OK
201
ServiceAccount
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ServiceAccount

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/serviceaccounts/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ServiceAccount
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ServiceAccount

+

HTTP Request

+

DELETE /api/v1/namespaces/{namespace}/serviceaccounts

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ServiceAccount

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/serviceaccounts/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ServiceAccount
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ServiceAccount
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ServiceAccount

+

HTTP Request

+

GET /api/v1/namespaces/{namespace}/serviceaccounts

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ServiceAccountList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ServiceAccount

+

HTTP Request

+

GET /api/v1/serviceaccounts

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ServiceAccountList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ServiceAccount

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/serviceaccounts/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ServiceAccount
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ServiceAccount

+

HTTP Request

+

GET /api/v1/watch/namespaces/{namespace}/serviceaccounts

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ServiceAccount

+

HTTP Request

+

GET /api/v1/watch/serviceaccounts

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

SubjectAccessReview v1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1SubjectAccessReview
+ + + +

SubjectAccessReview checks whether or not a user or group can perform an action.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
SubjectAccessReviewSpec
Spec holds information about the request being evaluated
status
SubjectAccessReviewStatus
Status is filled in by the server and indicates whether the request is allowed or not
+

SubjectAccessReviewSpec v1 authorization

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
extra
object
Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer it needs a reflection here.
groups
string array
Groups is the groups you're testing for.
nonResourceAttributes
NonResourceAttributes
NonResourceAttributes describes information for a non-resource access request
resourceAttributes
ResourceAttributes
ResourceAuthorizationAttributes describes information for a resource access request
uid
string
UID information about the requesting user.
user
string
User is the user you're testing for. If you specify "User" but not "Groups", then is it interpreted as "What if User were not a member of any groups
+

SubjectAccessReviewStatus v1 authorization

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
allowed
boolean
Allowed is required. True if the action would be allowed, false otherwise.
denied
boolean
Denied is optional. True if the action would be denied, otherwise false. If both allowed is false and denied is false, then the authorizer has no opinion on whether to authorize the action. Denied may not be true if Allowed is true.
evaluationError
string
EvaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.
reason
string
Reason is optional. It indicates why a request was allowed or denied.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a SubjectAccessReview

+

HTTP Request

+

POST /apis/authorization.k8s.io/v1/subjectaccessreviews

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
SubjectAccessReview
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
SubjectAccessReview
Created
202
SubjectAccessReview
Accepted
200
SubjectAccessReview
OK
+
+

TokenReview v1 authentication.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authentication.k8s.iov1TokenReview
+ + + +

TokenReview attempts to authenticate a token to a known user. Note: TokenReview requests may be cached by the webhook token authenticator plugin in the kube-apiserver.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
TokenReviewSpec
Spec holds information about the request being evaluated
status
TokenReviewStatus
Status is filled in by the server and indicates whether the request can be authenticated.
+

TokenReviewSpec v1 authentication

+ + + + + + + + + + + + + + + +
FieldDescription
token
string
Token is the opaque bearer token.
+

TokenReviewStatus v1 authentication

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
authenticated
boolean
Authenticated indicates that the token was associated with a known user.
error
string
Error indicates that the token couldn't be checked
user
UserInfo
User is the UserInfo associated with the provided token.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a TokenReview

+

HTTP Request

+

POST /apis/authentication.k8s.io/v1/tokenreviews

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
TokenReview
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
TokenReview
OK
201
TokenReview
Created
202
TokenReview
Accepted
+
+

NetworkPolicy v1 networking.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
networking.k8s.iov1NetworkPolicy
+ + + +

NetworkPolicy describes what network traffic is allowed for a set of Pods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
NetworkPolicySpec
Specification of the desired behavior for this NetworkPolicy.
+

NetworkPolicySpec v1 networking

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
egress
NetworkPolicyEgressRule array
List of egress rules to be applied to the selected pods. Outgoing traffic is allowed if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic matches at least one egress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy limits all outgoing traffic (and serves solely to ensure that the pods it selects are isolated by default). This field is beta-level in 1.8
ingress
NetworkPolicyIngressRule array
List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not allow any traffic (and serves solely to ensure that the pods it selects are isolated by default)
podSelector
LabelSelector
Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.
policyTypes
string array
List of rule types that the NetworkPolicy relates to. Valid options are Ingress, Egress, or Ingress,Egress. If this field is not specified, it will default based on the existence of Ingress or Egress rules; policies that contain an Egress section are assumed to affect Egress, and all policies (whether or not they contain an Ingress section) are assumed to affect Ingress. If you want to write an egress-only policy, you must explicitly specify policyTypes [ "Egress" ]. Likewise, if you want to write a policy that specifies that no egress is allowed, you must specify a policyTypes value that include "Egress" (since such a policy would not include an Egress section and would otherwise default to just [ "Ingress" ]). This field is beta-level in 1.8
+

NetworkPolicyList v1 networking

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
NetworkPolicy array
Items is a list of schema objects.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a NetworkPolicy

+

HTTP Request

+

POST /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
NetworkPolicy
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicy
OK
201
NetworkPolicy
Created
202
NetworkPolicy
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified NetworkPolicy

+

HTTP Request

+

PATCH /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the NetworkPolicy
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicy
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified NetworkPolicy

+

HTTP Request

+

PUT /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the NetworkPolicy
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
NetworkPolicy
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicy
OK
201
NetworkPolicy
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a NetworkPolicy

+

HTTP Request

+

DELETE /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the NetworkPolicy
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of NetworkPolicy

+

HTTP Request

+

DELETE /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified NetworkPolicy

+

HTTP Request

+

GET /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the NetworkPolicy
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicy
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind NetworkPolicy

+

HTTP Request

+

GET /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicyList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind NetworkPolicy

+

HTTP Request

+

GET /apis/networking.k8s.io/v1/networkpolicies

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicyList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind NetworkPolicy

+

HTTP Request

+

GET /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the NetworkPolicy
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of NetworkPolicy

+

HTTP Request

+

GET /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of NetworkPolicy

+

HTTP Request

+

GET /apis/networking.k8s.io/v1/watch/networkpolicies

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

DEFINITIONS

+

This section contains definitions for objects used in the Kubernetes APIs.

+

APIGroup v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1APIGroup
+

APIGroup contains the name, the supported versions, and the preferred version of a group.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
name
string
name is the name of the group.
preferredVersion
GroupVersionForDiscovery
preferredVersion is the version preferred by the API server, which probably is the storage version.
serverAddressByClientCIDRs
ServerAddressByClientCIDR array
a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.
versions
GroupVersionForDiscovery array
versions are the versions supported in this group.
+

APIResource v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1APIResource
+

APIResource specifies the name of a resource and whether it is namespaced.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
categories
string array
categories is a list of the grouped resources this resource belongs to (e.g. 'all')
group
string
group is the preferred group of the resource. Empty implies the group of the containing resource list. For subresources, this may have a different value, for example: Scale".
kind
string
kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')
name
string
name is the plural name of the resource.
namespaced
boolean
namespaced indicates if a resource is namespaced or not.
shortNames
string array
shortNames is a list of suggested short names of the resource.
singularName
string
singularName is the singular name of the resource. This allows clients to handle plural and singular opaquely. The singularName is more correct for reporting status on a single item and both singular and plural are allowed from the kubectl CLI interface.
verbs
string array
verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)
version
string
version is the preferred version of the resource. Empty implies the version of the containing resource list For subresources, this may have a different value, for example: v1 (while inside a v1beta1 version of the core resource's group)".
+

APIServiceCondition v1 apiregistration

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiregistration.k8s.iov1APIServiceCondition
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
message
string
Human-readable message indicating details about last transition.
reason
string
Unique, one-word, CamelCase reason for the condition's last transition.
status
string
Status is the status of the condition. Can be True, False, Unknown.
type
string
Type is the type of the condition.
+

APIVersions v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1APIVersions
+

APIVersions lists the versions that are available, to allow clients to discover the API at /api, which is the root path of the legacy v1 API.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
serverAddressByClientCIDRs
ServerAddressByClientCIDR array
a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.
versions
string array
versions are the api versions that are available.
+

AWSElasticBlockStoreVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1AWSElasticBlockStoreVolumeSource
+

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
partition
integer
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).
readOnly
boolean
Specify "true" to force and set the ReadOnly property in VolumeMounts to "true". If omitted, the default is "false". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
volumeID
string
Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+

Affinity v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Affinity
+

Affinity is a group of affinity scheduling rules.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
nodeAffinity
NodeAffinity
Describes node affinity scheduling rules for the pod.
podAffinity
PodAffinity
Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
podAntiAffinity
PodAntiAffinity
Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
+

AggregationRule v1 rbac

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1AggregationRule
+ + +

AggregationRule describes how to locate ClusterRoles to aggregate into the ClusterRole

+ + + + + + + + + + + + + + + +
FieldDescription
clusterRoleSelectors
LabelSelector array
ClusterRoleSelectors holds a list of selectors which will be used to find ClusterRoles and create the rules. If any of the selectors match, then the ClusterRole's permissions will be added
+

AllowedFlexVolume v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1AllowedFlexVolume
+

AllowedFlexVolume represents a single Flexvolume that is allowed to be used. Deprecated: use AllowedFlexVolume from policy API Group instead.

+ + + + + + + + + + + + + + + +
FieldDescription
driver
string
driver is the name of the Flexvolume driver.
+

AllowedHostPath v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1AllowedHostPath
+

AllowedHostPath defines the host volume conditions that will be enabled by a policy for pods to use. It requires the path prefix to be defined. Deprecated: use AllowedHostPath from policy API Group instead.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
pathPrefix
string
pathPrefix is the path prefix that the host volume must match. It does not support *. Trailing slashes are trimmed when validating the path prefix with a host path. Examples: /foo would allow /foo, /foo/ and /foo/bar /foo would not allow /food or /etc/foo
readOnly
boolean
when set to true, will allow host volumes matching the pathPrefix only if all volume mounts are readOnly.
+

AttachedVolume v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1AttachedVolume
+

AttachedVolume describes a volume attached to a node

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
devicePath
string
DevicePath represents the device path where the volume should be available
name
string
Name of the attached volume
+

AzureDiskVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1AzureDiskVolumeSource
+

AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
cachingMode
string
Host Caching mode: None, Read Only, Read Write.
diskName
string
The Name of the data disk in the blob storage
diskURI
string
The URI the data disk in the blob storage
fsType
string
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.
kind
string
Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared
readOnly
boolean
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
+

AzureFilePersistentVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1AzureFilePersistentVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
readOnly
boolean
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
secretName
string
the name of secret that contains Azure Storage Account Name and Key
secretNamespace
string
the namespace of the secret that contains Azure Storage Account Name and Key default is the same as the Pod
shareName
string
Share Name
+

AzureFileVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1AzureFileVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
readOnly
boolean
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
secretName
string
the name of secret that contains Azure Storage Account Name and Key
shareName
string
Share Name
+

CSIPersistentVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1CSIPersistentVolumeSource
+

Represents storage that is managed by an external CSI volume driver (Beta feature)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
controllerPublishSecretRef
SecretReference
ControllerPublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI ControllerPublishVolume and ControllerUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.
driver
string
Driver is the name of the driver to use for this volume. Required.
fsType
string
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.
nodePublishSecretRef
SecretReference
NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.
nodeStageSecretRef
SecretReference
NodeStageSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodeStageVolume and NodeStageVolume and NodeUnstageVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.
readOnly
boolean
Optional: The value to pass to ControllerPublishVolumeRequest. Defaults to false (read/write).
volumeAttributes
object
Attributes of the volume to publish.
volumeHandle
string
VolumeHandle is the unique volume name returned by the CSI volume plugin’s CreateVolume to refer to the volume on all subsequent calls. Required.
+

Capabilities v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Capabilities
+

Adds and removes POSIX capabilities from running containers.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
add
string array
Added capabilities
drop
string array
Removed capabilities
+

CephFSPersistentVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1CephFSPersistentVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
monitors
string array
Required: Monitors is a collection of Ceph monitors More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
path
string
Optional: Used as the mounted root, rather than the full Ceph tree, default is /
readOnly
boolean
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
secretFile
string
Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
secretRef
SecretReference
Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
user
string
Optional: User is the rados user name, default is admin More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
+

CephFSVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1CephFSVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
monitors
string array
Required: Monitors is a collection of Ceph monitors More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
path
string
Optional: Used as the mounted root, rather than the full Ceph tree, default is /
readOnly
boolean
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
secretFile
string
Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
secretRef
LocalObjectReference
Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
user
string
Optional: User is the rados user name, default is admin More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
+

CertificateSigningRequestCondition v1beta1 certificates

+ + + + + + + + + + + + + + + +
GroupVersionKind
certificates.k8s.iov1beta1CertificateSigningRequestCondition
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastUpdateTime
Time
timestamp for the last update to this condition
message
string
human readable message with details about the request state
reason
string
brief reason for the request state
type
string
request approval state, currently Approved or Denied.
+

CinderPersistentVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1CinderPersistentVolumeSource
+

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md
readOnly
boolean
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md
secretRef
SecretReference
Optional: points to a secret object containing parameters used to connect to OpenStack.
volumeID
string
volume id used to identify the volume in cinder More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md
+

CinderVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1CinderVolumeSource
+

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md
readOnly
boolean
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md
secretRef
LocalObjectReference
Optional: points to a secret object containing parameters used to connect to OpenStack.
volumeID
string
volume id used to identify the volume in cinder More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md
+

ClientIPConfig v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ClientIPConfig
+

ClientIPConfig represents the configurations of Client IP based session affinity.

+ + + + + + + + + + + + + + + +
FieldDescription
timeoutSeconds
integer
timeoutSeconds specifies the seconds of ClientIP type session sticky time. The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP". Default value is 10800(for 3 hours).
+

ComponentCondition v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ComponentCondition
+

Information about the condition of a component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
error
string
Condition error code for a component. For example, a health check error code.
message
string
Message about the condition for a component. For example, information about a health check.
status
string
Status of the condition for a component. Valid values for "Healthy": "True", "False", or "Unknown".
type
string
Type of condition for a component. Valid value: "Healthy"
+

ConfigMapEnvSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ConfigMapEnvSource
+

ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.

+

The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the ConfigMap must be defined
+

ConfigMapKeySelector v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ConfigMapKeySelector
+

Selects a key from a ConfigMap.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
key
string
The key to select.
name
string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the ConfigMap or it's key must be defined
+

ConfigMapNodeConfigSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ConfigMapNodeConfigSource
+

ConfigMapNodeConfigSource contains the information to reference a ConfigMap as a config source for the Node.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
kubeletConfigKey
string
KubeletConfigKey declares which key of the referenced ConfigMap corresponds to the KubeletConfiguration structure This field is required in all cases.
name
string
Name is the metadata.name of the referenced ConfigMap. This field is required in all cases.
namespace
string
Namespace is the metadata.namespace of the referenced ConfigMap. This field is required in all cases.
resourceVersion
string
ResourceVersion is the metadata.ResourceVersion of the referenced ConfigMap. This field is forbidden in Node.Spec, and required in Node.Status.
uid
string
UID is the metadata.UID of the referenced ConfigMap. This field is forbidden in Node.Spec, and required in Node.Status.
+

ConfigMapProjection v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ConfigMapProjection
+

Adapts a ConfigMap into a projected volume.

+

The contents of the target ConfigMap's Data field will be presented in a projected 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. Note that this is identical to a configmap volume source without the default mode.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
items
KeyToPath array
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 unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
name
string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the ConfigMap or it's keys must be defined
+

ConfigMapVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ConfigMapVolumeSource
+

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
defaultMode
integer
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
items
KeyToPath array
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 unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
name
string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the ConfigMap or it's keys must be defined
+

ContainerImage v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ContainerImage
+

Describe a container image

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
names
string array
Names by which this image is known. e.g. ["k8s.gcr.io/hyperkube:v1.0.7", "dockerhub.io/google_containers/hyperkube:v1.0.7"]
sizeBytes
integer
The size of the image in bytes.
+

ContainerPort v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ContainerPort
+

ContainerPort represents a network port in a single container.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
containerPort
integer
Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.
hostIP
string
What host IP to bind the external port to.
hostPort
integer
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.
name
string
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.
protocol
string
Protocol for port. Must be UDP or TCP. Defaults to "TCP".
+

ContainerState v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ContainerState
+

ContainerState holds a possible state of container. Only one of its members may be specified. If none of them is specified, the default one is ContainerStateWaiting.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
running
ContainerStateRunning
Details about a running container
terminated
ContainerStateTerminated
Details about a terminated container
waiting
ContainerStateWaiting
Details about a waiting container
+

ContainerStateRunning v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ContainerStateRunning
+

ContainerStateRunning is a running state of a container.

+ + + + + + + + + + + + + + + +
FieldDescription
startedAt
Time
Time at which the container was last (re-)started
+

ContainerStateTerminated v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ContainerStateTerminated
+

ContainerStateTerminated is a terminated state of a container.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
containerID
string
Container's ID in the format 'docker://<container_id>'
exitCode
integer
Exit status from the last termination of the container
finishedAt
Time
Time at which the container last terminated
message
string
Message regarding the last termination of the container
reason
string
(brief) reason from the last termination of the container
signal
integer
Signal from the last termination of the container
startedAt
Time
Time at which previous execution of the container started
+

ContainerStateWaiting v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ContainerStateWaiting
+

ContainerStateWaiting is a waiting state of a container.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
message
string
Message regarding why the container is not yet running.
reason
string
(brief) reason the container is not yet running.
+

CrossVersionObjectReference v1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv1CrossVersionObjectReference
+ + +

CrossVersionObjectReference contains enough information to let you identify the referred resource.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
API version of the referent
kind
string
Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds&#34;
name
string
Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names
+

CustomResourceColumnDefinition v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1CustomResourceColumnDefinition
+

CustomResourceColumnDefinition specifies a column for server side printing.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
JSONPath
string
JSONPath is a simple JSON path, i.e. with array notation.
description
string
description is a human readable description of this column.
format
string
format is an optional OpenAPI type definition for this column. The 'name' format is applied to the primary identifier column to assist in clients identifying column is the resource name. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more.
name
string
name is a human readable name for the column.
priority
integer
priority is an integer defining the relative importance of this column compared to others. Lower numbers are considered higher priority. Columns that may be omitted in limited space scenarios should be given a higher priority.
type
string
type is an OpenAPI type definition for this column. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more.
+

CustomResourceDefinitionCondition v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1CustomResourceDefinitionCondition
+

CustomResourceDefinitionCondition contains details for the current condition of this pod.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
message
string
Human-readable message indicating details about last transition.
reason
string
Unique, one-word, CamelCase reason for the condition's last transition.
status
string
Status is the status of the condition. Can be True, False, Unknown.
type
string
Type is the type of the condition.
+

CustomResourceDefinitionNames v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1CustomResourceDefinitionNames
+

CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
categories
string array
Categories is a list of grouped resources custom resources belong to (e.g. 'all')
kind
string
Kind is the serialized kind of the resource. It is normally CamelCase and singular.
listKind
string
ListKind is the serialized kind of the list for this resource. Defaults to <kind>List.
plural
string
Plural is the plural name of the resource to serve. It must match the name of the CustomResourceDefinition-registration too: plural.group and it must be all lowercase.
shortNames
string array
ShortNames are short names for the resource. It must be all lowercase.
singular
string
Singular is the singular name of the resource. It must be all lowercase Defaults to lowercased <kind>
+

CustomResourceDefinitionVersion v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1CustomResourceDefinitionVersion
+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
Name is the version name, e.g. “v1”, “v2beta1”, etc.
served
boolean
Served is a flag enabling/disabling this version from being served via REST APIs
storage
boolean
Storage flags the version as storage version. There must be exactly one flagged as storage version.
+

CustomResourceSubresourceScale v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1CustomResourceSubresourceScale
+

CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
labelSelectorPath
string
LabelSelectorPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Selector. Only JSON paths without the array notation are allowed. Must be a JSON Path under .status. Must be set to work with HPA. If there is no value under the given path in the CustomResource, the status label selector value in the /scale subresource will default to the empty string.
specReplicasPath
string
SpecReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Spec.Replicas. Only JSON paths without the array notation are allowed. Must be a JSON Path under .spec. If there is no value under the given path in the CustomResource, the /scale subresource will return an error on GET.
statusReplicasPath
string
StatusReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Replicas. Only JSON paths without the array notation are allowed. Must be a JSON Path under .status. If there is no value under the given path in the CustomResource, the status replica value in the /scale subresource will default to 0.
+

CustomResourceSubresourceStatus v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1CustomResourceSubresourceStatus
+

CustomResourceSubresourceStatus defines how to serve the status subresource for CustomResources. Status is represented by the .status JSON path inside of a CustomResource. When set, exposes a /status subresource for the custom resource PUT requests to the /status subresource take a custom resource object, and ignore changes to anything except the status stanza * PUT/POST/PATCH requests to the custom resource ignore changes to the status stanza

+ + + + + + + + + + + + + + +
FieldDescription
+

CustomResourceSubresources v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1CustomResourceSubresources
+

CustomResourceSubresources defines the status and scale subresources for CustomResources.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
scale
CustomResourceSubresourceScale
Scale denotes the scale subresource for CustomResources
status
CustomResourceSubresourceStatus
Status denotes the status subresource for CustomResources
+

CustomResourceValidation v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1CustomResourceValidation
+

CustomResourceValidation is a list of validation methods for CustomResources.

+ + + + + + + + + + + + + + + +
FieldDescription
openAPIV3Schema
JSONSchemaProps
OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
+

DaemonEndpoint v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1DaemonEndpoint
+

DaemonEndpoint contains information about a single Daemon endpoint.

+ + + + + + + + + + + + + + + +
FieldDescription
Port
integer
Port number of the given endpoint.
+

DaemonSetCondition v1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1DaemonSetCondition
+ + +

DaemonSetCondition describes the state of a DaemonSet at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of DaemonSet condition.
+

DaemonSetUpdateStrategy v1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1DaemonSetUpdateStrategy
+ + +

DaemonSetUpdateStrategy is a struct used to control the update strategy for a DaemonSet.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
rollingUpdate
RollingUpdateDaemonSet
Rolling update config params. Present only if type = "RollingUpdate".
type
string
Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is RollingUpdate.
+

DeleteOptions v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1DeleteOptions
+

DeleteOptions may be provided when deleting an API object.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
gracePeriodSeconds
integer
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.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
orphanDependents
boolean
Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
preconditions
Preconditions
Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.
propagationPolicy
string
Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

DeploymentCondition v1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1DeploymentCondition
+ + +

DeploymentCondition describes the state of a deployment at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
lastUpdateTime
Time
The last time this condition was updated.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of deployment condition.
+

DownwardAPIProjection v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1DownwardAPIProjection
+

Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.

+ + + + + + + + + + + + + + + +
FieldDescription
items
DownwardAPIVolumeFile array
Items is a list of DownwardAPIVolume file
+

DownwardAPIVolumeFile v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1DownwardAPIVolumeFile
+

DownwardAPIVolumeFile represents information to create the file containing the pod field

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fieldRef
ObjectFieldSelector
Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.
mode
integer
Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
path
string
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 '..'
resourceFieldRef
ResourceFieldSelector
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
+

DownwardAPIVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1DownwardAPIVolumeSource
+

DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
defaultMode
integer
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
items
DownwardAPIVolumeFile array
Items is a list of downward API volume file
+

EmptyDirVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1EmptyDirVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
medium
string
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: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
sizeLimit
Quantity
Total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir
+

EndpointAddress v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1EndpointAddress
+

EndpointAddress is a tuple that describes single IP address.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
hostname
string
The Hostname of this endpoint
ip
string
The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 is also accepted but not fully supported on all platforms. Also, certain kubernetes components, like kube-proxy, are not IPv6 ready.
nodeName
string
Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.
targetRef
ObjectReference
Reference to object providing the endpoint.
+

EndpointPort v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1EndpointPort
+

EndpointPort is a tuple that describes a single port.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
The name of this port (corresponds to ServicePort.Name). Must be a DNS_LABEL. Optional only if one port is defined.
port
integer
The port number of the endpoint.
protocol
string
The IP protocol for this port. Must be UDP or TCP. Default is TCP.
+

EndpointSubset v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1EndpointSubset
+

EndpointSubset is a group of addresses with a common set of ports. The expanded set of endpoints is the Cartesian product of Addresses x Ports. For example, given: + { + Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], + Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] + } +The resulting set of endpoints can be viewed as: + a: [ 10.10.1.1:8675, 10.10.2.2:8675 ], + b: [ 10.10.1.1:309, 10.10.2.2:309 ]

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
addresses
EndpointAddress array
IP addresses which offer the related ports that are marked as ready. These endpoints should be considered safe for load balancers and clients to utilize.
notReadyAddresses
EndpointAddress array
IP addresses which offer the related ports but are not currently marked as ready because they have not yet finished starting, have recently failed a readiness check, or have recently failed a liveness check.
ports
EndpointPort array
Port numbers available on the related IP addresses.
+

EnvFromSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1EnvFromSource
+

EnvFromSource represents the source of a set of ConfigMaps

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
configMapRef
ConfigMapEnvSource
The ConfigMap to select from
prefix
string
An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
secretRef
SecretEnvSource
The Secret to select from
+

EnvVar v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1EnvVar
+

EnvVar represents an environment variable present in a Container.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
Name of the environment variable. Must be a C_IDENTIFIER.
value
string
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 "".
valueFrom
EnvVarSource
Source for the environment variable's value. Cannot be used if value is not empty.
+

EnvVarSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1EnvVarSource
+

EnvVarSource represents a source for the value of an EnvVar.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
configMapKeyRef
ConfigMapKeySelector
Selects a key of a ConfigMap.
fieldRef
ObjectFieldSelector
Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP.
resourceFieldRef
ResourceFieldSelector
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
secretKeyRef
SecretKeySelector
Selects a key of a secret in the pod's namespace
+

EventSeries v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1EventSeries
+ + +

EventSeries contain information on series of events, i.e. thing that was/is happening continuously for some time.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
count
integer
Number of occurrences in this series up to the last heartbeat time
lastObservedTime
MicroTime
Time of the last occurrence observed
state
string
State of this Series: Ongoing or Finished
+

EventSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1EventSource
+

EventSource contains information for an event.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
component
string
Component from which the event is generated.
host
string
Node name on which the event is generated.
+

Eviction v1beta1 policy

+ + + + + + + + + + + + + + + +
GroupVersionKind
policyv1beta1Eviction
+

Eviction evicts a pod from its node subject to certain policies and safety constraints. This is a subresource of Pod. A request to cause such an eviction is created by POSTing to .../pods/<pod name>/evictions.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
deleteOptions
DeleteOptions
DeleteOptions may be provided
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
ObjectMeta describes the pod that is being evicted.
+

ExecAction v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ExecAction
+

ExecAction describes a "run in container" action.

+ + + + + + + + + + + + + + + + +
FieldDescription
command
string array
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.
+

ExternalDocumentation v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1ExternalDocumentation
+

ExternalDocumentation allows referencing an external resource for extended documentation.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
description
string
url
string
+

ExternalMetricSource v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1ExternalMetricSource
+

ExternalMetricSource indicates how to scale on a metric not associated with any Kubernetes object (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster). Exactly one "target" type should be set.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
metricName
string
metricName is the name of the metric in question.
metricSelector
LabelSelector
metricSelector is used to identify a specific time series within a given metric.
targetAverageValue
Quantity
targetAverageValue is the target per-pod value of global metric (as a quantity). Mutually exclusive with TargetValue.
targetValue
Quantity
targetValue is the target value of the metric (as a quantity). Mutually exclusive with TargetAverageValue.
+

ExternalMetricStatus v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1ExternalMetricStatus
+

ExternalMetricStatus indicates the current value of a global metric not associated with any Kubernetes object.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
currentAverageValue
Quantity
currentAverageValue is the current value of metric averaged over autoscaled pods.
currentValue
Quantity
currentValue is the current value of the metric (as a quantity)
metricName
string
metricName is the name of a metric used for autoscaling in metric system.
metricSelector
LabelSelector
metricSelector is used to identify a specific time series within a given metric.
+

FCVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1FCVolumeSource
+

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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.
lun
integer
Optional: FC target lun number
readOnly
boolean
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
targetWWNs
string array
Optional: FC target worldwide names (WWNs)
wwids
string array
Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
+

FSGroupStrategyOptions v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1FSGroupStrategyOptions
+

FSGroupStrategyOptions defines the strategy type and options used to create the strategy. Deprecated: use FSGroupStrategyOptions from policy API Group instead.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
ranges
IDRange array
ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end. Required for MustRunAs.
rule
string
rule is the strategy that will dictate what FSGroup is used in the SecurityContext.
+

FlexPersistentVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1FlexPersistentVolumeSource
+

FlexPersistentVolumeSource represents a generic persistent volume resource that is provisioned/attached using an exec based plugin.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
driver
string
Driver is the name of the driver to use for this volume.
fsType
string
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.
options
object
Optional: Extra command options if any.
readOnly
boolean
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
secretRef
SecretReference
Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.
+

FlexVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1FlexVolumeSource
+

FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
driver
string
Driver is the name of the driver to use for this volume.
fsType
string
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.
options
object
Optional: Extra command options if any.
readOnly
boolean
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
secretRef
LocalObjectReference
Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.
+

FlockerVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1FlockerVolumeSource
+

Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
datasetName
string
Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated
datasetUUID
string
UUID of the dataset. This is unique identifier of a Flocker dataset
+

GCEPersistentDiskVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1GCEPersistentDiskVolumeSource
+

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
partition
integer
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: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
pdName
string
Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
readOnly
boolean
ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+

GitRepoVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1GitRepoVolumeSource
+

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.

+

DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
directory
string
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.
repository
string
Repository URL
revision
string
Commit hash for the specified revision.
+

GlusterfsVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1GlusterfsVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
endpoints
string
EndpointsName is the endpoint name that details Glusterfs topology. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
path
string
Path is the Glusterfs volume path. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
readOnly
boolean
ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
+

GroupVersionForDiscovery v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1GroupVersionForDiscovery
+

GroupVersion contains the "group/version" and "version" string of a version. It is made a struct to keep extensibility.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
groupVersion
string
groupVersion specifies the API group and version in the form "group/version"
version
string
version specifies the version in the form of "version". This is to save the clients the trouble of splitting the GroupVersion.
+

HTTPGetAction v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1HTTPGetAction
+

HTTPGetAction describes an action based on HTTP Get requests.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
host
string
Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
httpHeaders
HTTPHeader array
Custom headers to set in the request. HTTP allows repeated headers.
path
string
Path to access on the HTTP server.
portName 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.
scheme
string
Scheme to use for connecting to the host. Defaults to HTTP.
+

HTTPHeader v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1HTTPHeader
+

HTTPHeader describes a custom header to be used in HTTP probes

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
The header field name
value
string
The header field value
+

HTTPIngressPath v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1HTTPIngressPath
+

HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are forwarded to the backend.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
backend
IngressBackend
Backend defines the referenced service endpoint to which the traffic will be forwarded to.
path
string
Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a '/'. If unspecified, the path defaults to a catch all sending traffic to the backend.
+

HTTPIngressRuleValue v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1HTTPIngressRuleValue
+

HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http://<host>/<path>?<searchpart&gt; -> backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'.

+ + + + + + + + + + + + + + + +
FieldDescription
paths
HTTPIngressPath array
A collection of paths that map requests to backends.
+

Handler v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Handler
+

Handler defines a specific action that should be taken

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
exec
ExecAction
One and only one of the following should be specified. Exec specifies the action to take.
httpGet
HTTPGetAction
HTTPGet specifies the http request to perform.
tcpSocket
TCPSocketAction
TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
+

HorizontalPodAutoscalerCondition v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1HorizontalPodAutoscalerCondition
+

HorizontalPodAutoscalerCondition describes the state of a HorizontalPodAutoscaler at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
lastTransitionTime is the last time the condition transitioned from one status to another
message
string
message is a human-readable explanation containing details about the transition
reason
string
reason is the reason for the condition's last transition.
status
string
status is the status of the condition (True, False, Unknown)
type
string
type describes the current condition
+

HostAlias v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1HostAlias
+

HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
hostnames
string array
Hostnames for the above IP address.
ip
string
IP address of the host file entry.
+

HostPathVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1HostPathVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
path
string
Path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
type
string
Type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+

HostPortRange v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1HostPortRange
+

HostPortRange defines a range of host ports that will be enabled by a policy for pods to use. It requires both the start and end to be defined. Deprecated: use HostPortRange from policy API Group instead.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
max
integer
max is the end of the range, inclusive.
min
integer
min is the start of the range, inclusive.
+

IDRange v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1IDRange
+

IDRange provides a min/max of an allowed range of IDs. Deprecated: use IDRange from policy API Group instead.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
max
integer
max is the end of the range, inclusive.
min
integer
min is the start of the range, inclusive.
+

IPBlock v1 networking

+ + + + + + + + + + + + + + + +
GroupVersionKind
networking.k8s.iov1IPBlock
+ + +

IPBlock describes a particular CIDR (Ex. "192.168.1.1/24") that is allowed to the pods matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs that should not be included within this rule.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
cidr
string
CIDR is a string representing the IP Block Valid examples are "192.168.1.1/24"
except
string array
Except is a slice of CIDRs that should not be included within an IP Block Valid examples are "192.168.1.1/24" Except values will be rejected if they are outside the CIDR range
+

ISCSIPersistentVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ISCSIPersistentVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
chapAuthDiscovery
boolean
whether support iSCSI Discovery CHAP authentication
chapAuthSession
boolean
whether support iSCSI Session CHAP authentication
fsType
string
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: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
initiatorName
string
Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface <target portal>:<volume name> will be created for the connection.
iqn
string
Target iSCSI Qualified Name.
iscsiInterface
string
iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).
lun
integer
iSCSI Target Lun number.
portals
string array
iSCSI Target Portal List. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
readOnly
boolean
ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.
secretRef
SecretReference
CHAP Secret for iSCSI target and initiator authentication
targetPortal
string
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).
+

ISCSIVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ISCSIVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
chapAuthDiscovery
boolean
whether support iSCSI Discovery CHAP authentication
chapAuthSession
boolean
whether support iSCSI Session CHAP authentication
fsType
string
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: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
initiatorName
string
Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface <target portal>:<volume name> will be created for the connection.
iqn
string
Target iSCSI Qualified Name.
iscsiInterface
string
iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).
lun
integer
iSCSI Target Lun number.
portals
string array
iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
readOnly
boolean
ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.
secretRef
LocalObjectReference
CHAP Secret for iSCSI target and initiator authentication
targetPortal
string
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).
+

IngressBackend v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1IngressBackend
+

IngressBackend describes all endpoints for a given service and port.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
serviceName
string
Specifies the name of the referenced service.
servicePortSpecifies the port of the referenced service.
+

IngressRule v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1IngressRule
+

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.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
host
string
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.
http
HTTPIngressRuleValue
+

IngressTLS v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1IngressTLS
+

IngressTLS describes the transport layer security associated with an Ingress.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
hosts
string array
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.
secretName
string
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.
+

Initializer v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1Initializer
+ + +

Initializer is information about an initializer that has not yet completed.

+ + + + + + + + + + + + + + + +
FieldDescription
name
string
name of the process that is responsible for initializing this object.
+

Initializers v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1Initializers
+

Initializers tracks the progress of initialization.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
pending
Initializer array
patch type: merge
patch merge key: name
Pending is a list of initializers that must execute in order before this object is visible. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.
result
Status
If result is set with the Failure field, the object will be persisted to storage and then deleted, ensuring that other clients can observe the deletion.
+

JSON v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1JSON
+

JSON represents any valid JSON value. These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.

+ + + + + + + + + + + + + + + +
FieldDescription
Raw
string
+

JSONSchemaProps v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1JSONSchemaProps
+

JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
$ref
string
$schema
string
additionalItems
JSONSchemaPropsOrBool
additionalProperties
JSONSchemaPropsOrBool
allOf
JSONSchemaProps array
anyOf
JSONSchemaProps array
default
JSON
definitions
object
dependencies
object
description
string
enum
JSON array
example
JSON
exclusiveMaximum
boolean
exclusiveMinimum
boolean
externalDocs
ExternalDocumentation
format
string
id
string
items
JSONSchemaPropsOrArray
maxItems
integer
maxLength
integer
maxProperties
integer
maximum
number
minItems
integer
minLength
integer
minProperties
integer
minimum
number
multipleOf
number
not
JSONSchemaProps
oneOf
JSONSchemaProps array
pattern
string
patternProperties
object
properties
object
required
string array
title
string
type
string
uniqueItems
boolean
+

JSONSchemaPropsOrArray v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1JSONSchemaPropsOrArray
+

JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps or an array of JSONSchemaProps. Mainly here for serialization purposes.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
JSONSchemas
JSONSchemaProps array
Schema
JSONSchemaProps
+

JSONSchemaPropsOrBool v1beta1 apiextensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiextensions.k8s.iov1beta1JSONSchemaPropsOrBool
+

JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. Defaults to true for the boolean property.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
Allows
boolean
Schema
JSONSchemaProps
+

JobCondition v1 batch

+ + + + + + + + + + + + + + + +
GroupVersionKind
batchv1JobCondition
+

JobCondition describes current state of a job.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastProbeTime
Time
Last time the condition was checked.
lastTransitionTime
Time
Last time the condition transit from one status to another.
message
string
Human readable message indicating details about last transition.
reason
string
(brief) reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of job condition, Complete or Failed.
+

JobTemplateSpec v1beta1 batch

+ + + + + + + + + + + + + + + +
GroupVersionKind
batchv1beta1JobTemplateSpec
+ + +

JobTemplateSpec describes the data a Job should have when created from a template

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
metadata
ObjectMeta
Standard object's metadata of the jobs created from this template. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
JobSpec
Specification of the desired behavior of the job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

KeyToPath v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1KeyToPath
+

Maps a string key to a path within a volume.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
key
string
The key to project.
mode
integer
Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
path
string
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 '..'.
+

LabelSelector v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1LabelSelector
+

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.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
matchExpressions
LabelSelectorRequirement array
matchExpressions is a list of label selector requirements. The requirements are ANDed.
matchLabels
object
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.
+

LabelSelectorRequirement v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1LabelSelectorRequirement
+

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
key
string
patch type: merge
patch merge key: key
key is the label key that the selector applies to.
operator
string
operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
values
string array
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.
+

Lifecycle v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Lifecycle
+

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.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
postStart
Handler
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: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
preStop
Handler
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: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
+

LimitRangeItem v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1LimitRangeItem
+

LimitRangeItem defines a min/max usage limit for any resource that matches on kind.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
default
object
Default resource requirement limit value by resource name if resource limit is omitted.
defaultRequest
object
DefaultRequest is the default resource requirement request value by resource name if resource request is omitted.
max
object
Max usage constraints on this kind by resource name.
maxLimitRequestRatio
object
MaxLimitRequestRatio if specified, the named resource must have a request and limit that are both non-zero where limit divided by request is less than or equal to the enumerated value; this represents the max burst for the named resource.
min
object
Min usage constraints on this kind by resource name.
type
string
Type of resource that this limit applies to.
+

ListMeta v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1ListMeta
+

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

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
continue
string
continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response.
resourceVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
selfLink
string
selfLink is a URL representing this object. Populated by the system. Read-only.
+

LoadBalancerIngress v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1LoadBalancerIngress
+

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

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
hostname
string
Hostname is set for load-balancer ingress points that are DNS based (typically AWS load-balancers)
ip
string
IP is set for load-balancer ingress points that are IP based (typically GCE or OpenStack load-balancers)
+

LoadBalancerStatus v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1LoadBalancerStatus
+

LoadBalancerStatus represents the status of a load-balancer.

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

LocalObjectReference v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1LocalObjectReference
+

LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.

+ + + + + + + + + + + + + + + +
FieldDescription
name
string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+

LocalVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1LocalVolumeSource
+

Local represents directly-attached storage with node affinity (Beta feature)

+ + + + + + + + + + + + + + + +
FieldDescription
path
string
The full path to the volume on the node. It can be either a directory or block device (disk, partition, ...). Directories can be represented only by PersistentVolume with VolumeMode=Filesystem. Block devices can be represented only by VolumeMode=Block, which also requires the BlockVolume alpha feature gate to be enabled.
+

MetricSpec v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1MetricSpec
+

MetricSpec specifies how to scale based on a single metric (only type and one other matching field should be set at once).

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
external
ExternalMetricSource
external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).
object
ObjectMetricSource
object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).
pods
PodsMetricSource
pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.
resource
ResourceMetricSource
resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source.
type
string
type is the type of metric source. It should be one of "Object", "Pods" or "Resource", each mapping to a matching field in the object.
+

MetricStatus v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1MetricStatus
+

MetricStatus describes the last-read state of a single metric.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
external
ExternalMetricStatus
external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).
object
ObjectMetricStatus
object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).
pods
PodsMetricStatus
pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.
resource
ResourceMetricStatus
resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source.
type
string
type is the type of metric source. It will be one of "Object", "Pods" or "Resource", each corresponds to a matching field in the object.
+

MicroTime v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1MicroTime
+ + + + + + + + + + + + + + +
FieldDescription
+

NFSVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1NFSVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
path
string
Path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
readOnly
boolean
ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
server
string
Server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
+

NetworkPolicyEgressRule v1 networking

+ + + + + + + + + + + + + + + +
GroupVersionKind
networking.k8s.iov1NetworkPolicyEgressRule
+ + +

NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to. This type is beta-level in 1.8

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
ports
NetworkPolicyPort array
List of destination ports for outgoing traffic. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.
to
NetworkPolicyPeer array
List of destinations for outgoing traffic of pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all destinations (traffic not restricted by destination). If this field is present and contains at least one item, this rule allows traffic only if the traffic matches at least one item in the to list.
+

NetworkPolicyIngressRule v1 networking

+ + + + + + + + + + + + + + + +
GroupVersionKind
networking.k8s.iov1NetworkPolicyIngressRule
+ + +

NetworkPolicyIngressRule describes a particular set of traffic that is allowed to the pods matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and from.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
from
NetworkPolicyPeer array
List of sources which should be able to access the pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all sources (traffic not restricted by source). If this field is present and contains at least on item, this rule allows traffic only if the traffic matches at least one item in the from list.
ports
NetworkPolicyPort array
List of ports which should be made accessible on the pods selected for this rule. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.
+

NetworkPolicyPeer v1 networking

+ + + + + + + + + + + + + + + +
GroupVersionKind
networking.k8s.iov1NetworkPolicyPeer
+ + +

NetworkPolicyPeer describes a peer to allow traffic from. Only certain combinations of fields are allowed

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
ipBlock
IPBlock
IPBlock defines policy on a particular IPBlock. If this field is set then neither of the other fields can be.
namespaceSelector
LabelSelector
Selects Namespaces using cluster-scoped labels. This field follows standard label selector semantics; if present but empty, it selects all namespaces. If PodSelector is also set, then the NetworkPolicyPeer as a whole selects the Pods matching PodSelector in the Namespaces selected by NamespaceSelector. Otherwise it selects all Pods in the Namespaces selected by NamespaceSelector.
podSelector
LabelSelector
This is a label selector which selects Pods. This field follows standard label selector semantics; if present but empty, it selects all pods. If NamespaceSelector is also set, then the NetworkPolicyPeer as a whole selects the Pods matching PodSelector in the Namespaces selected by NamespaceSelector. Otherwise it selects the Pods matching PodSelector in the policy's own Namespace.
+

NetworkPolicyPort v1 networking

+ + + + + + + + + + + + + + + +
GroupVersionKind
networking.k8s.iov1NetworkPolicyPort
+ + +

NetworkPolicyPort describes a port to allow traffic on

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
portThe port on the given protocol. This can either be a numerical or named port on a pod. If this field is not provided, this matches all port names and numbers.
protocol
string
The protocol (TCP or UDP) which traffic must match. If not specified, this field defaults to TCP.
+

NodeAddress v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1NodeAddress
+

NodeAddress contains information for the node's address.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
address
string
The node address.
type
string
Node address type, one of Hostname, ExternalIP or InternalIP.
+

NodeAffinity v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1NodeAffinity
+

Node affinity is a group of node affinity scheduling rules.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
preferredDuringSchedulingIgnoredDuringExecution
PreferredSchedulingTerm array
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecution
NodeSelector
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
+

NodeCondition v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1NodeCondition
+

NodeCondition contains condition information for a node.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastHeartbeatTime
Time
Last time we got an update on a given condition.
lastTransitionTime
Time
Last time the condition transit from one status to another.
message
string
Human readable message indicating details about last transition.
reason
string
(brief) reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of node condition.
+

NodeConfigSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1NodeConfigSource
+

NodeConfigSource specifies a source of node configuration. Exactly one subfield (excluding metadata) must be non-nil.

+ + + + + + + + + + + + + + + +
FieldDescription
configMap
ConfigMapNodeConfigSource
ConfigMap is a reference to a Node's ConfigMap
+

NodeConfigStatus v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1NodeConfigStatus
+

NodeConfigStatus describes the status of the config assigned by Node.Spec.ConfigSource.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
active
NodeConfigSource
Active reports the checkpointed config the node is actively using. Active will represent either the current version of the Assigned config, or the current LastKnownGood config, depending on whether attempting to use the Assigned config results in an error.
assigned
NodeConfigSource
Assigned reports the checkpointed config the node will try to use. When Node.Spec.ConfigSource is updated, the node checkpoints the associated config payload to local disk, along with a record indicating intended config. The node refers to this record to choose its config checkpoint, and reports this record in Assigned. Assigned only updates in the status after the record has been checkpointed to disk. When the Kubelet is restarted, it tries to make the Assigned config the Active config by loading and validating the checkpointed payload identified by Assigned.
error
string
Error describes any problems reconciling the Spec.ConfigSource to the Active config. Errors may occur, for example, attempting to checkpoint Spec.ConfigSource to the local Assigned record, attempting to checkpoint the payload associated with Spec.ConfigSource, attempting to load or validate the Assigned config, etc. Errors may occur at different points while syncing config. Earlier errors (e.g. download or checkpointing errors) will not result in a rollback to LastKnownGood, and may resolve across Kubelet retries. Later errors (e.g. loading or validating a checkpointed config) will result in a rollback to LastKnownGood. In the latter case, it is usually possible to resolve the error by fixing the config assigned in Spec.ConfigSource. You can find additional information for debugging by searching the error message in the Kubelet log. Error is a human-readable description of the error state; machines can check whether or not Error is empty, but should not rely on the stability of the Error text across Kubelet versions.
lastKnownGood
NodeConfigSource
LastKnownGood reports the checkpointed config the node will fall back to when it encounters an error attempting to use the Assigned config. The Assigned config becomes the LastKnownGood config when the node determines that the Assigned config is stable and correct. This is currently implemented as a 10-minute soak period starting when the local record of Assigned config is updated. If the Assigned config is Active at the end of this period, it becomes the LastKnownGood. Note that if Spec.ConfigSource is reset to nil (use local defaults), the LastKnownGood is also immediately reset to nil, because the local default config is always assumed good. You should not make assumptions about the node's method of determining config stability and correctness, as this may change or become configurable in the future.
+

NodeDaemonEndpoints v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1NodeDaemonEndpoints
+

NodeDaemonEndpoints lists ports opened by daemons running on the Node.

+ + + + + + + + + + + + + + + +
FieldDescription
kubeletEndpoint
DaemonEndpoint
Endpoint on which Kubelet is listening.
+

NodeSelector v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1NodeSelector
+

A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.

+ + + + + + + + + + + + + + + +
FieldDescription
nodeSelectorTerms
NodeSelectorTerm array
Required. A list of node selector terms. The terms are ORed.
+

NodeSelectorRequirement v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1NodeSelectorRequirement
+

A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
key
string
The label key that the selector applies to.
operator
string
Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values
string array
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
+

NodeSelectorTerm v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1NodeSelectorTerm
+

A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
matchExpressions
NodeSelectorRequirement array
A list of node selector requirements by node's labels.
matchFields
NodeSelectorRequirement array
A list of node selector requirements by node's fields.
+

NodeSystemInfo v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1NodeSystemInfo
+

NodeSystemInfo is a set of ids/uuids to uniquely identify the node.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
architecture
string
The Architecture reported by the node
bootID
string
Boot ID reported by the node.
containerRuntimeVersion
string
ContainerRuntime Version reported by the node through runtime remote API (e.g. docker://1.5.0).
kernelVersion
string
Kernel Version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64).
kubeProxyVersion
string
KubeProxy Version reported by the node.
kubeletVersion
string
Kubelet Version reported by the node.
machineID
string
MachineID reported by the node. For unique machine identification in the cluster this field is preferred. Learn more from man(5) machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html
operatingSystem
string
The Operating System reported by the node
osImage
string
OS Image reported by the node from /etc/os-release (e.g. Debian GNU/Linux 7 (wheezy)).
systemUUID
string
SystemUUID reported by the node. For unique machine identification MachineID is preferred. This field is specific to Red Hat hosts https://access.redhat.com/documentation/en-US/Red_Hat_Subscription_Management/1/html/RHSM/getting-system-uuid.html
+

NonResourceAttributes v1 authorization

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1NonResourceAttributes
+ + +

NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
path
string
Path is the URL path of the request
verb
string
Verb is the standard HTTP verb
+

NonResourceRule v1 authorization

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1NonResourceRule
+ + +

NonResourceRule holds information that describes a rule for the non-resource

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
nonResourceURLs
string array
NonResourceURLs is a set of partial urls that a user should have access to. s are allowed, but only as the full, final step in the path. "" means all.
verbs
string array
Verb is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. "*" means all.
+

ObjectFieldSelector v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ObjectFieldSelector
+

ObjectFieldSelector selects an APIVersioned field of an object.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
Version of the schema the FieldPath is written in terms of, defaults to "v1".
fieldPath
string
Path of the field to select in the specified API version.
+

ObjectMeta v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1ObjectMeta
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
annotations
object
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
clusterName
string
The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.
creationTimestamp
Time
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
deletionGracePeriodSeconds
integer
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.
deletionTimestamp
Time
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
finalizers
string array
patch type: merge
Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.
generateName
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
generation
integer
A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.
initializers
Initializers
An initializer is a controller which enforces some system invariant at object creation time. This field is a list of initializers that have not yet acted on this object. If nil or empty, this object has been completely initialized. Otherwise, the object is considered uninitialized and is hidden (in list/watch and get calls) from clients that haven't explicitly asked to observe uninitialized objects. When an object is created, the system will populate this list with the current set of initializers. Only privileged users may set or modify this list. Once it is empty, it may not be modified further by any user.
labels
object
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
name
string
Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
namespace
string
Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
ownerReferences
OwnerReference array
patch type: merge
patch merge key: uid
List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.
resourceVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
selfLink
string
SelfLink is a URL representing this object. Populated by the system. Read-only.
uid
string
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+

ObjectMetricSource v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1ObjectMetricSource
+

ObjectMetricSource indicates how to scale on a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
metricName
string
metricName is the name of the metric in question.
target
CrossVersionObjectReference
target is the described Kubernetes object.
targetValue
Quantity
targetValue is the target value of the metric (as a quantity).
+

ObjectMetricStatus v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1ObjectMetricStatus
+

ObjectMetricStatus indicates the current value of a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
currentValue
Quantity
currentValue is the current value of the metric (as a quantity).
metricName
string
metricName is the name of the metric in question.
target
CrossVersionObjectReference
target is the described Kubernetes object.
+

ObjectReference v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ObjectReference
+

ObjectReference contains enough information to let you inspect or modify the referred object.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
API version of the referent.
fieldPath
string
If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.
kind
string
Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
name
string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
namespace
string
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
resourceVersion
string
Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
uid
string
UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
+

OwnerReference v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1OwnerReference
+

OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
API version of the referent.
blockOwnerDeletion
boolean
If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.
controller
boolean
If true, this reference points to the managing controller.
kind
string
Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
name
string
Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
uid
string
UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+

Patch v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1Patch
+

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

+ + + + + + + + + + + + +
FieldDescription
+

PersistentVolumeClaimCondition v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PersistentVolumeClaimCondition
+

PersistentVolumeClaimCondition contails details about state of pvc

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastProbeTime
Time
Last time we probed the condition.
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
message
string
Human-readable message indicating details about last transition.
reason
string
Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.
status
string
type
string
+

PersistentVolumeClaimVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PersistentVolumeClaimVolumeSource
+

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).

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
claimName
string
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
readOnly
boolean
Will force the ReadOnly setting in VolumeMounts. Default false.
+

PhotonPersistentDiskVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PhotonPersistentDiskVolumeSource
+

Represents a Photon Controller persistent disk resource.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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.
pdID
string
ID that identifies Photon Controller persistent disk
+

PodAffinity v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PodAffinity
+

Pod affinity is a group of inter pod affinity scheduling rules.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
preferredDuringSchedulingIgnoredDuringExecution
WeightedPodAffinityTerm array
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecution
PodAffinityTerm array
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
+

PodAffinityTerm v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PodAffinityTerm
+

Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
labelSelector
LabelSelector
A label query over a set of resources, in this case pods.
namespaces
string array
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means "this pod's namespace"
topologyKey
string
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
+

PodAntiAffinity v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PodAntiAffinity
+

Pod anti affinity is a group of inter pod anti affinity scheduling rules.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
preferredDuringSchedulingIgnoredDuringExecution
WeightedPodAffinityTerm array
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecution
PodAffinityTerm array
If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
+

PodCondition v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PodCondition
+

PodCondition contains details for the current condition of this pod.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastProbeTime
Time
Last time we probed the condition.
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
message
string
Human-readable message indicating details about last transition.
reason
string
Unique, one-word, CamelCase reason for the condition's last transition.
status
string
Status is the status of the condition. Can be True, False, Unknown. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
type
string
Type is the type of the condition. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
+

PodDNSConfig v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PodDNSConfig
+

PodDNSConfig defines the DNS parameters of a pod in addition to those generated from DNSPolicy.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
nameservers
string array
A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.
options
PodDNSConfigOption array
A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.
searches
string array
A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.
+

PodDNSConfigOption v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PodDNSConfigOption
+

PodDNSConfigOption defines DNS resolver options of a pod.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
Required.
value
string
+

PodReadinessGate v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PodReadinessGate
+

PodReadinessGate contains the reference to a pod condition

+ + + + + + + + + + + + + + + +
FieldDescription
conditionType
string
ConditionType refers to a condition in the pod's condition list with matching type.
+

PodSecurityContext v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PodSecurityContext
+

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsGroup
integer
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---- If unset, the Kubelet will not modify the ownership and permissions of any volume.
runAsGroup
integer
The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.
runAsNonRoot
boolean
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.
runAsUser
integer
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.
seLinuxOptions
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.
supplementalGroups
integer array
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.
sysctls
Sysctl array
Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch.
+

PodsMetricSource v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1PodsMetricSource
+

PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
metricName
string
metricName is the name of the metric in question
targetAverageValue
Quantity
targetAverageValue is the target value of the average of the metric across all relevant pods (as a quantity)
+

PodsMetricStatus v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1PodsMetricStatus
+

PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
currentAverageValue
Quantity
currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)
metricName
string
metricName is the name of the metric in question
+

PolicyRule v1 rbac

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1PolicyRule
+ + +

PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroups
string array
APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed.
nonResourceURLs
string array
NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding. Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), but not both.
resourceNames
string array
ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
resources
string array
Resources is a list of resources this rule applies to. ResourceAll represents all resources.
verbs
string array
Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds.
+

PortworxVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PortworxVolumeSource
+

PortworxVolumeSource represents a Portworx volume resource.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
readOnly
boolean
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
volumeID
string
VolumeID uniquely identifies a Portworx volume
+

Preconditions v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1Preconditions
+

Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.

+ + + + + + + + + + + + + + + +
FieldDescription
uid
string
Specifies the target UID.
+

PreferredSchedulingTerm v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1PreferredSchedulingTerm
+

An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
preference
NodeSelectorTerm
A node selector term, associated with the corresponding weight.
weight
integer
Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
+

Probe v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Probe
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
exec
ExecAction
One and only one of the following should be specified. Exec specifies the action to take.
failureThreshold
integer
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
httpGet
HTTPGetAction
HTTPGet specifies the http request to perform.
initialDelaySeconds
integer
Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
periodSeconds
integer
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
successThreshold
integer
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.
tcpSocket
TCPSocketAction
TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
timeoutSeconds
integer
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+

ProjectedVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ProjectedVolumeSource
+

Represents a projected volume source

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
defaultMode
integer
Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
sources
VolumeProjection array
list of volume projections
+

Quantity resource core

+ + + + + + + + + + + + + + + +
GroupVersionKind
coreresourceQuantity
+ + + + + + + + + + + + + + +
FieldDescription
+

QuobyteVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1QuobyteVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
group
string
Group to map volume access to Default is no group
readOnly
boolean
ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.
registry
string
Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes
user
string
User to map volume access to Defaults to serivceaccount user
volume
string
Volume is a string that references an already created Quobyte volume by name.
+

RBDPersistentVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1RBDPersistentVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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: https://kubernetes.io/docs/concepts/storage/volumes#rbd
image
string
The rados image name. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
keyring
string
Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
monitors
string array
A collection of Ceph monitors. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
pool
string
The rados pool name. Default is rbd. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
readOnly
boolean
ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
secretRef
SecretReference
SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
user
string
The rados user name. Default is admin. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
+

RBDVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1RBDVolumeSource
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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: https://kubernetes.io/docs/concepts/storage/volumes#rbd
image
string
The rados image name. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
keyring
string
Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
monitors
string array
A collection of Ceph monitors. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
pool
string
The rados pool name. Default is rbd. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
readOnly
boolean
ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
secretRef
LocalObjectReference
SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
user
string
The rados user name. Default is admin. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
+

ReplicaSetCondition v1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1ReplicaSetCondition
+ + +

ReplicaSetCondition describes the state of a replica set at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
The last time the condition transitioned from one status to another.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of replica set condition.
+

ReplicationControllerCondition v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ReplicationControllerCondition
+

ReplicationControllerCondition describes the state of a replication controller at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
The last time the condition transitioned from one status to another.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of replication controller condition.
+

ResourceAttributes v1 authorization

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1ResourceAttributes
+ + +

ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
group
string
Group is the API Group of the Resource. "*" means all.
name
string
Name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
namespace
string
Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces "" (empty) is defaulted for LocalSubjectAccessReviews "" (empty) is empty for cluster-scoped resources "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview
resource
string
Resource is one of the existing resource types. "*" means all.
subresource
string
Subresource is one of the existing resource types. "" means none.
verb
string
Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
version
string
Version is the API Version of the Resource. "*" means all.
+

ResourceFieldSelector v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ResourceFieldSelector
+

ResourceFieldSelector represents container resources (cpu, memory) and their output format

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
containerName
string
Container name: required for volumes, optional for env vars
divisor
Quantity
Specifies the output format of the exposed resources, defaults to "1"
resource
string
Required: resource to select
+

ResourceMetricSource v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1ResourceMetricSource
+

ResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source. Only one "target" type should be set.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
name is the name of the resource in question.
targetAverageUtilization
integer
targetAverageUtilization is the target value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods.
targetAverageValue
Quantity
targetAverageValue is the target value of the average of the resource metric across all relevant pods, as a raw value (instead of as a percentage of the request), similar to the "pods" metric source type.
+

ResourceMetricStatus v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1ResourceMetricStatus
+

ResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
currentAverageUtilization
integer
currentAverageUtilization is the current value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods. It will only be present if targetAverageValue was set in the corresponding metric specification.
currentAverageValue
Quantity
currentAverageValue is the current value of the average of the resource metric across all relevant pods, as a raw value (instead of as a percentage of the request), similar to the "pods" metric source type. It will always be set, regardless of the corresponding metric specification.
name
string
name is the name of the resource in question.
+

ResourceRequirements v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ResourceRequirements
+

ResourceRequirements describes the compute resource requirements.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
limits
object
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
requests
object
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: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
+

ResourceRule v1 authorization

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1ResourceRule
+ + +

ResourceRule is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroups
string array
APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed. "*" means all.
resourceNames
string array
ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. "*" means all.
resources
string array
Resources is a list of resources this rule applies to. "" means all in the specified apiGroups. "/foo" represents the subresource 'foo' for all resources in the specified apiGroups.
verbs
string array
Verb is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. "*" means all.
+

RoleRef v1 rbac

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1RoleRef
+ + +

RoleRef contains information that points to the role being used

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroup
string
APIGroup is the group for the resource being referenced
kind
string
Kind is the type of resource being referenced
name
string
Name is the name of resource being referenced
+

RollbackConfig v1beta1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta1RollbackConfig
+

DEPRECATED.

+ + + + + + + + + + + + + + + +
FieldDescription
revision
integer
The revision to rollback to. If set to 0, rollback to the last revision.
+

RollingUpdateStatefulSetStrategy v1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1RollingUpdateStatefulSetStrategy
+ + +

RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdateStatefulSetStrategyType.

+ + + + + + + + + + + + + + + +
FieldDescription
partition
integer
Partition indicates the ordinal at which the StatefulSet should be partitioned. Default value is 0.
+

Rule v1alpha1 admissionregistration

+ + + + + + + + + + + + + + + +
GroupVersionKind
admissionregistration.k8s.iov1alpha1Rule
+

Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended to make sure that all the tuple expansions are valid.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroups
string array
APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
apiVersions
string array
APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.
resources
string array
Resources is a list of resources this rule applies to. For example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources. If wildcard is present, the validation rule will ensure resources do not overlap with each other. Depending on the enclosing object, subresources might not be allowed. Required.
+

RuleWithOperations v1beta1 admissionregistration

+ + + + + + + + + + + + + + + +
GroupVersionKind
admissionregistration.k8s.iov1beta1RuleWithOperations
+

RuleWithOperations is a tuple of Operations and Resources. It is recommended to make sure that all the tuple expansions are valid.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroups
string array
APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
apiVersions
string array
APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.
operations
string array
Operations is the operations the admission hook cares about - CREATE, UPDATE, or for all operations. If '\' is present, the length of the slice must be one. Required.
resources
string array
Resources is a list of resources this rule applies to. For example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources. If wildcard is present, the validation rule will ensure resources do not overlap with each other. Depending on the enclosing object, subresources might not be allowed. Required.
+

RunAsUserStrategyOptions v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1RunAsUserStrategyOptions
+

RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy. Deprecated: use RunAsUserStrategyOptions from policy API Group instead.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
ranges
IDRange array
ranges are the allowed ranges of uids that may be used. If you would like to force a single uid then supply a single range with the same start and end. Required for MustRunAs.
rule
string
rule is the strategy that will dictate the allowable RunAsUser values that may be set.
+

SELinuxOptions v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1SELinuxOptions
+

SELinuxOptions are the labels to be applied to the container

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
level
string
Level is SELinux level label that applies to the container.
role
string
Role is a SELinux role label that applies to the container.
type
string
Type is a SELinux type label that applies to the container.
user
string
User is a SELinux user label that applies to the container.
+

SELinuxStrategyOptions v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1SELinuxStrategyOptions
+

SELinuxStrategyOptions defines the strategy type and any options used to create the strategy. Deprecated: use SELinuxStrategyOptions from policy API Group instead.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
rule
string
rule is the strategy that will dictate the allowable labels that may be set.
seLinuxOptions
SELinuxOptions
seLinuxOptions required to run as; required for MustRunAs More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
+

Scale v1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv1Scale
+ + +

Scale represents a scaling request for a resource.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
spec
ScaleSpec
defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
status
ScaleStatus
current status of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status. Read-only.
+

ScaleIOPersistentVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ScaleIOPersistentVolumeSource
+

ScaleIOPersistentVolumeSource represents a persistent ScaleIO volume

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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.
gateway
string
The host address of the ScaleIO API Gateway.
protectionDomain
string
The name of the ScaleIO Protection Domain for the configured storage.
readOnly
boolean
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
secretRef
SecretReference
SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.
sslEnabled
boolean
Flag to enable/disable SSL communication with Gateway, default false
storageMode
string
Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
storagePool
string
The ScaleIO Storage Pool associated with the protection domain.
system
string
The name of the storage system as configured in ScaleIO.
volumeName
string
The name of a volume already created in the ScaleIO system that is associated with this volume source.
+

ScaleIOVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ScaleIOVolumeSource
+

ScaleIOVolumeSource represents a persistent ScaleIO volume

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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.
gateway
string
The host address of the ScaleIO API Gateway.
protectionDomain
string
The name of the ScaleIO Protection Domain for the configured storage.
readOnly
boolean
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
secretRef
LocalObjectReference
SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.
sslEnabled
boolean
Flag to enable/disable SSL communication with Gateway, default false
storageMode
string
Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
storagePool
string
The ScaleIO Storage Pool associated with the protection domain.
system
string
The name of the storage system as configured in ScaleIO.
volumeName
string
The name of a volume already created in the ScaleIO system that is associated with this volume source.
+

ScopeSelector v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ScopeSelector
+

A scope selector represents the AND of the selectors represented by the scoped-resource selector requirements.

+ + + + + + + + + + + + + + + +
FieldDescription
matchExpressions
ScopedResourceSelectorRequirement array
A list of scope selector requirements by scope of the resources.
+

ScopedResourceSelectorRequirement v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ScopedResourceSelectorRequirement
+

A scoped-resource selector requirement is a selector that contains values, a scope name, and an operator that relates the scope name and values.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
operator
string
Represents a scope's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist.
scopeName
string
The name of the scope that the selector applies to.
values
string array
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.
+

SecretEnvSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1SecretEnvSource
+

SecretEnvSource selects a Secret to populate the environment variables with.

+

The contents of the target Secret's Data field will represent the key-value pairs as environment variables.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the Secret must be defined
+

SecretKeySelector v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1SecretKeySelector
+

SecretKeySelector selects a key of a Secret.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
key
string
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the Secret or it's key must be defined
+

SecretProjection v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1SecretProjection
+

Adapts a secret into a projected volume.

+

The contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
items
KeyToPath array
If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
name
string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the Secret or its key must be defined
+

SecretReference v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1SecretReference
+

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
Name is unique within a namespace to reference a secret resource.
namespace
string
Namespace defines the space within which the secret name must be unique.
+

SecretVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1SecretVolumeSource
+

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
defaultMode
integer
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
items
KeyToPath array
If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
optional
boolean
Specify whether the Secret or it's keys must be defined
secretName
string
Name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
+

SecurityContext v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1SecurityContext
+

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
allowPrivilegeEscalation
boolean
AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN
capabilities
Capabilities
The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime.
privileged
boolean
Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false.
readOnlyRootFilesystem
boolean
Whether this container has a read-only root filesystem. Default is false.
runAsGroup
integer
The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
runAsNonRoot
boolean
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.
runAsUser
integer
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.
seLinuxOptions
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.
+

ServerAddressByClientCIDR v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1ServerAddressByClientCIDR
+

ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
clientCIDR
string
The CIDR with which clients can match their IP to figure out the server address that they should use.
serverAddress
string
Address of this server, suitable for a client that matches the above CIDR. This can be a hostname, hostname:port, IP or IP:port.
+

ServiceAccountTokenProjection v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ServiceAccountTokenProjection
+

ServiceAccountTokenProjection represents a projected service account token volume. This projection can be used to insert a service account token into the pods runtime filesystem for use against APIs (Kubernetes API Server or otherwise).

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
audience
string
Audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.
expirationSeconds
integer
ExpirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.
path
string
Path is the path relative to the mount point of the file to project the token into.
+

ServicePort v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1ServicePort
+

ServicePort contains information on service's port.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. This maps to the 'Name' field in EndpointPort objects. Optional if only one ServicePort is defined on this service.
nodePort
integer
The port on each node on which this service is exposed when type=NodePort or LoadBalancer. Usually assigned by the system. If specified, it will be allocated to the service if unused or else creation of the service will fail. Default is to auto-allocate a port if the ServiceType of this Service requires one. More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
port
integer
The port that will be exposed by this service.
protocol
string
The IP protocol for this port. Supports "TCP" and "UDP". Default is TCP.
targetPortNumber or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
+

ServiceReference v1 apiregistration

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiregistration.k8s.iov1ServiceReference
+ + +

ServiceReference holds a reference to Service.legacy.k8s.io

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
Name is the name of the service
namespace
string
Namespace is the namespace of the service
+

SessionAffinityConfig v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1SessionAffinityConfig
+

SessionAffinityConfig represents the configurations of session affinity.

+ + + + + + + + + + + + + + + +
FieldDescription
clientIP
ClientIPConfig
clientIP contains the configurations of Client IP based session affinity.
+

StatefulSetCondition v1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1StatefulSetCondition
+ + +

StatefulSetCondition describes the state of a statefulset at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of statefulset condition.
+

StatefulSetUpdateStrategy v1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1StatefulSetUpdateStrategy
+ + +

StatefulSetUpdateStrategy indicates the strategy that the StatefulSet controller will use to perform updates. It includes any additional parameters necessary to perform the update for the indicated strategy.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
rollingUpdate
RollingUpdateStatefulSetStrategy
RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.
type
string
Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate.
+

Status v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1Status
+

Status is a return value for calls that don't return other objects.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
code
integer
Suggested HTTP return code for this status, 0 if not set.
details
StatusDetails
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.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
message
string
A human-readable description of the status of this operation.
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
reason
string
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.
status
string
Status of the operation. One of: "Success" or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

StatusCause v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1StatusCause
+

StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
field
string
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"
message
string
A human-readable description of the cause of the error. This field may be presented as-is to a reader.
reason
string
A machine-readable description of the cause of the error. If this value is empty there is no information available.
+

StatusDetails v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1StatusDetails
+

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
causes
StatusCause array
The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.
group
string
The group attribute of the resource associated with the status StatusReason.
kind
string
The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
name
string
The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).
retryAfterSeconds
integer
If specified, the time in seconds before the operation should be retried. Some errors may indicate the client must take an alternate action - for those errors this field may indicate how long to wait before taking the alternate action.
uid
string
UID of the resource. (when there is a single resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+

StorageOSPersistentVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1StorageOSPersistentVolumeSource
+

Represents a StorageOS persistent volume resource.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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.
readOnly
boolean
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
secretRef
ObjectReference
SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.
volumeName
string
VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.
volumeNamespace
string
VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.
+

StorageOSVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1StorageOSVolumeSource
+

Represents a StorageOS persistent volume resource.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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.
readOnly
boolean
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
secretRef
LocalObjectReference
SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.
volumeName
string
VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.
volumeNamespace
string
VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.
+

Subject v1 rbac

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1Subject
+ + +

Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference, or a value for non-objects such as user and group names.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroup
string
APIGroup holds the API group of the referenced subject. Defaults to "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for User and Group subjects.
kind
string
Kind of object being referenced. Values defined by this API group are "User", "Group", and "ServiceAccount". If the Authorizer does not recognized the kind value, the Authorizer should report an error.
name
string
Name of the object being referenced.
namespace
string
Namespace of the referenced object. If the object kind is non-namespace, such as "User" or "Group", and this value is not empty the Authorizer should report an error.
+

SubjectRulesReviewStatus v1 authorization

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1SubjectRulesReviewStatus
+ + +

SubjectRulesReviewStatus contains the result of a rules check. This check can be incomplete depending on the set of authorizers the server is configured with and any errors experienced during evaluation. Because authorization rules are additive, if a rule appears in a list it's safe to assume the subject has that permission, even if that list is incomplete.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
evaluationError
string
EvaluationError can appear in combination with Rules. It indicates an error occurred during rule evaluation, such as an authorizer that doesn't support rule evaluation, and that ResourceRules and/or NonResourceRules may be incomplete.
incomplete
boolean
Incomplete is true when the rules returned by this call are incomplete. This is most commonly encountered when an authorizer, such as an external authorizer, doesn't support rules evaluation.
nonResourceRules
NonResourceRule array
NonResourceRules is the list of actions the subject is allowed to perform on non-resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
resourceRules
ResourceRule array
ResourceRules is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
+

SupplementalGroupsStrategyOptions v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1SupplementalGroupsStrategyOptions
+

SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy. Deprecated: use SupplementalGroupsStrategyOptions from policy API Group instead.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
ranges
IDRange array
ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end. Required for MustRunAs.
rule
string
rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.
+

Sysctl v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Sysctl
+

Sysctl defines a kernel parameter to be set

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
Name of a property to set
value
string
Value of a property to set
+

TCPSocketAction v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1TCPSocketAction
+

TCPSocketAction describes an action based on opening a socket

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
host
string
Optional: Host name to connect to, defaults to the pod IP.
portNumber 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.
+

Taint v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Taint
+

The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
effect
string
Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute.
key
string
Required. The taint key to be applied to a node.
timeAdded
Time
TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints.
value
string
Required. The taint value corresponding to the taint key.
+

Time v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1Time
+ + + + + + + + + + + + + + +
FieldDescription
+

Toleration v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1Toleration
+

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
effect
string
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
key
string
Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
operator
string
Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
tolerationSeconds
integer
TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
value
string
Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
+

TopologySelectorLabelRequirement v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1TopologySelectorLabelRequirement
+

A topology selector requirement is a selector that matches given label. This is an alpha feature and may change in the future.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
key
string
The label key that the selector applies to.
values
string array
An array of string values. One value must match the label to be selected. Each entry in Values is ORed.
+

TopologySelectorTerm v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1TopologySelectorTerm
+

A topology selector term represents the result of label queries. A null or empty topology selector term matches no objects. The requirements of them are ANDed. It provides a subset of functionality as NodeSelectorTerm. This is an alpha feature and may change in the future.

+ + + + + + + + + + + + + + + +
FieldDescription
matchLabelExpressions
TopologySelectorLabelRequirement array
A list of topology selector requirements by labels.
+

UserInfo v1 authentication

+ + + + + + + + + + + + + + + +
GroupVersionKind
authentication.k8s.iov1UserInfo
+ + +

UserInfo holds the information about the user needed to implement the user.Info interface.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
extra
object
Any additional information provided by the authenticator.
groups
string array
The names of groups this user is a part of.
uid
string
A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs.
username
string
The name that uniquely identifies this user among all active users.
+

VolumeAttachmentSource v1beta1 storage

+ + + + + + + + + + + + + + + +
GroupVersionKind
storage.k8s.iov1beta1VolumeAttachmentSource
+ + +

VolumeAttachmentSource represents a volume that should be attached. Right now only PersistenVolumes can be attached via external attacher, in future we may allow also inline volumes in pods. Exactly one member can be set.

+ + + + + + + + + + + + + + + +
FieldDescription
persistentVolumeName
string
Name of the persistent volume to attach.
+

VolumeDevice v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1VolumeDevice
+

volumeDevice describes a mapping of a raw block device within a container.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
devicePath
string
devicePath is the path inside of the container that the device will be mapped to.
name
string
name must match the name of a persistentVolumeClaim in the pod
+

VolumeError v1beta1 storage

+ + + + + + + + + + + + + + + +
GroupVersionKind
storage.k8s.iov1beta1VolumeError
+ + +

VolumeError captures an error encountered during a volume operation.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
message
string
String detailing the error encountered during Attach or Detach operation. This string maybe logged, so it should not contain sensitive information.
time
Time
Time the error was encountered.
+

VolumeMount v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1VolumeMount
+

VolumeMount describes a mounting of a Volume within a container.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
mountPath
string
Path within the container at which the volume should be mounted. Must not contain ':'.
mountPropagation
string
mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10.
name
string
This must match the Name of a Volume.
readOnly
boolean
Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.
subPath
string
Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).
+

VolumeNodeAffinity v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1VolumeNodeAffinity
+

VolumeNodeAffinity defines constraints that limit what nodes this volume can be accessed from.

+ + + + + + + + + + + + + + + +
FieldDescription
required
NodeSelector
Required specifies hard node constraints that must be met.
+

VolumeProjection v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1VolumeProjection
+

Projection that may be projected along with other supported volume types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
configMap
ConfigMapProjection
information about the configMap data to project
downwardAPI
DownwardAPIProjection
information about the downwardAPI data to project
secret
SecretProjection
information about the secret data to project
serviceAccountToken
ServiceAccountTokenProjection
information about the serviceAccountToken data to project
+

VsphereVirtualDiskVolumeSource v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1VsphereVirtualDiskVolumeSource
+

Represents a vSphere volume resource.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
fsType
string
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.
storagePolicyID
string
Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.
storagePolicyName
string
Storage Policy Based Management (SPBM) profile name.
volumePath
string
Path that identifies vSphere volume vmdk
+

WatchEvent v1 meta

+ + + + + + + + + + + + + + + +
GroupVersionKind
metav1WatchEvent
+

Event represents a single event to a watched resource.

+ + + + + + + + + + + + + + + + + +
FieldDescription
objectObject is: If Type is Added or Modified: the new state of the object. If Type is Deleted: the state of the object immediately before deletion. If Type is Error: Status is recommended; other types may make sense depending on context.
type
string
+

Webhook v1beta1 admissionregistration

+ + + + + + + + + + + + + + + +
GroupVersionKind
admissionregistration.k8s.iov1beta1Webhook
+

Webhook describes an admission webhook and the resources and operations it applies to.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
clientConfig
WebhookClientConfig
ClientConfig defines how to communicate with the hook. Required
failurePolicy
string
FailurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Ignore.
name
string
The name of the admission webhook. Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where "imagepolicy" is the name of the webhook, and kubernetes.io is the name of the organization. Required.
namespaceSelector
LabelSelector
NamespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook. For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "values": [ "0", "1" ] } ] } If instead you want to only run the webhook on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] } ] } See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors. Default to the empty LabelSelector, which matches everything.
rules
RuleWithOperations array
Rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches any Rule. However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a state which cannot be recovered from without completely disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects.
+

WebhookClientConfig v1beta1 admissionregistration

+ + + + + + + + + + + + + + + +
GroupVersionKind
admissionregistration.k8s.iov1beta1WebhookClientConfig
+

WebhookClientConfig contains the information to make a TLS connection with the webhook

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
caBundle
string
caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. Required.
service
ServiceReference
service is a reference to the service for this webhook. Either service or url must be specified. If the webhook is running within the cluster, then you should use service. Port 443 will be used if it is open, otherwise it is an error.
url
string
url gives the location of the webhook, in standard URL form ([scheme://]host:port/path). Exactly one of url or service must be specified. The host should not refer to a service running in the cluster; use the service field instead. The host might be resolved via external DNS in some apiservers (e.g., kube-apiserver cannot resolve in-cluster DNS as that would be a layering violation). host may also be an IP address. Please note that using localhost or 127.0.0.1 as a host is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster. The scheme must be "https"; the URL must begin with "https://&#34;. A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier. Attempting to use a user or basic auth e.g. "user:password@" is not allowed. Fragments ("#...") and query parameters ("?...") are not allowed, either.
+

WeightedPodAffinityTerm v1 core

+ + + + + + + + + + + + + + + +
GroupVersionKind
corev1WeightedPodAffinityTerm
+

The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
podAffinityTerm
PodAffinityTerm
Required. A pod affinity term, associated with the corresponding weight.
weight
integer
weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
+

OLD API VERSIONS

+

This section contains older versions of resources shown above.

+
+

APIService v1beta1 apiregistration.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiregistration.k8s.iov1beta1APIService
+ + + +

APIService represents a server for a particular GroupVersion. Name must be "version.group".

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
APIServiceSpec
Spec contains information for locating and communicating with a server
status
APIServiceStatus
Status contains derived information about an API server
+

APIServiceSpec v1beta1 apiregistration

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
caBundle
string
CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
group
string
Group is the API group name this server hosts
groupPriorityMinimum
integer
GroupPriorityMininum is the priority this group should have at least. Higher priority means that the group is preferred by clients over lower priority ones. Note that other versions of this group might specify even higher GroupPriorityMininum values such that the whole group gets a higher priority. The primary sort is based on GroupPriorityMinimum, ordered highest number to lowest (20 before 10). The secondary sort is based on the alphabetical comparison of the name of the object. (v1.bar before v1.foo) We'd recommend something like: *.k8s.io (except extensions) at 18000 and PaaSes (OpenShift, Deis) are recommended to be in the 2000s
insecureSkipTLSVerify
boolean
InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server. This is strongly discouraged. You should use the CABundle instead.
service
ServiceReference
Service is a reference to the service for this API server. It must communicate on port 443 If the Service is nil, that means the handling for the API groupversion is handled locally on this server. The call will simply delegate to the normal handler chain to be fulfilled.
version
string
Version is the API version this server hosts. For example, "v1"
versionPriority
integer
VersionPriority controls the ordering of this API version inside of its group. Must be greater than zero. The primary sort is based on VersionPriority, ordered highest to lowest (20 before 10). Since it's inside of a group, the number can be small, probably in the 10s. In case of equal version priorities, the version string will be used to compute the order inside a group. If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
+

APIServiceStatus v1beta1 apiregistration

+ + + + + + + + + + + + + + + +
FieldDescription
conditions
APIServiceCondition array
patch type: merge
patch merge key: type
Current service state of apiService.
+

APIServiceList v1beta1 apiregistration

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
APIService array
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create an APIService

+

HTTP Request

+

POST /apis/apiregistration.k8s.io/v1beta1/apiservices

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
APIService
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
201
APIService
Created
202
APIService
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified APIService

+

HTTP Request

+

PATCH /apis/apiregistration.k8s.io/v1beta1/apiservices/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified APIService

+

HTTP Request

+

PUT /apis/apiregistration.k8s.io/v1beta1/apiservices/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
APIService
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
201
APIService
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete an APIService

+

HTTP Request

+

DELETE /apis/apiregistration.k8s.io/v1beta1/apiservices/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of APIService

+

HTTP Request

+

DELETE /apis/apiregistration.k8s.io/v1beta1/apiservices

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified APIService

+

HTTP Request

+

GET /apis/apiregistration.k8s.io/v1beta1/apiservices/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind APIService

+

HTTP Request

+

GET /apis/apiregistration.k8s.io/v1beta1/apiservices

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
APIServiceList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind APIService

+

HTTP Request

+

GET /apis/apiregistration.k8s.io/v1beta1/watch/apiservices/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of APIService

+

HTTP Request

+

GET /apis/apiregistration.k8s.io/v1beta1/watch/apiservices

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified APIService

+

HTTP Request

+

PATCH /apis/apiregistration.k8s.io/v1beta1/apiservices/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified APIService

+

HTTP Request

+

GET /apis/apiregistration.k8s.io/v1beta1/apiservices/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified APIService

+

HTTP Request

+

PUT /apis/apiregistration.k8s.io/v1beta1/apiservices/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the APIService
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
APIService
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
APIService
OK
201
APIService
Created
+
+

APIServiceCondition v1beta1 apiregistration.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiregistration.k8s.iov1beta1APIServiceCondition
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
message
string
Human-readable message indicating details about last transition.
reason
string
Unique, one-word, CamelCase reason for the condition's last transition.
status
string
Status is the status of the condition. Can be True, False, Unknown.
type
string
Type is the type of the condition.
+
+

AggregationRule v1beta1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1beta1AggregationRule
+ + + +

AggregationRule describes how to locate ClusterRoles to aggregate into the ClusterRole

+ + + + + + + + + + + + + + + +
FieldDescription
clusterRoleSelectors
LabelSelector array
ClusterRoleSelectors holds a list of selectors which will be used to find ClusterRoles and create the rules. If any of the selectors match, then the ClusterRole's permissions will be added
+
+

AggregationRule v1alpha1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1alpha1AggregationRule
+ + + +

AggregationRule describes how to locate ClusterRoles to aggregate into the ClusterRole

+ + + + + + + + + + + + + + + +
FieldDescription
clusterRoleSelectors
LabelSelector array
ClusterRoleSelectors holds a list of selectors which will be used to find ClusterRoles and create the rules. If any of the selectors match, then the ClusterRole's permissions will be added
+
+

AllowedFlexVolume v1beta1 policy

+ + + + + + + + + + + + + + + +
GroupVersionKind
policyv1beta1AllowedFlexVolume
+

AllowedFlexVolume represents a single Flexvolume that is allowed to be used.

+ + + + + + + + + + + + + + + +
FieldDescription
driver
string
driver is the name of the Flexvolume driver.
+
+

AllowedHostPath v1beta1 policy

+ + + + + + + + + + + + + + + +
GroupVersionKind
policyv1beta1AllowedHostPath
+

AllowedHostPath defines the host volume conditions that will be enabled by a policy for pods to use. It requires the path prefix to be defined.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
pathPrefix
string
pathPrefix is the path prefix that the host volume must match. It does not support *. Trailing slashes are trimmed when validating the path prefix with a host path. Examples: /foo would allow /foo, /foo/ and /foo/bar /foo would not allow /food or /etc/foo
readOnly
boolean
when set to true, will allow host volumes matching the pathPrefix only if all volume mounts are readOnly.
+
+

ClusterRole v1beta1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1beta1ClusterRole
+ + + +

ClusterRole is a cluster level, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding or ClusterRoleBinding.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
aggregationRule
AggregationRule
AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be stomped by the controller.
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
rules
PolicyRule array
Rules holds all the PolicyRules for this ClusterRole
+

ClusterRoleList v1beta1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ClusterRole array
Items is a list of ClusterRoles
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ClusterRole

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1beta1/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRole
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ClusterRole
OK
201
ClusterRole
Created
202
ClusterRole
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ClusterRole

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1beta1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRole
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ClusterRole

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1beta1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRole
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ClusterRole
OK
201
ClusterRole
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ClusterRole

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1beta1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ClusterRole

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1beta1/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRole
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/watch/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/watch/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

ClusterRole v1alpha1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1alpha1ClusterRole
+ + + +

ClusterRole is a cluster level, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding or ClusterRoleBinding.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
aggregationRule
AggregationRule
AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be stomped by the controller.
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
rules
PolicyRule array
Rules holds all the PolicyRules for this ClusterRole
+

ClusterRoleList v1alpha1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ClusterRole array
Items is a list of ClusterRoles
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ClusterRole

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1alpha1/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRole
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ClusterRole
OK
201
ClusterRole
Created
202
ClusterRole
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ClusterRole

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1alpha1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRole
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ClusterRole

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1alpha1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRole
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ClusterRole
OK
201
ClusterRole
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ClusterRole

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1alpha1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ClusterRole

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1alpha1/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRole
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/watch/clusterroles/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRole
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ClusterRole

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/watch/clusterroles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

ClusterRoleBinding v1beta1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1beta1ClusterRoleBinding
+ + + +

ClusterRoleBinding references a ClusterRole, but not contain it. It can reference a ClusterRole in the global namespace, and adds who information via Subject.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
roleRef
RoleRef
RoleRef can only reference a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.
subjects
Subject array
Subjects holds references to the objects the role applies to.
+

ClusterRoleBindingList v1beta1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ClusterRoleBinding array
Items is a list of ClusterRoleBindings
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ClusterRoleBinding

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRoleBinding
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBinding
OK
201
ClusterRoleBinding
Created
202
ClusterRoleBinding
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ClusterRoleBinding

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBinding
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ClusterRoleBinding

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRoleBinding
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBinding
OK
201
ClusterRoleBinding
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ClusterRoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ClusterRoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBinding
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBindingList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/watch/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/watch/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

ClusterRoleBinding v1alpha1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1alpha1ClusterRoleBinding
+ + + +

ClusterRoleBinding references a ClusterRole, but not contain it. It can reference a ClusterRole in the global namespace, and adds who information via Subject.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
roleRef
RoleRef
RoleRef can only reference a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.
subjects
Subject array
Subjects holds references to the objects the role applies to.
+

ClusterRoleBindingList v1alpha1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ClusterRoleBinding array
Items is a list of ClusterRoleBindings
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ClusterRoleBinding

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1alpha1/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRoleBinding
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBinding
OK
201
ClusterRoleBinding
Created
202
ClusterRoleBinding
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ClusterRoleBinding

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1alpha1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBinding
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ClusterRoleBinding

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1alpha1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ClusterRoleBinding
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBinding
OK
201
ClusterRoleBinding
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ClusterRoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1alpha1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ClusterRoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1alpha1/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBinding
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ClusterRoleBindingList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/watch/clusterrolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the ClusterRoleBinding
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ClusterRoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/watch/clusterrolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

ControllerRevision v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2ControllerRevision
+ + + +

DEPRECATED - This group version of ControllerRevision is deprecated by apps/v1/ControllerRevision. See the release notes for more information. ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
dataData is the serialized representation of the state.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
revision
integer
Revision indicates the revision of the state represented by Data.
+

ControllerRevisionList v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ControllerRevision array
Items is the list of ControllerRevisions
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ControllerRevision

+

HTTP Request

+

POST /apis/apps/v1beta2/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ControllerRevision
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ControllerRevision
OK
201
ControllerRevision
Created
202
ControllerRevision
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ControllerRevision

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevision
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ControllerRevision

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ControllerRevision
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
ControllerRevision
Created
200
ControllerRevision
OK
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ControllerRevision

+

HTTP Request

+

DELETE /apis/apps/v1beta2/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ControllerRevision

+

HTTP Request

+

DELETE /apis/apps/v1beta2/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevision
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevisionList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta2/controllerrevisions

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevisionList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/controllerrevisions

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

ControllerRevision v1beta1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta1ControllerRevision
+ + + +

DEPRECATED - This group version of ControllerRevision is deprecated by apps/v1beta2/ControllerRevision. See the release notes for more information. ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
dataData is the serialized representation of the state.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
revision
integer
Revision indicates the revision of the state represented by Data.
+

ControllerRevisionList v1beta1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ControllerRevision array
Items is the list of ControllerRevisions
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ControllerRevision

+

HTTP Request

+

POST /apis/apps/v1beta1/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ControllerRevision
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
ControllerRevision
Accepted
200
ControllerRevision
OK
201
ControllerRevision
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ControllerRevision

+

HTTP Request

+

PATCH /apis/apps/v1beta1/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevision
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ControllerRevision

+

HTTP Request

+

PUT /apis/apps/v1beta1/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ControllerRevision
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ControllerRevision
OK
201
ControllerRevision
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ControllerRevision

+

HTTP Request

+

DELETE /apis/apps/v1beta1/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ControllerRevision

+

HTTP Request

+

DELETE /apis/apps/v1beta1/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta1/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevision
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta1/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevisionList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta1/controllerrevisions

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ControllerRevisionList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta1/watch/namespaces/{namespace}/controllerrevisions/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ControllerRevision
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta1/watch/namespaces/{namespace}/controllerrevisions

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ControllerRevision

+

HTTP Request

+

GET /apis/apps/v1beta1/watch/controllerrevisions

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

CronJob v2alpha1 batch

+ + + + + + + + + + + + + + + +
GroupVersionKind
batchv2alpha1CronJob
+ + + +

CronJob represents the configuration of a single cron job.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
CronJobSpec
Specification of the desired behavior of a cron job, including the schedule. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
CronJobStatus
Current status of a cron job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

CronJobSpec v2alpha1 batch

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
concurrencyPolicy
string
Specifies how to treat concurrent executions of a Job. Valid values are: - "Allow" (default): allows CronJobs to run concurrently; - "Forbid": forbids concurrent runs, skipping next run if previous run hasn't finished yet; - "Replace": cancels currently running job and replaces it with a new one
failedJobsHistoryLimit
integer
The number of failed finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified.
jobTemplate
JobTemplateSpec
Specifies the job that will be created when executing a CronJob.
schedule
string
The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
startingDeadlineSeconds
integer
Optional deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones.
successfulJobsHistoryLimit
integer
The number of successful finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified.
suspend
boolean
This flag tells the controller to suspend subsequent executions, it does not apply to already started executions. Defaults to false.
+

CronJobStatus v2alpha1 batch

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
active
ObjectReference array
A list of pointers to currently running jobs.
lastScheduleTime
Time
Information when was the last time the job was successfully scheduled.
+

CronJobList v2alpha1 batch

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
CronJob array
items is the list of CronJobs.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a CronJob

+

HTTP Request

+

POST /apis/batch/v2alpha1/namespaces/{namespace}/cronjobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CronJob
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
201
CronJob
Created
202
CronJob
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified CronJob

+

HTTP Request

+

PATCH /apis/batch/v2alpha1/namespaces/{namespace}/cronjobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified CronJob

+

HTTP Request

+

PUT /apis/batch/v2alpha1/namespaces/{namespace}/cronjobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CronJob
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
201
CronJob
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a CronJob

+

HTTP Request

+

DELETE /apis/batch/v2alpha1/namespaces/{namespace}/cronjobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of CronJob

+

HTTP Request

+

DELETE /apis/batch/v2alpha1/namespaces/{namespace}/cronjobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified CronJob

+

HTTP Request

+

GET /apis/batch/v2alpha1/namespaces/{namespace}/cronjobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind CronJob

+

HTTP Request

+

GET /apis/batch/v2alpha1/namespaces/{namespace}/cronjobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJobList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind CronJob

+

HTTP Request

+

GET /apis/batch/v2alpha1/cronjobs

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJobList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind CronJob

+

HTTP Request

+

GET /apis/batch/v2alpha1/watch/namespaces/{namespace}/cronjobs/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of CronJob

+

HTTP Request

+

GET /apis/batch/v2alpha1/watch/namespaces/{namespace}/cronjobs

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of CronJob

+

HTTP Request

+

GET /apis/batch/v2alpha1/watch/cronjobs

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified CronJob

+

HTTP Request

+

PATCH /apis/batch/v2alpha1/namespaces/{namespace}/cronjobs/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified CronJob

+

HTTP Request

+

GET /apis/batch/v2alpha1/namespaces/{namespace}/cronjobs/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified CronJob

+

HTTP Request

+

PUT /apis/batch/v2alpha1/namespaces/{namespace}/cronjobs/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the CronJob
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
CronJob
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
CronJob
OK
201
CronJob
Created
+
+

CrossVersionObjectReference v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1CrossVersionObjectReference
+ + + +

CrossVersionObjectReference contains enough information to let you identify the referred resource.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
API version of the referent
kind
string
Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds&#34;
name
string
Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names
+
+

DaemonSet v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2DaemonSet
+ + + +

DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the release notes for more information. DaemonSet represents the configuration of a daemon set.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
DaemonSetSpec
The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
DaemonSetStatus
The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

DaemonSetSpec v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
minReadySeconds
integer
The minimum number of seconds for which a newly created DaemonSet 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).
revisionHistoryLimit
integer
The number of old history to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10.
selector
LabelSelector
A label query over pods that are managed by the daemon set. Must match in order to be controlled. It must match the pod template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
template
PodTemplateSpec
An 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: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
updateStrategy
DaemonSetUpdateStrategy
An update strategy to replace existing DaemonSet pods with new pods.
+

DaemonSetStatus v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
collisionCount
integer
Count of hash collisions for the DaemonSet. The DaemonSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.
conditions
DaemonSetCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a DaemonSet's current state.
currentNumberScheduled
integer
The number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
desiredNumberScheduled
integer
The total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
numberAvailable
integer
The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and available (ready for at least spec.minReadySeconds)
numberMisscheduled
integer
The number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
numberReady
integer
The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.
numberUnavailable
integer
The number of nodes that should be running the daemon pod and have none of the daemon pod running and available (ready for at least spec.minReadySeconds)
observedGeneration
integer
The most recent generation observed by the daemon set controller.
updatedNumberScheduled
integer
The total number of nodes that are running updated daemon pod
+

DaemonSetList v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
DaemonSet array
A list of daemon sets.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

RollingUpdateDaemonSet v1beta2 apps

+ + + + + + + + + + + + + + + +
FieldDescription
maxUnavailableThe maximum number of DaemonSet pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up. This cannot be 0. Default value is 1. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their pods stopped for an update at any given time. The update starts by stopping at most 30% of those DaemonSet pods and then brings up new DaemonSet pods in their place. Once the new pods are available, it then proceeds onto other DaemonSet pods, thus ensuring that at least 70% of original number of DaemonSet pods are available at all times during the update.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+$ echo 'apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+  name: daemonset-example
+spec:
+  template:
+    metadata:
+      labels:
+        app: daemonset-example
+    spec:
+      containers:
+      - name: daemonset-example
+        image: ubuntu:trusty
+        command:
+        - /bin/sh
+        args:
+        - -c
+        - >-
+          while [ true ]; do
+          echo "DaemonSet running on $(hostname)" ;
+          sleep 10 ;
+          done
+' | kubectl create -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X POST -H 'Content-Type: application/yaml' --data '
+apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+  name: daemonset-example
+spec:
+  template:
+    metadata:
+      labels:
+        app: daemonset-example
+    spec:
+      containers:
+      - name: daemonset-example
+        image: ubuntu:trusty
+        command:
+        - /bin/sh
+        args:
+        - -c
+        - >-
+          while [ true ]; do
+          echo "DaemonSet running on $(hostname)" ;
+          sleep 10 ;
+          done
+' http://127.0.0.1:8001/apis/apps/v1beta2/namespaces/default/daemonsets
+
+
+

Output

+
+

+daemonset "daemonset-example" created
+
+
+

Response Body

+
+

+{
+  "kind": "DaemonSet",
+  "apiVersion": "extensions/v1beta1",
+  "metadata": {
+    "name": "daemonset-example",
+    "namespace": "default",
+    "selfLink": "/apis/extensions/v1beta1/namespaces/default/daemonsets/daemonset-example",
+    "uid": "65552ced-b0e2-11e6-aef0-42010af00229",
+    "resourceVersion": "3558",
+    "generation": 1,
+    "creationTimestamp": "2016-11-22T18:35:09Z",
+    "labels": {
+      "app": "daemonset-example"
+    }
+  },
+  "spec": {
+    "selector": {
+      "matchLabels": {
+        "app": "daemonset-example"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "daemonset-example"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "daemonset-example",
+            "image": "ubuntu:trusty",
+            "command": [
+              "/bin/sh"
+            ],
+            "args": [
+              "-c",
+              "while [ true ]; do echo \"DaemonSet running on $(hostname)\" ; sleep 10 ; done"
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    }
+  },
+  "status": {
+    "currentNumberScheduled": 0,
+    "numberMisscheduled": 0,
+    "desiredNumberScheduled": 0
+  }
+}
+
+

create a DaemonSet

+

HTTP Request

+

POST /apis/apps/v1beta2/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DaemonSet
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
DaemonSet
Accepted
200
DaemonSet
OK
201
DaemonSet
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified DaemonSet

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified DaemonSet

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DaemonSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
201
DaemonSet
Created
+

Delete

+
+

kubectl Command

+
+

+$ kubectl delete daemonset daemonset-example
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X DELETE -H 'Content-Type: application/yaml' --data '
+gracePeriodSeconds: 0
+orphanDependents: false
+' 'http://127.0.0.1:8001/apis/apps/v1beta2/namespaces/default/daemonsets/daemonset-example'
+
+
+

Output

+
+

+daemonset "daemonset-example" deleted
+
+
+

Response Body

+
+

+{
+  "kind": "Status",
+  "apiVersion": "v1",
+  "metadata": {},
+  "status": "Success",
+  "code": 200
+}
+
+

delete a DaemonSet

+

HTTP Request

+

DELETE /apis/apps/v1beta2/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of DaemonSet

+

HTTP Request

+

DELETE /apis/apps/v1beta2/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+$ kubectl get daemonset daemonset-example -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET http://127.0.0.1:8001/apis/apps/v1beta2/namespaces/default/daemonsets/daemonset-example
+
+
+

Output

+
+

+
+
+

Response Body

+
+

+
+

read the specified DaemonSet

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind DaemonSet

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSetList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind DaemonSet

+

HTTP Request

+

GET /apis/apps/v1beta2/daemonsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSetList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind DaemonSet

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of DaemonSet

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of DaemonSet

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/daemonsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified DaemonSet

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/daemonsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified DaemonSet

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/daemonsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified DaemonSet

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/daemonsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DaemonSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
201
DaemonSet
Created
+
+

DaemonSet v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1DaemonSet
+ + + +

DEPRECATED - This group version of DaemonSet is deprecated by apps/v1beta2/DaemonSet. See the release notes for more information. DaemonSet represents the configuration of a daemon set.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
DaemonSetSpec
The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
DaemonSetStatus
The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

DaemonSetSpec v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
minReadySeconds
integer
The minimum number of seconds for which a newly created DaemonSet 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).
revisionHistoryLimit
integer
The number of old history to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10.
selector
LabelSelector
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: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
template
PodTemplateSpec
An 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: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
templateGeneration
integer
DEPRECATED. A sequence number representing a specific generation of the template. Populated by the system. It can be set only during the creation.
updateStrategy
DaemonSetUpdateStrategy
An update strategy to replace existing DaemonSet pods with new pods.
+

DaemonSetStatus v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
collisionCount
integer
Count of hash collisions for the DaemonSet. The DaemonSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.
conditions
DaemonSetCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a DaemonSet's current state.
currentNumberScheduled
integer
The number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
desiredNumberScheduled
integer
The total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
numberAvailable
integer
The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and available (ready for at least spec.minReadySeconds)
numberMisscheduled
integer
The number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
numberReady
integer
The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.
numberUnavailable
integer
The number of nodes that should be running the daemon pod and have none of the daemon pod running and available (ready for at least spec.minReadySeconds)
observedGeneration
integer
The most recent generation observed by the daemon set controller.
updatedNumberScheduled
integer
The total number of nodes that are running updated daemon pod
+

DaemonSetList v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
DaemonSet array
A list of daemon sets.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

RollingUpdateDaemonSet v1beta1 extensions

+ + + + + + + + + + + + + + + +
FieldDescription
maxUnavailableThe maximum number of DaemonSet pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up. This cannot be 0. Default value is 1. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their pods stopped for an update at any given time. The update starts by stopping at most 30% of those DaemonSet pods and then brings up new DaemonSet pods in their place. Once the new pods are available, it then proceeds onto other DaemonSet pods, thus ensuring that at least 70% of original number of DaemonSet pods are available at all times during the update.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+$ echo 'apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+  name: daemonset-example
+spec:
+  template:
+    metadata:
+      labels:
+        app: daemonset-example
+    spec:
+      containers:
+      - name: daemonset-example
+        image: ubuntu:trusty
+        command:
+        - /bin/sh
+        args:
+        - -c
+        - >-
+          while [ true ]; do
+          echo "DaemonSet running on $(hostname)" ;
+          sleep 10 ;
+          done
+' | kubectl create -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X POST -H 'Content-Type: application/yaml' --data '
+apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+  name: daemonset-example
+spec:
+  template:
+    metadata:
+      labels:
+        app: daemonset-example
+    spec:
+      containers:
+      - name: daemonset-example
+        image: ubuntu:trusty
+        command:
+        - /bin/sh
+        args:
+        - -c
+        - >-
+          while [ true ]; do
+          echo "DaemonSet running on $(hostname)" ;
+          sleep 10 ;
+          done
+' http://127.0.0.1:8001/apis/extensions/v1beta1/namespaces/default/daemonsets
+
+
+

Output

+
+

+daemonset "daemonset-example" created
+
+
+

Response Body

+
+

+{
+  "kind": "DaemonSet",
+  "apiVersion": "extensions/v1beta1",
+  "metadata": {
+    "name": "daemonset-example",
+    "namespace": "default",
+    "selfLink": "/apis/extensions/v1beta1/namespaces/default/daemonsets/daemonset-example",
+    "uid": "65552ced-b0e2-11e6-aef0-42010af00229",
+    "resourceVersion": "3558",
+    "generation": 1,
+    "creationTimestamp": "2016-11-22T18:35:09Z",
+    "labels": {
+      "app": "daemonset-example"
+    }
+  },
+  "spec": {
+    "selector": {
+      "matchLabels": {
+        "app": "daemonset-example"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "daemonset-example"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "daemonset-example",
+            "image": "ubuntu:trusty",
+            "command": [
+              "/bin/sh"
+            ],
+            "args": [
+              "-c",
+              "while [ true ]; do echo \"DaemonSet running on $(hostname)\" ; sleep 10 ; done"
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    }
+  },
+  "status": {
+    "currentNumberScheduled": 0,
+    "numberMisscheduled": 0,
+    "desiredNumberScheduled": 0
+  }
+}
+
+

create a DaemonSet

+

HTTP Request

+

POST /apis/extensions/v1beta1/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DaemonSet
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
201
DaemonSet
Created
202
DaemonSet
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified DaemonSet

+

HTTP Request

+

PATCH /apis/extensions/v1beta1/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified DaemonSet

+

HTTP Request

+

PUT /apis/extensions/v1beta1/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DaemonSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
201
DaemonSet
Created
+

Delete

+
+

kubectl Command

+
+

+$ kubectl delete daemonset daemonset-example
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X DELETE -H 'Content-Type: application/yaml' --data '
+gracePeriodSeconds: 0
+orphanDependents: false
+' 'http://127.0.0.1:8001/apis/extensions/v1beta1/namespaces/default/daemonsets/daemonset-example'
+
+
+

Output

+
+

+daemonset "daemonset-example" deleted
+
+
+

Response Body

+
+

+{
+  "kind": "Status",
+  "apiVersion": "v1",
+  "metadata": {},
+  "status": "Success",
+  "code": 200
+}
+
+

delete a DaemonSet

+

HTTP Request

+

DELETE /apis/extensions/v1beta1/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of DaemonSet

+

HTTP Request

+

DELETE /apis/extensions/v1beta1/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+$ kubectl get daemonset daemonset-example -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET http://127.0.0.1:8001/apis/extensions/v1beta1/namespaces/default/daemonsets/daemonset-example
+
+
+

Output

+
+

+
+
+

Response Body

+
+

+
+

read the specified DaemonSet

+

HTTP Request

+

GET /apis/extensions/v1beta1/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind DaemonSet

+

HTTP Request

+

GET /apis/extensions/v1beta1/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSetList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind DaemonSet

+

HTTP Request

+

GET /apis/extensions/v1beta1/daemonsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSetList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind DaemonSet

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/daemonsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of DaemonSet

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/daemonsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of DaemonSet

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/daemonsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified DaemonSet

+

HTTP Request

+

PATCH /apis/extensions/v1beta1/namespaces/{namespace}/daemonsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified DaemonSet

+

HTTP Request

+

GET /apis/extensions/v1beta1/namespaces/{namespace}/daemonsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified DaemonSet

+

HTTP Request

+

PUT /apis/extensions/v1beta1/namespaces/{namespace}/daemonsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DaemonSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DaemonSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
DaemonSet
OK
201
DaemonSet
Created
+
+

DaemonSetCondition v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2DaemonSetCondition
+ + + +

DaemonSetCondition describes the state of a DaemonSet at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of DaemonSet condition.
+
+

DaemonSetCondition v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1DaemonSetCondition
+ + + +

DaemonSetCondition describes the state of a DaemonSet at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of DaemonSet condition.
+
+

DaemonSetUpdateStrategy v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2DaemonSetUpdateStrategy
+ + + +

DaemonSetUpdateStrategy is a struct used to control the update strategy for a DaemonSet.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
rollingUpdate
RollingUpdateDaemonSet
Rolling update config params. Present only if type = "RollingUpdate".
type
string
Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is RollingUpdate.
+
+

DaemonSetUpdateStrategy v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1DaemonSetUpdateStrategy
+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
rollingUpdate
RollingUpdateDaemonSet
Rolling update config params. Present only if type = "RollingUpdate".
type
string
Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is OnDelete.
+
+

Deployment v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2Deployment
+ + + +

DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the release notes for more information. Deployment enables declarative updates for Pods and ReplicaSets.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata.
spec
DeploymentSpec
Specification of the desired behavior of the Deployment.
status
DeploymentStatus
Most recently observed status of the Deployment.
+

DeploymentSpec v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
minReadySeconds
integer
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)
paused
boolean
Indicates that the deployment is paused.
progressDeadlineSeconds
integer
The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.
replicas
integer
Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
revisionHistoryLimit
integer
The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10.
selector
LabelSelector
Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template's labels.
strategy
DeploymentStrategy
The deployment strategy to use to replace existing pods with new ones.
template
PodTemplateSpec
Template describes the pods that will be created.
+

DeploymentStatus v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
availableReplicas
integer
Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.
collisionCount
integer
Count of hash collisions for the Deployment. The Deployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ReplicaSet.
conditions
DeploymentCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a deployment's current state.
observedGeneration
integer
The generation observed by the deployment controller.
readyReplicas
integer
Total number of ready pods targeted by this deployment.
replicas
integer
Total number of non-terminated pods targeted by this deployment (their labels match the selector).
unavailableReplicas
integer
Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity. They may either be pods that are running but not yet available or pods that still have not been created.
updatedReplicas
integer
Total number of non-terminated pods targeted by this deployment that have the desired template spec.
+

DeploymentList v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Deployment array
Items is the list of Deployments.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata.
+

DeploymentStrategy v1beta2 apps

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
rollingUpdate
RollingUpdateDeployment
Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.
type
string
Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.
+

RollingUpdateDeployment v1beta2 apps

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
maxSurgeThe maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of desired pods.
maxUnavailableThe maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+$ echo 'apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.10
+        ports:
+        - containerPort: 80
+' | kubectl create -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X POST -H 'Content-Type: application/yaml' --data '
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.10
+        ports:
+        - containerPort: 80
+' http://127.0.0.1:8001/apis/apps/v1beta2/namespaces/default/deployments
+
+
+

Output

+
+

+deployment "deployment-example" created
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "4ccca349-9cb1-11e6-9c54-42010a800148",
+    "resourceVersion": "2118306",
+    "generation": 1,
+    "creationTimestamp": "2016-10-28T01:53:19Z",
+    "labels": {
+      "app": "nginx"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {}
+}
+
+

create a Deployment

+

HTTP Request

+

POST /apis/apps/v1beta2/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
Deployment
Accepted
200
Deployment
OK
201
Deployment
Created
+

Patch

+
+

kubectl Command

+
+

+$ kubectl patch deployment deployment-example -p \
+    '{"spec":{"template":{"spec":{"containers":[{"name":"nginx","image":"nginx:1.11"}]}}}}'
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X PATCH -H 'Content-Type: application/strategic-merge-patch+json' --data '
+{"spec":{"template":{"spec":{"containers":[{"name":"nginx","image":"nginx:1.11"}]}}}}' \
+    'http://127.0.0.1:8001/apis/apps/v1beta2/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+"deployment-example" patched
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "5dc3a8e6-b0ee-11e6-aef0-42010af00229",
+    "resourceVersion": "164489",
+    "generation": 11,
+    "creationTimestamp": "2016-11-22T20:00:50Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "5"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.11",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {
+    "observedGeneration": 10,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

partially update the specified Deployment

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Replace

+
+

kubectl Command

+
+

+$ echo 'apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.11
+        ports:
+        - containerPort: 80
+' | kubectl replace -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X PUT -H 'Content-Type: application/yaml' --data '
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.11
+        ports:
+        - containerPort: 80
+' http://127.0.0.1:8001/apis/apps/v1beta2/namespaces/default/deployments/deployment-example
+
+
+

Output

+
+

+deployment "deployment-example" replaced
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "4ccca349-9cb1-11e6-9c54-42010a800148",
+    "resourceVersion": "2119082",
+    "generation": 5,
+    "creationTimestamp": "2016-10-28T01:53:19Z",
+    "labels": {
+      "app": "nginx"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.11",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

replace the specified Deployment

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
201
Deployment
Created
+

Delete

+
+

kubectl Command

+
+

+$ kubectl delete deployment deployment-example
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X DELETE -H 'Content-Type: application/yaml' --data '
+gracePeriodSeconds: 0
+orphanDependents: false
+' 'http://127.0.0.1:8001/apis/apps/v1beta2/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+deployment "deployment-example" deleted
+
+
+

Response Body

+
+

+{
+  "kind": "Status",
+  "apiVersion": "v1",
+  "metadata": {},
+  "status": "Success",
+  "code": 200
+}
+
+

delete a Deployment

+

HTTP Request

+

DELETE /apis/apps/v1beta2/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Deployment

+

HTTP Request

+

DELETE /apis/apps/v1beta2/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+$ kubectl get deployment deployment-example -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET http://127.0.0.1:8001/apis/apps/v1beta2/namespaces/default/deployments/deployment-example
+
+
+

Output

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+    "resourceVersion": "2064726",
+    "generation": 4,
+    "creationTimestamp": "2016-10-27T16:33:35Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "1"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    }
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+    "resourceVersion": "2064726",
+    "generation": 4,
+    "creationTimestamp": "2016-10-27T16:33:35Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "1"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    }
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

read the specified Deployment

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

List

+
+

kubectl Command

+
+

+$ kubectl get deployment -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/apis/apps/v1beta2/namespaces/default/deployments'
+
+
+

Output

+
+

+{
+  "kind": "List",
+  "apiVersion": "v1",
+  "metadata": {},
+  "items": [
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "docs",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/docs",
+        "uid": "ef49e1d2-915e-11e6-be81-42010a80003f",
+        "resourceVersion": "1924126",
+        "generation": 21,
+        "creationTimestamp": "2016-10-13T16:06:00Z",
+        "labels": {
+          "run": "docs"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "10",
+          "replicatingperfection.net/push-image": "true"
+        }
+      },
+      "spec": {
+        "replicas": 1,
+        "selector": {
+          "matchLabels": {
+            "run": "docs"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "auto-pushed-image-pwittrock/api-docs": "1477496453",
+              "run": "docs"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "docs",
+                "image": "pwittrock/api-docs:v9",
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "Always"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 21,
+        "replicas": 1,
+        "updatedReplicas": 1,
+        "availableReplicas": 1
+      }
+    },
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "deployment-example",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/deployment-example",
+        "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+        "resourceVersion": "2064726",
+        "generation": 4,
+        "creationTimestamp": "2016-10-27T16:33:35Z",
+        "labels": {
+          "app": "nginx"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "1"
+        }
+      },
+      "spec": {
+        "replicas": 3,
+        "selector": {
+          "matchLabels": {
+            "app": "nginx"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "app": "nginx"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "nginx",
+                "image": "nginx:1.10",
+                "ports": [
+                  {
+                    "containerPort": 80,
+                    "protocol": "TCP"
+                  }
+                ],
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "IfNotPresent"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 4,
+        "replicas": 3,
+        "updatedReplicas": 3,
+        "availableReplicas": 3
+      }
+    }
+  ]
+}
+
+
+

Response Body

+
+

+{
+  "kind": "List",
+  "apiVersion": "v1",
+  "metadata": {},
+  "items": [
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "docs",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/docs",
+        "uid": "ef49e1d2-915e-11e6-be81-42010a80003f",
+        "resourceVersion": "1924126",
+        "generation": 21,
+        "creationTimestamp": "2016-10-13T16:06:00Z",
+        "labels": {
+          "run": "docs"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "10",
+          "replicatingperfection.net/push-image": "true"
+        }
+      },
+      "spec": {
+        "replicas": 1,
+        "selector": {
+          "matchLabels": {
+            "run": "docs"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "auto-pushed-image-pwittrock/api-docs": "1477496453",
+              "run": "docs"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "docs",
+                "image": "pwittrock/api-docs:v9",
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "Always"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 21,
+        "replicas": 1,
+        "updatedReplicas": 1,
+        "availableReplicas": 1
+      }
+    },
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "deployment-example",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/deployment-example",
+        "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+        "resourceVersion": "2064726",
+        "generation": 4,
+        "creationTimestamp": "2016-10-27T16:33:35Z",
+        "labels": {
+          "app": "nginx"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "1"
+        }
+      },
+      "spec": {
+        "replicas": 3,
+        "selector": {
+          "matchLabels": {
+            "app": "nginx"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "app": "nginx"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "nginx",
+                "image": "nginx:1.10",
+                "ports": [
+                  {
+                    "containerPort": 80,
+                    "protocol": "TCP"
+                  }
+                ],
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "IfNotPresent"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 4,
+        "replicas": 3,
+        "updatedReplicas": 3,
+        "availableReplicas": 3
+      }
+    }
+  ]
+}
+
+

list or watch objects of kind Deployment

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DeploymentList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Deployment

+

HTTP Request

+

GET /apis/apps/v1beta2/deployments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DeploymentList
OK
+

Watch

+
+

kubectl Command

+
+

+$ kubectl get deployment deployment-example --watch -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/apis/apps/v1beta2/watch/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Deployment",
+        "apiVersion": "apps/v1beta1",
+        "metadata": {
+            "name": "deployment-example",
+            "namespace": "default",
+            "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+            "uid": "64c12290-9cbf-11e6-9c54-42010a800148",
+            "resourceVersion": "2128095",
+            "generation": 2,
+            "creationTimestamp": "2016-10-28T03:34:12Z",
+            "labels": {
+                "app": "nginx"
+            },
+            "annotations": {
+                "deployment.kubernetes.io/revision": "3"
+            }
+        },
+        "spec": {
+            "replicas": 3,
+            "selector": {
+                "matchLabels": {
+                    "app": "nginx"
+                }
+            },
+            "template": {
+                "metadata": {
+                    "creationTimestamp": null,
+                    "labels": {
+                        "app": "nginx"
+                    }
+                },
+                "spec": {
+                    "containers": [
+                        {
+                            "name": "nginx",
+                            "image": "nginx:1.10",
+                            "ports": [
+                                {
+                                    "containerPort": 80,
+                                    "protocol": "TCP"
+                                }
+                            ],
+                            "resources": {
+                            },
+                            "terminationMessagePath": "/dev/termination-log",
+                            "imagePullPolicy": "IfNotPresent"
+                        }
+                    ],
+                    "restartPolicy": "Always",
+                    "terminationGracePeriodSeconds": 30,
+                    "dnsPolicy": "ClusterFirst",
+                    "securityContext": {
+                    }
+                }
+            },
+            "strategy": {
+                "type": "RollingUpdate",
+                "rollingUpdate": {
+                    "maxUnavailable": 1,
+                    "maxSurge": 1
+                }
+            }
+        },
+        "status": {
+            "observedGeneration": 2,
+            "replicas": 3,
+            "updatedReplicas": 3,
+            "availableReplicas": 3
+        }
+    }
+}
+
+
+

Response Body

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Deployment",
+        "apiVersion": "apps/v1beta1",
+        "metadata": {
+            "name": "deployment-example",
+            "namespace": "default",
+            "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+            "uid": "64c12290-9cbf-11e6-9c54-42010a800148",
+            "resourceVersion": "2128095",
+            "generation": 2,
+            "creationTimestamp": "2016-10-28T03:34:12Z",
+            "labels": {
+                "app": "nginx"
+            },
+            "annotations": {
+                "deployment.kubernetes.io/revision": "3"
+            }
+        },
+        "spec": {
+            "replicas": 3,
+            "selector": {
+                "matchLabels": {
+                    "app": "nginx"
+                }
+            },
+            "template": {
+                "metadata": {
+                    "creationTimestamp": null,
+                    "labels": {
+                        "app": "nginx"
+                    }
+                },
+                "spec": {
+                    "containers": [
+                        {
+                            "name": "nginx",
+                            "image": "nginx:1.10",
+                            "ports": [
+                                {
+                                    "containerPort": 80,
+                                    "protocol": "TCP"
+                                }
+                            ],
+                            "resources": {
+                            },
+                            "terminationMessagePath": "/dev/termination-log",
+                            "imagePullPolicy": "IfNotPresent"
+                        }
+                    ],
+                    "restartPolicy": "Always",
+                    "terminationGracePeriodSeconds": 30,
+                    "dnsPolicy": "ClusterFirst",
+                    "securityContext": {
+                    }
+                }
+            },
+            "strategy": {
+                "type": "RollingUpdate",
+                "rollingUpdate": {
+                    "maxUnavailable": 1,
+                    "maxSurge": 1
+                }
+            }
+        },
+        "status": {
+            "observedGeneration": 2,
+            "replicas": 3,
+            "updatedReplicas": 3,
+            "availableReplicas": 3
+        }
+    }
+}
+
+

watch changes to an object of kind Deployment

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Deployment

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Deployment

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/deployments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified Deployment

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified Deployment

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified Deployment

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
Deployment
Created
200
Deployment
OK
+

Misc Operations

+

See supported operations below...

+

Read Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read scale of the specified Deployment

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/deployments/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Replace Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace scale of the specified Deployment

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/deployments/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Scale
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
Scale
Created
200
Scale
OK
+

Patch Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update scale of the specified Deployment

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/deployments/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+
+

Deployment v1beta1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta1Deployment
+ + + +

DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the release notes for more information. Deployment enables declarative updates for Pods and ReplicaSets.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata.
spec
DeploymentSpec
Specification of the desired behavior of the Deployment.
status
DeploymentStatus
Most recently observed status of the Deployment.
+

DeploymentSpec v1beta1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
minReadySeconds
integer
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)
paused
boolean
Indicates that the deployment is paused.
progressDeadlineSeconds
integer
The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.
replicas
integer
Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
revisionHistoryLimit
integer
The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 2.
rollbackTo
RollbackConfig
DEPRECATED. The config this deployment is rolling back to. Will be cleared after rollback is done.
selector
LabelSelector
Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.
strategy
DeploymentStrategy
The deployment strategy to use to replace existing pods with new ones.
template
PodTemplateSpec
Template describes the pods that will be created.
+

DeploymentStatus v1beta1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
availableReplicas
integer
Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.
collisionCount
integer
Count of hash collisions for the Deployment. The Deployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ReplicaSet.
conditions
DeploymentCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a deployment's current state.
observedGeneration
integer
The generation observed by the deployment controller.
readyReplicas
integer
Total number of ready pods targeted by this deployment.
replicas
integer
Total number of non-terminated pods targeted by this deployment (their labels match the selector).
unavailableReplicas
integer
Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity. They may either be pods that are running but not yet available or pods that still have not been created.
updatedReplicas
integer
Total number of non-terminated pods targeted by this deployment that have the desired template spec.
+

DeploymentList v1beta1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Deployment array
Items is the list of Deployments.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata.
+

DeploymentStrategy v1beta1 apps

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
rollingUpdate
RollingUpdateDeployment
Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.
type
string
Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.
+

DeploymentRollback v1beta1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
name
string
Required: This must match the Name of a deployment.
rollbackTo
RollbackConfig
The config of this deployment rollback.
updatedAnnotations
object
The annotations to be updated to a deployment
+

RollingUpdateDeployment v1beta1 apps

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
maxSurgeThe maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of desired pods.
maxUnavailableThe maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+$ echo 'apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.10
+        ports:
+        - containerPort: 80
+' | kubectl create -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X POST -H 'Content-Type: application/yaml' --data '
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.10
+        ports:
+        - containerPort: 80
+' http://127.0.0.1:8001/apis/apps/v1beta1/namespaces/default/deployments
+
+
+

Output

+
+

+deployment "deployment-example" created
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "4ccca349-9cb1-11e6-9c54-42010a800148",
+    "resourceVersion": "2118306",
+    "generation": 1,
+    "creationTimestamp": "2016-10-28T01:53:19Z",
+    "labels": {
+      "app": "nginx"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {}
+}
+
+

create a Deployment

+

HTTP Request

+

POST /apis/apps/v1beta1/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
201
Deployment
Created
202
Deployment
Accepted
+

Patch

+
+

kubectl Command

+
+

+$ kubectl patch deployment deployment-example -p \
+    '{"spec":{"template":{"spec":{"containers":[{"name":"nginx","image":"nginx:1.11"}]}}}}'
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X PATCH -H 'Content-Type: application/strategic-merge-patch+json' --data '
+{"spec":{"template":{"spec":{"containers":[{"name":"nginx","image":"nginx:1.11"}]}}}}' \
+    'http://127.0.0.1:8001/apis/apps/v1beta1/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+"deployment-example" patched
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "5dc3a8e6-b0ee-11e6-aef0-42010af00229",
+    "resourceVersion": "164489",
+    "generation": 11,
+    "creationTimestamp": "2016-11-22T20:00:50Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "5"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.11",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {
+    "observedGeneration": 10,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

partially update the specified Deployment

+

HTTP Request

+

PATCH /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Replace

+
+

kubectl Command

+
+

+$ echo 'apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.11
+        ports:
+        - containerPort: 80
+' | kubectl replace -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X PUT -H 'Content-Type: application/yaml' --data '
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.11
+        ports:
+        - containerPort: 80
+' http://127.0.0.1:8001/apis/apps/v1beta1/namespaces/default/deployments/deployment-example
+
+
+

Output

+
+

+deployment "deployment-example" replaced
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "4ccca349-9cb1-11e6-9c54-42010a800148",
+    "resourceVersion": "2119082",
+    "generation": 5,
+    "creationTimestamp": "2016-10-28T01:53:19Z",
+    "labels": {
+      "app": "nginx"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.11",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

replace the specified Deployment

+

HTTP Request

+

PUT /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
201
Deployment
Created
+

Delete

+
+

kubectl Command

+
+

+$ kubectl delete deployment deployment-example
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X DELETE -H 'Content-Type: application/yaml' --data '
+gracePeriodSeconds: 0
+orphanDependents: false
+' 'http://127.0.0.1:8001/apis/apps/v1beta1/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+deployment "deployment-example" deleted
+
+
+

Response Body

+
+

+{
+  "kind": "Status",
+  "apiVersion": "v1",
+  "metadata": {},
+  "status": "Success",
+  "code": 200
+}
+
+

delete a Deployment

+

HTTP Request

+

DELETE /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Deployment

+

HTTP Request

+

DELETE /apis/apps/v1beta1/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+$ kubectl get deployment deployment-example -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET http://127.0.0.1:8001/apis/apps/v1beta1/namespaces/default/deployments/deployment-example
+
+
+

Output

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+    "resourceVersion": "2064726",
+    "generation": 4,
+    "creationTimestamp": "2016-10-27T16:33:35Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "1"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    }
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+    "resourceVersion": "2064726",
+    "generation": 4,
+    "creationTimestamp": "2016-10-27T16:33:35Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "1"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    }
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

read the specified Deployment

+

HTTP Request

+

GET /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

List

+
+

kubectl Command

+
+

+$ kubectl get deployment -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/apis/apps/v1beta1/namespaces/default/deployments'
+
+
+

Output

+
+

+{
+  "kind": "List",
+  "apiVersion": "v1",
+  "metadata": {},
+  "items": [
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "docs",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/docs",
+        "uid": "ef49e1d2-915e-11e6-be81-42010a80003f",
+        "resourceVersion": "1924126",
+        "generation": 21,
+        "creationTimestamp": "2016-10-13T16:06:00Z",
+        "labels": {
+          "run": "docs"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "10",
+          "replicatingperfection.net/push-image": "true"
+        }
+      },
+      "spec": {
+        "replicas": 1,
+        "selector": {
+          "matchLabels": {
+            "run": "docs"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "auto-pushed-image-pwittrock/api-docs": "1477496453",
+              "run": "docs"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "docs",
+                "image": "pwittrock/api-docs:v9",
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "Always"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 21,
+        "replicas": 1,
+        "updatedReplicas": 1,
+        "availableReplicas": 1
+      }
+    },
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "deployment-example",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/deployment-example",
+        "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+        "resourceVersion": "2064726",
+        "generation": 4,
+        "creationTimestamp": "2016-10-27T16:33:35Z",
+        "labels": {
+          "app": "nginx"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "1"
+        }
+      },
+      "spec": {
+        "replicas": 3,
+        "selector": {
+          "matchLabels": {
+            "app": "nginx"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "app": "nginx"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "nginx",
+                "image": "nginx:1.10",
+                "ports": [
+                  {
+                    "containerPort": 80,
+                    "protocol": "TCP"
+                  }
+                ],
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "IfNotPresent"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 4,
+        "replicas": 3,
+        "updatedReplicas": 3,
+        "availableReplicas": 3
+      }
+    }
+  ]
+}
+
+
+

Response Body

+
+

+{
+  "kind": "List",
+  "apiVersion": "v1",
+  "metadata": {},
+  "items": [
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "docs",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/docs",
+        "uid": "ef49e1d2-915e-11e6-be81-42010a80003f",
+        "resourceVersion": "1924126",
+        "generation": 21,
+        "creationTimestamp": "2016-10-13T16:06:00Z",
+        "labels": {
+          "run": "docs"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "10",
+          "replicatingperfection.net/push-image": "true"
+        }
+      },
+      "spec": {
+        "replicas": 1,
+        "selector": {
+          "matchLabels": {
+            "run": "docs"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "auto-pushed-image-pwittrock/api-docs": "1477496453",
+              "run": "docs"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "docs",
+                "image": "pwittrock/api-docs:v9",
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "Always"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 21,
+        "replicas": 1,
+        "updatedReplicas": 1,
+        "availableReplicas": 1
+      }
+    },
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "deployment-example",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/deployment-example",
+        "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+        "resourceVersion": "2064726",
+        "generation": 4,
+        "creationTimestamp": "2016-10-27T16:33:35Z",
+        "labels": {
+          "app": "nginx"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "1"
+        }
+      },
+      "spec": {
+        "replicas": 3,
+        "selector": {
+          "matchLabels": {
+            "app": "nginx"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "app": "nginx"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "nginx",
+                "image": "nginx:1.10",
+                "ports": [
+                  {
+                    "containerPort": 80,
+                    "protocol": "TCP"
+                  }
+                ],
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "IfNotPresent"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 4,
+        "replicas": 3,
+        "updatedReplicas": 3,
+        "availableReplicas": 3
+      }
+    }
+  ]
+}
+
+

list or watch objects of kind Deployment

+

HTTP Request

+

GET /apis/apps/v1beta1/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DeploymentList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Deployment

+

HTTP Request

+

GET /apis/apps/v1beta1/deployments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DeploymentList
OK
+

Watch

+
+

kubectl Command

+
+

+$ kubectl get deployment deployment-example --watch -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/apis/apps/v1beta1/watch/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Deployment",
+        "apiVersion": "apps/v1beta1",
+        "metadata": {
+            "name": "deployment-example",
+            "namespace": "default",
+            "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+            "uid": "64c12290-9cbf-11e6-9c54-42010a800148",
+            "resourceVersion": "2128095",
+            "generation": 2,
+            "creationTimestamp": "2016-10-28T03:34:12Z",
+            "labels": {
+                "app": "nginx"
+            },
+            "annotations": {
+                "deployment.kubernetes.io/revision": "3"
+            }
+        },
+        "spec": {
+            "replicas": 3,
+            "selector": {
+                "matchLabels": {
+                    "app": "nginx"
+                }
+            },
+            "template": {
+                "metadata": {
+                    "creationTimestamp": null,
+                    "labels": {
+                        "app": "nginx"
+                    }
+                },
+                "spec": {
+                    "containers": [
+                        {
+                            "name": "nginx",
+                            "image": "nginx:1.10",
+                            "ports": [
+                                {
+                                    "containerPort": 80,
+                                    "protocol": "TCP"
+                                }
+                            ],
+                            "resources": {
+                            },
+                            "terminationMessagePath": "/dev/termination-log",
+                            "imagePullPolicy": "IfNotPresent"
+                        }
+                    ],
+                    "restartPolicy": "Always",
+                    "terminationGracePeriodSeconds": 30,
+                    "dnsPolicy": "ClusterFirst",
+                    "securityContext": {
+                    }
+                }
+            },
+            "strategy": {
+                "type": "RollingUpdate",
+                "rollingUpdate": {
+                    "maxUnavailable": 1,
+                    "maxSurge": 1
+                }
+            }
+        },
+        "status": {
+            "observedGeneration": 2,
+            "replicas": 3,
+            "updatedReplicas": 3,
+            "availableReplicas": 3
+        }
+    }
+}
+
+
+

Response Body

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Deployment",
+        "apiVersion": "apps/v1beta1",
+        "metadata": {
+            "name": "deployment-example",
+            "namespace": "default",
+            "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+            "uid": "64c12290-9cbf-11e6-9c54-42010a800148",
+            "resourceVersion": "2128095",
+            "generation": 2,
+            "creationTimestamp": "2016-10-28T03:34:12Z",
+            "labels": {
+                "app": "nginx"
+            },
+            "annotations": {
+                "deployment.kubernetes.io/revision": "3"
+            }
+        },
+        "spec": {
+            "replicas": 3,
+            "selector": {
+                "matchLabels": {
+                    "app": "nginx"
+                }
+            },
+            "template": {
+                "metadata": {
+                    "creationTimestamp": null,
+                    "labels": {
+                        "app": "nginx"
+                    }
+                },
+                "spec": {
+                    "containers": [
+                        {
+                            "name": "nginx",
+                            "image": "nginx:1.10",
+                            "ports": [
+                                {
+                                    "containerPort": 80,
+                                    "protocol": "TCP"
+                                }
+                            ],
+                            "resources": {
+                            },
+                            "terminationMessagePath": "/dev/termination-log",
+                            "imagePullPolicy": "IfNotPresent"
+                        }
+                    ],
+                    "restartPolicy": "Always",
+                    "terminationGracePeriodSeconds": 30,
+                    "dnsPolicy": "ClusterFirst",
+                    "securityContext": {
+                    }
+                }
+            },
+            "strategy": {
+                "type": "RollingUpdate",
+                "rollingUpdate": {
+                    "maxUnavailable": 1,
+                    "maxSurge": 1
+                }
+            }
+        },
+        "status": {
+            "observedGeneration": 2,
+            "replicas": 3,
+            "updatedReplicas": 3,
+            "availableReplicas": 3
+        }
+    }
+}
+
+

watch changes to an object of kind Deployment

+

HTTP Request

+

GET /apis/apps/v1beta1/watch/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Deployment

+

HTTP Request

+

GET /apis/apps/v1beta1/watch/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Deployment

+

HTTP Request

+

GET /apis/apps/v1beta1/watch/deployments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified Deployment

+

HTTP Request

+

PATCH /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified Deployment

+

HTTP Request

+

GET /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified Deployment

+

HTTP Request

+

PUT /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
201
Deployment
Created
+

Misc Operations

+

See supported operations below...

+

Read Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read scale of the specified Deployment

+

HTTP Request

+

GET /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Replace Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace scale of the specified Deployment

+

HTTP Request

+

PUT /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Scale
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
Scale
Created
200
Scale
OK
+

Patch Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update scale of the specified Deployment

+

HTTP Request

+

PATCH /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Rollback

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create rollback of a Deployment

+

HTTP Request

+

POST /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/rollback

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DeploymentRollback
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeploymentRollback
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
DeploymentRollback
Created
202
DeploymentRollback
Accepted
200
DeploymentRollback
OK
+
+

Deployment v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1Deployment
+ + + +

DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the release notes for more information. Deployment enables declarative updates for Pods and ReplicaSets.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata.
spec
DeploymentSpec
Specification of the desired behavior of the Deployment.
status
DeploymentStatus
Most recently observed status of the Deployment.
+

DeploymentSpec v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
minReadySeconds
integer
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)
paused
boolean
Indicates that the deployment is paused and will not be processed by the deployment controller.
progressDeadlineSeconds
integer
The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. This is not set by default.
replicas
integer
Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
revisionHistoryLimit
integer
The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified.
rollbackTo
RollbackConfig
DEPRECATED. The config this deployment is rolling back to. Will be cleared after rollback is done.
selector
LabelSelector
Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.
strategy
DeploymentStrategy
patch type: retainKeys
The deployment strategy to use to replace existing pods with new ones.
template
PodTemplateSpec
Template describes the pods that will be created.
+

DeploymentStatus v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
availableReplicas
integer
Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.
collisionCount
integer
Count of hash collisions for the Deployment. The Deployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ReplicaSet.
conditions
DeploymentCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a deployment's current state.
observedGeneration
integer
The generation observed by the deployment controller.
readyReplicas
integer
Total number of ready pods targeted by this deployment.
replicas
integer
Total number of non-terminated pods targeted by this deployment (their labels match the selector).
unavailableReplicas
integer
Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity. They may either be pods that are running but not yet available or pods that still have not been created.
updatedReplicas
integer
Total number of non-terminated pods targeted by this deployment that have the desired template spec.
+

DeploymentList v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Deployment array
Items is the list of Deployments.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata.
+

DeploymentStrategy v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
rollingUpdate
RollingUpdateDeployment
Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.
type
string
Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.
+

DeploymentRollback v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
name
string
Required: This must match the Name of a deployment.
rollbackTo
RollbackConfig
The config of this deployment rollback.
updatedAnnotations
object
The annotations to be updated to a deployment
+

RollingUpdateDeployment v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
maxSurgeThe maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. By default, a value of 1 is used. Example: when this is set to 30%, the new RC can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new RC can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of desired pods.
maxUnavailableThe maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. By default, a fixed value of 1 is used. Example: when this is set to 30%, the old RC can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old RC can be scaled down further, followed by scaling up the new RC, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+$ echo 'apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.10
+        ports:
+        - containerPort: 80
+' | kubectl create -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X POST -H 'Content-Type: application/yaml' --data '
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.10
+        ports:
+        - containerPort: 80
+' http://127.0.0.1:8001/apis/extensions/v1beta1/namespaces/default/deployments
+
+
+

Output

+
+

+deployment "deployment-example" created
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "4ccca349-9cb1-11e6-9c54-42010a800148",
+    "resourceVersion": "2118306",
+    "generation": 1,
+    "creationTimestamp": "2016-10-28T01:53:19Z",
+    "labels": {
+      "app": "nginx"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {}
+}
+
+

create a Deployment

+

HTTP Request

+

POST /apis/extensions/v1beta1/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
201
Deployment
Created
202
Deployment
Accepted
+

Patch

+
+

kubectl Command

+
+

+$ kubectl patch deployment deployment-example -p \
+    '{"spec":{"template":{"spec":{"containers":[{"name":"nginx","image":"nginx:1.11"}]}}}}'
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X PATCH -H 'Content-Type: application/strategic-merge-patch+json' --data '
+{"spec":{"template":{"spec":{"containers":[{"name":"nginx","image":"nginx:1.11"}]}}}}' \
+    'http://127.0.0.1:8001/apis/extensions/v1beta1/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+"deployment-example" patched
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "5dc3a8e6-b0ee-11e6-aef0-42010af00229",
+    "resourceVersion": "164489",
+    "generation": 11,
+    "creationTimestamp": "2016-11-22T20:00:50Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "5"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.11",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {
+    "observedGeneration": 10,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

partially update the specified Deployment

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Replace

+
+

kubectl Command

+
+

+$ echo 'apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.11
+        ports:
+        - containerPort: 80
+' | kubectl replace -f -
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X PUT -H 'Content-Type: application/yaml' --data '
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: deployment-example
+spec:
+  replicas: 3
+  revisionHistoryLimit: 10
+  template:
+    metadata:
+      labels:
+        app: nginx
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.11
+        ports:
+        - containerPort: 80
+' http://127.0.0.1:8001/apis/extensions/v1beta1/namespaces/default/deployments/deployment-example
+
+
+

Output

+
+

+deployment "deployment-example" replaced
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "4ccca349-9cb1-11e6-9c54-42010a800148",
+    "resourceVersion": "2119082",
+    "generation": 5,
+    "creationTimestamp": "2016-10-28T01:53:19Z",
+    "labels": {
+      "app": "nginx"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.11",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    },
+    "revisionHistoryLimit": 10
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

replace the specified Deployment

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
201
Deployment
Created
+

Delete

+
+

kubectl Command

+
+

+$ kubectl delete deployment deployment-example
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X DELETE -H 'Content-Type: application/yaml' --data '
+gracePeriodSeconds: 0
+orphanDependents: false
+' 'http://127.0.0.1:8001/apis/extensions/v1beta1/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+deployment "deployment-example" deleted
+
+
+

Response Body

+
+

+{
+  "kind": "Status",
+  "apiVersion": "v1",
+  "metadata": {},
+  "status": "Success",
+  "code": 200
+}
+
+

delete a Deployment

+

HTTP Request

+

DELETE /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Deployment

+

HTTP Request

+

DELETE /apis/extensions/v1beta1/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+$ kubectl get deployment deployment-example -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET http://127.0.0.1:8001/apis/extensions/v1beta1/namespaces/default/deployments/deployment-example
+
+
+

Output

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+    "resourceVersion": "2064726",
+    "generation": 4,
+    "creationTimestamp": "2016-10-27T16:33:35Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "1"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    }
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+
+

Response Body

+
+

+{
+  "kind": "Deployment",
+  "apiVersion": "apps/v1beta1",
+  "metadata": {
+    "name": "deployment-example",
+    "namespace": "default",
+    "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+    "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+    "resourceVersion": "2064726",
+    "generation": 4,
+    "creationTimestamp": "2016-10-27T16:33:35Z",
+    "labels": {
+      "app": "nginx"
+    },
+    "annotations": {
+      "deployment.kubernetes.io/revision": "1"
+    }
+  },
+  "spec": {
+    "replicas": 3,
+    "selector": {
+      "matchLabels": {
+        "app": "nginx"
+      }
+    },
+    "template": {
+      "metadata": {
+        "creationTimestamp": null,
+        "labels": {
+          "app": "nginx"
+        }
+      },
+      "spec": {
+        "containers": [
+          {
+            "name": "nginx",
+            "image": "nginx:1.10",
+            "ports": [
+              {
+                "containerPort": 80,
+                "protocol": "TCP"
+              }
+            ],
+            "resources": {},
+            "terminationMessagePath": "/dev/termination-log",
+            "imagePullPolicy": "IfNotPresent"
+          }
+        ],
+        "restartPolicy": "Always",
+        "terminationGracePeriodSeconds": 30,
+        "dnsPolicy": "ClusterFirst",
+        "securityContext": {}
+      }
+    },
+    "strategy": {
+      "type": "RollingUpdate",
+      "rollingUpdate": {
+        "maxUnavailable": 1,
+        "maxSurge": 1
+      }
+    }
+  },
+  "status": {
+    "observedGeneration": 4,
+    "replicas": 3,
+    "updatedReplicas": 3,
+    "availableReplicas": 3
+  }
+}
+
+

read the specified Deployment

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

List

+
+

kubectl Command

+
+

+$ kubectl get deployment -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/apis/extensions/v1beta1/namespaces/default/deployments'
+
+
+

Output

+
+

+{
+  "kind": "List",
+  "apiVersion": "v1",
+  "metadata": {},
+  "items": [
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "docs",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/docs",
+        "uid": "ef49e1d2-915e-11e6-be81-42010a80003f",
+        "resourceVersion": "1924126",
+        "generation": 21,
+        "creationTimestamp": "2016-10-13T16:06:00Z",
+        "labels": {
+          "run": "docs"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "10",
+          "replicatingperfection.net/push-image": "true"
+        }
+      },
+      "spec": {
+        "replicas": 1,
+        "selector": {
+          "matchLabels": {
+            "run": "docs"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "auto-pushed-image-pwittrock/api-docs": "1477496453",
+              "run": "docs"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "docs",
+                "image": "pwittrock/api-docs:v9",
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "Always"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 21,
+        "replicas": 1,
+        "updatedReplicas": 1,
+        "availableReplicas": 1
+      }
+    },
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "deployment-example",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/deployment-example",
+        "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+        "resourceVersion": "2064726",
+        "generation": 4,
+        "creationTimestamp": "2016-10-27T16:33:35Z",
+        "labels": {
+          "app": "nginx"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "1"
+        }
+      },
+      "spec": {
+        "replicas": 3,
+        "selector": {
+          "matchLabels": {
+            "app": "nginx"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "app": "nginx"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "nginx",
+                "image": "nginx:1.10",
+                "ports": [
+                  {
+                    "containerPort": 80,
+                    "protocol": "TCP"
+                  }
+                ],
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "IfNotPresent"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 4,
+        "replicas": 3,
+        "updatedReplicas": 3,
+        "availableReplicas": 3
+      }
+    }
+  ]
+}
+
+
+

Response Body

+
+

+{
+  "kind": "List",
+  "apiVersion": "v1",
+  "metadata": {},
+  "items": [
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "docs",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/docs",
+        "uid": "ef49e1d2-915e-11e6-be81-42010a80003f",
+        "resourceVersion": "1924126",
+        "generation": 21,
+        "creationTimestamp": "2016-10-13T16:06:00Z",
+        "labels": {
+          "run": "docs"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "10",
+          "replicatingperfection.net/push-image": "true"
+        }
+      },
+      "spec": {
+        "replicas": 1,
+        "selector": {
+          "matchLabels": {
+            "run": "docs"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "auto-pushed-image-pwittrock/api-docs": "1477496453",
+              "run": "docs"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "docs",
+                "image": "pwittrock/api-docs:v9",
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "Always"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 21,
+        "replicas": 1,
+        "updatedReplicas": 1,
+        "availableReplicas": 1
+      }
+    },
+    {
+      "kind": "Deployment",
+      "apiVersion": "app/v1beta1",
+      "metadata": {
+        "name": "deployment-example",
+        "namespace": "default",
+        "selfLink": "/apis/app/v1beta1/namespaces/default/deployments/deployment-example",
+        "uid": "1b33145a-9c63-11e6-9c54-42010a800148",
+        "resourceVersion": "2064726",
+        "generation": 4,
+        "creationTimestamp": "2016-10-27T16:33:35Z",
+        "labels": {
+          "app": "nginx"
+        },
+        "annotations": {
+          "deployment.kubernetes.io/revision": "1"
+        }
+      },
+      "spec": {
+        "replicas": 3,
+        "selector": {
+          "matchLabels": {
+            "app": "nginx"
+          }
+        },
+        "template": {
+          "metadata": {
+            "creationTimestamp": null,
+            "labels": {
+              "app": "nginx"
+            }
+          },
+          "spec": {
+            "containers": [
+              {
+                "name": "nginx",
+                "image": "nginx:1.10",
+                "ports": [
+                  {
+                    "containerPort": 80,
+                    "protocol": "TCP"
+                  }
+                ],
+                "resources": {},
+                "terminationMessagePath": "/dev/termination-log",
+                "imagePullPolicy": "IfNotPresent"
+              }
+            ],
+            "restartPolicy": "Always",
+            "terminationGracePeriodSeconds": 30,
+            "dnsPolicy": "ClusterFirst",
+            "securityContext": {}
+          }
+        },
+        "strategy": {
+          "type": "RollingUpdate",
+          "rollingUpdate": {
+            "maxUnavailable": 1,
+            "maxSurge": 1
+          }
+        }
+      },
+      "status": {
+        "observedGeneration": 4,
+        "replicas": 3,
+        "updatedReplicas": 3,
+        "availableReplicas": 3
+      }
+    }
+  ]
+}
+
+

list or watch objects of kind Deployment

+

HTTP Request

+

GET /apis/extensions/v1beta1/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DeploymentList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Deployment

+

HTTP Request

+

GET /apis/extensions/v1beta1/deployments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
DeploymentList
OK
+

Watch

+
+

kubectl Command

+
+

+$ kubectl get deployment deployment-example --watch -o json
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+$ kubectl proxy
+$ curl -X GET 'http://127.0.0.1:8001/apis/extensions/v1beta1/watch/namespaces/default/deployments/deployment-example'
+
+
+

Output

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Deployment",
+        "apiVersion": "apps/v1beta1",
+        "metadata": {
+            "name": "deployment-example",
+            "namespace": "default",
+            "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+            "uid": "64c12290-9cbf-11e6-9c54-42010a800148",
+            "resourceVersion": "2128095",
+            "generation": 2,
+            "creationTimestamp": "2016-10-28T03:34:12Z",
+            "labels": {
+                "app": "nginx"
+            },
+            "annotations": {
+                "deployment.kubernetes.io/revision": "3"
+            }
+        },
+        "spec": {
+            "replicas": 3,
+            "selector": {
+                "matchLabels": {
+                    "app": "nginx"
+                }
+            },
+            "template": {
+                "metadata": {
+                    "creationTimestamp": null,
+                    "labels": {
+                        "app": "nginx"
+                    }
+                },
+                "spec": {
+                    "containers": [
+                        {
+                            "name": "nginx",
+                            "image": "nginx:1.10",
+                            "ports": [
+                                {
+                                    "containerPort": 80,
+                                    "protocol": "TCP"
+                                }
+                            ],
+                            "resources": {
+                            },
+                            "terminationMessagePath": "/dev/termination-log",
+                            "imagePullPolicy": "IfNotPresent"
+                        }
+                    ],
+                    "restartPolicy": "Always",
+                    "terminationGracePeriodSeconds": 30,
+                    "dnsPolicy": "ClusterFirst",
+                    "securityContext": {
+                    }
+                }
+            },
+            "strategy": {
+                "type": "RollingUpdate",
+                "rollingUpdate": {
+                    "maxUnavailable": 1,
+                    "maxSurge": 1
+                }
+            }
+        },
+        "status": {
+            "observedGeneration": 2,
+            "replicas": 3,
+            "updatedReplicas": 3,
+            "availableReplicas": 3
+        }
+    }
+}
+
+
+

Response Body

+
+

+{
+    "type": "ADDED",
+    "object": {
+        "kind": "Deployment",
+        "apiVersion": "apps/v1beta1",
+        "metadata": {
+            "name": "deployment-example",
+            "namespace": "default",
+            "selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
+            "uid": "64c12290-9cbf-11e6-9c54-42010a800148",
+            "resourceVersion": "2128095",
+            "generation": 2,
+            "creationTimestamp": "2016-10-28T03:34:12Z",
+            "labels": {
+                "app": "nginx"
+            },
+            "annotations": {
+                "deployment.kubernetes.io/revision": "3"
+            }
+        },
+        "spec": {
+            "replicas": 3,
+            "selector": {
+                "matchLabels": {
+                    "app": "nginx"
+                }
+            },
+            "template": {
+                "metadata": {
+                    "creationTimestamp": null,
+                    "labels": {
+                        "app": "nginx"
+                    }
+                },
+                "spec": {
+                    "containers": [
+                        {
+                            "name": "nginx",
+                            "image": "nginx:1.10",
+                            "ports": [
+                                {
+                                    "containerPort": 80,
+                                    "protocol": "TCP"
+                                }
+                            ],
+                            "resources": {
+                            },
+                            "terminationMessagePath": "/dev/termination-log",
+                            "imagePullPolicy": "IfNotPresent"
+                        }
+                    ],
+                    "restartPolicy": "Always",
+                    "terminationGracePeriodSeconds": 30,
+                    "dnsPolicy": "ClusterFirst",
+                    "securityContext": {
+                    }
+                }
+            },
+            "strategy": {
+                "type": "RollingUpdate",
+                "rollingUpdate": {
+                    "maxUnavailable": 1,
+                    "maxSurge": 1
+                }
+            }
+        },
+        "status": {
+            "observedGeneration": 2,
+            "replicas": 3,
+            "updatedReplicas": 3,
+            "availableReplicas": 3
+        }
+    }
+}
+
+

watch changes to an object of kind Deployment

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/deployments/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Deployment

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/deployments

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Deployment

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/deployments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified Deployment

+

HTTP Request

+

PATCH /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified Deployment

+

HTTP Request

+

GET /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified Deployment

+

HTTP Request

+

PUT /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Deployment
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Deployment
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Deployment
OK
201
Deployment
Created
+

Misc Operations

+

See supported operations below...

+

Read Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read scale of the specified Deployment

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Replace Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace scale of the specified Deployment

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Scale
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
201
Scale
Created
+

Patch Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update scale of the specified Deployment

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Rollback

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create rollback of a Deployment

+

HTTP Request

+

POST /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/rollback

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the DeploymentRollback
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeploymentRollback
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
DeploymentRollback
Created
202
DeploymentRollback
Accepted
200
DeploymentRollback
OK
+
+

DeploymentCondition v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2DeploymentCondition
+ + + +

DeploymentCondition describes the state of a deployment at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
lastUpdateTime
Time
The last time this condition was updated.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of deployment condition.
+
+

DeploymentCondition v1beta1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta1DeploymentCondition
+ + + +

DeploymentCondition describes the state of a deployment at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
lastUpdateTime
Time
The last time this condition was updated.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of deployment condition.
+
+

DeploymentCondition v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1DeploymentCondition
+ + + +

DeploymentCondition describes the state of a deployment at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
lastUpdateTime
Time
The last time this condition was updated.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of deployment condition.
+
+

Event v1beta1 events.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
events.k8s.iov1beta1Event
+ + + +

Event is a report of an event somewhere in the cluster. It generally denotes some state change in the system.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
action
string
What action was taken/failed regarding to the regarding object.
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
deprecatedCount
integer
Deprecated field assuring backward compatibility with core.v1 Event type
deprecatedFirstTimestamp
Time
Deprecated field assuring backward compatibility with core.v1 Event type
deprecatedLastTimestamp
Time
Deprecated field assuring backward compatibility with core.v1 Event type
deprecatedSource
EventSource
Deprecated field assuring backward compatibility with core.v1 Event type
eventTime
MicroTime
Required. Time when this Event was first observed.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
note
string
Optional. A human-readable description of the status of this operation. Maximal length of the note is 1kB, but libraries should be prepared to handle values up to 64kB.
reason
string
Why the action was taken.
regarding
ObjectReference
The object this Event is about. In most cases it's an Object reporting controller implements. E.g. ReplicaSetController implements ReplicaSets and this event is emitted because it acts on some changes in a ReplicaSet object.
related
ObjectReference
Optional secondary object for more complex actions. E.g. when regarding object triggers a creation or deletion of related object.
reportingController
string
Name of the controller that emitted this Event, e.g. kubernetes.io/kubelet.
reportingInstance
string
ID of the controller instance, e.g. kubelet-xyzf.
series
EventSeries
Data about the Event series this event represents or nil if it's a singleton Event.
type
string
Type of this event (Normal, Warning), new types could be added in the future.
+

EventList v1beta1 events

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Event array
Items is a list of schema objects.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create an Event

+

HTTP Request

+

POST /apis/events.k8s.io/v1beta1/namespaces/{namespace}/events

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Event
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
Event
OK
201
Event
Created
202
Event
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Event

+

HTTP Request

+

PATCH /apis/events.k8s.io/v1beta1/namespaces/{namespace}/events/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Event
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Event
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Event

+

HTTP Request

+

PUT /apis/events.k8s.io/v1beta1/namespaces/{namespace}/events/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Event
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Event
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
Event
Created
200
Event
OK
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete an Event

+

HTTP Request

+

DELETE /apis/events.k8s.io/v1beta1/namespaces/{namespace}/events/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Event
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Event

+

HTTP Request

+

DELETE /apis/events.k8s.io/v1beta1/namespaces/{namespace}/events

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified Event

+

HTTP Request

+

GET /apis/events.k8s.io/v1beta1/namespaces/{namespace}/events/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Event
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Event
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Event

+

HTTP Request

+

GET /apis/events.k8s.io/v1beta1/namespaces/{namespace}/events

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
EventList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Event

+

HTTP Request

+

GET /apis/events.k8s.io/v1beta1/events

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
EventList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind Event

+

HTTP Request

+

GET /apis/events.k8s.io/v1beta1/watch/namespaces/{namespace}/events/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Event
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Event

+

HTTP Request

+

GET /apis/events.k8s.io/v1beta1/watch/namespaces/{namespace}/events

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Event

+

HTTP Request

+

GET /apis/events.k8s.io/v1beta1/watch/events

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

EventSeries v1beta1 events.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
events.k8s.iov1beta1EventSeries
+ + + +

EventSeries contain information on series of events, i.e. thing that was/is happening continuously for some time.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
count
integer
Number of occurrences in this series up to the last heartbeat time
lastObservedTime
MicroTime
Time when last Event from the series was seen before last heartbeat.
state
string
Information whether this series is ongoing or finished.
+
+

FSGroupStrategyOptions v1beta1 policy

+ + + + + + + + + + + + + + + +
GroupVersionKind
policyv1beta1FSGroupStrategyOptions
+

FSGroupStrategyOptions defines the strategy type and options used to create the strategy.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
ranges
IDRange array
ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end. Required for MustRunAs.
rule
string
rule is the strategy that will dictate what FSGroup is used in the SecurityContext.
+
+

HorizontalPodAutoscaler v2beta1 autoscaling

+ + + + + + + + + + + + + + + +
GroupVersionKind
autoscalingv2beta1HorizontalPodAutoscaler
+ + + +

HorizontalPodAutoscaler is the configuration for a horizontal pod autoscaler, which automatically manages the replica count of any resource implementing the scale subresource based on the metrics specified.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
HorizontalPodAutoscalerSpec
spec is the specification for the behaviour of the autoscaler. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
status
HorizontalPodAutoscalerStatus
status is the current information about the autoscaler.
+

HorizontalPodAutoscalerSpec v2beta1 autoscaling

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
maxReplicas
integer
maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. It cannot be less that minReplicas.
metrics
MetricSpec array
metrics contains the specifications for which to use to calculate the desired replica count (the maximum replica count across all metrics will be used). The desired replica count is calculated multiplying the ratio between the target value and the current value by the current number of pods. Ergo, metrics used must decrease as the pod count is increased, and vice-versa. See the individual metric source types for more information about how each type of metric must respond.
minReplicas
integer
minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod.
scaleTargetRef
CrossVersionObjectReference
scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics should be collected, as well as to actually change the replica count.
+

HorizontalPodAutoscalerStatus v2beta1 autoscaling

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
conditions
HorizontalPodAutoscalerCondition array
conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.
currentMetrics
MetricStatus array
currentMetrics is the last read state of the metrics used by this autoscaler.
currentReplicas
integer
currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.
desiredReplicas
integer
desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.
lastScaleTime
Time
lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.
observedGeneration
integer
observedGeneration is the most recent generation observed by this autoscaler.
+

HorizontalPodAutoscalerList v2beta1 autoscaling

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
HorizontalPodAutoscaler array
items is the list of horizontal pod autoscaler objects.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
metadata is the standard list metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a HorizontalPodAutoscaler

+

HTTP Request

+

POST /apis/autoscaling/v2beta1/namespaces/{namespace}/horizontalpodautoscalers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
HorizontalPodAutoscaler
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
HorizontalPodAutoscaler
Created
202
HorizontalPodAutoscaler
Accepted
200
HorizontalPodAutoscaler
OK
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified HorizontalPodAutoscaler

+

HTTP Request

+

PATCH /apis/autoscaling/v2beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscaler
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified HorizontalPodAutoscaler

+

HTTP Request

+

PUT /apis/autoscaling/v2beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
HorizontalPodAutoscaler
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
HorizontalPodAutoscaler
Created
200
HorizontalPodAutoscaler
OK
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a HorizontalPodAutoscaler

+

HTTP Request

+

DELETE /apis/autoscaling/v2beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of HorizontalPodAutoscaler

+

HTTP Request

+

DELETE /apis/autoscaling/v2beta1/namespaces/{namespace}/horizontalpodautoscalers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v2beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscaler
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v2beta1/namespaces/{namespace}/horizontalpodautoscalers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscalerList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v2beta1/horizontalpodautoscalers

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscalerList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v2beta1/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v2beta1/watch/namespaces/{namespace}/horizontalpodautoscalers

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v2beta1/watch/horizontalpodautoscalers

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified HorizontalPodAutoscaler

+

HTTP Request

+

PATCH /apis/autoscaling/v2beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscaler
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified HorizontalPodAutoscaler

+

HTTP Request

+

GET /apis/autoscaling/v2beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscaler
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified HorizontalPodAutoscaler

+

HTTP Request

+

PUT /apis/autoscaling/v2beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the HorizontalPodAutoscaler
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
HorizontalPodAutoscaler
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
HorizontalPodAutoscaler
OK
201
HorizontalPodAutoscaler
Created
+
+

HostPortRange v1beta1 policy

+ + + + + + + + + + + + + + + +
GroupVersionKind
policyv1beta1HostPortRange
+

HostPortRange defines a range of host ports that will be enabled by a policy for pods to use. It requires both the start and end to be defined.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
max
integer
max is the end of the range, inclusive.
min
integer
min is the start of the range, inclusive.
+
+

IDRange v1beta1 policy

+ + + + + + + + + + + + + + + +
GroupVersionKind
policyv1beta1IDRange
+

IDRange provides a min/max of an allowed range of IDs.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
max
integer
max is the end of the range, inclusive.
min
integer
min is the start of the range, inclusive.
+
+

IPBlock v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1IPBlock
+ + + +

DEPRECATED 1.9 - This group version of IPBlock is deprecated by networking/v1/IPBlock. IPBlock describes a particular CIDR (Ex. "192.168.1.1/24") that is allowed to the pods matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs that should not be included within this rule.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
cidr
string
CIDR is a string representing the IP Block Valid examples are "192.168.1.1/24"
except
string array
Except is a slice of CIDRs that should not be included within an IP Block Valid examples are "192.168.1.1/24" Except values will be rejected if they are outside the CIDR range
+
+

Initializer v1alpha1 admissionregistration.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
admissionregistration.k8s.iov1alpha1Initializer
+ + + +

Initializer describes the name and the failure policy of an initializer, and what resources it applies to.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
Name is the identifier of the initializer. It will be added to the object that needs to be initialized. Name should be fully qualified, e.g., alwayspullimages.kubernetes.io, where "alwayspullimages" is the name of the webhook, and kubernetes.io is the name of the organization. Required
rules
Rule array
Rules describes what resources/subresources the initializer cares about. The initializer cares about an operation if it matches any Rule. Rule.Resources must not include subresources.
+
+

JobTemplateSpec v2alpha1 batch

+ + + + + + + + + + + + + + + +
GroupVersionKind
batchv2alpha1JobTemplateSpec
+ + + +

JobTemplateSpec describes the data a Job should have when created from a template

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
metadata
ObjectMeta
Standard object's metadata of the jobs created from this template. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
JobSpec
Specification of the desired behavior of the job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+
+

LocalSubjectAccessReview v1beta1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1beta1LocalSubjectAccessReview
+ + + +

LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
SubjectAccessReviewSpec
Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted.
status
SubjectAccessReviewStatus
Status is filled in by the server and indicates whether the request is allowed or not
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a LocalSubjectAccessReview

+

HTTP Request

+

POST /apis/authorization.k8s.io/v1beta1/namespaces/{namespace}/localsubjectaccessreviews

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
LocalSubjectAccessReview
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
LocalSubjectAccessReview
OK
201
LocalSubjectAccessReview
Created
202
LocalSubjectAccessReview
Accepted
+
+

NetworkPolicy v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1NetworkPolicy
+ + + +

DEPRECATED 1.9 - This group version of NetworkPolicy is deprecated by networking/v1/NetworkPolicy. NetworkPolicy describes what network traffic is allowed for a set of Pods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
NetworkPolicySpec
Specification of the desired behavior for this NetworkPolicy.
+

NetworkPolicySpec v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
egress
NetworkPolicyEgressRule array
List of egress rules to be applied to the selected pods. Outgoing traffic is allowed if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic matches at least one egress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy limits all outgoing traffic (and serves solely to ensure that the pods it selects are isolated by default). This field is beta-level in 1.8
ingress
NetworkPolicyIngressRule array
List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not allow any traffic (and serves solely to ensure that the pods it selects are isolated by default).
podSelector
LabelSelector
Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.
policyTypes
string array
List of rule types that the NetworkPolicy relates to. Valid options are Ingress, Egress, or Ingress,Egress. If this field is not specified, it will default based on the existence of Ingress or Egress rules; policies that contain an Egress section are assumed to affect Egress, and all policies (whether or not they contain an Ingress section) are assumed to affect Ingress. If you want to write an egress-only policy, you must explicitly specify policyTypes [ "Egress" ]. Likewise, if you want to write a policy that specifies that no egress is allowed, you must specify a policyTypes value that include "Egress" (since such a policy would not include an Egress section and would otherwise default to just [ "Ingress" ]). This field is beta-level in 1.8
+

NetworkPolicyList v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
NetworkPolicy array
Items is a list of schema objects.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a NetworkPolicy

+

HTTP Request

+

POST /apis/extensions/v1beta1/namespaces/{namespace}/networkpolicies

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
NetworkPolicy
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicy
OK
201
NetworkPolicy
Created
202
NetworkPolicy
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified NetworkPolicy

+

HTTP Request

+

PATCH /apis/extensions/v1beta1/namespaces/{namespace}/networkpolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the NetworkPolicy
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicy
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified NetworkPolicy

+

HTTP Request

+

PUT /apis/extensions/v1beta1/namespaces/{namespace}/networkpolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the NetworkPolicy
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
NetworkPolicy
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicy
OK
201
NetworkPolicy
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a NetworkPolicy

+

HTTP Request

+

DELETE /apis/extensions/v1beta1/namespaces/{namespace}/networkpolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the NetworkPolicy
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of NetworkPolicy

+

HTTP Request

+

DELETE /apis/extensions/v1beta1/namespaces/{namespace}/networkpolicies

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified NetworkPolicy

+

HTTP Request

+

GET /apis/extensions/v1beta1/namespaces/{namespace}/networkpolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the NetworkPolicy
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicy
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind NetworkPolicy

+

HTTP Request

+

GET /apis/extensions/v1beta1/namespaces/{namespace}/networkpolicies

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicyList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind NetworkPolicy

+

HTTP Request

+

GET /apis/extensions/v1beta1/networkpolicies

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
NetworkPolicyList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind NetworkPolicy

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/networkpolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the NetworkPolicy
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of NetworkPolicy

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/networkpolicies

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of NetworkPolicy

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/networkpolicies

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

NetworkPolicyEgressRule v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1NetworkPolicyEgressRule
+ + + +

DEPRECATED 1.9 - This group version of NetworkPolicyEgressRule is deprecated by networking/v1/NetworkPolicyEgressRule. NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to. This type is beta-level in 1.8

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
ports
NetworkPolicyPort array
List of destination ports for outgoing traffic. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.
to
NetworkPolicyPeer array
List of destinations for outgoing traffic of pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all destinations (traffic not restricted by destination). If this field is present and contains at least one item, this rule allows traffic only if the traffic matches at least one item in the to list.
+
+

NetworkPolicyIngressRule v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1NetworkPolicyIngressRule
+ + + +

DEPRECATED 1.9 - This group version of NetworkPolicyIngressRule is deprecated by networking/v1/NetworkPolicyIngressRule. This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
from
NetworkPolicyPeer array
List of sources which should be able to access the pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all sources (traffic not restricted by source). If this field is present and contains at least on item, this rule allows traffic only if the traffic matches at least one item in the from list.
ports
NetworkPolicyPort array
List of ports which should be made accessible on the pods selected for this rule. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.
+
+

NetworkPolicyPeer v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1NetworkPolicyPeer
+ + + +

DEPRECATED 1.9 - This group version of NetworkPolicyPeer is deprecated by networking/v1/NetworkPolicyPeer.

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
ipBlock
IPBlock
IPBlock defines policy on a particular IPBlock. If this field is set then neither of the other fields can be.
namespaceSelector
LabelSelector
Selects Namespaces using cluster-scoped labels. This field follows standard label selector semantics; if present but empty, it selects all namespaces. If PodSelector is also set, then the NetworkPolicyPeer as a whole selects the Pods matching PodSelector in the Namespaces selected by NamespaceSelector. Otherwise it selects all Pods in the Namespaces selected by NamespaceSelector.
podSelector
LabelSelector
This is a label selector which selects Pods. This field follows standard label selector semantics; if present but empty, it selects all pods. If NamespaceSelector is also set, then the NetworkPolicyPeer as a whole selects the Pods matching PodSelector in the Namespaces selected by NamespaceSelector. Otherwise it selects the Pods matching PodSelector in the policy's own Namespace.
+
+

NetworkPolicyPort v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1NetworkPolicyPort
+ + + +

DEPRECATED 1.9 - This group version of NetworkPolicyPort is deprecated by networking/v1/NetworkPolicyPort.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
portIf specified, the port on the given protocol. This can either be a numerical or named port on a pod. If this field is not provided, this matches all port names and numbers. If present, only traffic on the specified protocol AND port will be matched.
protocol
string
Optional. The protocol (TCP or UDP) which traffic must match. If not specified, this field defaults to TCP.
+
+

NonResourceAttributes v1beta1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1beta1NonResourceAttributes
+ + + +

NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
path
string
Path is the URL path of the request
verb
string
Verb is the standard HTTP verb
+
+

NonResourceRule v1beta1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1beta1NonResourceRule
+ + + +

NonResourceRule holds information that describes a rule for the non-resource

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
nonResourceURLs
string array
NonResourceURLs is a set of partial urls that a user should have access to. s are allowed, but only as the full, final step in the path. "" means all.
verbs
string array
Verb is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. "*" means all.
+
+

PodSecurityPolicy v1beta1 policy

+ + + + + + + + + + + + + + + +
GroupVersionKind
policyv1beta1PodSecurityPolicy
+

PodSecurityPolicy governs the ability to make requests that affect the Security Context that will be applied to a pod and container.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
PodSecurityPolicySpec
spec defines the policy enforced.
+

PodSecurityPolicySpec v1beta1 policy

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
allowPrivilegeEscalation
boolean
allowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.
allowedCapabilities
string array
allowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field may be added at the pod author's discretion. You must not list a capability in both allowedCapabilities and requiredDropCapabilities.
allowedFlexVolumes
AllowedFlexVolume array
allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the "volumes" field.
allowedHostPaths
AllowedHostPath array
allowedHostPaths is a white list of allowed host paths. Empty indicates that all host paths may be used.
allowedUnsafeSysctls
string array
allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. Each entry is either a plain sysctl name or ends in "" in which case it is considered as a prefix of allowed sysctls. Single means all unsafe sysctls are allowed. Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection. Examples: e.g. "foo/" allows "foo/bar", "foo/baz", etc. e.g. "foo." allows "foo.bar", "foo.baz", etc.
defaultAddCapabilities
string array
defaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capability in both defaultAddCapabilities and requiredDropCapabilities. Capabilities added here are implicitly allowed, and need not be included in the allowedCapabilities list.
defaultAllowPrivilegeEscalation
boolean
defaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.
forbiddenSysctls
string array
forbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. Each entry is either a plain sysctl name or ends in "" in which case it is considered as a prefix of forbidden sysctls. Single means all sysctls are forbidden. Examples: e.g. "foo/" forbids "foo/bar", "foo/baz", etc. e.g. "foo." forbids "foo.bar", "foo.baz", etc.
fsGroup
FSGroupStrategyOptions
fsGroup is the strategy that will dictate what fs group is used by the SecurityContext.
hostIPC
boolean
hostIPC determines if the policy allows the use of HostIPC in the pod spec.
hostNetwork
boolean
hostNetwork determines if the policy allows the use of HostNetwork in the pod spec.
hostPID
boolean
hostPID determines if the policy allows the use of HostPID in the pod spec.
hostPorts
HostPortRange array
hostPorts determines which host port ranges are allowed to be exposed.
privileged
boolean
privileged determines if a pod can request to be run as privileged.
readOnlyRootFilesystem
boolean
readOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the PSP should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.
requiredDropCapabilities
string array
requiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.
runAsUser
RunAsUserStrategyOptions
runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.
seLinux
SELinuxStrategyOptions
seLinux is the strategy that will dictate the allowable labels that may be set.
supplementalGroups
SupplementalGroupsStrategyOptions
supplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.
volumes
string array
volumes is a white list of allowed volume plugins. Empty indicates that no volumes may be used. To allow all volumes you may use '*'.
+

PodSecurityPolicyList v1beta1 policy

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
PodSecurityPolicy array
items is a list of schema objects.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a PodSecurityPolicy

+

HTTP Request

+

POST /apis/policy/v1beta1/podsecuritypolicies

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PodSecurityPolicy
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
PodSecurityPolicy
Created
202
PodSecurityPolicy
Accepted
200
PodSecurityPolicy
OK
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified PodSecurityPolicy

+

HTTP Request

+

PATCH /apis/policy/v1beta1/podsecuritypolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PodSecurityPolicy
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodSecurityPolicy
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified PodSecurityPolicy

+

HTTP Request

+

PUT /apis/policy/v1beta1/podsecuritypolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PodSecurityPolicy
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PodSecurityPolicy
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PodSecurityPolicy
OK
201
PodSecurityPolicy
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a PodSecurityPolicy

+

HTTP Request

+

DELETE /apis/policy/v1beta1/podsecuritypolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PodSecurityPolicy
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of PodSecurityPolicy

+

HTTP Request

+

DELETE /apis/policy/v1beta1/podsecuritypolicies

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified PodSecurityPolicy

+

HTTP Request

+

GET /apis/policy/v1beta1/podsecuritypolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PodSecurityPolicy
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodSecurityPolicy
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PodSecurityPolicy

+

HTTP Request

+

GET /apis/policy/v1beta1/podsecuritypolicies

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PodSecurityPolicyList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind PodSecurityPolicy

+

HTTP Request

+

GET /apis/policy/v1beta1/watch/podsecuritypolicies/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PodSecurityPolicy
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PodSecurityPolicy

+

HTTP Request

+

GET /apis/policy/v1beta1/watch/podsecuritypolicies

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

PolicyRule v1beta1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1beta1PolicyRule
+ + + +

PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroups
string array
APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed.
nonResourceURLs
string array
NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding. Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), but not both.
resourceNames
string array
ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
resources
string array
Resources is a list of resources this rule applies to. '*' represents all resources in the specified apiGroups. '*/foo' represents the subresource 'foo' for all resources in the specified apiGroups.
verbs
string array
Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds.
+
+

PolicyRule v1alpha1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1alpha1PolicyRule
+ + + +

PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroups
string array
APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed.
nonResourceURLs
string array
NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path This name is intentionally different than the internal type so that the DefaultConvert works nicely and because the ordering may be different. Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding. Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), but not both.
resourceNames
string array
ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
resources
string array
Resources is a list of resources this rule applies to. ResourceAll represents all resources.
verbs
string array
Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds.
+
+

PriorityClass v1alpha1 scheduling.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
scheduling.k8s.iov1alpha1PriorityClass
+ + + +

PriorityClass defines mapping from a priority class name to the priority integer value. The value can be any valid integer.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
description
string
description is an arbitrary string that usually provides guidelines on when this priority class should be used.
globalDefault
boolean
globalDefault specifies whether this PriorityClass should be considered as the default priority for pods that do not have any priority class. Only one PriorityClass can be marked as globalDefault. However, if more than one PriorityClasses exists with their globalDefault field set to true, the smallest value of such global default PriorityClasses will be used as the default priority.
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
value
integer
The value of this priority class. This is the actual priority that pods receive when they have the name of this class in their pod spec.
+

PriorityClassList v1alpha1 scheduling

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
PriorityClass array
items is the list of PriorityClasses
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a PriorityClass

+

HTTP Request

+

POST /apis/scheduling.k8s.io/v1alpha1/priorityclasses

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PriorityClass
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
PriorityClass
OK
201
PriorityClass
Created
202
PriorityClass
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified PriorityClass

+

HTTP Request

+

PATCH /apis/scheduling.k8s.io/v1alpha1/priorityclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PriorityClass
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PriorityClass
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified PriorityClass

+

HTTP Request

+

PUT /apis/scheduling.k8s.io/v1alpha1/priorityclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PriorityClass
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
PriorityClass
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
PriorityClass
OK
201
PriorityClass
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a PriorityClass

+

HTTP Request

+

DELETE /apis/scheduling.k8s.io/v1alpha1/priorityclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PriorityClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of PriorityClass

+

HTTP Request

+

DELETE /apis/scheduling.k8s.io/v1alpha1/priorityclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified PriorityClass

+

HTTP Request

+

GET /apis/scheduling.k8s.io/v1alpha1/priorityclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PriorityClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PriorityClass
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind PriorityClass

+

HTTP Request

+

GET /apis/scheduling.k8s.io/v1alpha1/priorityclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
PriorityClassList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind PriorityClass

+

HTTP Request

+

GET /apis/scheduling.k8s.io/v1alpha1/watch/priorityclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the PriorityClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of PriorityClass

+

HTTP Request

+

GET /apis/scheduling.k8s.io/v1alpha1/watch/priorityclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

ReplicaSet v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2ReplicaSet
+ + + +

DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the release notes for more information. ReplicaSet ensures that a specified number of pod replicas are running at any given time.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
ReplicaSetSpec
Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
ReplicaSetStatus
Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

ReplicaSetSpec v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
minReadySeconds
integer
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)
replicas
integer
Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller
selector
LabelSelector
Selector is a label query over pods that should match the replica count. Label keys and values that must match in order to be controlled by this replica set. It must match the pod template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
template
PodTemplateSpec
Template is the object that describes the pod that will be created if insufficient replicas are detected. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
+

ReplicaSetStatus v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
availableReplicas
integer
The number of available replicas (ready for at least minReadySeconds) for this replica set.
conditions
ReplicaSetCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a replica set's current state.
fullyLabeledReplicas
integer
The number of pods that have labels matching the labels of the pod template of the replicaset.
observedGeneration
integer
ObservedGeneration reflects the generation of the most recently observed ReplicaSet.
readyReplicas
integer
The number of ready replicas for this replica set.
replicas
integer
Replicas is the most recently oberved number of replicas. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller
+

ReplicaSetList v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ReplicaSet array
List of ReplicaSets. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ReplicaSet

+

HTTP Request

+

POST /apis/apps/v1beta2/namespaces/{namespace}/replicasets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicaSet
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
201
ReplicaSet
Created
202
ReplicaSet
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ReplicaSet

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/replicasets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ReplicaSet

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/replicasets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicaSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
201
ReplicaSet
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ReplicaSet

+

HTTP Request

+

DELETE /apis/apps/v1beta2/namespaces/{namespace}/replicasets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ReplicaSet

+

HTTP Request

+

DELETE /apis/apps/v1beta2/namespaces/{namespace}/replicasets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/replicasets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/replicasets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSetList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1beta2/replicasets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSetList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/namespaces/{namespace}/replicasets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/namespaces/{namespace}/replicasets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/replicasets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified ReplicaSet

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/replicasets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/replicasets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified ReplicaSet

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/replicasets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicaSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
201
ReplicaSet
Created
+

Misc Operations

+

See supported operations below...

+

Read Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read scale of the specified ReplicaSet

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/replicasets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Replace Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace scale of the specified ReplicaSet

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/replicasets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Scale
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
201
Scale
Created
+

Patch Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update scale of the specified ReplicaSet

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/replicasets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+
+

ReplicaSet v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1ReplicaSet
+ + + +

DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See the release notes for more information. ReplicaSet ensures that a specified number of pod replicas are running at any given time.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
ReplicaSetSpec
Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
status
ReplicaSetStatus
Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
+

ReplicaSetSpec v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
minReadySeconds
integer
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)
replicas
integer
Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller
selector
LabelSelector
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: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
template
PodTemplateSpec
Template is the object that describes the pod that will be created if insufficient replicas are detected. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
+

ReplicaSetStatus v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
availableReplicas
integer
The number of available replicas (ready for at least minReadySeconds) for this replica set.
conditions
ReplicaSetCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a replica set's current state.
fullyLabeledReplicas
integer
The number of pods that have labels matching the labels of the pod template of the replicaset.
observedGeneration
integer
ObservedGeneration reflects the generation of the most recently observed ReplicaSet.
readyReplicas
integer
The number of ready replicas for this replica set.
replicas
integer
Replicas is the most recently oberved number of replicas. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller
+

ReplicaSetList v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
ReplicaSet array
List of ReplicaSets. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a ReplicaSet

+

HTTP Request

+

POST /apis/extensions/v1beta1/namespaces/{namespace}/replicasets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicaSet
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
ReplicaSet
Accepted
200
ReplicaSet
OK
201
ReplicaSet
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicaSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
201
ReplicaSet
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSetList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind ReplicaSet

+

HTTP Request

+

GET /apis/extensions/v1beta1/replicasets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSetList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind ReplicaSet

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/namespaces/{namespace}/replicasets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of ReplicaSet

+

HTTP Request

+

GET /apis/extensions/v1beta1/watch/replicasets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified ReplicaSet

+

HTTP Request

+

GET /apis/extensions/v1beta1/namespaces/{namespace}/replicasets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
ReplicaSet
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the ReplicaSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
ReplicaSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
201
ReplicaSet
Created
200
ReplicaSet
OK
+

Misc Operations

+

See supported operations below...

+

Read Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read scale of the specified ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Replace Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace scale of the specified ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Scale
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
201
Scale
Created
+

Patch Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update scale of the specified ReplicaSet

+

HTTP Request

+

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

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+
+

ReplicaSetCondition v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2ReplicaSetCondition
+ + + +

ReplicaSetCondition describes the state of a replica set at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
The last time the condition transitioned from one status to another.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of replica set condition.
+
+

ReplicaSetCondition v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1ReplicaSetCondition
+ + + +

ReplicaSetCondition describes the state of a replica set at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
The last time the condition transitioned from one status to another.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of replica set condition.
+
+

ResourceAttributes v1beta1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1beta1ResourceAttributes
+ + + +

ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
group
string
Group is the API Group of the Resource. "*" means all.
name
string
Name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
namespace
string
Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces "" (empty) is defaulted for LocalSubjectAccessReviews "" (empty) is empty for cluster-scoped resources "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview
resource
string
Resource is one of the existing resource types. "*" means all.
subresource
string
Subresource is one of the existing resource types. "" means none.
verb
string
Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
version
string
Version is the API Version of the Resource. "*" means all.
+
+

ResourceRule v1beta1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1beta1ResourceRule
+ + + +

ResourceRule is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroups
string array
APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed. "*" means all.
resourceNames
string array
ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. "*" means all.
resources
string array
Resources is a list of resources this rule applies to. "" means all in the specified apiGroups. "/foo" represents the subresource 'foo' for all resources in the specified apiGroups.
verbs
string array
Verb is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. "*" means all.
+
+

Role v1beta1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1beta1Role
+ + + +

Role is a namespaced, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
rules
PolicyRule array
Rules holds all the PolicyRules for this Role
+

RoleList v1beta1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Role array
Items is a list of Roles
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a Role

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Role
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
Role
Accepted
200
Role
OK
201
Role
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Role

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Role
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Role

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Role
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Role
OK
201
Role
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a Role

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Role

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Role
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/roles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/watch/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/watch/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/watch/roles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

Role v1alpha1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1alpha1Role
+ + + +

Role is a namespaced, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
rules
PolicyRule array
Rules holds all the PolicyRules for this Role
+

RoleList v1alpha1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
Role array
Items is a list of Roles
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a Role

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Role
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
Role
OK
201
Role
Created
202
Role
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified Role

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Role
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified Role

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Role
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Role
OK
201
Role
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a Role

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of Role

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Role
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/roles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/watch/namespaces/{namespace}/roles/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Role
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/watch/namespaces/{namespace}/roles

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of Role

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/watch/roles

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

RoleBinding v1beta1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1beta1RoleBinding
+ + + +

RoleBinding references a role, but does not contain it. It can reference a Role in the same namespace or a ClusterRole in the global namespace. It adds who information via Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
roleRef
RoleRef
RoleRef can reference a Role in the current namespace or a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.
subjects
Subject array
Subjects holds references to the objects the role applies to.
+

RoleBindingList v1beta1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
RoleBinding array
Items is a list of RoleBindings
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a RoleBinding

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
RoleBinding
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
RoleBinding
OK
201
RoleBinding
Created
202
RoleBinding
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified RoleBinding

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBinding
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified RoleBinding

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
RoleBinding
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
RoleBinding
OK
201
RoleBinding
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a RoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of RoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBinding
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBindingList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/rolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBindingList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/watch/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/watch/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1beta1/watch/rolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

RoleBinding v1alpha1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1alpha1RoleBinding
+ + + +

RoleBinding references a role, but does not contain it. It can reference a Role in the same namespace or a ClusterRole in the global namespace. It adds who information via Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata.
roleRef
RoleRef
RoleRef can reference a Role in the current namespace or a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.
subjects
Subject array
Subjects holds references to the objects the role applies to.
+

RoleBindingList v1alpha1 rbac

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
RoleBinding array
Items is a list of RoleBindings
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard object's metadata.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a RoleBinding

+

HTTP Request

+

POST /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
RoleBinding
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
RoleBinding
Accepted
200
RoleBinding
OK
201
RoleBinding
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified RoleBinding

+

HTTP Request

+

PATCH /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBinding
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified RoleBinding

+

HTTP Request

+

PUT /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
RoleBinding
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
RoleBinding
OK
201
RoleBinding
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a RoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of RoleBinding

+

HTTP Request

+

DELETE /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBinding
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBindingList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/rolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
RoleBindingList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/watch/namespaces/{namespace}/rolebindings/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the RoleBinding
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/watch/namespaces/{namespace}/rolebindings

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of RoleBinding

+

HTTP Request

+

GET /apis/rbac.authorization.k8s.io/v1alpha1/watch/rolebindings

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

RoleRef v1beta1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1beta1RoleRef
+ + + +

RoleRef contains information that points to the role being used

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroup
string
APIGroup is the group for the resource being referenced
kind
string
Kind is the type of resource being referenced
name
string
Name is the name of resource being referenced
+
+

RoleRef v1alpha1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1alpha1RoleRef
+ + + +

RoleRef contains information that points to the role being used

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroup
string
APIGroup is the group for the resource being referenced
kind
string
Kind is the type of resource being referenced
name
string
Name is the name of resource being referenced
+
+

RollbackConfig v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1RollbackConfig
+

DEPRECATED.

+ + + + + + + + + + + + + + + +
FieldDescription
revision
integer
The revision to rollback to. If set to 0, rollback to the last revision.
+
+

RollingUpdateStatefulSetStrategy v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2RollingUpdateStatefulSetStrategy
+ + + +

RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdateStatefulSetStrategyType.

+ + + + + + + + + + + + + + + +
FieldDescription
partition
integer
Partition indicates the ordinal at which the StatefulSet should be partitioned. Default value is 0.
+
+

RollingUpdateStatefulSetStrategy v1beta1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta1RollingUpdateStatefulSetStrategy
+ + + +

RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdateStatefulSetStrategyType.

+ + + + + + + + + + + + + + + +
FieldDescription
partition
integer
Partition indicates the ordinal at which the StatefulSet should be partitioned.
+
+

RunAsUserStrategyOptions v1beta1 policy

+ + + + + + + + + + + + + + + +
GroupVersionKind
policyv1beta1RunAsUserStrategyOptions
+

RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
ranges
IDRange array
ranges are the allowed ranges of uids that may be used. If you would like to force a single uid then supply a single range with the same start and end. Required for MustRunAs.
rule
string
rule is the strategy that will dictate the allowable RunAsUser values that may be set.
+
+

SELinuxStrategyOptions v1beta1 policy

+ + + + + + + + + + + + + + + +
GroupVersionKind
policyv1beta1SELinuxStrategyOptions
+

SELinuxStrategyOptions defines the strategy type and any options used to create the strategy.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
rule
string
rule is the strategy that will dictate the allowable labels that may be set.
seLinuxOptions
SELinuxOptions
seLinuxOptions required to run as; required for MustRunAs More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
+
+

Scale v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2Scale
+ + + +

Scale represents a scaling request for a resource.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
spec
ScaleSpec
defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
status
ScaleStatus
current status of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status. Read-only.
+

ScaleSpec v1beta2 apps

+ + + + + + + + + + + + + + + +
FieldDescription
replicas
integer
desired number of instances for the scaled object.
+

ScaleStatus v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
replicas
integer
actual number of observed instances of the scaled object.
selector
object
label query over pods that should match the replicas count. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
targetSelector
string
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: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+
+

Scale v1beta1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta1Scale
+ + + +

Scale represents a scaling request for a resource.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
spec
ScaleSpec
defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
status
ScaleStatus
current status of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status. Read-only.
+

ScaleSpec v1beta1 apps

+ + + + + + + + + + + + + + + +
FieldDescription
replicas
integer
desired number of instances for the scaled object.
+

ScaleStatus v1beta1 apps

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
replicas
integer
actual number of observed instances of the scaled object.
selector
object
label query over pods that should match the replicas count. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
targetSelector
string
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: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+
+

Scale v1beta1 extensions

+ + + + + + + + + + + + + + + +
GroupVersionKind
extensionsv1beta1Scale
+ + + +

represents a scaling request for a resource.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
spec
ScaleSpec
defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
status
ScaleStatus
current status of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status. Read-only.
+

ScaleSpec v1beta1 extensions

+ + + + + + + + + + + + + + + +
FieldDescription
replicas
integer
desired number of instances for the scaled object.
+

ScaleStatus v1beta1 extensions

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
replicas
integer
actual number of observed instances of the scaled object.
selector
object
label query over pods that should match the replicas count. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
targetSelector
string
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: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
+
+

SelfSubjectAccessReview v1beta1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1beta1SelfSubjectAccessReview
+ + + +

SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a spec.namespace means "in all namespaces". Self is a special case, because users should always be able to check whether they can perform an action

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
SelfSubjectAccessReviewSpec
Spec holds information about the request being evaluated. user and groups must be empty
status
SubjectAccessReviewStatus
Status is filled in by the server and indicates whether the request is allowed or not
+

SelfSubjectAccessReviewSpec v1beta1 authorization

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
nonResourceAttributes
NonResourceAttributes
NonResourceAttributes describes information for a non-resource access request
resourceAttributes
ResourceAttributes
ResourceAuthorizationAttributes describes information for a resource access request
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a SelfSubjectAccessReview

+

HTTP Request

+

POST /apis/authorization.k8s.io/v1beta1/selfsubjectaccessreviews

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
SelfSubjectAccessReview
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
SelfSubjectAccessReview
Accepted
200
SelfSubjectAccessReview
OK
201
SelfSubjectAccessReview
Created
+
+

SelfSubjectRulesReview v1beta1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1beta1SelfSubjectRulesReview
+ + + +

SelfSubjectRulesReview enumerates the set of actions the current user can perform within a namespace. The returned list of actions may be incomplete depending on the server's authorization mode, and any errors experienced during the evaluation. SelfSubjectRulesReview should be used by UIs to show/hide actions, or to quickly let an end user reason about their permissions. It should NOT Be used by external systems to drive authorization decisions as this raises confused deputy, cache lifetime/revocation, and correctness concerns. SubjectAccessReview, and LocalAccessReview are the correct way to defer authorization decisions to the API server.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
SelfSubjectRulesReviewSpec
Spec holds information about the request being evaluated.
status
SubjectRulesReviewStatus
Status is filled in by the server and indicates the set of actions a user can perform.
+

SelfSubjectRulesReviewSpec v1beta1 authorization

+ + + + + + + + + + + + + + + +
FieldDescription
namespace
string
Namespace to evaluate rules for. Required.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a SelfSubjectRulesReview

+

HTTP Request

+

POST /apis/authorization.k8s.io/v1beta1/selfsubjectrulesreviews

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
SelfSubjectRulesReview
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
201
SelfSubjectRulesReview
Created
202
SelfSubjectRulesReview
Accepted
200
SelfSubjectRulesReview
OK
+
+

ServiceReference v1beta1 admissionregistration.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
admissionregistration.k8s.iov1beta1ServiceReference
+ + + +

ServiceReference holds a reference to Service.legacy.k8s.io

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
name is the name of the service. Required
namespace
string
namespace is the namespace of the service. Required
path
string
path is an optional URL path which will be sent in any request to this service.
+
+

ServiceReference v1beta1 apiregistration.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
apiregistration.k8s.iov1beta1ServiceReference
+ + + +

ServiceReference holds a reference to Service.legacy.k8s.io

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
name
string
Name is the name of the service
namespace
string
Namespace is the namespace of the service
+
+

StatefulSet v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2StatefulSet
+ + + +

DEPRECATED - This group version of StatefulSet is deprecated by apps/v1/StatefulSet. See the release notes for more information. StatefulSet represents a set of pods with consistent identities. Identities are defined as:

+
    +
  • Network: A single stable DNS and hostname.
  • +
  • Storage: As many VolumeClaims as requested. +The StatefulSet guarantees that a given network identity will always map to the same storage identity.
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
StatefulSetSpec
Spec defines the desired identities of pods in this set.
status
StatefulSetStatus
Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time.
+

StatefulSetSpec v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
podManagementPolicy
string
podManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. The default policy is OrderedReady, where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. The alternative policy is Parallel which will create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once.
replicas
integer
replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1.
revisionHistoryLimit
integer
revisionHistoryLimit is the maximum number of revisions that will be maintained in the StatefulSet's revision history. The revision history consists of all revisions not represented by a currently applied StatefulSetSpec version. The default value is 10.
selector
LabelSelector
selector is a label query over pods that should match the replica count. It must match the pod template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
serviceName
string
serviceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where "pod-specific-string" is managed by the StatefulSet controller.
template
PodTemplateSpec
template is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet.
updateStrategy
StatefulSetUpdateStrategy
updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.
volumeClaimTemplates
PersistentVolumeClaim array
volumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.
+

StatefulSetStatus v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
collisionCount
integer
collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.
conditions
StatefulSetCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a statefulset's current state.
currentReplicas
integer
currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by currentRevision.
currentRevision
string
currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).
observedGeneration
integer
observedGeneration is the most recent generation observed for this StatefulSet. It corresponds to the StatefulSet's generation, which is updated on mutation by the API Server.
readyReplicas
integer
readyReplicas is the number of Pods created by the StatefulSet controller that have a Ready Condition.
replicas
integer
replicas is the number of Pods created by the StatefulSet controller.
updateRevision
string
updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)
updatedReplicas
integer
updatedReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by updateRevision.
+

StatefulSetList v1beta2 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
StatefulSet array
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a StatefulSet

+

HTTP Request

+

POST /apis/apps/v1beta2/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StatefulSet
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
201
StatefulSet
Created
202
StatefulSet
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified StatefulSet

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified StatefulSet

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StatefulSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
201
StatefulSet
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a StatefulSet

+

HTTP Request

+

DELETE /apis/apps/v1beta2/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of StatefulSet

+

HTTP Request

+

DELETE /apis/apps/v1beta2/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSetList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta2/statefulsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSetList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta2/watch/statefulsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified StatefulSet

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/statefulsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/statefulsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified StatefulSet

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/statefulsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StatefulSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
201
StatefulSet
Created
+

Misc Operations

+

See supported operations below...

+

Read Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read scale of the specified StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta2/namespaces/{namespace}/statefulsets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Replace Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace scale of the specified StatefulSet

+

HTTP Request

+

PUT /apis/apps/v1beta2/namespaces/{namespace}/statefulsets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Scale
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
201
Scale
Created
+

Patch Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update scale of the specified StatefulSet

+

HTTP Request

+

PATCH /apis/apps/v1beta2/namespaces/{namespace}/statefulsets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+
+

StatefulSet v1beta1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta1StatefulSet
+ + + +

DEPRECATED - This group version of StatefulSet is deprecated by apps/v1beta2/StatefulSet. See the release notes for more information. StatefulSet represents a set of pods with consistent identities. Identities are defined as:

+
    +
  • Network: A single stable DNS and hostname.
  • +
  • Storage: As many VolumeClaims as requested. +The StatefulSet guarantees that a given network identity will always map to the same storage identity.
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
StatefulSetSpec
Spec defines the desired identities of pods in this set.
status
StatefulSetStatus
Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time.
+

StatefulSetSpec v1beta1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
podManagementPolicy
string
podManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. The default policy is OrderedReady, where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. The alternative policy is Parallel which will create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once.
replicas
integer
replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1.
revisionHistoryLimit
integer
revisionHistoryLimit is the maximum number of revisions that will be maintained in the StatefulSet's revision history. The revision history consists of all revisions not represented by a currently applied StatefulSetSpec version. The default value is 10.
selector
LabelSelector
selector is a label query over pods that should match the replica count. If empty, defaulted to labels on the pod template. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
serviceName
string
serviceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where "pod-specific-string" is managed by the StatefulSet controller.
template
PodTemplateSpec
template is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet.
updateStrategy
StatefulSetUpdateStrategy
updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.
volumeClaimTemplates
PersistentVolumeClaim array
volumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.
+

StatefulSetStatus v1beta1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
collisionCount
integer
collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.
conditions
StatefulSetCondition array
patch type: merge
patch merge key: type
Represents the latest available observations of a statefulset's current state.
currentReplicas
integer
currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by currentRevision.
currentRevision
string
currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).
observedGeneration
integer
observedGeneration is the most recent generation observed for this StatefulSet. It corresponds to the StatefulSet's generation, which is updated on mutation by the API Server.
readyReplicas
integer
readyReplicas is the number of Pods created by the StatefulSet controller that have a Ready Condition.
replicas
integer
replicas is the number of Pods created by the StatefulSet controller.
updateRevision
string
updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)
updatedReplicas
integer
updatedReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by updateRevision.
+

StatefulSetList v1beta1 apps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
StatefulSet array
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a StatefulSet

+

HTTP Request

+

POST /apis/apps/v1beta1/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StatefulSet
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
201
StatefulSet
Created
202
StatefulSet
Accepted
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified StatefulSet

+

HTTP Request

+

PATCH /apis/apps/v1beta1/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified StatefulSet

+

HTTP Request

+

PUT /apis/apps/v1beta1/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StatefulSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
201
StatefulSet
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a StatefulSet

+

HTTP Request

+

DELETE /apis/apps/v1beta1/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of StatefulSet

+

HTTP Request

+

DELETE /apis/apps/v1beta1/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta1/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta1/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSetList
OK
+

List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta1/statefulsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSetList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta1/watch/namespaces/{namespace}/statefulsets/{name}

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta1/watch/namespaces/{namespace}/statefulsets

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List All Namespaces

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta1/watch/statefulsets

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Status Operations

+

See supported operations below...

+

Patch Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update status of the specified StatefulSet

+

HTTP Request

+

PATCH /apis/apps/v1beta1/namespaces/{namespace}/statefulsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

Read Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read status of the specified StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta1/namespaces/{namespace}/statefulsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
+

Replace Status

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace status of the specified StatefulSet

+

HTTP Request

+

PUT /apis/apps/v1beta1/namespaces/{namespace}/statefulsets/{name}/status

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the StatefulSet
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StatefulSet
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
StatefulSet
OK
201
StatefulSet
Created
+

Misc Operations

+

See supported operations below...

+

Read Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read scale of the specified StatefulSet

+

HTTP Request

+

GET /apis/apps/v1beta1/namespaces/{namespace}/statefulsets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+

Replace Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace scale of the specified StatefulSet

+

HTTP Request

+

PUT /apis/apps/v1beta1/namespaces/{namespace}/statefulsets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Scale
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
201
Scale
Created
+

Patch Scale

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update scale of the specified StatefulSet

+

HTTP Request

+

PATCH /apis/apps/v1beta1/namespaces/{namespace}/statefulsets/{name}/scale

+

Path Parameters

+ + + + + + + + + + + + + + + + + +
ParameterDescription
namename of the Scale
namespaceobject name and auth scope, such as for teams and projects
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Scale
OK
+
+

StatefulSetCondition v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2StatefulSetCondition
+ + + +

StatefulSetCondition describes the state of a statefulset at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of statefulset condition.
+
+

StatefulSetCondition v1beta1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta1StatefulSetCondition
+ + + +

StatefulSetCondition describes the state of a statefulset at a certain point.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
lastTransitionTime
Time
Last time the condition transitioned from one status to another.
message
string
A human readable message indicating details about the transition.
reason
string
The reason for the condition's last transition.
status
string
Status of the condition, one of True, False, Unknown.
type
string
Type of statefulset condition.
+
+

StatefulSetUpdateStrategy v1beta2 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta2StatefulSetUpdateStrategy
+ + + +

StatefulSetUpdateStrategy indicates the strategy that the StatefulSet controller will use to perform updates. It includes any additional parameters necessary to perform the update for the indicated strategy.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
rollingUpdate
RollingUpdateStatefulSetStrategy
RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.
type
string
Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate.
+
+

StatefulSetUpdateStrategy v1beta1 apps

+ + + + + + + + + + + + + + + +
GroupVersionKind
appsv1beta1StatefulSetUpdateStrategy
+ + + +

StatefulSetUpdateStrategy indicates the strategy that the StatefulSet controller will use to perform updates. It includes any additional parameters necessary to perform the update for the indicated strategy.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
rollingUpdate
RollingUpdateStatefulSetStrategy
RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.
type
string
Type indicates the type of the StatefulSetUpdateStrategy.
+
+

StorageClass v1beta1 storage.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
storage.k8s.iov1beta1StorageClass
+ + + +

StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.

+

StorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
allowVolumeExpansion
boolean
AllowVolumeExpansion shows whether the storage class allow volume expand
allowedTopologies
TopologySelectorTerm array
Restrict the node topologies where volumes can be dynamically provisioned. Each volume plugin defines its own supported topology specifications. An empty TopologySelectorTerm list means there is no topology restriction. This field is alpha-level and is only honored by servers that enable the DynamicProvisioningScheduling feature.
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
mountOptions
string array
Dynamically provisioned PersistentVolumes of this storage class are created with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.
parameters
object
Parameters holds the parameters for the provisioner that should create volumes of this storage class.
provisioner
string
Provisioner indicates the type of the provisioner.
reclaimPolicy
string
Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.
volumeBindingMode
string
VolumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is alpha-level and is only honored by servers that enable the VolumeScheduling feature.
+

StorageClassList v1beta1 storage

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
StorageClass array
Items is the list of StorageClasses
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a StorageClass

+

HTTP Request

+

POST /apis/storage.k8s.io/v1beta1/storageclasses

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StorageClass
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
StorageClass
Accepted
200
StorageClass
OK
201
StorageClass
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified StorageClass

+

HTTP Request

+

PATCH /apis/storage.k8s.io/v1beta1/storageclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the StorageClass
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StorageClass
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified StorageClass

+

HTTP Request

+

PUT /apis/storage.k8s.io/v1beta1/storageclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the StorageClass
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
StorageClass
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
StorageClass
OK
201
StorageClass
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a StorageClass

+

HTTP Request

+

DELETE /apis/storage.k8s.io/v1beta1/storageclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the StorageClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of StorageClass

+

HTTP Request

+

DELETE /apis/storage.k8s.io/v1beta1/storageclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified StorageClass

+

HTTP Request

+

GET /apis/storage.k8s.io/v1beta1/storageclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the StorageClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StorageClass
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind StorageClass

+

HTTP Request

+

GET /apis/storage.k8s.io/v1beta1/storageclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
StorageClassList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind StorageClass

+

HTTP Request

+

GET /apis/storage.k8s.io/v1beta1/watch/storageclasses/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the StorageClass
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of StorageClass

+

HTTP Request

+

GET /apis/storage.k8s.io/v1beta1/watch/storageclasses

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

Subject v1beta1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1beta1Subject
+ + + +

Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference, or a value for non-objects such as user and group names.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiGroup
string
APIGroup holds the API group of the referenced subject. Defaults to "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for User and Group subjects.
kind
string
Kind of object being referenced. Values defined by this API group are "User", "Group", and "ServiceAccount". If the Authorizer does not recognized the kind value, the Authorizer should report an error.
name
string
Name of the object being referenced.
namespace
string
Namespace of the referenced object. If the object kind is non-namespace, such as "User" or "Group", and this value is not empty the Authorizer should report an error.
+
+

Subject v1alpha1 rbac.authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
rbac.authorization.k8s.iov1alpha1Subject
+ + + +

Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference, or a value for non-objects such as user and group names.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
APIVersion holds the API group and version of the referenced subject. Defaults to "v1" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io/v1alpha1" for User and Group subjects.
kind
string
Kind of object being referenced. Values defined by this API group are "User", "Group", and "ServiceAccount". If the Authorizer does not recognized the kind value, the Authorizer should report an error.
name
string
Name of the object being referenced.
namespace
string
Namespace of the referenced object. If the object kind is non-namespace, such as "User" or "Group", and this value is not empty the Authorizer should report an error.
+
+

SubjectAccessReview v1beta1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1beta1SubjectAccessReview
+ + + +

SubjectAccessReview checks whether or not a user or group can perform an action.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
SubjectAccessReviewSpec
Spec holds information about the request being evaluated
status
SubjectAccessReviewStatus
Status is filled in by the server and indicates whether the request is allowed or not
+

SubjectAccessReviewSpec v1beta1 authorization

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
extra
object
Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer it needs a reflection here.
group
string array
Groups is the groups you're testing for.
nonResourceAttributes
NonResourceAttributes
NonResourceAttributes describes information for a non-resource access request
resourceAttributes
ResourceAttributes
ResourceAuthorizationAttributes describes information for a resource access request
uid
string
UID information about the requesting user.
user
string
User is the user you're testing for. If you specify "User" but not "Group", then is it interpreted as "What if User were not a member of any groups
+

SubjectAccessReviewStatus v1beta1 authorization

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
allowed
boolean
Allowed is required. True if the action would be allowed, false otherwise.
denied
boolean
Denied is optional. True if the action would be denied, otherwise false. If both allowed is false and denied is false, then the authorizer has no opinion on whether to authorize the action. Denied may not be true if Allowed is true.
evaluationError
string
EvaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.
reason
string
Reason is optional. It indicates why a request was allowed or denied.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a SubjectAccessReview

+

HTTP Request

+

POST /apis/authorization.k8s.io/v1beta1/subjectaccessreviews

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
SubjectAccessReview
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
SubjectAccessReview
Accepted
200
SubjectAccessReview
OK
201
SubjectAccessReview
Created
+
+

SubjectRulesReviewStatus v1beta1 authorization.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authorization.k8s.iov1beta1SubjectRulesReviewStatus
+ + + +

SubjectRulesReviewStatus contains the result of a rules check. This check can be incomplete depending on the set of authorizers the server is configured with and any errors experienced during evaluation. Because authorization rules are additive, if a rule appears in a list it's safe to assume the subject has that permission, even if that list is incomplete.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
evaluationError
string
EvaluationError can appear in combination with Rules. It indicates an error occurred during rule evaluation, such as an authorizer that doesn't support rule evaluation, and that ResourceRules and/or NonResourceRules may be incomplete.
incomplete
boolean
Incomplete is true when the rules returned by this call are incomplete. This is most commonly encountered when an authorizer, such as an external authorizer, doesn't support rules evaluation.
nonResourceRules
NonResourceRule array
NonResourceRules is the list of actions the subject is allowed to perform on non-resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
resourceRules
ResourceRule array
ResourceRules is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.
+
+

SupplementalGroupsStrategyOptions v1beta1 policy

+ + + + + + + + + + + + + + + +
GroupVersionKind
policyv1beta1SupplementalGroupsStrategyOptions
+

SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
ranges
IDRange array
ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end. Required for MustRunAs.
rule
string
rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.
+
+

TokenReview v1beta1 authentication.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authentication.k8s.iov1beta1TokenReview
+ + + +

TokenReview attempts to authenticate a token to a known user. Note: TokenReview requests may be cached by the webhook token authenticator plugin in the kube-apiserver.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
spec
TokenReviewSpec
Spec holds information about the request being evaluated
status
TokenReviewStatus
Status is filled in by the server and indicates whether the request can be authenticated.
+

TokenReviewSpec v1beta1 authentication

+ + + + + + + + + + + + + + + +
FieldDescription
token
string
Token is the opaque bearer token.
+

TokenReviewStatus v1beta1 authentication

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
authenticated
boolean
Authenticated indicates that the token was associated with a known user.
error
string
Error indicates that the token couldn't be checked
user
UserInfo
User is the UserInfo associated with the provided token.
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a TokenReview

+

HTTP Request

+

POST /apis/authentication.k8s.io/v1beta1/tokenreviews

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
TokenReview
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
TokenReview
Accepted
200
TokenReview
OK
201
TokenReview
Created
+
+

UserInfo v1beta1 authentication.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
authentication.k8s.iov1beta1UserInfo
+ + + +

UserInfo holds the information about the user needed to implement the user.Info interface.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
extra
object
Any additional information provided by the authenticator.
groups
string array
The names of groups this user is a part of.
uid
string
A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs.
username
string
The name that uniquely identifies this user among all active users.
+
+

VolumeAttachment v1alpha1 storage.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
storage.k8s.iov1alpha1VolumeAttachment
+ + + +

VolumeAttachment captures the intent to attach or detach the specified volume to/from the specified node.

+

VolumeAttachment objects are non-namespaced.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ObjectMeta
Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
spec
VolumeAttachmentSpec
Specification of the desired attach/detach volume behavior. Populated by the Kubernetes system.
status
VolumeAttachmentStatus
Status of the VolumeAttachment request. Populated by the entity completing the attach or detach operation, i.e. the external-attacher.
+

VolumeAttachmentSpec v1alpha1 storage

+ + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
attacher
string
Attacher indicates the name of the volume driver that MUST handle this request. This is the name returned by GetPluginName().
nodeName
string
The node that the volume should be attached to.
source
VolumeAttachmentSource
Source represents the volume that should be attached.
+

VolumeAttachmentStatus v1alpha1 storage

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
attachError
VolumeError
The last error encountered during attach operation, if any. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.
attached
boolean
Indicates the volume is successfully attached. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.
attachmentMetadata
object
Upon successful attach, this field is populated with any information returned by the attach operation that must be passed into subsequent WaitForAttach or Mount calls. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.
detachError
VolumeError
The last error encountered during detach operation, if any. This field must only be set by the entity completing the detach operation, i.e. the external-attacher.
+

VolumeAttachmentList v1alpha1 storage

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
apiVersion
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
items
VolumeAttachment array
Items is the list of VolumeAttachments
kind
string
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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ListMeta
Standard list metadata More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
+

Write Operations

+

See supported operations below...

+

Create

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

create a VolumeAttachment

+

HTTP Request

+

POST /apis/storage.k8s.io/v1alpha1/volumeattachments

+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
VolumeAttachment
+

Response

+ + + + + + + + + + + + + + + + + + + + + +
CodeDescription
202
VolumeAttachment
Accepted
200
VolumeAttachment
OK
201
VolumeAttachment
Created
+

Patch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

partially update the specified VolumeAttachment

+

HTTP Request

+

PATCH /apis/storage.k8s.io/v1alpha1/volumeattachments/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the VolumeAttachment
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
Patch
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
VolumeAttachment
OK
+

Replace

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

replace the specified VolumeAttachment

+

HTTP Request

+

PUT /apis/storage.k8s.io/v1alpha1/volumeattachments/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the VolumeAttachment
+

Query Parameters

+ + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
VolumeAttachment
+

Response

+ + + + + + + + + + + + + + + + + +
CodeDescription
200
VolumeAttachment
OK
201
VolumeAttachment
Created
+

Delete

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete a VolumeAttachment

+

HTTP Request

+

DELETE /apis/storage.k8s.io/v1alpha1/volumeattachments/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the VolumeAttachment
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
gracePeriodSecondsThe 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.
orphanDependentsDeprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
propagationPolicyWhether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
+

Body Parameters

+ + + + + + + + + + + + + +
ParameterDescription
body
DeleteOptions
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Delete Collection

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

delete collection of VolumeAttachment

+

HTTP Request

+

DELETE /apis/storage.k8s.io/v1alpha1/volumeattachments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
Status
OK
+

Read Operations

+

See supported operations below...

+

Read

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

read the specified VolumeAttachment

+

HTTP Request

+

GET /apis/storage.k8s.io/v1alpha1/volumeattachments/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the VolumeAttachment
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
exactShould the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.
exportShould this value be exported. Export strips fields that a user can not specify.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
VolumeAttachment
OK
+

List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

list or watch objects of kind VolumeAttachment

+

HTTP Request

+

GET /apis/storage.k8s.io/v1alpha1/volumeattachments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
prettyIf 'true', then the output is pretty printed.
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
VolumeAttachmentList
OK
+

Watch

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch changes to an object of kind VolumeAttachment

+

HTTP Request

+

GET /apis/storage.k8s.io/v1alpha1/watch/volumeattachments/{name}

+

Path Parameters

+ + + + + + + + + + + + + +
ParameterDescription
namename of the VolumeAttachment
+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+

Watch List

+
+

kubectl Command

+
+

+Coming Soon
+
+
+

curl Command (requires kubectl proxy to be running)

+
+

+Coming Soon
+
+
+

Output

+
+

+Coming Soon
+
+
+

Response Body

+
+

+Coming Soon
+
+

watch individual changes to a list of VolumeAttachment

+

HTTP Request

+

GET /apis/storage.k8s.io/v1alpha1/watch/volumeattachments

+

Query Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
continueThe continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
fieldSelectorA selector to restrict the list of returned objects by their fields. Defaults to everything.
includeUninitializedIf true, partially initialized resources are included in the response.
labelSelectorA selector to restrict the list of returned objects by their labels. Defaults to everything.
limitlimit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
prettyIf 'true', then the output is pretty printed.
resourceVersionWhen specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
timeoutSecondsTimeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
watchWatch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
+

Response

+ + + + + + + + + + + + + +
CodeDescription
200
WatchEvent
OK
+
+

VolumeAttachmentSource v1alpha1 storage.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
storage.k8s.iov1alpha1VolumeAttachmentSource
+ + + +

VolumeAttachmentSource represents a volume that should be attached. Right now only PersistenVolumes can be attached via external attacher, in future we may allow also inline volumes in pods. Exactly one member can be set.

+ + + + + + + + + + + + + + + +
FieldDescription
persistentVolumeName
string
Name of the persistent volume to attach.
+
+

VolumeError v1alpha1 storage.k8s.io

+ + + + + + + + + + + + + + + +
GroupVersionKind
storage.k8s.iov1alpha1VolumeError
+ + + +

VolumeError captures an error encountered during a volume operation.

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
message
string
String detailing the error encountered during Attach or Detach operation. This string maybe logged, so it should not contain sensitive information.
time
Time
Time the error was encountered.
+
+
+ + + + + + + + \ No newline at end of file diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/navData.js b/static/docs/reference/generated/kubernetes-api/v1.11/navData.js new file mode 100755 index 0000000000..1a29afefb4 --- /dev/null +++ b/static/docs/reference/generated/kubernetes-api/v1.11/navData.js @@ -0,0 +1 @@ +(function(){navData = {"toc":[{"section":"volumeerror-v1alpha1-storage-k8s-io","subsections":[]},{"section":"volumeattachmentsource-v1alpha1-storage-k8s-io","subsections":[]},{"section":"volumeattachment-v1alpha1-storage-k8s-io","subsections":[{"section":"-strong-read-operations-strong--1045","subsections":[{"section":"watch-list-1049"},{"section":"watch-1048"},{"section":"list-1047"},{"section":"read-1046"}]},{"section":"-strong-write-operations-strong--1039","subsections":[{"section":"delete-collection-1044"},{"section":"delete-1043"},{"section":"replace-1042"},{"section":"patch-1041"},{"section":"create-1040"}]}]},{"section":"userinfo-v1beta1-authentication-k8s-io","subsections":[]},{"section":"tokenreview-v1beta1-authentication-k8s-io","subsections":[{"section":"-strong-write-operations-strong--1037","subsections":[{"section":"create-1038"}]}]},{"section":"supplementalgroupsstrategyoptions-v1beta1-policy","subsections":[]},{"section":"subjectrulesreviewstatus-v1beta1-authorization-k8s-io","subsections":[]},{"section":"subjectaccessreview-v1beta1-authorization-k8s-io","subsections":[{"section":"-strong-write-operations-strong--1035","subsections":[{"section":"create-1036"}]}]},{"section":"subject-v1alpha1-rbac-authorization-k8s-io","subsections":[]},{"section":"subject-v1beta1-rbac-authorization-k8s-io","subsections":[]},{"section":"storageclass-v1beta1-storage-k8s-io","subsections":[{"section":"-strong-read-operations-strong--1030","subsections":[{"section":"watch-list-1034"},{"section":"watch-1033"},{"section":"list-1032"},{"section":"read-1031"}]},{"section":"-strong-write-operations-strong--1024","subsections":[{"section":"delete-collection-1029"},{"section":"delete-1028"},{"section":"replace-1027"},{"section":"patch-1026"},{"section":"create-1025"}]}]},{"section":"statefulsetupdatestrategy-v1beta1-apps","subsections":[]},{"section":"statefulsetupdatestrategy-v1beta2-apps","subsections":[]},{"section":"statefulsetcondition-v1beta1-apps","subsections":[]},{"section":"statefulsetcondition-v1beta2-apps","subsections":[]},{"section":"statefulset-v1beta1-apps","subsections":[{"section":"-strong-misc-operations-strong--1020","subsections":[{"section":"patch-scale-1023"},{"section":"replace-scale-1022"},{"section":"read-scale-1021"}]},{"section":"-strong-status-operations-strong--1016","subsections":[{"section":"replace-status-1019"},{"section":"read-status-1018"},{"section":"patch-status-1017"}]},{"section":"-strong-read-operations-strong--1009","subsections":[{"section":"watch-list-all-namespaces-1015"},{"section":"watch-list-1014"},{"section":"watch-1013"},{"section":"list-all-namespaces-1012"},{"section":"list-1011"},{"section":"read-1010"}]},{"section":"-strong-write-operations-strong--1003","subsections":[{"section":"delete-collection-1008"},{"section":"delete-1007"},{"section":"replace-1006"},{"section":"patch-1005"},{"section":"create-1004"}]}]},{"section":"statefulset-v1beta2-apps","subsections":[{"section":"-strong-misc-operations-strong--999","subsections":[{"section":"patch-scale-1002"},{"section":"replace-scale-1001"},{"section":"read-scale-1000"}]},{"section":"-strong-status-operations-strong--995","subsections":[{"section":"replace-status-998"},{"section":"read-status-997"},{"section":"patch-status-996"}]},{"section":"-strong-read-operations-strong--988","subsections":[{"section":"watch-list-all-namespaces-994"},{"section":"watch-list-993"},{"section":"watch-992"},{"section":"list-all-namespaces-991"},{"section":"list-990"},{"section":"read-989"}]},{"section":"-strong-write-operations-strong--982","subsections":[{"section":"delete-collection-987"},{"section":"delete-986"},{"section":"replace-985"},{"section":"patch-984"},{"section":"create-983"}]}]},{"section":"servicereference-v1beta1-apiregistration-k8s-io","subsections":[]},{"section":"servicereference-v1beta1-admissionregistration-k8s-io","subsections":[]},{"section":"selfsubjectrulesreview-v1beta1-authorization-k8s-io","subsections":[{"section":"-strong-write-operations-strong--980","subsections":[{"section":"create-981"}]}]},{"section":"selfsubjectaccessreview-v1beta1-authorization-k8s-io","subsections":[{"section":"-strong-write-operations-strong--978","subsections":[{"section":"create-979"}]}]},{"section":"scale-v1beta1-extensions","subsections":[]},{"section":"scale-v1beta1-apps","subsections":[]},{"section":"scale-v1beta2-apps","subsections":[]},{"section":"selinuxstrategyoptions-v1beta1-policy","subsections":[]},{"section":"runasuserstrategyoptions-v1beta1-policy","subsections":[]},{"section":"rollingupdatestatefulsetstrategy-v1beta1-apps","subsections":[]},{"section":"rollingupdatestatefulsetstrategy-v1beta2-apps","subsections":[]},{"section":"rollbackconfig-v1beta1-extensions","subsections":[]},{"section":"roleref-v1alpha1-rbac-authorization-k8s-io","subsections":[]},{"section":"roleref-v1beta1-rbac-authorization-k8s-io","subsections":[]},{"section":"rolebinding-v1alpha1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--971","subsections":[{"section":"watch-list-all-namespaces-977"},{"section":"watch-list-976"},{"section":"watch-975"},{"section":"list-all-namespaces-974"},{"section":"list-973"},{"section":"read-972"}]},{"section":"-strong-write-operations-strong--965","subsections":[{"section":"delete-collection-970"},{"section":"delete-969"},{"section":"replace-968"},{"section":"patch-967"},{"section":"create-966"}]}]},{"section":"rolebinding-v1beta1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--958","subsections":[{"section":"watch-list-all-namespaces-964"},{"section":"watch-list-963"},{"section":"watch-962"},{"section":"list-all-namespaces-961"},{"section":"list-960"},{"section":"read-959"}]},{"section":"-strong-write-operations-strong--952","subsections":[{"section":"delete-collection-957"},{"section":"delete-956"},{"section":"replace-955"},{"section":"patch-954"},{"section":"create-953"}]}]},{"section":"role-v1alpha1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--945","subsections":[{"section":"watch-list-all-namespaces-951"},{"section":"watch-list-950"},{"section":"watch-949"},{"section":"list-all-namespaces-948"},{"section":"list-947"},{"section":"read-946"}]},{"section":"-strong-write-operations-strong--939","subsections":[{"section":"delete-collection-944"},{"section":"delete-943"},{"section":"replace-942"},{"section":"patch-941"},{"section":"create-940"}]}]},{"section":"role-v1beta1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--932","subsections":[{"section":"watch-list-all-namespaces-938"},{"section":"watch-list-937"},{"section":"watch-936"},{"section":"list-all-namespaces-935"},{"section":"list-934"},{"section":"read-933"}]},{"section":"-strong-write-operations-strong--926","subsections":[{"section":"delete-collection-931"},{"section":"delete-930"},{"section":"replace-929"},{"section":"patch-928"},{"section":"create-927"}]}]},{"section":"resourcerule-v1beta1-authorization-k8s-io","subsections":[]},{"section":"resourceattributes-v1beta1-authorization-k8s-io","subsections":[]},{"section":"replicasetcondition-v1beta1-extensions","subsections":[]},{"section":"replicasetcondition-v1beta2-apps","subsections":[]},{"section":"replicaset-v1beta1-extensions","subsections":[{"section":"-strong-misc-operations-strong--922","subsections":[{"section":"patch-scale-925"},{"section":"replace-scale-924"},{"section":"read-scale-923"}]},{"section":"-strong-status-operations-strong--918","subsections":[{"section":"replace-status-921"},{"section":"read-status-920"},{"section":"patch-status-919"}]},{"section":"-strong-read-operations-strong--911","subsections":[{"section":"watch-list-all-namespaces-917"},{"section":"watch-list-916"},{"section":"watch-915"},{"section":"list-all-namespaces-914"},{"section":"list-913"},{"section":"read-912"}]},{"section":"-strong-write-operations-strong--905","subsections":[{"section":"delete-collection-910"},{"section":"delete-909"},{"section":"replace-908"},{"section":"patch-907"},{"section":"create-906"}]}]},{"section":"replicaset-v1beta2-apps","subsections":[{"section":"-strong-misc-operations-strong--901","subsections":[{"section":"patch-scale-904"},{"section":"replace-scale-903"},{"section":"read-scale-902"}]},{"section":"-strong-status-operations-strong--897","subsections":[{"section":"replace-status-900"},{"section":"read-status-899"},{"section":"patch-status-898"}]},{"section":"-strong-read-operations-strong--890","subsections":[{"section":"watch-list-all-namespaces-896"},{"section":"watch-list-895"},{"section":"watch-894"},{"section":"list-all-namespaces-893"},{"section":"list-892"},{"section":"read-891"}]},{"section":"-strong-write-operations-strong--884","subsections":[{"section":"delete-collection-889"},{"section":"delete-888"},{"section":"replace-887"},{"section":"patch-886"},{"section":"create-885"}]}]},{"section":"priorityclass-v1alpha1-scheduling-k8s-io","subsections":[{"section":"-strong-read-operations-strong--879","subsections":[{"section":"watch-list-883"},{"section":"watch-882"},{"section":"list-881"},{"section":"read-880"}]},{"section":"-strong-write-operations-strong--873","subsections":[{"section":"delete-collection-878"},{"section":"delete-877"},{"section":"replace-876"},{"section":"patch-875"},{"section":"create-874"}]}]},{"section":"policyrule-v1alpha1-rbac-authorization-k8s-io","subsections":[]},{"section":"policyrule-v1beta1-rbac-authorization-k8s-io","subsections":[]},{"section":"podsecuritypolicy-v1beta1-policy","subsections":[{"section":"-strong-read-operations-strong--868","subsections":[{"section":"watch-list-872"},{"section":"watch-871"},{"section":"list-870"},{"section":"read-869"}]},{"section":"-strong-write-operations-strong--862","subsections":[{"section":"delete-collection-867"},{"section":"delete-866"},{"section":"replace-865"},{"section":"patch-864"},{"section":"create-863"}]}]},{"section":"nonresourcerule-v1beta1-authorization-k8s-io","subsections":[]},{"section":"nonresourceattributes-v1beta1-authorization-k8s-io","subsections":[]},{"section":"networkpolicyport-v1beta1-extensions","subsections":[]},{"section":"networkpolicypeer-v1beta1-extensions","subsections":[]},{"section":"networkpolicyingressrule-v1beta1-extensions","subsections":[]},{"section":"networkpolicyegressrule-v1beta1-extensions","subsections":[]},{"section":"networkpolicy-v1beta1-extensions","subsections":[{"section":"-strong-read-operations-strong--855","subsections":[{"section":"watch-list-all-namespaces-861"},{"section":"watch-list-860"},{"section":"watch-859"},{"section":"list-all-namespaces-858"},{"section":"list-857"},{"section":"read-856"}]},{"section":"-strong-write-operations-strong--849","subsections":[{"section":"delete-collection-854"},{"section":"delete-853"},{"section":"replace-852"},{"section":"patch-851"},{"section":"create-850"}]}]},{"section":"localsubjectaccessreview-v1beta1-authorization-k8s-io","subsections":[{"section":"-strong-write-operations-strong--847","subsections":[{"section":"create-848"}]}]},{"section":"jobtemplatespec-v2alpha1-batch","subsections":[]},{"section":"initializer-v1alpha1-admissionregistration-k8s-io","subsections":[]},{"section":"ipblock-v1beta1-extensions","subsections":[]},{"section":"idrange-v1beta1-policy","subsections":[]},{"section":"hostportrange-v1beta1-policy","subsections":[]},{"section":"horizontalpodautoscaler-v2beta1-autoscaling","subsections":[{"section":"-strong-status-operations-strong--843","subsections":[{"section":"replace-status-846"},{"section":"read-status-845"},{"section":"patch-status-844"}]},{"section":"-strong-read-operations-strong--836","subsections":[{"section":"watch-list-all-namespaces-842"},{"section":"watch-list-841"},{"section":"watch-840"},{"section":"list-all-namespaces-839"},{"section":"list-838"},{"section":"read-837"}]},{"section":"-strong-write-operations-strong--830","subsections":[{"section":"delete-collection-835"},{"section":"delete-834"},{"section":"replace-833"},{"section":"patch-832"},{"section":"create-831"}]}]},{"section":"fsgroupstrategyoptions-v1beta1-policy","subsections":[]},{"section":"eventseries-v1beta1-events-k8s-io","subsections":[]},{"section":"event-v1beta1-events-k8s-io","subsections":[{"section":"-strong-read-operations-strong--823","subsections":[{"section":"watch-list-all-namespaces-829"},{"section":"watch-list-828"},{"section":"watch-827"},{"section":"list-all-namespaces-826"},{"section":"list-825"},{"section":"read-824"}]},{"section":"-strong-write-operations-strong--817","subsections":[{"section":"delete-collection-822"},{"section":"delete-821"},{"section":"replace-820"},{"section":"patch-819"},{"section":"create-818"}]}]},{"section":"deploymentcondition-v1beta1-extensions","subsections":[]},{"section":"deploymentcondition-v1beta1-apps","subsections":[]},{"section":"deploymentcondition-v1beta2-apps","subsections":[]},{"section":"deployment-v1beta1-extensions","subsections":[{"section":"-strong-misc-operations-strong--812","subsections":[{"section":"rollback-816"},{"section":"patch-scale-815"},{"section":"replace-scale-814"},{"section":"read-scale-813"}]},{"section":"-strong-status-operations-strong--808","subsections":[{"section":"replace-status-811"},{"section":"read-status-810"},{"section":"patch-status-809"}]},{"section":"-strong-read-operations-strong--801","subsections":[{"section":"watch-list-all-namespaces-807"},{"section":"watch-list-806"},{"section":"watch-805"},{"section":"list-all-namespaces-804"},{"section":"list-803"},{"section":"read-802"}]},{"section":"-strong-write-operations-strong--795","subsections":[{"section":"delete-collection-800"},{"section":"delete-799"},{"section":"replace-798"},{"section":"patch-797"},{"section":"create-796"}]}]},{"section":"deployment-v1beta1-apps","subsections":[{"section":"-strong-misc-operations-strong--791","subsections":[{"section":"rollback"},{"section":"patch-scale-794"},{"section":"replace-scale-793"},{"section":"read-scale-792"}]},{"section":"-strong-status-operations-strong--787","subsections":[{"section":"replace-status-790"},{"section":"read-status-789"},{"section":"patch-status-788"}]},{"section":"-strong-read-operations-strong--780","subsections":[{"section":"watch-list-all-namespaces-786"},{"section":"watch-list-785"},{"section":"watch-784"},{"section":"list-all-namespaces-783"},{"section":"list-782"},{"section":"read-781"}]},{"section":"-strong-write-operations-strong--774","subsections":[{"section":"delete-collection-779"},{"section":"delete-778"},{"section":"replace-777"},{"section":"patch-776"},{"section":"create-775"}]}]},{"section":"deployment-v1beta2-apps","subsections":[{"section":"-strong-misc-operations-strong--770","subsections":[{"section":"patch-scale-773"},{"section":"replace-scale-772"},{"section":"read-scale-771"}]},{"section":"-strong-status-operations-strong--766","subsections":[{"section":"replace-status-769"},{"section":"read-status-768"},{"section":"patch-status-767"}]},{"section":"-strong-read-operations-strong--759","subsections":[{"section":"watch-list-all-namespaces-765"},{"section":"watch-list-764"},{"section":"watch-763"},{"section":"list-all-namespaces-762"},{"section":"list-761"},{"section":"read-760"}]},{"section":"-strong-write-operations-strong--753","subsections":[{"section":"delete-collection-758"},{"section":"delete-757"},{"section":"replace-756"},{"section":"patch-755"},{"section":"create-754"}]}]},{"section":"daemonsetupdatestrategy-v1beta1-extensions","subsections":[]},{"section":"daemonsetupdatestrategy-v1beta2-apps","subsections":[]},{"section":"daemonsetcondition-v1beta1-extensions","subsections":[]},{"section":"daemonsetcondition-v1beta2-apps","subsections":[]},{"section":"daemonset-v1beta1-extensions","subsections":[{"section":"-strong-status-operations-strong--749","subsections":[{"section":"replace-status-752"},{"section":"read-status-751"},{"section":"patch-status-750"}]},{"section":"-strong-read-operations-strong--742","subsections":[{"section":"watch-list-all-namespaces-748"},{"section":"watch-list-747"},{"section":"watch-746"},{"section":"list-all-namespaces-745"},{"section":"list-744"},{"section":"read-743"}]},{"section":"-strong-write-operations-strong--736","subsections":[{"section":"delete-collection-741"},{"section":"delete-740"},{"section":"replace-739"},{"section":"patch-738"},{"section":"create-737"}]}]},{"section":"daemonset-v1beta2-apps","subsections":[{"section":"-strong-status-operations-strong--732","subsections":[{"section":"replace-status-735"},{"section":"read-status-734"},{"section":"patch-status-733"}]},{"section":"-strong-read-operations-strong--725","subsections":[{"section":"watch-list-all-namespaces-731"},{"section":"watch-list-730"},{"section":"watch-729"},{"section":"list-all-namespaces-728"},{"section":"list-727"},{"section":"read-726"}]},{"section":"-strong-write-operations-strong--719","subsections":[{"section":"delete-collection-724"},{"section":"delete-723"},{"section":"replace-722"},{"section":"patch-721"},{"section":"create-720"}]}]},{"section":"crossversionobjectreference-v2beta1-autoscaling","subsections":[]},{"section":"cronjob-v2alpha1-batch","subsections":[{"section":"-strong-status-operations-strong--715","subsections":[{"section":"replace-status-718"},{"section":"read-status-717"},{"section":"patch-status-716"}]},{"section":"-strong-read-operations-strong--708","subsections":[{"section":"watch-list-all-namespaces-714"},{"section":"watch-list-713"},{"section":"watch-712"},{"section":"list-all-namespaces-711"},{"section":"list-710"},{"section":"read-709"}]},{"section":"-strong-write-operations-strong--702","subsections":[{"section":"delete-collection-707"},{"section":"delete-706"},{"section":"replace-705"},{"section":"patch-704"},{"section":"create-703"}]}]},{"section":"controllerrevision-v1beta1-apps","subsections":[{"section":"-strong-read-operations-strong--695","subsections":[{"section":"watch-list-all-namespaces-701"},{"section":"watch-list-700"},{"section":"watch-699"},{"section":"list-all-namespaces-698"},{"section":"list-697"},{"section":"read-696"}]},{"section":"-strong-write-operations-strong--689","subsections":[{"section":"delete-collection-694"},{"section":"delete-693"},{"section":"replace-692"},{"section":"patch-691"},{"section":"create-690"}]}]},{"section":"controllerrevision-v1beta2-apps","subsections":[{"section":"-strong-read-operations-strong--682","subsections":[{"section":"watch-list-all-namespaces-688"},{"section":"watch-list-687"},{"section":"watch-686"},{"section":"list-all-namespaces-685"},{"section":"list-684"},{"section":"read-683"}]},{"section":"-strong-write-operations-strong--676","subsections":[{"section":"delete-collection-681"},{"section":"delete-680"},{"section":"replace-679"},{"section":"patch-678"},{"section":"create-677"}]}]},{"section":"clusterrolebinding-v1alpha1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--671","subsections":[{"section":"watch-list-675"},{"section":"watch-674"},{"section":"list-673"},{"section":"read-672"}]},{"section":"-strong-write-operations-strong--665","subsections":[{"section":"delete-collection-670"},{"section":"delete-669"},{"section":"replace-668"},{"section":"patch-667"},{"section":"create-666"}]}]},{"section":"clusterrolebinding-v1beta1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--660","subsections":[{"section":"watch-list-664"},{"section":"watch-663"},{"section":"list-662"},{"section":"read-661"}]},{"section":"-strong-write-operations-strong--654","subsections":[{"section":"delete-collection-659"},{"section":"delete-658"},{"section":"replace-657"},{"section":"patch-656"},{"section":"create-655"}]}]},{"section":"clusterrole-v1alpha1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--649","subsections":[{"section":"watch-list-653"},{"section":"watch-652"},{"section":"list-651"},{"section":"read-650"}]},{"section":"-strong-write-operations-strong--643","subsections":[{"section":"delete-collection-648"},{"section":"delete-647"},{"section":"replace-646"},{"section":"patch-645"},{"section":"create-644"}]}]},{"section":"clusterrole-v1beta1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--638","subsections":[{"section":"watch-list-642"},{"section":"watch-641"},{"section":"list-640"},{"section":"read-639"}]},{"section":"-strong-write-operations-strong--632","subsections":[{"section":"delete-collection-637"},{"section":"delete-636"},{"section":"replace-635"},{"section":"patch-634"},{"section":"create-633"}]}]},{"section":"allowedhostpath-v1beta1-policy","subsections":[]},{"section":"allowedflexvolume-v1beta1-policy","subsections":[]},{"section":"aggregationrule-v1alpha1-rbac-authorization-k8s-io","subsections":[]},{"section":"aggregationrule-v1beta1-rbac-authorization-k8s-io","subsections":[]},{"section":"apiservicecondition-v1beta1-apiregistration-k8s-io","subsections":[]},{"section":"apiservice-v1beta1-apiregistration-k8s-io","subsections":[{"section":"-strong-status-operations-strong--628","subsections":[{"section":"replace-status-631"},{"section":"read-status-630"},{"section":"patch-status-629"}]},{"section":"-strong-read-operations-strong--623","subsections":[{"section":"watch-list-627"},{"section":"watch-626"},{"section":"list-625"},{"section":"read-624"}]},{"section":"-strong-write-operations-strong--617","subsections":[{"section":"delete-collection-622"},{"section":"delete-621"},{"section":"replace-620"},{"section":"patch-619"},{"section":"create-618"}]}]},{"section":"-strong-old-api-versions-strong-","subsections":[]},{"section":"-strong-definitions-strong-","subsections":[{"section":"weightedpodaffinityterm-v1-core"},{"section":"webhookclientconfig-v1beta1-admissionregistration"},{"section":"webhook-v1beta1-admissionregistration"},{"section":"watchevent-v1-meta"},{"section":"vspherevirtualdiskvolumesource-v1-core"},{"section":"volumeprojection-v1-core"},{"section":"volumenodeaffinity-v1-core"},{"section":"volumemount-v1-core"},{"section":"volumeerror-v1beta1-storage"},{"section":"volumedevice-v1-core"},{"section":"volumeattachmentsource-v1beta1-storage"},{"section":"userinfo-v1-authentication"},{"section":"topologyselectorterm-v1-core"},{"section":"topologyselectorlabelrequirement-v1-core"},{"section":"toleration-v1-core"},{"section":"time-v1-meta"},{"section":"taint-v1-core"},{"section":"tcpsocketaction-v1-core"},{"section":"sysctl-v1-core"},{"section":"supplementalgroupsstrategyoptions-v1beta1-extensions"},{"section":"subjectrulesreviewstatus-v1-authorization"},{"section":"subject-v1-rbac"},{"section":"storageosvolumesource-v1-core"},{"section":"storageospersistentvolumesource-v1-core"},{"section":"statusdetails-v1-meta"},{"section":"statuscause-v1-meta"},{"section":"status-v1-meta"},{"section":"statefulsetupdatestrategy-v1-apps"},{"section":"statefulsetcondition-v1-apps"},{"section":"sessionaffinityconfig-v1-core"},{"section":"servicereference-v1-apiregistration"},{"section":"serviceport-v1-core"},{"section":"serviceaccounttokenprojection-v1-core"},{"section":"serveraddressbyclientcidr-v1-meta"},{"section":"securitycontext-v1-core"},{"section":"secretvolumesource-v1-core"},{"section":"secretreference-v1-core"},{"section":"secretprojection-v1-core"},{"section":"secretkeyselector-v1-core"},{"section":"secretenvsource-v1-core"},{"section":"scopedresourceselectorrequirement-v1-core"},{"section":"scopeselector-v1-core"},{"section":"scaleiovolumesource-v1-core"},{"section":"scaleiopersistentvolumesource-v1-core"},{"section":"scale-v1-autoscaling"},{"section":"selinuxstrategyoptions-v1beta1-extensions"},{"section":"selinuxoptions-v1-core"},{"section":"runasuserstrategyoptions-v1beta1-extensions"},{"section":"rulewithoperations-v1beta1-admissionregistration"},{"section":"rule-v1alpha1-admissionregistration"},{"section":"rollingupdatestatefulsetstrategy-v1-apps"},{"section":"rollbackconfig-v1beta1-apps"},{"section":"roleref-v1-rbac"},{"section":"resourcerule-v1-authorization"},{"section":"resourcerequirements-v1-core"},{"section":"resourcemetricstatus-v2beta1-autoscaling"},{"section":"resourcemetricsource-v2beta1-autoscaling"},{"section":"resourcefieldselector-v1-core"},{"section":"resourceattributes-v1-authorization"},{"section":"replicationcontrollercondition-v1-core"},{"section":"replicasetcondition-v1-apps"},{"section":"rbdvolumesource-v1-core"},{"section":"rbdpersistentvolumesource-v1-core"},{"section":"quobytevolumesource-v1-core"},{"section":"quantity-resource-core"},{"section":"projectedvolumesource-v1-core"},{"section":"probe-v1-core"},{"section":"preferredschedulingterm-v1-core"},{"section":"preconditions-v1-meta"},{"section":"portworxvolumesource-v1-core"},{"section":"policyrule-v1-rbac"},{"section":"podsmetricstatus-v2beta1-autoscaling"},{"section":"podsmetricsource-v2beta1-autoscaling"},{"section":"podsecuritycontext-v1-core"},{"section":"podreadinessgate-v1-core"},{"section":"poddnsconfigoption-v1-core"},{"section":"poddnsconfig-v1-core"},{"section":"podcondition-v1-core"},{"section":"podantiaffinity-v1-core"},{"section":"podaffinityterm-v1-core"},{"section":"podaffinity-v1-core"},{"section":"photonpersistentdiskvolumesource-v1-core"},{"section":"persistentvolumeclaimvolumesource-v1-core"},{"section":"persistentvolumeclaimcondition-v1-core"},{"section":"patch-v1-meta"},{"section":"ownerreference-v1-meta"},{"section":"objectreference-v1-core"},{"section":"objectmetricstatus-v2beta1-autoscaling"},{"section":"objectmetricsource-v2beta1-autoscaling"},{"section":"objectmeta-v1-meta"},{"section":"objectfieldselector-v1-core"},{"section":"nonresourcerule-v1-authorization"},{"section":"nonresourceattributes-v1-authorization"},{"section":"nodesysteminfo-v1-core"},{"section":"nodeselectorterm-v1-core"},{"section":"nodeselectorrequirement-v1-core"},{"section":"nodeselector-v1-core"},{"section":"nodedaemonendpoints-v1-core"},{"section":"nodeconfigstatus-v1-core"},{"section":"nodeconfigsource-v1-core"},{"section":"nodecondition-v1-core"},{"section":"nodeaffinity-v1-core"},{"section":"nodeaddress-v1-core"},{"section":"networkpolicyport-v1-networking"},{"section":"networkpolicypeer-v1-networking"},{"section":"networkpolicyingressrule-v1-networking"},{"section":"networkpolicyegressrule-v1-networking"},{"section":"nfsvolumesource-v1-core"},{"section":"microtime-v1-meta"},{"section":"metricstatus-v2beta1-autoscaling"},{"section":"metricspec-v2beta1-autoscaling"},{"section":"localvolumesource-v1-core"},{"section":"localobjectreference-v1-core"},{"section":"loadbalancerstatus-v1-core"},{"section":"loadbalanceringress-v1-core"},{"section":"listmeta-v1-meta"},{"section":"limitrangeitem-v1-core"},{"section":"lifecycle-v1-core"},{"section":"labelselectorrequirement-v1-meta"},{"section":"labelselector-v1-meta"},{"section":"keytopath-v1-core"},{"section":"jobtemplatespec-v1beta1-batch"},{"section":"jobcondition-v1-batch"},{"section":"jsonschemapropsorbool-v1beta1-apiextensions"},{"section":"jsonschemapropsorarray-v1beta1-apiextensions"},{"section":"jsonschemaprops-v1beta1-apiextensions"},{"section":"json-v1beta1-apiextensions"},{"section":"initializers-v1-meta"},{"section":"initializer-v1-meta"},{"section":"ingresstls-v1beta1-extensions"},{"section":"ingressrule-v1beta1-extensions"},{"section":"ingressbackend-v1beta1-extensions"},{"section":"iscsivolumesource-v1-core"},{"section":"iscsipersistentvolumesource-v1-core"},{"section":"ipblock-v1-networking"},{"section":"idrange-v1beta1-extensions"},{"section":"hostportrange-v1beta1-extensions"},{"section":"hostpathvolumesource-v1-core"},{"section":"hostalias-v1-core"},{"section":"horizontalpodautoscalercondition-v2beta1-autoscaling"},{"section":"handler-v1-core"},{"section":"httpingressrulevalue-v1beta1-extensions"},{"section":"httpingresspath-v1beta1-extensions"},{"section":"httpheader-v1-core"},{"section":"httpgetaction-v1-core"},{"section":"groupversionfordiscovery-v1-meta"},{"section":"glusterfsvolumesource-v1-core"},{"section":"gitrepovolumesource-v1-core"},{"section":"gcepersistentdiskvolumesource-v1-core"},{"section":"flockervolumesource-v1-core"},{"section":"flexvolumesource-v1-core"},{"section":"flexpersistentvolumesource-v1-core"},{"section":"fsgroupstrategyoptions-v1beta1-extensions"},{"section":"fcvolumesource-v1-core"},{"section":"externalmetricstatus-v2beta1-autoscaling"},{"section":"externalmetricsource-v2beta1-autoscaling"},{"section":"externaldocumentation-v1beta1-apiextensions"},{"section":"execaction-v1-core"},{"section":"eviction-v1beta1-policy"},{"section":"eventsource-v1-core"},{"section":"eventseries-v1-core"},{"section":"envvarsource-v1-core"},{"section":"envvar-v1-core"},{"section":"envfromsource-v1-core"},{"section":"endpointsubset-v1-core"},{"section":"endpointport-v1-core"},{"section":"endpointaddress-v1-core"},{"section":"emptydirvolumesource-v1-core"},{"section":"downwardapivolumesource-v1-core"},{"section":"downwardapivolumefile-v1-core"},{"section":"downwardapiprojection-v1-core"},{"section":"deploymentcondition-v1-apps"},{"section":"deleteoptions-v1-meta"},{"section":"daemonsetupdatestrategy-v1-apps"},{"section":"daemonsetcondition-v1-apps"},{"section":"daemonendpoint-v1-core"},{"section":"customresourcevalidation-v1beta1-apiextensions"},{"section":"customresourcesubresources-v1beta1-apiextensions"},{"section":"customresourcesubresourcestatus-v1beta1-apiextensions"},{"section":"customresourcesubresourcescale-v1beta1-apiextensions"},{"section":"customresourcedefinitionversion-v1beta1-apiextensions"},{"section":"customresourcedefinitionnames-v1beta1-apiextensions"},{"section":"customresourcedefinitioncondition-v1beta1-apiextensions"},{"section":"customresourcecolumndefinition-v1beta1-apiextensions"},{"section":"crossversionobjectreference-v1-autoscaling"},{"section":"containerstatewaiting-v1-core"},{"section":"containerstateterminated-v1-core"},{"section":"containerstaterunning-v1-core"},{"section":"containerstate-v1-core"},{"section":"containerport-v1-core"},{"section":"containerimage-v1-core"},{"section":"configmapvolumesource-v1-core"},{"section":"configmapprojection-v1-core"},{"section":"configmapnodeconfigsource-v1-core"},{"section":"configmapkeyselector-v1-core"},{"section":"configmapenvsource-v1-core"},{"section":"componentcondition-v1-core"},{"section":"clientipconfig-v1-core"},{"section":"cindervolumesource-v1-core"},{"section":"cinderpersistentvolumesource-v1-core"},{"section":"certificatesigningrequestcondition-v1beta1-certificates"},{"section":"cephfsvolumesource-v1-core"},{"section":"cephfspersistentvolumesource-v1-core"},{"section":"capabilities-v1-core"},{"section":"csipersistentvolumesource-v1-core"},{"section":"azurefilevolumesource-v1-core"},{"section":"azurefilepersistentvolumesource-v1-core"},{"section":"azurediskvolumesource-v1-core"},{"section":"attachedvolume-v1-core"},{"section":"allowedhostpath-v1beta1-extensions"},{"section":"allowedflexvolume-v1beta1-extensions"},{"section":"aggregationrule-v1-rbac"},{"section":"affinity-v1-core"},{"section":"awselasticblockstorevolumesource-v1-core"},{"section":"apiversions-v1-meta"},{"section":"apiservicecondition-v1-apiregistration"},{"section":"apiresource-v1-meta"},{"section":"apigroup-v1-meta"}]},{"section":"networkpolicy-v1-networking-k8s-io","subsections":[{"section":"-strong-read-operations-strong--610","subsections":[{"section":"watch-list-all-namespaces-616"},{"section":"watch-list-615"},{"section":"watch-614"},{"section":"list-all-namespaces-613"},{"section":"list-612"},{"section":"read-611"}]},{"section":"-strong-write-operations-strong--604","subsections":[{"section":"delete-collection-609"},{"section":"delete-608"},{"section":"replace-607"},{"section":"patch-606"},{"section":"create-605"}]}]},{"section":"tokenreview-v1-authentication-k8s-io","subsections":[{"section":"-strong-write-operations-strong--602","subsections":[{"section":"create-603"}]}]},{"section":"subjectaccessreview-v1-authorization-k8s-io","subsections":[{"section":"-strong-write-operations-strong--600","subsections":[{"section":"create-601"}]}]},{"section":"serviceaccount-v1-core","subsections":[{"section":"-strong-read-operations-strong--593","subsections":[{"section":"watch-list-all-namespaces-599"},{"section":"watch-list-598"},{"section":"watch-597"},{"section":"list-all-namespaces-596"},{"section":"list-595"},{"section":"read-594"}]},{"section":"-strong-write-operations-strong--587","subsections":[{"section":"delete-collection-592"},{"section":"delete-591"},{"section":"replace-590"},{"section":"patch-589"},{"section":"create-588"}]}]},{"section":"selfsubjectrulesreview-v1-authorization-k8s-io","subsections":[{"section":"-strong-write-operations-strong--585","subsections":[{"section":"create-586"}]}]},{"section":"selfsubjectaccessreview-v1-authorization-k8s-io","subsections":[{"section":"-strong-write-operations-strong--583","subsections":[{"section":"create-584"}]}]},{"section":"rolebinding-v1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--576","subsections":[{"section":"watch-list-all-namespaces-582"},{"section":"watch-list-581"},{"section":"watch-580"},{"section":"list-all-namespaces-579"},{"section":"list-578"},{"section":"read-577"}]},{"section":"-strong-write-operations-strong--570","subsections":[{"section":"delete-collection-575"},{"section":"delete-574"},{"section":"replace-573"},{"section":"patch-572"},{"section":"create-571"}]}]},{"section":"role-v1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--563","subsections":[{"section":"watch-list-all-namespaces-569"},{"section":"watch-list-568"},{"section":"watch-567"},{"section":"list-all-namespaces-566"},{"section":"list-565"},{"section":"read-564"}]},{"section":"-strong-write-operations-strong--557","subsections":[{"section":"delete-collection-562"},{"section":"delete-561"},{"section":"replace-560"},{"section":"patch-559"},{"section":"create-558"}]}]},{"section":"resourcequota-v1-core","subsections":[{"section":"-strong-status-operations-strong--553","subsections":[{"section":"replace-status-556"},{"section":"read-status-555"},{"section":"patch-status-554"}]},{"section":"-strong-read-operations-strong--546","subsections":[{"section":"watch-list-all-namespaces-552"},{"section":"watch-list-551"},{"section":"watch-550"},{"section":"list-all-namespaces-549"},{"section":"list-548"},{"section":"read-547"}]},{"section":"-strong-write-operations-strong--540","subsections":[{"section":"delete-collection-545"},{"section":"delete-544"},{"section":"replace-543"},{"section":"patch-542"},{"section":"create-541"}]}]},{"section":"persistentvolume-v1-core","subsections":[{"section":"-strong-status-operations-strong--536","subsections":[{"section":"replace-status-539"},{"section":"read-status-538"},{"section":"patch-status-537"}]},{"section":"-strong-read-operations-strong--531","subsections":[{"section":"watch-list-535"},{"section":"watch-534"},{"section":"list-533"},{"section":"read-532"}]},{"section":"-strong-write-operations-strong--525","subsections":[{"section":"delete-collection-530"},{"section":"delete-529"},{"section":"replace-528"},{"section":"patch-527"},{"section":"create-526"}]}]},{"section":"node-v1-core","subsections":[{"section":"-strong-proxy-operations-strong--514","subsections":[{"section":"replace-connect-proxy-path-524"},{"section":"replace-connect-proxy-523"},{"section":"head-connect-proxy-path-522"},{"section":"head-connect-proxy-521"},{"section":"get-connect-proxy-path-520"},{"section":"get-connect-proxy-519"},{"section":"delete-connect-proxy-path-518"},{"section":"delete-connect-proxy-517"},{"section":"create-connect-proxy-path-516"},{"section":"create-connect-proxy-515"}]},{"section":"-strong-status-operations-strong--510","subsections":[{"section":"replace-status-513"},{"section":"read-status-512"},{"section":"patch-status-511"}]},{"section":"-strong-read-operations-strong--505","subsections":[{"section":"watch-list-509"},{"section":"watch-508"},{"section":"list-507"},{"section":"read-506"}]},{"section":"-strong-write-operations-strong--499","subsections":[{"section":"delete-collection-504"},{"section":"delete-503"},{"section":"replace-502"},{"section":"patch-501"},{"section":"create-500"}]}]},{"section":"namespace-v1-core","subsections":[{"section":"-strong-status-operations-strong--495","subsections":[{"section":"replace-status-498"},{"section":"read-status-497"},{"section":"patch-status-496"}]},{"section":"-strong-read-operations-strong--490","subsections":[{"section":"watch-list-494"},{"section":"watch-493"},{"section":"list-492"},{"section":"read-491"}]},{"section":"-strong-write-operations-strong--485","subsections":[{"section":"delete-489"},{"section":"replace-488"},{"section":"patch-487"},{"section":"create-486"}]}]},{"section":"localsubjectaccessreview-v1-authorization-k8s-io","subsections":[{"section":"-strong-write-operations-strong--483","subsections":[{"section":"create-484"}]}]},{"section":"componentstatus-v1-core","subsections":[{"section":"-strong-read-operations-strong--480","subsections":[{"section":"list-482"},{"section":"read-481"}]}]},{"section":"clusterrolebinding-v1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--475","subsections":[{"section":"watch-list-479"},{"section":"watch-478"},{"section":"list-477"},{"section":"read-476"}]},{"section":"-strong-write-operations-strong--469","subsections":[{"section":"delete-collection-474"},{"section":"delete-473"},{"section":"replace-472"},{"section":"patch-471"},{"section":"create-470"}]}]},{"section":"clusterrole-v1-rbac-authorization-k8s-io","subsections":[{"section":"-strong-read-operations-strong--464","subsections":[{"section":"watch-list-468"},{"section":"watch-467"},{"section":"list-466"},{"section":"read-465"}]},{"section":"-strong-write-operations-strong--458","subsections":[{"section":"delete-collection-463"},{"section":"delete-462"},{"section":"replace-461"},{"section":"patch-460"},{"section":"create-459"}]}]},{"section":"certificatesigningrequest-v1beta1-certificates-k8s-io","subsections":[{"section":"-strong-status-operations-strong--454","subsections":[{"section":"replace-status-457"},{"section":"read-status-456"},{"section":"patch-status-455"}]},{"section":"-strong-read-operations-strong--449","subsections":[{"section":"watch-list-453"},{"section":"watch-452"},{"section":"list-451"},{"section":"read-450"}]},{"section":"-strong-write-operations-strong--443","subsections":[{"section":"delete-collection-448"},{"section":"delete-447"},{"section":"replace-446"},{"section":"patch-445"},{"section":"create-444"}]}]},{"section":"binding-v1-core","subsections":[{"section":"-strong-write-operations-strong--441","subsections":[{"section":"create-442"}]}]},{"section":"apiservice-v1-apiregistration-k8s-io","subsections":[{"section":"-strong-status-operations-strong--437","subsections":[{"section":"replace-status-440"},{"section":"read-status-439"},{"section":"patch-status-438"}]},{"section":"-strong-read-operations-strong--432","subsections":[{"section":"watch-list-436"},{"section":"watch-435"},{"section":"list-434"},{"section":"read-433"}]},{"section":"-strong-write-operations-strong--426","subsections":[{"section":"delete-collection-431"},{"section":"delete-430"},{"section":"replace-429"},{"section":"patch-428"},{"section":"create-427"}]}]},{"section":"-strong-cluster-strong-","subsections":[]},{"section":"podsecuritypolicy-v1beta1-extensions","subsections":[{"section":"-strong-read-operations-strong--421","subsections":[{"section":"watch-list-425"},{"section":"watch-424"},{"section":"list-423"},{"section":"read-422"}]},{"section":"-strong-write-operations-strong--415","subsections":[{"section":"delete-collection-420"},{"section":"delete-419"},{"section":"replace-418"},{"section":"patch-417"},{"section":"create-416"}]}]},{"section":"podpreset-v1alpha1-settings-k8s-io","subsections":[{"section":"-strong-read-operations-strong--408","subsections":[{"section":"watch-list-all-namespaces-414"},{"section":"watch-list-413"},{"section":"watch-412"},{"section":"list-all-namespaces-411"},{"section":"list-410"},{"section":"read-409"}]},{"section":"-strong-write-operations-strong--402","subsections":[{"section":"delete-collection-407"},{"section":"delete-406"},{"section":"replace-405"},{"section":"patch-404"},{"section":"create-403"}]}]},{"section":"priorityclass-v1beta1-scheduling-k8s-io","subsections":[{"section":"-strong-read-operations-strong--397","subsections":[{"section":"watch-list-401"},{"section":"watch-400"},{"section":"list-399"},{"section":"read-398"}]},{"section":"-strong-write-operations-strong--391","subsections":[{"section":"delete-collection-396"},{"section":"delete-395"},{"section":"replace-394"},{"section":"patch-393"},{"section":"create-392"}]}]},{"section":"poddisruptionbudget-v1beta1-policy","subsections":[{"section":"-strong-status-operations-strong--387","subsections":[{"section":"replace-status-390"},{"section":"read-status-389"},{"section":"patch-status-388"}]},{"section":"-strong-read-operations-strong--380","subsections":[{"section":"watch-list-all-namespaces-386"},{"section":"watch-list-385"},{"section":"watch-384"},{"section":"list-all-namespaces-383"},{"section":"list-382"},{"section":"read-381"}]},{"section":"-strong-write-operations-strong--374","subsections":[{"section":"delete-collection-379"},{"section":"delete-378"},{"section":"replace-377"},{"section":"patch-376"},{"section":"create-375"}]}]},{"section":"podtemplate-v1-core","subsections":[{"section":"-strong-read-operations-strong--367","subsections":[{"section":"watch-list-all-namespaces-373"},{"section":"watch-list-372"},{"section":"watch-371"},{"section":"list-all-namespaces-370"},{"section":"list-369"},{"section":"read-368"}]},{"section":"-strong-write-operations-strong--361","subsections":[{"section":"delete-collection-366"},{"section":"delete-365"},{"section":"replace-364"},{"section":"patch-363"},{"section":"create-362"}]}]},{"section":"validatingwebhookconfiguration-v1beta1-admissionregistration-k8s-io","subsections":[{"section":"-strong-read-operations-strong--356","subsections":[{"section":"watch-list-360"},{"section":"watch-359"},{"section":"list-358"},{"section":"read-357"}]},{"section":"-strong-write-operations-strong--350","subsections":[{"section":"delete-collection-355"},{"section":"delete-354"},{"section":"replace-353"},{"section":"patch-352"},{"section":"create-351"}]}]},{"section":"mutatingwebhookconfiguration-v1beta1-admissionregistration-k8s-io","subsections":[{"section":"-strong-read-operations-strong--345","subsections":[{"section":"watch-list-349"},{"section":"watch-348"},{"section":"list-347"},{"section":"read-346"}]},{"section":"-strong-write-operations-strong--339","subsections":[{"section":"delete-collection-344"},{"section":"delete-343"},{"section":"replace-342"},{"section":"patch-341"},{"section":"create-340"}]}]},{"section":"initializerconfiguration-v1alpha1-admissionregistration-k8s-io","subsections":[{"section":"-strong-read-operations-strong--334","subsections":[{"section":"watch-list-338"},{"section":"watch-337"},{"section":"list-336"},{"section":"read-335"}]},{"section":"-strong-write-operations-strong--328","subsections":[{"section":"delete-collection-333"},{"section":"delete-332"},{"section":"replace-331"},{"section":"patch-330"},{"section":"create-329"}]}]},{"section":"horizontalpodautoscaler-v1-autoscaling","subsections":[{"section":"-strong-status-operations-strong--324","subsections":[{"section":"replace-status-327"},{"section":"read-status-326"},{"section":"patch-status-325"}]},{"section":"-strong-read-operations-strong--317","subsections":[{"section":"watch-list-all-namespaces-323"},{"section":"watch-list-322"},{"section":"watch-321"},{"section":"list-all-namespaces-320"},{"section":"list-319"},{"section":"read-318"}]},{"section":"-strong-write-operations-strong--311","subsections":[{"section":"delete-collection-316"},{"section":"delete-315"},{"section":"replace-314"},{"section":"patch-313"},{"section":"create-312"}]}]},{"section":"limitrange-v1-core","subsections":[{"section":"-strong-read-operations-strong--304","subsections":[{"section":"watch-list-all-namespaces-310"},{"section":"watch-list-309"},{"section":"watch-308"},{"section":"list-all-namespaces-307"},{"section":"list-306"},{"section":"read-305"}]},{"section":"-strong-write-operations-strong--298","subsections":[{"section":"delete-collection-303"},{"section":"delete-302"},{"section":"replace-301"},{"section":"patch-300"},{"section":"create-299"}]}]},{"section":"event-v1-core","subsections":[{"section":"-strong-read-operations-strong--291","subsections":[{"section":"watch-list-all-namespaces-297"},{"section":"watch-list-296"},{"section":"watch-295"},{"section":"list-all-namespaces-294"},{"section":"list-293"},{"section":"read-292"}]},{"section":"-strong-write-operations-strong--285","subsections":[{"section":"delete-collection-290"},{"section":"delete-289"},{"section":"replace-288"},{"section":"patch-287"},{"section":"create-286"}]}]},{"section":"customresourcedefinition-v1beta1-apiextensions-k8s-io","subsections":[{"section":"-strong-status-operations-strong--281","subsections":[{"section":"replace-status-284"},{"section":"read-status-283"},{"section":"patch-status-282"}]},{"section":"-strong-read-operations-strong--276","subsections":[{"section":"watch-list-280"},{"section":"watch-279"},{"section":"list-278"},{"section":"read-277"}]},{"section":"-strong-write-operations-strong--270","subsections":[{"section":"delete-collection-275"},{"section":"delete-274"},{"section":"replace-273"},{"section":"patch-272"},{"section":"create-271"}]}]},{"section":"controllerrevision-v1-apps","subsections":[{"section":"-strong-read-operations-strong--263","subsections":[{"section":"watch-list-all-namespaces-269"},{"section":"watch-list-268"},{"section":"watch-267"},{"section":"list-all-namespaces-266"},{"section":"list-265"},{"section":"read-264"}]},{"section":"-strong-write-operations-strong--257","subsections":[{"section":"delete-collection-262"},{"section":"delete-261"},{"section":"replace-260"},{"section":"patch-259"},{"section":"create-258"}]}]},{"section":"-strong-metadata-strong-","subsections":[]},{"section":"volumeattachment-v1beta1-storage-k8s-io","subsections":[{"section":"-strong-read-operations-strong--252","subsections":[{"section":"watch-list-256"},{"section":"watch-255"},{"section":"list-254"},{"section":"read-253"}]},{"section":"-strong-write-operations-strong--246","subsections":[{"section":"delete-collection-251"},{"section":"delete-250"},{"section":"replace-249"},{"section":"patch-248"},{"section":"create-247"}]}]},{"section":"volume-v1-core","subsections":[]},{"section":"storageclass-v1-storage-k8s-io","subsections":[{"section":"-strong-read-operations-strong--241","subsections":[{"section":"watch-list-245"},{"section":"watch-244"},{"section":"list-243"},{"section":"read-242"}]},{"section":"-strong-write-operations-strong--235","subsections":[{"section":"delete-collection-240"},{"section":"delete-239"},{"section":"replace-238"},{"section":"patch-237"},{"section":"create-236"}]}]},{"section":"persistentvolumeclaim-v1-core","subsections":[{"section":"-strong-status-operations-strong--231","subsections":[{"section":"replace-status-234"},{"section":"read-status-233"},{"section":"patch-status-232"}]},{"section":"-strong-read-operations-strong--224","subsections":[{"section":"watch-list-all-namespaces-230"},{"section":"watch-list-229"},{"section":"watch-228"},{"section":"list-all-namespaces-227"},{"section":"list-226"},{"section":"read-225"}]},{"section":"-strong-write-operations-strong--218","subsections":[{"section":"delete-collection-223"},{"section":"delete-222"},{"section":"replace-221"},{"section":"patch-220"},{"section":"create-219"}]}]},{"section":"secret-v1-core","subsections":[{"section":"-strong-read-operations-strong--211","subsections":[{"section":"watch-list-all-namespaces-217"},{"section":"watch-list-216"},{"section":"watch-215"},{"section":"list-all-namespaces-214"},{"section":"list-213"},{"section":"read-212"}]},{"section":"-strong-write-operations-strong--205","subsections":[{"section":"delete-collection-210"},{"section":"delete-209"},{"section":"replace-208"},{"section":"patch-207"},{"section":"create-206"}]}]},{"section":"configmap-v1-core","subsections":[{"section":"-strong-read-operations-strong--198","subsections":[{"section":"watch-list-all-namespaces-204"},{"section":"watch-list-203"},{"section":"watch-202"},{"section":"list-all-namespaces-201"},{"section":"list-200"},{"section":"read-199"}]},{"section":"-strong-write-operations-strong--192","subsections":[{"section":"delete-collection-197"},{"section":"delete-196"},{"section":"replace-195"},{"section":"patch-194"},{"section":"create-193"}]}]},{"section":"-strong-config-storage-strong-","subsections":[]},{"section":"service-v1-core","subsections":[{"section":"-strong-proxy-operations-strong--181","subsections":[{"section":"replace-connect-proxy-path-191"},{"section":"replace-connect-proxy-190"},{"section":"head-connect-proxy-path-189"},{"section":"head-connect-proxy-188"},{"section":"get-connect-proxy-path-187"},{"section":"get-connect-proxy-186"},{"section":"delete-connect-proxy-path-185"},{"section":"delete-connect-proxy-184"},{"section":"create-connect-proxy-path-183"},{"section":"create-connect-proxy-182"}]},{"section":"-strong-status-operations-strong--177","subsections":[{"section":"replace-status-180"},{"section":"read-status-179"},{"section":"patch-status-178"}]},{"section":"-strong-read-operations-strong--170","subsections":[{"section":"watch-list-all-namespaces-176"},{"section":"watch-list-175"},{"section":"watch-174"},{"section":"list-all-namespaces-173"},{"section":"list-172"},{"section":"read-171"}]},{"section":"-strong-write-operations-strong--165","subsections":[{"section":"delete-169"},{"section":"replace-168"},{"section":"patch-167"},{"section":"create-166"}]}]},{"section":"ingress-v1beta1-extensions","subsections":[{"section":"-strong-status-operations-strong--161","subsections":[{"section":"replace-status-164"},{"section":"read-status-163"},{"section":"patch-status-162"}]},{"section":"-strong-read-operations-strong--154","subsections":[{"section":"watch-list-all-namespaces-160"},{"section":"watch-list-159"},{"section":"watch-158"},{"section":"list-all-namespaces-157"},{"section":"list-156"},{"section":"read-155"}]},{"section":"-strong-write-operations-strong--148","subsections":[{"section":"delete-collection-153"},{"section":"delete-152"},{"section":"replace-151"},{"section":"patch-150"},{"section":"create-149"}]}]},{"section":"endpoints-v1-core","subsections":[{"section":"-strong-read-operations-strong--141","subsections":[{"section":"watch-list-all-namespaces-147"},{"section":"watch-list-146"},{"section":"watch-145"},{"section":"list-all-namespaces-144"},{"section":"list-143"},{"section":"read-142"}]},{"section":"-strong-write-operations-strong--135","subsections":[{"section":"delete-collection-140"},{"section":"delete-139"},{"section":"replace-138"},{"section":"patch-137"},{"section":"create-136"}]}]},{"section":"-strong-discovery-load-balancing-strong-","subsections":[]},{"section":"statefulset-v1-apps","subsections":[{"section":"-strong-misc-operations-strong--131","subsections":[{"section":"patch-scale-134"},{"section":"replace-scale-133"},{"section":"read-scale-132"}]},{"section":"-strong-status-operations-strong--127","subsections":[{"section":"replace-status-130"},{"section":"read-status-129"},{"section":"patch-status-128"}]},{"section":"-strong-read-operations-strong--120","subsections":[{"section":"watch-list-all-namespaces-126"},{"section":"watch-list-125"},{"section":"watch-124"},{"section":"list-all-namespaces-123"},{"section":"list-122"},{"section":"read-121"}]},{"section":"-strong-write-operations-strong--114","subsections":[{"section":"delete-collection-119"},{"section":"delete-118"},{"section":"replace-117"},{"section":"patch-116"},{"section":"create-115"}]}]},{"section":"replicationcontroller-v1-core","subsections":[{"section":"-strong-misc-operations-strong--110","subsections":[{"section":"patch-scale-113"},{"section":"replace-scale-112"},{"section":"read-scale-111"}]},{"section":"-strong-status-operations-strong--106","subsections":[{"section":"replace-status-109"},{"section":"read-status-108"},{"section":"patch-status-107"}]},{"section":"-strong-read-operations-strong--99","subsections":[{"section":"watch-list-all-namespaces-105"},{"section":"watch-list-104"},{"section":"watch-103"},{"section":"list-all-namespaces-102"},{"section":"list-101"},{"section":"read-100"}]},{"section":"-strong-write-operations-strong--93","subsections":[{"section":"delete-collection-98"},{"section":"delete-97"},{"section":"replace-96"},{"section":"patch-95"},{"section":"create-94"}]}]},{"section":"replicaset-v1-apps","subsections":[{"section":"-strong-misc-operations-strong--89","subsections":[{"section":"patch-scale-92"},{"section":"replace-scale-91"},{"section":"read-scale-90"}]},{"section":"-strong-status-operations-strong--85","subsections":[{"section":"replace-status-88"},{"section":"read-status-87"},{"section":"patch-status-86"}]},{"section":"-strong-read-operations-strong--78","subsections":[{"section":"watch-list-all-namespaces-84"},{"section":"watch-list-83"},{"section":"watch-82"},{"section":"list-all-namespaces-81"},{"section":"list-80"},{"section":"read-79"}]},{"section":"-strong-write-operations-strong--72","subsections":[{"section":"delete-collection-77"},{"section":"delete-76"},{"section":"replace-75"},{"section":"patch-74"},{"section":"create-73"}]}]},{"section":"pod-v1-core","subsections":[{"section":"-strong-misc-operations-strong--71","subsections":[{"section":"read-log"}]},{"section":"-strong-proxy-operations-strong-","subsections":[{"section":"replace-connect-proxy-path"},{"section":"replace-connect-proxy"},{"section":"head-connect-proxy-path"},{"section":"head-connect-proxy"},{"section":"get-connect-proxy-path"},{"section":"get-connect-proxy"},{"section":"get-connect-portforward"},{"section":"delete-connect-proxy-path"},{"section":"delete-connect-proxy"},{"section":"create-connect-proxy-path"},{"section":"create-connect-proxy"},{"section":"create-connect-portforward"}]},{"section":"-strong-status-operations-strong--67","subsections":[{"section":"replace-status-70"},{"section":"read-status-69"},{"section":"patch-status-68"}]},{"section":"-strong-read-operations-strong--60","subsections":[{"section":"watch-list-all-namespaces-66"},{"section":"watch-list-65"},{"section":"watch-64"},{"section":"list-all-namespaces-63"},{"section":"list-62"},{"section":"read-61"}]},{"section":"-strong-write-operations-strong--54","subsections":[{"section":"delete-collection-59"},{"section":"delete-58"},{"section":"replace-57"},{"section":"patch-56"},{"section":"create-eviction"},{"section":"create-55"}]}]},{"section":"job-v1-batch","subsections":[{"section":"-strong-status-operations-strong--50","subsections":[{"section":"replace-status-53"},{"section":"read-status-52"},{"section":"patch-status-51"}]},{"section":"-strong-read-operations-strong--43","subsections":[{"section":"watch-list-all-namespaces-49"},{"section":"watch-list-48"},{"section":"watch-47"},{"section":"list-all-namespaces-46"},{"section":"list-45"},{"section":"read-44"}]},{"section":"-strong-write-operations-strong--37","subsections":[{"section":"delete-collection-42"},{"section":"delete-41"},{"section":"replace-40"},{"section":"patch-39"},{"section":"create-38"}]}]},{"section":"deployment-v1-apps","subsections":[{"section":"-strong-misc-operations-strong-","subsections":[{"section":"patch-scale"},{"section":"replace-scale"},{"section":"read-scale"}]},{"section":"-strong-status-operations-strong--33","subsections":[{"section":"replace-status-36"},{"section":"read-status-35"},{"section":"patch-status-34"}]},{"section":"-strong-read-operations-strong--26","subsections":[{"section":"watch-list-all-namespaces-32"},{"section":"watch-list-31"},{"section":"watch-30"},{"section":"list-all-namespaces-29"},{"section":"list-28"},{"section":"read-27"}]},{"section":"-strong-write-operations-strong--20","subsections":[{"section":"delete-collection-25"},{"section":"delete-24"},{"section":"replace-23"},{"section":"patch-22"},{"section":"create-21"}]}]},{"section":"daemonset-v1-apps","subsections":[{"section":"-strong-status-operations-strong--16","subsections":[{"section":"replace-status-19"},{"section":"read-status-18"},{"section":"patch-status-17"}]},{"section":"-strong-read-operations-strong--9","subsections":[{"section":"watch-list-all-namespaces-15"},{"section":"watch-list-14"},{"section":"watch-13"},{"section":"list-all-namespaces-12"},{"section":"list-11"},{"section":"read-10"}]},{"section":"-strong-write-operations-strong--3","subsections":[{"section":"delete-collection-8"},{"section":"delete-7"},{"section":"replace-6"},{"section":"patch-5"},{"section":"create-4"}]}]},{"section":"cronjob-v1beta1-batch","subsections":[{"section":"-strong-status-operations-strong-","subsections":[{"section":"replace-status"},{"section":"read-status"},{"section":"patch-status"}]},{"section":"-strong-read-operations-strong-","subsections":[{"section":"watch-list-all-namespaces"},{"section":"watch-list"},{"section":"watch"},{"section":"list-all-namespaces"},{"section":"list"},{"section":"read-2"}]},{"section":"-strong-write-operations-strong-","subsections":[{"section":"delete-collection"},{"section":"delete-1"},{"section":"replace"},{"section":"patch"},{"section":"create"}]}]},{"section":"container-v1-core","subsections":[]},{"section":"-strong-workloads-strong-","subsections":[]},{"section":"-strong-api-overview-strong-","subsections":[{"section":"resource-operations"},{"section":"resource-objects"},{"section":"resource-categories"}]}],"flatToc":["volumeerror-v1alpha1-storage-k8s-io","volumeattachmentsource-v1alpha1-storage-k8s-io","watch-list-1049","watch-1048","list-1047","read-1046","-strong-read-operations-strong--1045","delete-collection-1044","delete-1043","replace-1042","patch-1041","create-1040","-strong-write-operations-strong--1039","volumeattachment-v1alpha1-storage-k8s-io","userinfo-v1beta1-authentication-k8s-io","create-1038","-strong-write-operations-strong--1037","tokenreview-v1beta1-authentication-k8s-io","supplementalgroupsstrategyoptions-v1beta1-policy","subjectrulesreviewstatus-v1beta1-authorization-k8s-io","create-1036","-strong-write-operations-strong--1035","subjectaccessreview-v1beta1-authorization-k8s-io","subject-v1alpha1-rbac-authorization-k8s-io","subject-v1beta1-rbac-authorization-k8s-io","watch-list-1034","watch-1033","list-1032","read-1031","-strong-read-operations-strong--1030","delete-collection-1029","delete-1028","replace-1027","patch-1026","create-1025","-strong-write-operations-strong--1024","storageclass-v1beta1-storage-k8s-io","statefulsetupdatestrategy-v1beta1-apps","statefulsetupdatestrategy-v1beta2-apps","statefulsetcondition-v1beta1-apps","statefulsetcondition-v1beta2-apps","patch-scale-1023","replace-scale-1022","read-scale-1021","-strong-misc-operations-strong--1020","replace-status-1019","read-status-1018","patch-status-1017","-strong-status-operations-strong--1016","watch-list-all-namespaces-1015","watch-list-1014","watch-1013","list-all-namespaces-1012","list-1011","read-1010","-strong-read-operations-strong--1009","delete-collection-1008","delete-1007","replace-1006","patch-1005","create-1004","-strong-write-operations-strong--1003","statefulset-v1beta1-apps","patch-scale-1002","replace-scale-1001","read-scale-1000","-strong-misc-operations-strong--999","replace-status-998","read-status-997","patch-status-996","-strong-status-operations-strong--995","watch-list-all-namespaces-994","watch-list-993","watch-992","list-all-namespaces-991","list-990","read-989","-strong-read-operations-strong--988","delete-collection-987","delete-986","replace-985","patch-984","create-983","-strong-write-operations-strong--982","statefulset-v1beta2-apps","servicereference-v1beta1-apiregistration-k8s-io","servicereference-v1beta1-admissionregistration-k8s-io","create-981","-strong-write-operations-strong--980","selfsubjectrulesreview-v1beta1-authorization-k8s-io","create-979","-strong-write-operations-strong--978","selfsubjectaccessreview-v1beta1-authorization-k8s-io","scale-v1beta1-extensions","scale-v1beta1-apps","scale-v1beta2-apps","selinuxstrategyoptions-v1beta1-policy","runasuserstrategyoptions-v1beta1-policy","rollingupdatestatefulsetstrategy-v1beta1-apps","rollingupdatestatefulsetstrategy-v1beta2-apps","rollbackconfig-v1beta1-extensions","roleref-v1alpha1-rbac-authorization-k8s-io","roleref-v1beta1-rbac-authorization-k8s-io","watch-list-all-namespaces-977","watch-list-976","watch-975","list-all-namespaces-974","list-973","read-972","-strong-read-operations-strong--971","delete-collection-970","delete-969","replace-968","patch-967","create-966","-strong-write-operations-strong--965","rolebinding-v1alpha1-rbac-authorization-k8s-io","watch-list-all-namespaces-964","watch-list-963","watch-962","list-all-namespaces-961","list-960","read-959","-strong-read-operations-strong--958","delete-collection-957","delete-956","replace-955","patch-954","create-953","-strong-write-operations-strong--952","rolebinding-v1beta1-rbac-authorization-k8s-io","watch-list-all-namespaces-951","watch-list-950","watch-949","list-all-namespaces-948","list-947","read-946","-strong-read-operations-strong--945","delete-collection-944","delete-943","replace-942","patch-941","create-940","-strong-write-operations-strong--939","role-v1alpha1-rbac-authorization-k8s-io","watch-list-all-namespaces-938","watch-list-937","watch-936","list-all-namespaces-935","list-934","read-933","-strong-read-operations-strong--932","delete-collection-931","delete-930","replace-929","patch-928","create-927","-strong-write-operations-strong--926","role-v1beta1-rbac-authorization-k8s-io","resourcerule-v1beta1-authorization-k8s-io","resourceattributes-v1beta1-authorization-k8s-io","replicasetcondition-v1beta1-extensions","replicasetcondition-v1beta2-apps","patch-scale-925","replace-scale-924","read-scale-923","-strong-misc-operations-strong--922","replace-status-921","read-status-920","patch-status-919","-strong-status-operations-strong--918","watch-list-all-namespaces-917","watch-list-916","watch-915","list-all-namespaces-914","list-913","read-912","-strong-read-operations-strong--911","delete-collection-910","delete-909","replace-908","patch-907","create-906","-strong-write-operations-strong--905","replicaset-v1beta1-extensions","patch-scale-904","replace-scale-903","read-scale-902","-strong-misc-operations-strong--901","replace-status-900","read-status-899","patch-status-898","-strong-status-operations-strong--897","watch-list-all-namespaces-896","watch-list-895","watch-894","list-all-namespaces-893","list-892","read-891","-strong-read-operations-strong--890","delete-collection-889","delete-888","replace-887","patch-886","create-885","-strong-write-operations-strong--884","replicaset-v1beta2-apps","watch-list-883","watch-882","list-881","read-880","-strong-read-operations-strong--879","delete-collection-878","delete-877","replace-876","patch-875","create-874","-strong-write-operations-strong--873","priorityclass-v1alpha1-scheduling-k8s-io","policyrule-v1alpha1-rbac-authorization-k8s-io","policyrule-v1beta1-rbac-authorization-k8s-io","watch-list-872","watch-871","list-870","read-869","-strong-read-operations-strong--868","delete-collection-867","delete-866","replace-865","patch-864","create-863","-strong-write-operations-strong--862","podsecuritypolicy-v1beta1-policy","nonresourcerule-v1beta1-authorization-k8s-io","nonresourceattributes-v1beta1-authorization-k8s-io","networkpolicyport-v1beta1-extensions","networkpolicypeer-v1beta1-extensions","networkpolicyingressrule-v1beta1-extensions","networkpolicyegressrule-v1beta1-extensions","watch-list-all-namespaces-861","watch-list-860","watch-859","list-all-namespaces-858","list-857","read-856","-strong-read-operations-strong--855","delete-collection-854","delete-853","replace-852","patch-851","create-850","-strong-write-operations-strong--849","networkpolicy-v1beta1-extensions","create-848","-strong-write-operations-strong--847","localsubjectaccessreview-v1beta1-authorization-k8s-io","jobtemplatespec-v2alpha1-batch","initializer-v1alpha1-admissionregistration-k8s-io","ipblock-v1beta1-extensions","idrange-v1beta1-policy","hostportrange-v1beta1-policy","replace-status-846","read-status-845","patch-status-844","-strong-status-operations-strong--843","watch-list-all-namespaces-842","watch-list-841","watch-840","list-all-namespaces-839","list-838","read-837","-strong-read-operations-strong--836","delete-collection-835","delete-834","replace-833","patch-832","create-831","-strong-write-operations-strong--830","horizontalpodautoscaler-v2beta1-autoscaling","fsgroupstrategyoptions-v1beta1-policy","eventseries-v1beta1-events-k8s-io","watch-list-all-namespaces-829","watch-list-828","watch-827","list-all-namespaces-826","list-825","read-824","-strong-read-operations-strong--823","delete-collection-822","delete-821","replace-820","patch-819","create-818","-strong-write-operations-strong--817","event-v1beta1-events-k8s-io","deploymentcondition-v1beta1-extensions","deploymentcondition-v1beta1-apps","deploymentcondition-v1beta2-apps","rollback-816","patch-scale-815","replace-scale-814","read-scale-813","-strong-misc-operations-strong--812","replace-status-811","read-status-810","patch-status-809","-strong-status-operations-strong--808","watch-list-all-namespaces-807","watch-list-806","watch-805","list-all-namespaces-804","list-803","read-802","-strong-read-operations-strong--801","delete-collection-800","delete-799","replace-798","patch-797","create-796","-strong-write-operations-strong--795","deployment-v1beta1-extensions","rollback","patch-scale-794","replace-scale-793","read-scale-792","-strong-misc-operations-strong--791","replace-status-790","read-status-789","patch-status-788","-strong-status-operations-strong--787","watch-list-all-namespaces-786","watch-list-785","watch-784","list-all-namespaces-783","list-782","read-781","-strong-read-operations-strong--780","delete-collection-779","delete-778","replace-777","patch-776","create-775","-strong-write-operations-strong--774","deployment-v1beta1-apps","patch-scale-773","replace-scale-772","read-scale-771","-strong-misc-operations-strong--770","replace-status-769","read-status-768","patch-status-767","-strong-status-operations-strong--766","watch-list-all-namespaces-765","watch-list-764","watch-763","list-all-namespaces-762","list-761","read-760","-strong-read-operations-strong--759","delete-collection-758","delete-757","replace-756","patch-755","create-754","-strong-write-operations-strong--753","deployment-v1beta2-apps","daemonsetupdatestrategy-v1beta1-extensions","daemonsetupdatestrategy-v1beta2-apps","daemonsetcondition-v1beta1-extensions","daemonsetcondition-v1beta2-apps","replace-status-752","read-status-751","patch-status-750","-strong-status-operations-strong--749","watch-list-all-namespaces-748","watch-list-747","watch-746","list-all-namespaces-745","list-744","read-743","-strong-read-operations-strong--742","delete-collection-741","delete-740","replace-739","patch-738","create-737","-strong-write-operations-strong--736","daemonset-v1beta1-extensions","replace-status-735","read-status-734","patch-status-733","-strong-status-operations-strong--732","watch-list-all-namespaces-731","watch-list-730","watch-729","list-all-namespaces-728","list-727","read-726","-strong-read-operations-strong--725","delete-collection-724","delete-723","replace-722","patch-721","create-720","-strong-write-operations-strong--719","daemonset-v1beta2-apps","crossversionobjectreference-v2beta1-autoscaling","replace-status-718","read-status-717","patch-status-716","-strong-status-operations-strong--715","watch-list-all-namespaces-714","watch-list-713","watch-712","list-all-namespaces-711","list-710","read-709","-strong-read-operations-strong--708","delete-collection-707","delete-706","replace-705","patch-704","create-703","-strong-write-operations-strong--702","cronjob-v2alpha1-batch","watch-list-all-namespaces-701","watch-list-700","watch-699","list-all-namespaces-698","list-697","read-696","-strong-read-operations-strong--695","delete-collection-694","delete-693","replace-692","patch-691","create-690","-strong-write-operations-strong--689","controllerrevision-v1beta1-apps","watch-list-all-namespaces-688","watch-list-687","watch-686","list-all-namespaces-685","list-684","read-683","-strong-read-operations-strong--682","delete-collection-681","delete-680","replace-679","patch-678","create-677","-strong-write-operations-strong--676","controllerrevision-v1beta2-apps","watch-list-675","watch-674","list-673","read-672","-strong-read-operations-strong--671","delete-collection-670","delete-669","replace-668","patch-667","create-666","-strong-write-operations-strong--665","clusterrolebinding-v1alpha1-rbac-authorization-k8s-io","watch-list-664","watch-663","list-662","read-661","-strong-read-operations-strong--660","delete-collection-659","delete-658","replace-657","patch-656","create-655","-strong-write-operations-strong--654","clusterrolebinding-v1beta1-rbac-authorization-k8s-io","watch-list-653","watch-652","list-651","read-650","-strong-read-operations-strong--649","delete-collection-648","delete-647","replace-646","patch-645","create-644","-strong-write-operations-strong--643","clusterrole-v1alpha1-rbac-authorization-k8s-io","watch-list-642","watch-641","list-640","read-639","-strong-read-operations-strong--638","delete-collection-637","delete-636","replace-635","patch-634","create-633","-strong-write-operations-strong--632","clusterrole-v1beta1-rbac-authorization-k8s-io","allowedhostpath-v1beta1-policy","allowedflexvolume-v1beta1-policy","aggregationrule-v1alpha1-rbac-authorization-k8s-io","aggregationrule-v1beta1-rbac-authorization-k8s-io","apiservicecondition-v1beta1-apiregistration-k8s-io","replace-status-631","read-status-630","patch-status-629","-strong-status-operations-strong--628","watch-list-627","watch-626","list-625","read-624","-strong-read-operations-strong--623","delete-collection-622","delete-621","replace-620","patch-619","create-618","-strong-write-operations-strong--617","apiservice-v1beta1-apiregistration-k8s-io","-strong-old-api-versions-strong-","weightedpodaffinityterm-v1-core","webhookclientconfig-v1beta1-admissionregistration","webhook-v1beta1-admissionregistration","watchevent-v1-meta","vspherevirtualdiskvolumesource-v1-core","volumeprojection-v1-core","volumenodeaffinity-v1-core","volumemount-v1-core","volumeerror-v1beta1-storage","volumedevice-v1-core","volumeattachmentsource-v1beta1-storage","userinfo-v1-authentication","topologyselectorterm-v1-core","topologyselectorlabelrequirement-v1-core","toleration-v1-core","time-v1-meta","taint-v1-core","tcpsocketaction-v1-core","sysctl-v1-core","supplementalgroupsstrategyoptions-v1beta1-extensions","subjectrulesreviewstatus-v1-authorization","subject-v1-rbac","storageosvolumesource-v1-core","storageospersistentvolumesource-v1-core","statusdetails-v1-meta","statuscause-v1-meta","status-v1-meta","statefulsetupdatestrategy-v1-apps","statefulsetcondition-v1-apps","sessionaffinityconfig-v1-core","servicereference-v1-apiregistration","serviceport-v1-core","serviceaccounttokenprojection-v1-core","serveraddressbyclientcidr-v1-meta","securitycontext-v1-core","secretvolumesource-v1-core","secretreference-v1-core","secretprojection-v1-core","secretkeyselector-v1-core","secretenvsource-v1-core","scopedresourceselectorrequirement-v1-core","scopeselector-v1-core","scaleiovolumesource-v1-core","scaleiopersistentvolumesource-v1-core","scale-v1-autoscaling","selinuxstrategyoptions-v1beta1-extensions","selinuxoptions-v1-core","runasuserstrategyoptions-v1beta1-extensions","rulewithoperations-v1beta1-admissionregistration","rule-v1alpha1-admissionregistration","rollingupdatestatefulsetstrategy-v1-apps","rollbackconfig-v1beta1-apps","roleref-v1-rbac","resourcerule-v1-authorization","resourcerequirements-v1-core","resourcemetricstatus-v2beta1-autoscaling","resourcemetricsource-v2beta1-autoscaling","resourcefieldselector-v1-core","resourceattributes-v1-authorization","replicationcontrollercondition-v1-core","replicasetcondition-v1-apps","rbdvolumesource-v1-core","rbdpersistentvolumesource-v1-core","quobytevolumesource-v1-core","quantity-resource-core","projectedvolumesource-v1-core","probe-v1-core","preferredschedulingterm-v1-core","preconditions-v1-meta","portworxvolumesource-v1-core","policyrule-v1-rbac","podsmetricstatus-v2beta1-autoscaling","podsmetricsource-v2beta1-autoscaling","podsecuritycontext-v1-core","podreadinessgate-v1-core","poddnsconfigoption-v1-core","poddnsconfig-v1-core","podcondition-v1-core","podantiaffinity-v1-core","podaffinityterm-v1-core","podaffinity-v1-core","photonpersistentdiskvolumesource-v1-core","persistentvolumeclaimvolumesource-v1-core","persistentvolumeclaimcondition-v1-core","patch-v1-meta","ownerreference-v1-meta","objectreference-v1-core","objectmetricstatus-v2beta1-autoscaling","objectmetricsource-v2beta1-autoscaling","objectmeta-v1-meta","objectfieldselector-v1-core","nonresourcerule-v1-authorization","nonresourceattributes-v1-authorization","nodesysteminfo-v1-core","nodeselectorterm-v1-core","nodeselectorrequirement-v1-core","nodeselector-v1-core","nodedaemonendpoints-v1-core","nodeconfigstatus-v1-core","nodeconfigsource-v1-core","nodecondition-v1-core","nodeaffinity-v1-core","nodeaddress-v1-core","networkpolicyport-v1-networking","networkpolicypeer-v1-networking","networkpolicyingressrule-v1-networking","networkpolicyegressrule-v1-networking","nfsvolumesource-v1-core","microtime-v1-meta","metricstatus-v2beta1-autoscaling","metricspec-v2beta1-autoscaling","localvolumesource-v1-core","localobjectreference-v1-core","loadbalancerstatus-v1-core","loadbalanceringress-v1-core","listmeta-v1-meta","limitrangeitem-v1-core","lifecycle-v1-core","labelselectorrequirement-v1-meta","labelselector-v1-meta","keytopath-v1-core","jobtemplatespec-v1beta1-batch","jobcondition-v1-batch","jsonschemapropsorbool-v1beta1-apiextensions","jsonschemapropsorarray-v1beta1-apiextensions","jsonschemaprops-v1beta1-apiextensions","json-v1beta1-apiextensions","initializers-v1-meta","initializer-v1-meta","ingresstls-v1beta1-extensions","ingressrule-v1beta1-extensions","ingressbackend-v1beta1-extensions","iscsivolumesource-v1-core","iscsipersistentvolumesource-v1-core","ipblock-v1-networking","idrange-v1beta1-extensions","hostportrange-v1beta1-extensions","hostpathvolumesource-v1-core","hostalias-v1-core","horizontalpodautoscalercondition-v2beta1-autoscaling","handler-v1-core","httpingressrulevalue-v1beta1-extensions","httpingresspath-v1beta1-extensions","httpheader-v1-core","httpgetaction-v1-core","groupversionfordiscovery-v1-meta","glusterfsvolumesource-v1-core","gitrepovolumesource-v1-core","gcepersistentdiskvolumesource-v1-core","flockervolumesource-v1-core","flexvolumesource-v1-core","flexpersistentvolumesource-v1-core","fsgroupstrategyoptions-v1beta1-extensions","fcvolumesource-v1-core","externalmetricstatus-v2beta1-autoscaling","externalmetricsource-v2beta1-autoscaling","externaldocumentation-v1beta1-apiextensions","execaction-v1-core","eviction-v1beta1-policy","eventsource-v1-core","eventseries-v1-core","envvarsource-v1-core","envvar-v1-core","envfromsource-v1-core","endpointsubset-v1-core","endpointport-v1-core","endpointaddress-v1-core","emptydirvolumesource-v1-core","downwardapivolumesource-v1-core","downwardapivolumefile-v1-core","downwardapiprojection-v1-core","deploymentcondition-v1-apps","deleteoptions-v1-meta","daemonsetupdatestrategy-v1-apps","daemonsetcondition-v1-apps","daemonendpoint-v1-core","customresourcevalidation-v1beta1-apiextensions","customresourcesubresources-v1beta1-apiextensions","customresourcesubresourcestatus-v1beta1-apiextensions","customresourcesubresourcescale-v1beta1-apiextensions","customresourcedefinitionversion-v1beta1-apiextensions","customresourcedefinitionnames-v1beta1-apiextensions","customresourcedefinitioncondition-v1beta1-apiextensions","customresourcecolumndefinition-v1beta1-apiextensions","crossversionobjectreference-v1-autoscaling","containerstatewaiting-v1-core","containerstateterminated-v1-core","containerstaterunning-v1-core","containerstate-v1-core","containerport-v1-core","containerimage-v1-core","configmapvolumesource-v1-core","configmapprojection-v1-core","configmapnodeconfigsource-v1-core","configmapkeyselector-v1-core","configmapenvsource-v1-core","componentcondition-v1-core","clientipconfig-v1-core","cindervolumesource-v1-core","cinderpersistentvolumesource-v1-core","certificatesigningrequestcondition-v1beta1-certificates","cephfsvolumesource-v1-core","cephfspersistentvolumesource-v1-core","capabilities-v1-core","csipersistentvolumesource-v1-core","azurefilevolumesource-v1-core","azurefilepersistentvolumesource-v1-core","azurediskvolumesource-v1-core","attachedvolume-v1-core","allowedhostpath-v1beta1-extensions","allowedflexvolume-v1beta1-extensions","aggregationrule-v1-rbac","affinity-v1-core","awselasticblockstorevolumesource-v1-core","apiversions-v1-meta","apiservicecondition-v1-apiregistration","apiresource-v1-meta","apigroup-v1-meta","-strong-definitions-strong-","watch-list-all-namespaces-616","watch-list-615","watch-614","list-all-namespaces-613","list-612","read-611","-strong-read-operations-strong--610","delete-collection-609","delete-608","replace-607","patch-606","create-605","-strong-write-operations-strong--604","networkpolicy-v1-networking-k8s-io","create-603","-strong-write-operations-strong--602","tokenreview-v1-authentication-k8s-io","create-601","-strong-write-operations-strong--600","subjectaccessreview-v1-authorization-k8s-io","watch-list-all-namespaces-599","watch-list-598","watch-597","list-all-namespaces-596","list-595","read-594","-strong-read-operations-strong--593","delete-collection-592","delete-591","replace-590","patch-589","create-588","-strong-write-operations-strong--587","serviceaccount-v1-core","create-586","-strong-write-operations-strong--585","selfsubjectrulesreview-v1-authorization-k8s-io","create-584","-strong-write-operations-strong--583","selfsubjectaccessreview-v1-authorization-k8s-io","watch-list-all-namespaces-582","watch-list-581","watch-580","list-all-namespaces-579","list-578","read-577","-strong-read-operations-strong--576","delete-collection-575","delete-574","replace-573","patch-572","create-571","-strong-write-operations-strong--570","rolebinding-v1-rbac-authorization-k8s-io","watch-list-all-namespaces-569","watch-list-568","watch-567","list-all-namespaces-566","list-565","read-564","-strong-read-operations-strong--563","delete-collection-562","delete-561","replace-560","patch-559","create-558","-strong-write-operations-strong--557","role-v1-rbac-authorization-k8s-io","replace-status-556","read-status-555","patch-status-554","-strong-status-operations-strong--553","watch-list-all-namespaces-552","watch-list-551","watch-550","list-all-namespaces-549","list-548","read-547","-strong-read-operations-strong--546","delete-collection-545","delete-544","replace-543","patch-542","create-541","-strong-write-operations-strong--540","resourcequota-v1-core","replace-status-539","read-status-538","patch-status-537","-strong-status-operations-strong--536","watch-list-535","watch-534","list-533","read-532","-strong-read-operations-strong--531","delete-collection-530","delete-529","replace-528","patch-527","create-526","-strong-write-operations-strong--525","persistentvolume-v1-core","replace-connect-proxy-path-524","replace-connect-proxy-523","head-connect-proxy-path-522","head-connect-proxy-521","get-connect-proxy-path-520","get-connect-proxy-519","delete-connect-proxy-path-518","delete-connect-proxy-517","create-connect-proxy-path-516","create-connect-proxy-515","-strong-proxy-operations-strong--514","replace-status-513","read-status-512","patch-status-511","-strong-status-operations-strong--510","watch-list-509","watch-508","list-507","read-506","-strong-read-operations-strong--505","delete-collection-504","delete-503","replace-502","patch-501","create-500","-strong-write-operations-strong--499","node-v1-core","replace-status-498","read-status-497","patch-status-496","-strong-status-operations-strong--495","watch-list-494","watch-493","list-492","read-491","-strong-read-operations-strong--490","delete-489","replace-488","patch-487","create-486","-strong-write-operations-strong--485","namespace-v1-core","create-484","-strong-write-operations-strong--483","localsubjectaccessreview-v1-authorization-k8s-io","list-482","read-481","-strong-read-operations-strong--480","componentstatus-v1-core","watch-list-479","watch-478","list-477","read-476","-strong-read-operations-strong--475","delete-collection-474","delete-473","replace-472","patch-471","create-470","-strong-write-operations-strong--469","clusterrolebinding-v1-rbac-authorization-k8s-io","watch-list-468","watch-467","list-466","read-465","-strong-read-operations-strong--464","delete-collection-463","delete-462","replace-461","patch-460","create-459","-strong-write-operations-strong--458","clusterrole-v1-rbac-authorization-k8s-io","replace-status-457","read-status-456","patch-status-455","-strong-status-operations-strong--454","watch-list-453","watch-452","list-451","read-450","-strong-read-operations-strong--449","delete-collection-448","delete-447","replace-446","patch-445","create-444","-strong-write-operations-strong--443","certificatesigningrequest-v1beta1-certificates-k8s-io","create-442","-strong-write-operations-strong--441","binding-v1-core","replace-status-440","read-status-439","patch-status-438","-strong-status-operations-strong--437","watch-list-436","watch-435","list-434","read-433","-strong-read-operations-strong--432","delete-collection-431","delete-430","replace-429","patch-428","create-427","-strong-write-operations-strong--426","apiservice-v1-apiregistration-k8s-io","-strong-cluster-strong-","watch-list-425","watch-424","list-423","read-422","-strong-read-operations-strong--421","delete-collection-420","delete-419","replace-418","patch-417","create-416","-strong-write-operations-strong--415","podsecuritypolicy-v1beta1-extensions","watch-list-all-namespaces-414","watch-list-413","watch-412","list-all-namespaces-411","list-410","read-409","-strong-read-operations-strong--408","delete-collection-407","delete-406","replace-405","patch-404","create-403","-strong-write-operations-strong--402","podpreset-v1alpha1-settings-k8s-io","watch-list-401","watch-400","list-399","read-398","-strong-read-operations-strong--397","delete-collection-396","delete-395","replace-394","patch-393","create-392","-strong-write-operations-strong--391","priorityclass-v1beta1-scheduling-k8s-io","replace-status-390","read-status-389","patch-status-388","-strong-status-operations-strong--387","watch-list-all-namespaces-386","watch-list-385","watch-384","list-all-namespaces-383","list-382","read-381","-strong-read-operations-strong--380","delete-collection-379","delete-378","replace-377","patch-376","create-375","-strong-write-operations-strong--374","poddisruptionbudget-v1beta1-policy","watch-list-all-namespaces-373","watch-list-372","watch-371","list-all-namespaces-370","list-369","read-368","-strong-read-operations-strong--367","delete-collection-366","delete-365","replace-364","patch-363","create-362","-strong-write-operations-strong--361","podtemplate-v1-core","watch-list-360","watch-359","list-358","read-357","-strong-read-operations-strong--356","delete-collection-355","delete-354","replace-353","patch-352","create-351","-strong-write-operations-strong--350","validatingwebhookconfiguration-v1beta1-admissionregistration-k8s-io","watch-list-349","watch-348","list-347","read-346","-strong-read-operations-strong--345","delete-collection-344","delete-343","replace-342","patch-341","create-340","-strong-write-operations-strong--339","mutatingwebhookconfiguration-v1beta1-admissionregistration-k8s-io","watch-list-338","watch-337","list-336","read-335","-strong-read-operations-strong--334","delete-collection-333","delete-332","replace-331","patch-330","create-329","-strong-write-operations-strong--328","initializerconfiguration-v1alpha1-admissionregistration-k8s-io","replace-status-327","read-status-326","patch-status-325","-strong-status-operations-strong--324","watch-list-all-namespaces-323","watch-list-322","watch-321","list-all-namespaces-320","list-319","read-318","-strong-read-operations-strong--317","delete-collection-316","delete-315","replace-314","patch-313","create-312","-strong-write-operations-strong--311","horizontalpodautoscaler-v1-autoscaling","watch-list-all-namespaces-310","watch-list-309","watch-308","list-all-namespaces-307","list-306","read-305","-strong-read-operations-strong--304","delete-collection-303","delete-302","replace-301","patch-300","create-299","-strong-write-operations-strong--298","limitrange-v1-core","watch-list-all-namespaces-297","watch-list-296","watch-295","list-all-namespaces-294","list-293","read-292","-strong-read-operations-strong--291","delete-collection-290","delete-289","replace-288","patch-287","create-286","-strong-write-operations-strong--285","event-v1-core","replace-status-284","read-status-283","patch-status-282","-strong-status-operations-strong--281","watch-list-280","watch-279","list-278","read-277","-strong-read-operations-strong--276","delete-collection-275","delete-274","replace-273","patch-272","create-271","-strong-write-operations-strong--270","customresourcedefinition-v1beta1-apiextensions-k8s-io","watch-list-all-namespaces-269","watch-list-268","watch-267","list-all-namespaces-266","list-265","read-264","-strong-read-operations-strong--263","delete-collection-262","delete-261","replace-260","patch-259","create-258","-strong-write-operations-strong--257","controllerrevision-v1-apps","-strong-metadata-strong-","watch-list-256","watch-255","list-254","read-253","-strong-read-operations-strong--252","delete-collection-251","delete-250","replace-249","patch-248","create-247","-strong-write-operations-strong--246","volumeattachment-v1beta1-storage-k8s-io","volume-v1-core","watch-list-245","watch-244","list-243","read-242","-strong-read-operations-strong--241","delete-collection-240","delete-239","replace-238","patch-237","create-236","-strong-write-operations-strong--235","storageclass-v1-storage-k8s-io","replace-status-234","read-status-233","patch-status-232","-strong-status-operations-strong--231","watch-list-all-namespaces-230","watch-list-229","watch-228","list-all-namespaces-227","list-226","read-225","-strong-read-operations-strong--224","delete-collection-223","delete-222","replace-221","patch-220","create-219","-strong-write-operations-strong--218","persistentvolumeclaim-v1-core","watch-list-all-namespaces-217","watch-list-216","watch-215","list-all-namespaces-214","list-213","read-212","-strong-read-operations-strong--211","delete-collection-210","delete-209","replace-208","patch-207","create-206","-strong-write-operations-strong--205","secret-v1-core","watch-list-all-namespaces-204","watch-list-203","watch-202","list-all-namespaces-201","list-200","read-199","-strong-read-operations-strong--198","delete-collection-197","delete-196","replace-195","patch-194","create-193","-strong-write-operations-strong--192","configmap-v1-core","-strong-config-storage-strong-","replace-connect-proxy-path-191","replace-connect-proxy-190","head-connect-proxy-path-189","head-connect-proxy-188","get-connect-proxy-path-187","get-connect-proxy-186","delete-connect-proxy-path-185","delete-connect-proxy-184","create-connect-proxy-path-183","create-connect-proxy-182","-strong-proxy-operations-strong--181","replace-status-180","read-status-179","patch-status-178","-strong-status-operations-strong--177","watch-list-all-namespaces-176","watch-list-175","watch-174","list-all-namespaces-173","list-172","read-171","-strong-read-operations-strong--170","delete-169","replace-168","patch-167","create-166","-strong-write-operations-strong--165","service-v1-core","replace-status-164","read-status-163","patch-status-162","-strong-status-operations-strong--161","watch-list-all-namespaces-160","watch-list-159","watch-158","list-all-namespaces-157","list-156","read-155","-strong-read-operations-strong--154","delete-collection-153","delete-152","replace-151","patch-150","create-149","-strong-write-operations-strong--148","ingress-v1beta1-extensions","watch-list-all-namespaces-147","watch-list-146","watch-145","list-all-namespaces-144","list-143","read-142","-strong-read-operations-strong--141","delete-collection-140","delete-139","replace-138","patch-137","create-136","-strong-write-operations-strong--135","endpoints-v1-core","-strong-discovery-load-balancing-strong-","patch-scale-134","replace-scale-133","read-scale-132","-strong-misc-operations-strong--131","replace-status-130","read-status-129","patch-status-128","-strong-status-operations-strong--127","watch-list-all-namespaces-126","watch-list-125","watch-124","list-all-namespaces-123","list-122","read-121","-strong-read-operations-strong--120","delete-collection-119","delete-118","replace-117","patch-116","create-115","-strong-write-operations-strong--114","statefulset-v1-apps","patch-scale-113","replace-scale-112","read-scale-111","-strong-misc-operations-strong--110","replace-status-109","read-status-108","patch-status-107","-strong-status-operations-strong--106","watch-list-all-namespaces-105","watch-list-104","watch-103","list-all-namespaces-102","list-101","read-100","-strong-read-operations-strong--99","delete-collection-98","delete-97","replace-96","patch-95","create-94","-strong-write-operations-strong--93","replicationcontroller-v1-core","patch-scale-92","replace-scale-91","read-scale-90","-strong-misc-operations-strong--89","replace-status-88","read-status-87","patch-status-86","-strong-status-operations-strong--85","watch-list-all-namespaces-84","watch-list-83","watch-82","list-all-namespaces-81","list-80","read-79","-strong-read-operations-strong--78","delete-collection-77","delete-76","replace-75","patch-74","create-73","-strong-write-operations-strong--72","replicaset-v1-apps","read-log","-strong-misc-operations-strong--71","replace-connect-proxy-path","replace-connect-proxy","head-connect-proxy-path","head-connect-proxy","get-connect-proxy-path","get-connect-proxy","get-connect-portforward","delete-connect-proxy-path","delete-connect-proxy","create-connect-proxy-path","create-connect-proxy","create-connect-portforward","-strong-proxy-operations-strong-","replace-status-70","read-status-69","patch-status-68","-strong-status-operations-strong--67","watch-list-all-namespaces-66","watch-list-65","watch-64","list-all-namespaces-63","list-62","read-61","-strong-read-operations-strong--60","delete-collection-59","delete-58","replace-57","patch-56","create-eviction","create-55","-strong-write-operations-strong--54","pod-v1-core","replace-status-53","read-status-52","patch-status-51","-strong-status-operations-strong--50","watch-list-all-namespaces-49","watch-list-48","watch-47","list-all-namespaces-46","list-45","read-44","-strong-read-operations-strong--43","delete-collection-42","delete-41","replace-40","patch-39","create-38","-strong-write-operations-strong--37","job-v1-batch","patch-scale","replace-scale","read-scale","-strong-misc-operations-strong-","replace-status-36","read-status-35","patch-status-34","-strong-status-operations-strong--33","watch-list-all-namespaces-32","watch-list-31","watch-30","list-all-namespaces-29","list-28","read-27","-strong-read-operations-strong--26","delete-collection-25","delete-24","replace-23","patch-22","create-21","-strong-write-operations-strong--20","deployment-v1-apps","replace-status-19","read-status-18","patch-status-17","-strong-status-operations-strong--16","watch-list-all-namespaces-15","watch-list-14","watch-13","list-all-namespaces-12","list-11","read-10","-strong-read-operations-strong--9","delete-collection-8","delete-7","replace-6","patch-5","create-4","-strong-write-operations-strong--3","daemonset-v1-apps","replace-status","read-status","patch-status","-strong-status-operations-strong-","watch-list-all-namespaces","watch-list","watch","list-all-namespaces","list","read-2","-strong-read-operations-strong-","delete-collection","delete-1","replace","patch","create","-strong-write-operations-strong-","cronjob-v1beta1-batch","container-v1-core","-strong-workloads-strong-","resource-operations","resource-objects","resource-categories","-strong-api-overview-strong-"]};})(); \ No newline at end of file diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/bootstrap/dist/css/bootstrap.min.css b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/bootstrap/dist/css/bootstrap.min.css new file mode 100755 index 0000000000..ed3905e0e0 --- /dev/null +++ b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/bootstrap/dist/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.css b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.css new file mode 100755 index 0000000000..ee906a8196 --- /dev/null +++ b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.css @@ -0,0 +1,2337 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-pp:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.css.map b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.css.map new file mode 100755 index 0000000000..60763a8640 --- /dev/null +++ b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../scss/_path.scss","../scss/_core.scss","../scss/_larger.scss","../scss/_fixed-width.scss","../scss/_list.scss","../scss/_variables.scss","../scss/_bordered-pulled.scss","../scss/_animated.scss","../scss/_rotated-flipped.scss","../scss/_mixins.scss","../scss/_stacked.scss","../scss/_icons.scss"], +"names": [], +"file": "font-awesome.css" +} diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.min.css b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.min.css new file mode 100755 index 0000000000..540440ce89 --- /dev/null +++ b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/FontAwesome.otf b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/FontAwesome.otf new file mode 100755 index 0000000000000000000000000000000000000000..401ec0f36e4f73b8efa40bd6f604fe80d286db70 GIT binary patch literal 134808 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 literal 0 HcmV?d00001 diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/fontawesome-webfont.eot b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/fontawesome-webfont.eot new file mode 100755 index 0000000000000000000000000000000000000000..e9f60ca953f93e35eab4108bd414bc02ddcf3928 GIT binary patch literal 165742 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

5q!RY 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 + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/fontawesome-webfont.ttf b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/fontawesome-webfont.ttf new file mode 100755 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/fontawesome-webfont.woff2 b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/font-awesome/fonts/fontawesome-webfont.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/highlight.js/styles/default.css b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/highlight.js/styles/default.css new file mode 100755 index 0000000000..f1bfade31e --- /dev/null +++ b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/highlight.js/styles/default.css @@ -0,0 +1,99 @@ +/* + +Original highlight.js style (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/jquery.scrollto/jquery.scrollTo.min.js b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/jquery.scrollto/jquery.scrollTo.min.js new file mode 100755 index 0000000000..65a020d92a --- /dev/null +++ b/static/docs/reference/generated/kubernetes-api/v1.11/node_modules/jquery.scrollto/jquery.scrollTo.min.js @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2007-2015 Ariel Flesler - afleslergmailcom | http://flesler.blogspot.com + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), +a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), +null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r(" - Create an Issue - {{ end }} - {{ end }} - {{ if not .Params.noedit }} - Edit this Page - {{ end }} -

+ {{ partialCached "footer.html" . }} {{ partialCached "footer-scripts.html" . }} diff --git a/netlify.toml b/netlify.toml index 904f6956c9..dc01c1d2a3 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,7 +1,7 @@ [build] # This default build command adds the robots noindex directive to the site headers publish = "public" -command = "hugo && cp netlify_noindex_headers.txt public/_headers" +command = "hugo --enableGitInfo && cp netlify_noindex_headers.txt public/_headers" [context.production.environment] HUGO_BASEURL = "https://kubernetes.io/" @@ -10,13 +10,13 @@ HUGO_ENV = "production" HUGO_ENABLEGITINFO = "true" [context.deploy-preview] -command = "hugo -b $DEPLOY_PRIME_URL" +command = "hugo --enableGitInfo -b $DEPLOY_PRIME_URL" [context.deploy-preview.environment] HUGO_VERSION = "0.40.3" [context.branch-deploy] -command = "hugo -b $DEPLOY_PRIME_URL" +command = "hugo --enableGitInfo -b $DEPLOY_PRIME_URL" [context.branch-deploy.environment] HUGO_VERSION = "0.40.3" diff --git a/static/css/styles.css b/static/css/styles.css index 91fe939226..20eee2b950 100644 --- a/static/css/styles.css +++ b/static/css/styles.css @@ -476,6 +476,7 @@ dd { margin-bottom: 16px; } #docsContent #TableOfContents ul, #docsContent #TableOfContents li { list-style: disk; } + .fixed footer { position: fixed; bottom: 0; } #miceType { clear: both; font-size: 11px; line-height: 18px; color: #aaa; } @@ -855,6 +856,15 @@ html.search #docsContent h1 { margin-bottom: 0; border-bottom: 0; padding-bottom #docs .flyout-button { display: none; } #docs .logo { position: relative; float: left; display: block; width: 180px; height: 88px; top: 0; left: 0; transform: none; background-image: url(../images/nav_logo.svg); } #docs.flip-nav .logo, #docs.open-nav .logo { background-image: url(../images/nav_logo2.svg); } + div#pre-footer div#lastedit.lastedit { + padding: 0 0 10px 20px; + color: #bbb; + font-size: 13px; + } + div#pre-footer div#lastedit.lastedit a { + color: #3371e3; + text-decoration: underline; + } #encyclopedia { padding: 50px 50px 100px 100px; clear: both; } #docsToc { position: relative; float: left; padding: 0 20px; left: 0; width: 350px; z-index: auto; } #docsToc .push-menu-close-button { display: none; } From b5f6df99260f98f7dbe06937adb0364850da2bf8 Mon Sep 17 00:00:00 2001 From: Qiming Date: Tue, 3 Jul 2018 08:35:20 +0800 Subject: [PATCH 083/102] Consolidate YAML files [part-8] (#9347) * Consolidate YAML files [part-8] This PR exacts the YAML files referenced from the following subdirs: - docs/concepts/workloads - docs/concepts/configuration - docs/concepts/policy The following problems are fixed: - docs/concepts/workloads/controllers/ doesnt have a 'cronjob.yaml for test - the exactly same `pod.yaml` was used in both the task/config-pod-container topic and the concepts/configuration topics. * Update examples_test.go * Add missing yaml file. --- .../concepts/configuration/assign-pod-node.md | 13 +++++---- .../concepts/policy/pod-security-policy.md | 8 +++--- .../workloads/controllers/daemonset.md | 6 ++--- .../workloads/controllers/deployment.md | 6 ++--- .../controllers/garbage-collection.md | 16 +++++------ .../controllers/jobs-run-to-completion.md | 6 ++--- .../workloads/controllers/replicaset.md | 8 +++--- .../controllers/replicationcontroller.md | 4 +-- .../assign-pods-nodes.md | 5 ++-- .../tasks/configure-pod-container/pod.yaml | 13 --------- .../en/examples/application/deployment.yaml | 4 +-- .../controllers/daemonset.yaml | 0 .../controllers/frontend.yaml | 0 .../controllers/hpa-rs.yaml | 0 .../controllers/job.yaml | 0 .../controllers/nginx-deployment.yaml | 0 .../controllers/replicaset.yaml} | 0 .../controllers/replication.yaml | 0 .../pods}/commands.yaml | 0 .../pod.yaml => examples/pods/pod-nginx.yaml} | 0 .../pods}/pod-with-node-affinity.yaml | 0 .../pods}/pod-with-pod-affinity.yaml | 0 .../policy/example-psp.yaml | 0 .../policy/privileged-psp.yaml | 0 .../policy/restricted-psp.yaml | 0 test/examples_test.go | 27 ++++++++++++++----- 26 files changed, 58 insertions(+), 58 deletions(-) delete mode 100644 content/en/docs/tasks/configure-pod-container/pod.yaml rename content/en/{docs/concepts/workloads => examples}/controllers/daemonset.yaml (100%) rename content/en/{docs/concepts/workloads => examples}/controllers/frontend.yaml (100%) rename content/en/{docs/concepts/workloads => examples}/controllers/hpa-rs.yaml (100%) rename content/en/{docs/concepts/workloads => examples}/controllers/job.yaml (100%) rename content/en/{docs/concepts/workloads => examples}/controllers/nginx-deployment.yaml (100%) rename content/en/{docs/concepts/workloads/controllers/my-repset.yaml => examples/controllers/replicaset.yaml} (100%) rename content/en/{docs/concepts/workloads => examples}/controllers/replication.yaml (100%) rename content/en/{docs/concepts/configuration => examples/pods}/commands.yaml (100%) rename content/en/{docs/concepts/configuration/pod.yaml => examples/pods/pod-nginx.yaml} (100%) rename content/en/{docs/concepts/configuration => examples/pods}/pod-with-node-affinity.yaml (100%) rename content/en/{docs/concepts/configuration => examples/pods}/pod-with-pod-affinity.yaml (100%) rename content/en/{docs/concepts => examples}/policy/example-psp.yaml (100%) rename content/en/{docs/concepts => examples}/policy/privileged-psp.yaml (100%) rename content/en/{docs/concepts => examples}/policy/restricted-psp.yaml (100%) diff --git a/content/en/docs/concepts/configuration/assign-pod-node.md b/content/en/docs/concepts/configuration/assign-pod-node.md index d6ceafc368..7bca696bb5 100644 --- a/content/en/docs/concepts/configuration/assign-pod-node.md +++ b/content/en/docs/concepts/configuration/assign-pod-node.md @@ -68,9 +68,12 @@ spec: Then add a nodeSelector like so: -{{< code file="pod.yaml" >}} +{{< codenew file="pods/pod-nginx.yaml" >}} -When you then run `kubectl create -f pod.yaml`, the pod will get scheduled on the node that you attached the label to! You can verify that it worked by running `kubectl get pods -o wide` and looking at the "NODE" that the pod was assigned to. +When you then run `kubectl create -f https://k8s.io/examples/pods/pod-nginx.yaml`, +the Pod will get scheduled on the node that you attached the label to. You can +verify that it worked by running `kubectl get pods -o wide` and looking at the +"NODE" that the Pod was assigned to. ## Interlude: built-in node labels @@ -133,7 +136,7 @@ Node affinity is specified as field `nodeAffinity` of field `affinity` in the Po Here's an example of a pod that uses node affinity: -{{< code file="pod-with-node-affinity.yaml" >}} +{{< codenew file="pods/pod-with-node-affinity.yaml" >}} This node affinity rule says the pod can only be placed on a node with a label whose key is `kubernetes.io/e2e-az-name` and whose value is either `e2e-az1` or `e2e-az2`. In addition, @@ -188,7 +191,7 @@ And inter-pod anti-affinity is specified as field `podAntiAffinity` of field `af #### An example of a pod that uses pod affinity: -{{< code file="pod-with-pod-affinity.yaml" >}} +{{< codenew file="pods/pod-with-pod-affinity.yaml" >}} The affinity on this pod defines one pod affinity rule and one pod anti-affinity rule. In this example, the `podAffinity` is `requiredDuringSchedulingIgnoredDuringExecution` @@ -344,4 +347,4 @@ as well, which allow a *node* to *repel* a set of pods. {{% capture whatsnext %}} -{{% /capture %}} \ No newline at end of file +{{% /capture %}} diff --git a/content/en/docs/concepts/policy/pod-security-policy.md b/content/en/docs/concepts/policy/pod-security-policy.md index 5205363187..9a1771980a 100644 --- a/content/en/docs/concepts/policy/pod-security-policy.md +++ b/content/en/docs/concepts/policy/pod-security-policy.md @@ -194,7 +194,7 @@ $ alias kubectl-user='kubectl --as=system:serviceaccount:psp-example:fake-user - Define the example PodSecurityPolicy object in a file. This is a policy that simply prevents the creation of privileged pods. -{{< code file="example-psp.yaml" >}} +{{< codenew file="policy/example-psp.yaml" >}} And create it with kubectl: @@ -355,13 +355,13 @@ podsecuritypolicy "example" deleted This is the least restricted policy you can create, equivalent to not using the pod security policy admission controller: -{{< code file="privileged-psp.yaml" >}} +{{< codenew file="policy/privileged-psp.yaml" >}} This is an example of a restrictive policy that requires users to run as an unprivileged user, blocks possible escalations to root, and requires use of several security mechanisms. -{{< code file="restricted-psp.yaml" >}} +{{< codenew file="policy/restricted-psp.yaml" >}} ## Policy Reference @@ -574,4 +574,4 @@ default cannot be changed. Controlled via annotations on the PodSecurityPolicy. Refer to the [Sysctl documentation]( /docs/concepts/cluster-administration/sysctl-cluster/#podsecuritypolicy-annotations). -{{% /capture %}} \ No newline at end of file +{{% /capture %}} diff --git a/content/en/docs/concepts/workloads/controllers/daemonset.md b/content/en/docs/concepts/workloads/controllers/daemonset.md index 76e44aedd0..880ad43961 100644 --- a/content/en/docs/concepts/workloads/controllers/daemonset.md +++ b/content/en/docs/concepts/workloads/controllers/daemonset.md @@ -39,11 +39,11 @@ different flags and/or different memory and cpu requests for different hardware You can describe a DaemonSet in a YAML file. For example, the `daemonset.yaml` file below describes a DaemonSet that runs the fluentd-elasticsearch Docker image: -{{< code file="daemonset.yaml" >}} +{{< codenew file="controllers/daemonset.yaml" >}} * Create a DaemonSet based on the YAML file: ``` -kubectl create -f daemonset.yaml +kubectl create -f https://k8s.io/examples/controllers/daemonset.yaml ``` ### Required Fields @@ -252,4 +252,4 @@ number of replicas and rolling out updates are more important than controlling e the Pod runs on. Use a DaemonSet when it is important that a copy of a Pod always run on all or certain hosts, and when it needs to start before other Pods. -{{% /capture %}} \ No newline at end of file +{{% /capture %}} diff --git a/content/en/docs/concepts/workloads/controllers/deployment.md b/content/en/docs/concepts/workloads/controllers/deployment.md index ef79cd7d4c..92d7b67ddd 100644 --- a/content/en/docs/concepts/workloads/controllers/deployment.md +++ b/content/en/docs/concepts/workloads/controllers/deployment.md @@ -40,7 +40,7 @@ The following are typical use cases for Deployments: The following is an example of a Deployment. It creates a ReplicaSet to bring up three `nginx` Pods: -{{< code file="nginx-deployment.yaml" >}} +{{< codenew file="controllers/nginx-deployment.yaml" >}} In this example: @@ -71,7 +71,7 @@ The `template` field contains the following instructions: To create this Deployment, run the following command: ```shell -kubectl create -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/docs/concepts/workloads/controllers/nginx-deployment.yaml +kubectl create -f https://k8s.io/examples/controllers/nginx-deployment.yaml ``` {{< note >}} @@ -417,7 +417,7 @@ First, check the revisions of this deployment: $ kubectl rollout history deployment/nginx-deployment deployments "nginx-deployment" REVISION CHANGE-CAUSE -1 kubectl create -f docs/user-guide/nginx-deployment.yaml --record +1 kubectl create -f https://k8s.io/examples/controllers/nginx-deployment.yaml --record 2 kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1 3 kubectl set image deployment/nginx-deployment nginx=nginx:1.91 ``` diff --git a/content/en/docs/concepts/workloads/controllers/garbage-collection.md b/content/en/docs/concepts/workloads/controllers/garbage-collection.md index 4fcf1fbc44..ed4aa90cfe 100644 --- a/content/en/docs/concepts/workloads/controllers/garbage-collection.md +++ b/content/en/docs/concepts/workloads/controllers/garbage-collection.md @@ -36,17 +36,17 @@ setting the `ownerReference` field. Here's a configuration file for a ReplicaSet that has three Pods: -{{< code file="my-repset.yaml" >}} +{{< codenew file="controllers/replicaset.yaml" >}} If you create the ReplicaSet and then view the Pod metadata, you can see OwnerReferences field: ```shell -kubectl create -f https://k8s.io/docs/concepts/controllers/my-repset.yaml +kubectl create -f https://k8s.io/examples/controllers/replicaset.yaml kubectl get pods --output=yaml ``` -The output shows that the Pod owner is a ReplicaSet named my-repset: +The output shows that the Pod owner is a ReplicaSet named `my-repset`: ```shell apiVersion: v1 @@ -110,15 +110,15 @@ field on the `deleteOptions` argument when deleting an Object. Possible values i Prior to Kubernetes 1.9, the default garbage collection policy for many controller resources was `orphan`. This included ReplicationController, ReplicaSet, StatefulSet, DaemonSet, and -Deployment. For kinds in the extensions/v1beta1, apps/v1beta1, and apps/v1beta2 group versions, unless you -specify otherwise, dependent objects are orphaned by default. In Kubernetes 1.9, for all kinds in the apps/v1 +Deployment. For kinds in the `extensions/v1beta1`, `apps/v1beta1`, and `apps/v1beta2` group versions, unless you +specify otherwise, dependent objects are orphaned by default. In Kubernetes 1.9, for all kinds in the `apps/v1` group version, dependent objects are deleted by default. Here's an example that deletes dependents in background: ```shell kubectl proxy --port=8080 -curl -X DELETE localhost:8080/apis/extensions/v1beta1/namespaces/default/replicasets/my-repset \ +curl -X DELETE localhost:8080/apis/apps/v1/namespaces/default/replicasets/my-repset \ -d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Background"}' \ -H "Content-Type: application/json" ``` @@ -127,7 +127,7 @@ Here's an example that deletes dependents in foreground: ```shell kubectl proxy --port=8080 -curl -X DELETE localhost:8080/apis/extensions/v1beta1/namespaces/default/replicasets/my-repset \ +curl -X DELETE localhost:8080/apis/apps/v1/namespaces/default/replicasets/my-repset \ -d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Foreground"}' \ -H "Content-Type: application/json" ``` @@ -136,7 +136,7 @@ Here's an example that orphans dependents: ```shell kubectl proxy --port=8080 -curl -X DELETE localhost:8080/apis/extensions/v1beta1/namespaces/default/replicasets/my-repset \ +curl -X DELETE localhost:8080/apis/apps/v1/namespaces/default/replicasets/my-repset \ -d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Orphan"}' \ -H "Content-Type: application/json" ``` diff --git a/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md b/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md index c02bf976ba..1b0c5a388b 100644 --- a/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md +++ b/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md @@ -31,12 +31,12 @@ A Job can also be used to run multiple pods in parallel. Here is an example Job config. It computes π to 2000 places and prints it out. It takes around 10s to complete. -{{< code file="job.yaml" >}} +{{< codenew file="controllers/job.yaml" >}} Run the example job by downloading the example file and then running this command: ```shell -$ kubectl create -f ./job.yaml +$ kubectl create -f https://k8s.io/examples/controllers/job.yaml job "pi" created ``` @@ -401,4 +401,4 @@ object, but complete control over what pods are created and how work is assigned Support for creating Jobs at specified times/dates (i.e. cron) is available in Kubernetes [1.4](https://github.com/kubernetes/kubernetes/pull/11980). More information is available in the [cron job documents](/docs/concepts/workloads/controllers/cron-jobs/) -{{% /capture %}} \ No newline at end of file +{{% /capture %}} diff --git a/content/en/docs/concepts/workloads/controllers/replicaset.md b/content/en/docs/concepts/workloads/controllers/replicaset.md index c0aee35a2b..ddf97a0e2a 100644 --- a/content/en/docs/concepts/workloads/controllers/replicaset.md +++ b/content/en/docs/concepts/workloads/controllers/replicaset.md @@ -51,13 +51,13 @@ use a Deployment instead, and define your application in the spec section. ## Example -{{< code file="frontend.yaml" >}} +{{< codenew file="controllers/frontend.yaml" >}} Saving this manifest into `frontend.yaml` and submitting it to a Kubernetes cluster should create the defined ReplicaSet and the pods that it manages. ```shell -$ kubectl create -f frontend.yaml +$ kubectl create -f http://k8s.io/examples/controllers/frontend.yaml replicaset "frontend" created $ kubectl describe rs/frontend Name: frontend @@ -192,14 +192,14 @@ A ReplicaSet can also be a target for a ReplicaSet can be auto-scaled by an HPA. Here is an example HPA targeting the ReplicaSet we created in the previous example. -{{< code file="hpa-rs.yaml" >}} +{{< codenew file="controllers/hpa-rs.yaml" >}} Saving this manifest into `hpa-rs.yaml` and submitting it to a Kubernetes cluster should create the defined HPA that autoscales the target ReplicaSet depending on the CPU usage of the replicated pods. ```shell -kubectl create -f hpa-rs.yaml +kubectl create -f https://k8s.io/examples/controllers/hpa-rs.yaml ``` Alternatively, you can use the `kubectl autoscale` command to accomplish the same diff --git a/content/en/docs/concepts/workloads/controllers/replicationcontroller.md b/content/en/docs/concepts/workloads/controllers/replicationcontroller.md index 5424cd1be1..c9e23e5bec 100644 --- a/content/en/docs/concepts/workloads/controllers/replicationcontroller.md +++ b/content/en/docs/concepts/workloads/controllers/replicationcontroller.md @@ -44,12 +44,12 @@ service, such as web servers. This example ReplicationController config runs three copies of the nginx web server. -{{< code file="replication.yaml" >}} +{{< codenew file="controllers/replication.yaml" >}} Run the example job by downloading the example file and then running this command: ```shell -$ kubectl create -f ./replication.yaml +$ kubectl create -f https://k8s.io/examples/controllers/replication.yaml replicationcontroller "nginx" created ``` diff --git a/content/en/docs/tasks/configure-pod-container/assign-pods-nodes.md b/content/en/docs/tasks/configure-pod-container/assign-pods-nodes.md index c572b2ff26..035d2aac61 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-pods-nodes.md +++ b/content/en/docs/tasks/configure-pod-container/assign-pods-nodes.md @@ -57,12 +57,12 @@ This pod configuration file describes a pod that has a node selector, `disktype: ssd`. This means that the pod will get scheduled on a node that has a `disktype=ssd` label. -{{< code file="pod.yaml" >}} +{{< codenew file="pods/pod-nginx.yaml" >}} 1. Use the configuration file to create a pod that will get scheduled on your chosen node: - kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/pod.yaml + kubectl create -f https://k8s.io/examples/pods/pod-nginx.yaml 1. Verify that the pod is running on your chosen node: @@ -80,4 +80,3 @@ Learn more about [labels and selectors](/docs/concepts/overview/working-with-objects/labels/). {{% /capture %}} - diff --git a/content/en/docs/tasks/configure-pod-container/pod.yaml b/content/en/docs/tasks/configure-pod-container/pod.yaml deleted file mode 100644 index 134ddae2aa..0000000000 --- a/content/en/docs/tasks/configure-pod-container/pod.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: nginx - labels: - env: test -spec: - containers: - - name: nginx - image: nginx - imagePullPolicy: IfNotPresent - nodeSelector: - disktype: ssd diff --git a/content/en/examples/application/deployment.yaml b/content/en/examples/application/deployment.yaml index c682fe12bd..0f526b16c0 100644 --- a/content/en/examples/application/deployment.yaml +++ b/content/en/examples/application/deployment.yaml @@ -7,10 +7,8 @@ spec: matchLabels: app: nginx replicas: 2 # tells deployment to run 2 pods matching the template - template: # create pods using pod definition in this template + template: metadata: - # unlike pod-nginx.yaml, the name is not included in the meta data as a unique name is - # generated from the deployment name labels: app: nginx spec: diff --git a/content/en/docs/concepts/workloads/controllers/daemonset.yaml b/content/en/examples/controllers/daemonset.yaml similarity index 100% rename from content/en/docs/concepts/workloads/controllers/daemonset.yaml rename to content/en/examples/controllers/daemonset.yaml diff --git a/content/en/docs/concepts/workloads/controllers/frontend.yaml b/content/en/examples/controllers/frontend.yaml similarity index 100% rename from content/en/docs/concepts/workloads/controllers/frontend.yaml rename to content/en/examples/controllers/frontend.yaml diff --git a/content/en/docs/concepts/workloads/controllers/hpa-rs.yaml b/content/en/examples/controllers/hpa-rs.yaml similarity index 100% rename from content/en/docs/concepts/workloads/controllers/hpa-rs.yaml rename to content/en/examples/controllers/hpa-rs.yaml diff --git a/content/en/docs/concepts/workloads/controllers/job.yaml b/content/en/examples/controllers/job.yaml similarity index 100% rename from content/en/docs/concepts/workloads/controllers/job.yaml rename to content/en/examples/controllers/job.yaml diff --git a/content/en/docs/concepts/workloads/controllers/nginx-deployment.yaml b/content/en/examples/controllers/nginx-deployment.yaml similarity index 100% rename from content/en/docs/concepts/workloads/controllers/nginx-deployment.yaml rename to content/en/examples/controllers/nginx-deployment.yaml diff --git a/content/en/docs/concepts/workloads/controllers/my-repset.yaml b/content/en/examples/controllers/replicaset.yaml similarity index 100% rename from content/en/docs/concepts/workloads/controllers/my-repset.yaml rename to content/en/examples/controllers/replicaset.yaml diff --git a/content/en/docs/concepts/workloads/controllers/replication.yaml b/content/en/examples/controllers/replication.yaml similarity index 100% rename from content/en/docs/concepts/workloads/controllers/replication.yaml rename to content/en/examples/controllers/replication.yaml diff --git a/content/en/docs/concepts/configuration/commands.yaml b/content/en/examples/pods/commands.yaml similarity index 100% rename from content/en/docs/concepts/configuration/commands.yaml rename to content/en/examples/pods/commands.yaml diff --git a/content/en/docs/concepts/configuration/pod.yaml b/content/en/examples/pods/pod-nginx.yaml similarity index 100% rename from content/en/docs/concepts/configuration/pod.yaml rename to content/en/examples/pods/pod-nginx.yaml diff --git a/content/en/docs/concepts/configuration/pod-with-node-affinity.yaml b/content/en/examples/pods/pod-with-node-affinity.yaml similarity index 100% rename from content/en/docs/concepts/configuration/pod-with-node-affinity.yaml rename to content/en/examples/pods/pod-with-node-affinity.yaml diff --git a/content/en/docs/concepts/configuration/pod-with-pod-affinity.yaml b/content/en/examples/pods/pod-with-pod-affinity.yaml similarity index 100% rename from content/en/docs/concepts/configuration/pod-with-pod-affinity.yaml rename to content/en/examples/pods/pod-with-pod-affinity.yaml diff --git a/content/en/docs/concepts/policy/example-psp.yaml b/content/en/examples/policy/example-psp.yaml similarity index 100% rename from content/en/docs/concepts/policy/example-psp.yaml rename to content/en/examples/policy/example-psp.yaml diff --git a/content/en/docs/concepts/policy/privileged-psp.yaml b/content/en/examples/policy/privileged-psp.yaml similarity index 100% rename from content/en/docs/concepts/policy/privileged-psp.yaml rename to content/en/examples/policy/privileged-psp.yaml diff --git a/content/en/docs/concepts/policy/restricted-psp.yaml b/content/en/examples/policy/restricted-psp.yaml similarity index 100% rename from content/en/docs/concepts/policy/restricted-psp.yaml rename to content/en/examples/policy/restricted-psp.yaml diff --git a/test/examples_test.go b/test/examples_test.go index 93ddcd8794..028222f681 100644 --- a/test/examples_test.go +++ b/test/examples_test.go @@ -306,12 +306,6 @@ func TestExampleObjectSchemas(t *testing.T) { "nginx-deployment": {&extensions.Deployment{}}, "nginx-svc": {&api.Service{}}, }, - "docs/concepts/configuration": { - "commands": {&api.Pod{}}, - "pod": {&api.Pod{}}, - "pod-with-node-affinity": {&api.Pod{}}, - "pod-with-pod-affinity": {&api.Pod{}}, - }, "docs/concepts/overview/working-with-objects": { "nginx-deployment": {&extensions.Deployment{}}, }, @@ -400,7 +394,6 @@ func TestExampleObjectSchemas(t *testing.T) { "memory-request-limit-3": {&api.Pod{}}, "oir-pod": {&api.Pod{}}, "oir-pod-2": {&api.Pod{}}, - "pod": {&api.Pod{}}, "pod-redis": {&api.Pod{}}, "private-reg-pod": {&api.Pod{}}, "projected-volume": {&api.Pod{}}, @@ -486,6 +479,26 @@ func TestExampleObjectSchemas(t *testing.T) { "examples/application/zookeeper": { "zookeeper": {&api.Service{}, &api.Service{}, &policy.PodDisruptionBudget{}, &apps.StatefulSet{}}, }, + "examples/controllers": { + "daemonset": {&extensions.DaemonSet{}}, + "frontend": {&extensions.ReplicaSet{}}, + "hpa-rs": {&autoscaling.HorizontalPodAutoscaler{}}, + "job": {&batch.Job{}}, + "replicaset": {&extensions.ReplicaSet{}}, + "replication": {&api.ReplicationController{}}, + "nginx-deployment": {&extensions.Deployment{}}, + }, + "examples/pods": { + "commands": {&api.Pod{}}, + "pod-nginx": {&api.Pod{}}, + "pod-with-node-affinity": {&api.Pod{}}, + "pod-with-pod-affinity": {&api.Pod{}}, + }, + "examples/policy": { + "privileged-psp": {&policy.PodSecurityPolicy{}}, + "restricted-psp": {&policy.PodSecurityPolicy{}}, + "example-psp": {&policy.PodSecurityPolicy{}}, + }, "docs/tasks/run-application": { "deployment-patch-demo": {&extensions.Deployment{}}, "hpa-php-apache": {&autoscaling.HorizontalPodAutoscaler{}}, From f00ec1b04476a7ba7184224684ccabd493f99e0a Mon Sep 17 00:00:00 2001 From: Qiming Date: Tue, 3 Jul 2018 08:36:19 +0800 Subject: [PATCH 084/102] Fix links to relocated kubelet TLS bootstrapping topic (#9332) Fixes: #9330 --- .../docs/concepts/architecture/master-node-communication.md | 4 ++-- .../cluster-administration-overview.md | 2 +- content/en/docs/reference/access-authn-authz/rbac.md | 3 ++- .../reference/setup-tools/kubeadm/implementation-details.md | 5 +++-- .../en/docs/reference/setup-tools/kubeadm/kubeadm-init.md | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/content/en/docs/concepts/architecture/master-node-communication.md b/content/en/docs/concepts/architecture/master-node-communication.md index 4f73d41287..cdec599b1f 100644 --- a/content/en/docs/concepts/architecture/master-node-communication.md +++ b/content/en/docs/concepts/architecture/master-node-communication.md @@ -38,8 +38,8 @@ Nodes should be provisioned with the public root certificate for the cluster such that they can connect securely to the apiserver along with valid client credentials. For example, on a default GCE deployment, the client credentials provided to the kubelet are in the form of a client certificate. See -[kubelet TLS bootstrapping](/docs/admin/kubelet-tls-bootstrapping/) for -automated provisioning of kubelet client certificates. +[kubelet TLS bootstrapping](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/) +for automated provisioning of kubelet client certificates. Pods that wish to connect to the apiserver can do so securely by leveraging a service account so that Kubernetes will automatically inject the public root diff --git a/content/en/docs/concepts/cluster-administration/cluster-administration-overview.md b/content/en/docs/concepts/cluster-administration/cluster-administration-overview.md index 5c83f861da..348caf2a7f 100644 --- a/content/en/docs/concepts/cluster-administration/cluster-administration-overview.md +++ b/content/en/docs/concepts/cluster-administration/cluster-administration-overview.md @@ -62,7 +62,7 @@ If you are using a guide involving Salt, see [Configuring Kubernetes with Salt]( ### Securing the kubelet * [Master-Node communication](/docs/concepts/architecture/master-node-communication/) - * [TLS bootstrapping](/docs/admin/kubelet-tls-bootstrapping/) + * [TLS bootstrapping](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/) * [Kubelet authentication/authorization](/docs/admin/kubelet-authentication-authorization/) ## Optional Cluster Services diff --git a/content/en/docs/reference/access-authn-authz/rbac.md b/content/en/docs/reference/access-authn-authz/rbac.md index 0da410aeb5..70f8a77506 100644 --- a/content/en/docs/reference/access-authn-authz/rbac.md +++ b/content/en/docs/reference/access-authn-authz/rbac.md @@ -607,7 +607,8 @@ This is commonly used by add-on API servers for unified authentication and autho system:node-bootstrapper None -Allows access to the resources required to perform Kubelet TLS bootstrapping. +Allows access to the resources required to perform +Kubelet TLS bootstrapping. system:node-problem-detector diff --git a/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md b/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md index 9059248ce0..35de6b056b 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md +++ b/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md @@ -234,7 +234,8 @@ The static Pod manifest for the API server is affected by following parameters p Other API server flags that are set unconditionally are: - `--insecure-port=0` to avoid insecure connections to the api server - - `--enable-bootstrap-token-auth=true` to enable the `BootstrapTokenAuthenticator` authentication module. see [TLS Bootstrapping](/docs/admin/kubelet-tls-bootstrapping.md) for more details + - `--enable-bootstrap-token-auth=true` to enable the `BootstrapTokenAuthenticator` authentication module. + See [TLS Bootstrapping](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/) for more details - `--allow-privileged` to `true` (required e.g. by kube proxy) - `--requestheader-client-ca-file` to `front-proxy-ca.crt` - `--enable-admission-plugins` to: @@ -282,7 +283,7 @@ The static Pod manifest for the API server is affected by following parameters p Other flags that are set unconditionally are: - `--controllers` enabling all the default controllers plus `BootstrapSigner` and `TokenCleaner` controllers for TLS bootstrap. - see [TLS Bootstrapping](/docs/admin/kubelet-tls-bootstrapping.md) for more details + See [TLS Bootstrapping](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/) for more details - `--use-service-account-credentials` to `true` - Flags for using certificates generated in previous steps: - `--root-ca-file` to `ca.crt` diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md index c7ba6f2c67..0bfef92408 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md @@ -68,7 +68,7 @@ following steps: 1. Makes all the necessary configurations for allowing node joining with the [Bootstrap Tokens](/docs/admin/bootstrap-tokens/) and - [TLS Bootstrap](/docs/admin/kubelet-tls-bootstrapping/) + [TLS Bootstrap](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/) mechanism: - Write a ConfigMap for making available all the information required From af6cdabe9b68c311288939fa3fa245d72d6772f4 Mon Sep 17 00:00:00 2001 From: makocchi Date: Tue, 3 Jul 2018 09:53:19 +0900 Subject: [PATCH 085/102] use official homebrew package name (#9255) --- content/en/docs/tasks/tools/install-kubectl.md | 2 +- content/en/docs/tutorials/hello-minikube.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/content/en/docs/tasks/tools/install-kubectl.md b/content/en/docs/tasks/tools/install-kubectl.md index 73a2de1d11..d95dc654d1 100644 --- a/content/en/docs/tasks/tools/install-kubectl.md +++ b/content/en/docs/tasks/tools/install-kubectl.md @@ -61,7 +61,7 @@ kubectl is available as a [snap](https://snapcraft.io/) application. 1. If you are on macOS and using [Homebrew](https://brew.sh/) package manager, you can install with: - brew install kubectl + brew install kubernetes-cli 2. Run `kubectl version` to verify that the version you've installed is sufficiently up-to-date. diff --git a/content/en/docs/tutorials/hello-minikube.md b/content/en/docs/tutorials/hello-minikube.md index 8284081f48..edd5c9a31d 100644 --- a/content/en/docs/tutorials/hello-minikube.md +++ b/content/en/docs/tutorials/hello-minikube.md @@ -82,7 +82,7 @@ Use Homebrew to download the `kubectl` command-line tool, which you can use to interact with Kubernetes clusters: ```shell -brew install kubectl +brew install kubernetes-cli ``` Determine whether you can access sites like [https://cloud.google.com/container-registry/](https://cloud.google.com/container-registry/) directly without a proxy, by opening a new terminal and using @@ -183,8 +183,10 @@ sure you are using the Minikube Docker daemon: eval $(minikube docker-env) ``` +{{< note >}} **Note:** Later, when you no longer wish to use the Minikube host, you can undo this change by running `eval $(minikube docker-env -u)`. +{{< /note >}} Build your Docker image, using the Minikube Docker daemon (mind the trailing dot): From f53bc94d8512df57bd8d91de2705b70214305773 Mon Sep 17 00:00:00 2001 From: Misty Linville Date: Mon, 2 Jul 2018 17:56:18 -0700 Subject: [PATCH 086/102] Fix CSS for edit buttons and page history (#9360) --- static/css/styles.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/static/css/styles.css b/static/css/styles.css index 20eee2b950..93cb323487 100644 --- a/static/css/styles.css +++ b/static/css/styles.css @@ -856,6 +856,13 @@ html.search #docsContent h1 { margin-bottom: 0; border-bottom: 0; padding-bottom #docs .flyout-button { display: none; } #docs .logo { position: relative; float: left; display: block; width: 180px; height: 88px; top: 0; left: 0; transform: none; background-image: url(../images/nav_logo.svg); } #docs.flip-nav .logo, #docs.open-nav .logo { background-image: url(../images/nav_logo2.svg); } + div#pre-footer { + background-color: #fff; + text-align: center; + } + div#pre-footer .issue-button-container { + padding-bottom: 10px; + } div#pre-footer div#lastedit.lastedit { padding: 0 0 10px 20px; color: #bbb; From 2fbc23f9c263ab35a787e333bfe9420433bdf234 Mon Sep 17 00:00:00 2001 From: blaedj Date: Mon, 2 Jul 2018 18:01:19 -0700 Subject: [PATCH 087/102] Document name restrictions for multi-port services (#9282) * Document name restrictions for multi-port services Add note in documentation about port name restrictions. * fix whitespace undo unrelated whitespace deletion --- content/en/docs/concepts/services-networking/service.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/en/docs/concepts/services-networking/service.md b/content/en/docs/concepts/services-networking/service.md index c5773a12af..dfaa1a0a68 100644 --- a/content/en/docs/concepts/services-networking/service.md +++ b/content/en/docs/concepts/services-networking/service.md @@ -267,6 +267,8 @@ spec: targetPort: 9377 ``` +Note that the port names must only contain lowercase alphanumeric characters and `-`, and must begin & end with an alphanumeric character. `123-abc` and `web` are valid, but `123_abc` and `-web` are not valid names. + ## Choosing your own IP address You can specify your own cluster IP address as part of a `Service` creation From 168998f4d3ca5aa00723e941ff218e0297538193 Mon Sep 17 00:00:00 2001 From: max8899 Date: Tue, 3 Jul 2018 16:17:20 +0800 Subject: [PATCH 088/102] fix broken link (#9365) fix the bad link for cluster-large has moved to setup folder --- content/en/docs/concepts/cluster-administration/federation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/concepts/cluster-administration/federation.md b/content/en/docs/concepts/cluster-administration/federation.md index 78f9253b92..9bc1680436 100644 --- a/content/en/docs/concepts/cluster-administration/federation.md +++ b/content/en/docs/concepts/cluster-administration/federation.md @@ -168,7 +168,7 @@ users in the event of a cluster failure), then you need to have `R * (U + 1)` cl Finally, if any of your clusters would need more than the maximum recommended number of nodes for a Kubernetes cluster, then you may need even more clusters. Kubernetes v1.3 supports clusters up to 1000 nodes in size. Kubernetes v1.8 supports -clusters up to 5000 nodes. See [Building Large Clusters](/docs/admin/cluster-large/) for more guidance. +clusters up to 5000 nodes. See [Building Large Clusters](/docs/setup/cluster-large/) for more guidance. {{% /capture %}} From ea94cedbda79a23d8b73f620ea5167d235b6c1c8 Mon Sep 17 00:00:00 2001 From: jay vyas Date: Tue, 3 Jul 2018 08:40:21 -0400 Subject: [PATCH 089/102] Update resource-usage-monitoring.md (#9370) --- .../debug-application-cluster/resource-usage-monitoring.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md index 34a611e125..5d99079d9b 100644 --- a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md +++ b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md @@ -67,7 +67,7 @@ Monitoring are two of the most popular. ### Prometheus -[Prometheus](https://prometheus.io) natively monitors Prometheus. +[Prometheus](https://prometheus.io) can natively monitor kubernetes, nodes, and prometheus itself. The [Prometheus Operator](https://coreos.com/operators/prometheus/docs/latest/) simplifies Prometheus setup on Kubernetes, and allows you to serve the custom metrics API using the From e342dd50bf9c0cba1c9aa7c003728ec66cd0cefa Mon Sep 17 00:00:00 2001 From: Jim Angel Date: Tue, 3 Jul 2018 08:29:20 -0500 Subject: [PATCH 090/102] fixing api ref docs for prev versions (#9343) --- content/en/docs/reference/_index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/en/docs/reference/_index.md b/content/en/docs/reference/_index.md index ece07eb16e..c8df4c82f4 100644 --- a/content/en/docs/reference/_index.md +++ b/content/en/docs/reference/_index.md @@ -12,10 +12,10 @@ weight: 70 * [Kubernetes API Overview](/docs/reference/using-api/api-overview/) - Overview of the API for Kubernetes. * Kubernetes API Versions * [1.11](/docs/reference/generated/kubernetes-api/v1.11/) - * [1.10](https://v1-10.docs.kubernetes.io/docs/reference/) - * [1.9](https://v1-9.docs.kubernetes.io/docs/reference/) - * [1.8](https://v1-8.docs.kubernetes.io/docs/reference/) - * [1.7](https://v1-7.docs.kubernetes.io/docs/reference/) + * [1.10](https://v1-10.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/) + * [1.9](https://v1-9.docs.kubernetes.io/docs/api-reference/v1.9/) + * [1.8](https://v1-8.docs.kubernetes.io/docs/api-reference/v1.8/) + * [1.7](https://v1-7.docs.kubernetes.io/docs/api-reference/v1.7/) ## API Client Libraries From 429d01e95b45e67aba70bf8bee0dd88ee27e5f0f Mon Sep 17 00:00:00 2001 From: Chuck Ha Date: Tue, 3 Jul 2018 10:37:21 -0400 Subject: [PATCH 091/102] Updates HA etcd with kubeadm (#9227) Adds a missing instruction on how to configure the kubelet. Reported in slack in the #kubeadm channel. Fixes #9222 Signed-off-by: Chuck Ha --- .../setup-ha-etcd-with-kubeadm.md | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md b/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md index 2648dab3a9..2183108df5 100644 --- a/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md +++ b/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md @@ -22,9 +22,10 @@ when using kubeadm to set up a kubernetes cluster. document assumes these default ports. However, they are configurable through the kubeadm config file. * Each host must [have docker, kubelet, and kubeadm installed][toolbox]. -* Some infrastructure to copy files between hosts (e.g., ssh). +* Some infrastructure to copy files between hosts. For example `ssh` and `scp` + can satisfy this requirement. -[toolbox]: /docs/setup/independent/install-kubeadm/ +[toolbox]: /docs/tasks/tools/install-kubeadm/ {{% /capture %}} @@ -33,9 +34,32 @@ when using kubeadm to set up a kubernetes cluster. ## Setting up the cluster The general approach is to generate all certs on one node and only distribute -the *necessary* files to the other nodes. Note that kubeadm contains all the -necessary crytographic machinery to generate the certificates described below; -no other cryptographic tooling is required for this example. +the *necessary* files to the other nodes. + +{{< note >}} +**Note:** kubeadm contains all the necessary crytographic machinery to generate +the certificates described below; no other cryptographic tooling is required for +this example. +{{< /note >}} + + +1. Configure the kubelet to be a service manager for etcd. + + Running etcd is simpler than running kubernetes so you must override the + kubeadm-provided kubelet unit file by creating a new one with a higher + precedence. + + ```sh + cat << EOF > /etc/systemd/system/kubelet.service.d/20-etcd-service-manager.conf + [Service] + ExecStart= + ExecStart=/usr/bin/kubelet --pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true + Restart=always + EOF + + systemctl daemon-reload + systemctl restart kubelet + ``` 1. Create configuration files for kubeadm. From 81bc804e9a36d9e47a78720ade28b1abc999f8f1 Mon Sep 17 00:00:00 2001 From: Kyle Larose Date: Tue, 3 Jul 2018 14:49:20 -0400 Subject: [PATCH 092/102] Update link to the NetworkPlugin interface (#9298) * Update link to the NetworkPlugin interface Link was broken during some refactoring (commit 42398825ed7fac58fc6c4027c8be730398b6d2be). Change the link to reflect the new location. This fixes Issue #9297 * Remove extra line Somehow the fixed link was pasted at the end of the modified paragraph. Remove it. * Add back linebreak I'll get this right... I swear. --- .../extend-kubernetes/compute-storage-net/network-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md b/content/en/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md index 930beea4bc..422a51b6ad 100644 --- a/content/en/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md +++ b/content/en/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md @@ -33,7 +33,7 @@ The kubelet has a single default network plugin, and a default network common to ## Network Plugin Requirements -Besides providing the [`NetworkPlugin` interface](https://github.com/kubernetes/kubernetes/tree/{{< param "fullversion" >}}/pkg/kubelet/network/plugins.go) to configure and clean up pod networking, the plugin may also need specific support for kube-proxy. The iptables proxy obviously depends on iptables, and the plugin may need to ensure that container traffic is made available to iptables. For example, if the plugin connects containers to a Linux bridge, the plugin must set the `net/bridge/bridge-nf-call-iptables` sysctl to `1` to ensure that the iptables proxy functions correctly. If the plugin does not use a Linux bridge (but instead something like Open vSwitch or some other mechanism) it should ensure container traffic is appropriately routed for the proxy. +Besides providing the [`NetworkPlugin` interface](https://github.com/kubernetes/kubernetes/tree/{{< param "fullversion" >}}/pkg/kubelet/dockershim/network/plugins.go) to configure and clean up pod networking, the plugin may also need specific support for kube-proxy. The iptables proxy obviously depends on iptables, and the plugin may need to ensure that container traffic is made available to iptables. For example, if the plugin connects containers to a Linux bridge, the plugin must set the `net/bridge/bridge-nf-call-iptables` sysctl to `1` to ensure that the iptables proxy functions correctly. If the plugin does not use a Linux bridge (but instead something like Open vSwitch or some other mechanism) it should ensure container traffic is appropriately routed for the proxy. By default if no kubelet network plugin is specified, the `noop` plugin is used, which sets `net/bridge/bridge-nf-call-iptables=1` to ensure simple configurations (like Docker with a bridge) work correctly with the iptables proxy. From 1228689b1d9cdeed5ebf653ff1187c17ac819475 Mon Sep 17 00:00:00 2001 From: Qiming Date: Wed, 4 Jul 2018 02:50:19 +0800 Subject: [PATCH 093/102] Consolidate YAML files [part-9] (#9361) This PR relocates the YAML files referenced by the data injection topic. --- .../inject-data-application/commands.yaml | 13 ----- .../define-command-argument-container.md | 5 +- .../define-environment-variable-container.md | 4 +- .../distribute-credentials-secure.md | 28 ++++++----- ...nward-api-volume-expose-pod-information.md | 8 ++-- ...ronment-variable-expose-pod-information.md | 11 ++--- .../inject-data-application/podpreset.md | 38 +++++++-------- .../podpreset/allow-db-merged.yaml} | 0 .../podpreset/allow-db.yaml} | 0 .../podpreset/configmap.yaml} | 0 .../podpreset/conflict-pod.yaml} | 0 .../podpreset/conflict-preset.yaml} | 0 .../podpreset/merged.yaml} | 0 .../podpreset/multi-merged.yaml} | 0 .../podpreset/pod.yaml} | 0 .../podpreset/preset.yaml} | 0 .../podpreset/proxy.yaml} | 0 .../podpreset/replicaset-merged.yaml} | 0 .../podpreset/replicaset.yaml} | 0 .../pods/inject}/dapi-envars-container.yaml | 0 .../pods/inject}/dapi-envars-pod.yaml | 0 .../pods/inject}/dapi-volume-resources.yaml | 0 .../pods/inject}/dapi-volume.yaml | 0 .../pods/inject}/envars.yaml | 0 .../pods/inject}/secret-envars-pod.yaml | 0 .../pods/inject}/secret-pod.yaml | 0 .../pods/inject}/secret.yaml | 0 test/examples_test.go | 48 +++++++++---------- 28 files changed, 71 insertions(+), 84 deletions(-) delete mode 100644 content/en/docs/tasks/inject-data-application/commands.yaml rename content/en/{docs/tasks/inject-data-application/podpreset-allow-db-merged.yaml => examples/podpreset/allow-db-merged.yaml} (100%) rename content/en/{docs/tasks/inject-data-application/podpreset-allow-db.yaml => examples/podpreset/allow-db.yaml} (100%) rename content/en/{docs/tasks/inject-data-application/podpreset-configmap.yaml => examples/podpreset/configmap.yaml} (100%) rename content/en/{docs/tasks/inject-data-application/podpreset-conflict-pod.yaml => examples/podpreset/conflict-pod.yaml} (100%) rename content/en/{docs/tasks/inject-data-application/podpreset-conflict-preset.yaml => examples/podpreset/conflict-preset.yaml} (100%) rename content/en/{docs/tasks/inject-data-application/podpreset-merged.yaml => examples/podpreset/merged.yaml} (100%) rename content/en/{docs/tasks/inject-data-application/podpreset-multi-merged.yaml => examples/podpreset/multi-merged.yaml} (100%) rename content/en/{docs/tasks/inject-data-application/podpreset-pod.yaml => examples/podpreset/pod.yaml} (100%) rename content/en/{docs/tasks/inject-data-application/podpreset-preset.yaml => examples/podpreset/preset.yaml} (100%) rename content/en/{docs/tasks/inject-data-application/podpreset-proxy.yaml => examples/podpreset/proxy.yaml} (100%) rename content/en/{docs/tasks/inject-data-application/podpreset-replicaset-merged.yaml => examples/podpreset/replicaset-merged.yaml} (100%) rename content/en/{docs/tasks/inject-data-application/podpreset-replicaset.yaml => examples/podpreset/replicaset.yaml} (100%) rename content/en/{docs/tasks/inject-data-application => examples/pods/inject}/dapi-envars-container.yaml (100%) rename content/en/{docs/tasks/inject-data-application => examples/pods/inject}/dapi-envars-pod.yaml (100%) rename content/en/{docs/tasks/inject-data-application => examples/pods/inject}/dapi-volume-resources.yaml (100%) rename content/en/{docs/tasks/inject-data-application => examples/pods/inject}/dapi-volume.yaml (100%) rename content/en/{docs/tasks/inject-data-application => examples/pods/inject}/envars.yaml (100%) rename content/en/{docs/tasks/inject-data-application => examples/pods/inject}/secret-envars-pod.yaml (100%) rename content/en/{docs/tasks/inject-data-application => examples/pods/inject}/secret-pod.yaml (100%) rename content/en/{docs/tasks/inject-data-application => examples/pods/inject}/secret.yaml (100%) diff --git a/content/en/docs/tasks/inject-data-application/commands.yaml b/content/en/docs/tasks/inject-data-application/commands.yaml deleted file mode 100644 index 2327d25827..0000000000 --- a/content/en/docs/tasks/inject-data-application/commands.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: command-demo - labels: - purpose: demonstrate-command -spec: - containers: - - name: command-demo-container - image: debian - command: ["printenv"] - args: ["HOSTNAME", "KUBERNETES_PORT"] - restartPolicy: OnFailure diff --git a/content/en/docs/tasks/inject-data-application/define-command-argument-container.md b/content/en/docs/tasks/inject-data-application/define-command-argument-container.md index df2ca34a9c..a1e0a0bae6 100644 --- a/content/en/docs/tasks/inject-data-application/define-command-argument-container.md +++ b/content/en/docs/tasks/inject-data-application/define-command-argument-container.md @@ -37,11 +37,11 @@ with your new arguments. In this exercise, you create a Pod that runs one container. The configuration file for the Pod defines a command and two arguments: -{{< code file="commands.yaml" >}} +{{< codenew file="pods/commands.yaml" >}} 1. Create a Pod based on the YAML configuration file: - kubectl create -f https://k8s.io/docs/tasks/inject-data-application/commands.yaml + kubectl create -f https://k8s.io/examples/pods/commands.yaml 1. List the running Pods: @@ -140,4 +140,3 @@ Here are some examples: {{% /capture %}} - diff --git a/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md b/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md index 7b7820ecca..8d3e3bdab5 100644 --- a/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md +++ b/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md @@ -32,11 +32,11 @@ file for the Pod defines an environment variable with name `DEMO_GREETING` and value `"Hello from the environment"`. Here is the configuration file for the Pod: -{{< code file="envars.yaml" >}} +{{< codenew file="pods/inject/envars.yaml" >}} 1. Create a Pod based on the YAML configuration file: - kubectl create -f https://k8s.io/docs/tasks/inject-data-application/envars.yaml + kubectl create -f https://k8s.io/examples/pods/inject/envars.yaml 1. List the running Pods: diff --git a/content/en/docs/tasks/inject-data-application/distribute-credentials-secure.md b/content/en/docs/tasks/inject-data-application/distribute-credentials-secure.md index 09c2fcc338..58380b735d 100644 --- a/content/en/docs/tasks/inject-data-application/distribute-credentials-secure.md +++ b/content/en/docs/tasks/inject-data-application/distribute-credentials-secure.md @@ -35,18 +35,12 @@ and the base-64 representation of your password is `Mzk1MjgkdmRnN0pi`. Here is a configuration file you can use to create a Secret that holds your username and password: -{{< code file="secret.yaml" >}} +{{< codenew file="pods/inject/secret.yaml" >}} 1. Create the Secret - kubectl create -f https://k8s.io/docs/tasks/inject-data-application/secret.yaml + kubectl create -f https://k8s.io/examples/pods/inject/secret.yaml - {{< note >}} - **Note:** If you want to skip the Base64 encoding step, you can create a Secret - by using the `kubectl create secret` command: - {{< /note >}} - - kubectl create secret generic test-secret --from-literal=username='my-app' --from-literal=password='39528$vdg7Jb' 1. View information about the Secret: @@ -76,15 +70,25 @@ username and password: password: 13 bytes username: 7 bytes + +{{< note >}} +**Note:** If you want to skip the Base64 encoding step, you can create a Secret +by using the `kubectl create secret` command: +{{< /note >}} + +```shell +kubectl create secret generic test-secret --from-literal=username='my-app' --from-literal=password='39528$vdg7Jb' +``` + ## Create a Pod that has access to the secret data through a Volume Here is a configuration file you can use to create a Pod: -{{< code file="secret-pod.yaml" >}} +{{< codenew file="pods/inject/secret-pod.yaml" >}} 1. Create the Pod: - kubectl create -f https://k8s.io/docs/tasks/inject-data-application/secret-pod.yaml + kubectl create -f https://k8s.io/examples/pods/inject/secret-pod.yaml 1. Verify that your Pod is running: @@ -127,11 +131,11 @@ is exposed: Here is a configuration file you can use to create a Pod: -{{< code file="secret-envars-pod.yaml" >}} +{{< codenew file="pods/inject/secret-envars-pod.yaml" >}} 1. Create the Pod: - kubectl create -f https://k8s.io/docs/tasks/inject-data-application/secret-envars-pod.yaml + kubectl create -f https://k8s.io/examples/pods/inject/secret-envars-pod.yaml 1. Verify that your Pod is running: diff --git a/content/en/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md b/content/en/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md index b992717704..07c882500e 100644 --- a/content/en/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md +++ b/content/en/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md @@ -36,7 +36,7 @@ Together, these two ways of exposing Pod and Container fields are called the In this exercise, you create a Pod that has one Container. Here is the configuration file for the Pod: -{{< code file="dapi-volume.yaml" >}} +{{< codenew file="pods/inject/dapi-volume.yaml" >}} In the configuration file, you can see that the Pod has a `downwardAPI` Volume, and the Container mounts the Volume at `/etc/podinfo`. @@ -56,7 +56,7 @@ fields of the Container in the Pod. Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/inject-data-application/dapi-volume.yaml +kubectl create -f https://k8s.io/examples/pods/inject/dapi-volume.yaml ``` Verify that Container in the Pod is running: @@ -156,7 +156,7 @@ The preceding exercise, you stored Pod fields in a DownwardAPIVolumeFile. In this next exercise, you store Container fields. Here is the configuration file for a Pod that has one Container: -{{< code file="dapi-volume-resources.yaml" >}} +{{< codenew file="pods/inject/dapi-volume-resources.yaml" >}} In the configuration file, you can see that the Pod has a `downwardAPI` Volume, and the Container mounts the Volume at `/etc/podinfo`. @@ -171,7 +171,7 @@ should be stored in a file named `cpu_limit`. Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/inject-data-application/dapi-volume-resources.yaml +kubectl create -f https://k8s.io/examples/pods/inject/dapi-volume-resources.yaml ``` Get a shell into the Container that is running in your Pod: diff --git a/content/en/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md b/content/en/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md index ee4a959949..cb82dd3758 100644 --- a/content/en/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md +++ b/content/en/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md @@ -38,7 +38,7 @@ Together, these two ways of exposing Pod and Container fields are called the In this exercise, you create a Pod that has one Container. Here is the configuration file for the Pod: -{{< code file="dapi-envars-pod.yaml" >}} +{{< codenew file="pods/inject/dapi-envars-pod.yaml" >}} In the configuration file, you can see five environment variables. The `env` field is an array of @@ -55,7 +55,7 @@ Container in the Pod. Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/inject-data-application/dapi-envars-pod.yaml +kubectl create -f https://k8s.io/examples/pods/inject/dapi-envars-pod.yaml ``` Verify that the Container in the Pod is running: @@ -117,7 +117,7 @@ variables. In this next exercise, you use Container fields as the values for environment variables. Here is the configuration file for a Pod that has one container: -{{< code file="dapi-envars-container.yaml" >}} +{{< codenew file="pods/inject/dapi-envars-container.yaml" >}} In the configuration file, you can see four environment variables. The `env` field is an array of @@ -130,7 +130,7 @@ from Container fields. Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/inject-data-application/dapi-envars-container.yaml +kubectl create -f https://k8s.io/examples/pods/inject/dapi-envars-container.yaml ``` Verify that the Container in the Pod is running: @@ -168,6 +168,3 @@ The output shows the values of selected environment variables: {{% /capture %}} - - - diff --git a/content/en/docs/tasks/inject-data-application/podpreset.md b/content/en/docs/tasks/inject-data-application/podpreset.md index 6bb469295a..d64512751b 100644 --- a/content/en/docs/tasks/inject-data-application/podpreset.md +++ b/content/en/docs/tasks/inject-data-application/podpreset.md @@ -34,12 +34,12 @@ Get an overview of PodPresets at This is a simple example to show how a Pod spec is modified by the Pod Preset. -{{< code file="podpreset-preset.yaml" >}} +{{< codenew file="podpreset/preset.yaml" >}} Create the PodPreset: ```shell -kubectl create -f https://k8s.io/docs/tasks/inject-data-application/podpreset-preset.yaml +kubectl create -f https://k8s.io/examples/podpreset/preset.yaml ``` Examine the created PodPreset: @@ -52,12 +52,12 @@ allow-database 1m The new PodPreset will act upon any pod that has label `role: frontend`. -{{< code file="podpreset-pod.yaml" >}} +{{< codenew file="podpreset/pod.yaml" >}} Create a pod: ```shell -$ kubectl create -f https://k8s.io/docs/tasks/inject-data-application/podpreset-pod.yaml +$ kubectl create -f https://k8s.io/examples/podpreset/pod.yaml ``` List the running Pods: @@ -70,7 +70,7 @@ website 1/1 Running 0 4m **Pod spec after admission controller:** -{{< code file="podpreset-merged.yaml" >}} +{{< codenew file="podpreset/merged.yaml" >}} To see above output, run the following command: @@ -85,19 +85,19 @@ that defines a `ConfigMap` for Environment Variables. **User submitted pod spec:** -{{< code file="podpreset-pod.yaml" >}} +{{< codenew file="podpreset/pod.yaml" >}} **User submitted `ConfigMap`:** -{{< code file="podpreset-configmap.yaml" >}} +{{< codenew file="podpreset/configmap.yaml" >}} **Example Pod Preset:** -{{< code file="podpreset-allow-db.yaml" >}} +{{< codenew file="podpreset/allow-db.yaml" >}} **Pod spec after admission controller:** -{{< code file="podpreset-allow-db-merged.yaml" >}} +{{< codenew file="podpreset/allow-db-merged.yaml" >}} ### ReplicaSet with Pod Spec Example @@ -106,18 +106,18 @@ Preset. **User submitted ReplicaSet:** -{{< code file="podpreset-replicaset.yaml" >}} +{{< codenew file="podpreset/replicaset.yaml" >}} **Example Pod Preset:** -{{< code file="podpreset-preset.yaml" >}} +{{< codenew file="podpreset/preset.yaml" >}} **Pod spec after admission controller:** Note that the ReplicaSet spec was not changed, users have to check individual pods to validate that the PodPreset has been applied. -{{< code file="podpreset-replicaset-merged.yaml" >}} +{{< codenew file="podpreset/replicaset-merged.yaml" >}} ### Multiple PodPreset Example @@ -126,19 +126,19 @@ Injection Policies. **User submitted pod spec:** -{{< code file="podpreset-pod.yaml" >}} +{{< codenew file="podpreset/pod.yaml" >}} **Example Pod Preset:** -{{< code file="podpreset-preset.yaml" >}} +{{< codenew file="podpreset/preset.yaml" >}} **Another Pod Preset:** -{{< code file="podpreset-proxy.yaml" >}} +{{< codenew file="podpreset/proxy.yaml" >}} **Pod spec after admission controller:** -{{< code file="podpreset-multi-merged.yaml" >}} +{{< codenew file="podpreset/multi-merged.yaml" >}} ### Conflict Example @@ -147,15 +147,15 @@ when there is a conflict. **User submitted pod spec:** -{{< code file="podpreset-conflict-pod.yaml" >}} +{{< codenew file="podpreset/conflict-pod.yaml" >}} **Example Pod Preset:** -{{< code file="podpreset-conflict-preset.yaml" >}} +{{< codenew file="podpreset/conflict-preset.yaml" >}} **Pod spec after admission controller will not change because of the conflict:** -{{< code file="podpreset-conflict-pod.yaml" >}} +{{< codenew file="podpreset/conflict-pod.yaml" >}} **If we run `kubectl describe...` we can see the event:** diff --git a/content/en/docs/tasks/inject-data-application/podpreset-allow-db-merged.yaml b/content/en/examples/podpreset/allow-db-merged.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-allow-db-merged.yaml rename to content/en/examples/podpreset/allow-db-merged.yaml diff --git a/content/en/docs/tasks/inject-data-application/podpreset-allow-db.yaml b/content/en/examples/podpreset/allow-db.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-allow-db.yaml rename to content/en/examples/podpreset/allow-db.yaml diff --git a/content/en/docs/tasks/inject-data-application/podpreset-configmap.yaml b/content/en/examples/podpreset/configmap.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-configmap.yaml rename to content/en/examples/podpreset/configmap.yaml diff --git a/content/en/docs/tasks/inject-data-application/podpreset-conflict-pod.yaml b/content/en/examples/podpreset/conflict-pod.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-conflict-pod.yaml rename to content/en/examples/podpreset/conflict-pod.yaml diff --git a/content/en/docs/tasks/inject-data-application/podpreset-conflict-preset.yaml b/content/en/examples/podpreset/conflict-preset.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-conflict-preset.yaml rename to content/en/examples/podpreset/conflict-preset.yaml diff --git a/content/en/docs/tasks/inject-data-application/podpreset-merged.yaml b/content/en/examples/podpreset/merged.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-merged.yaml rename to content/en/examples/podpreset/merged.yaml diff --git a/content/en/docs/tasks/inject-data-application/podpreset-multi-merged.yaml b/content/en/examples/podpreset/multi-merged.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-multi-merged.yaml rename to content/en/examples/podpreset/multi-merged.yaml diff --git a/content/en/docs/tasks/inject-data-application/podpreset-pod.yaml b/content/en/examples/podpreset/pod.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-pod.yaml rename to content/en/examples/podpreset/pod.yaml diff --git a/content/en/docs/tasks/inject-data-application/podpreset-preset.yaml b/content/en/examples/podpreset/preset.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-preset.yaml rename to content/en/examples/podpreset/preset.yaml diff --git a/content/en/docs/tasks/inject-data-application/podpreset-proxy.yaml b/content/en/examples/podpreset/proxy.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-proxy.yaml rename to content/en/examples/podpreset/proxy.yaml diff --git a/content/en/docs/tasks/inject-data-application/podpreset-replicaset-merged.yaml b/content/en/examples/podpreset/replicaset-merged.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-replicaset-merged.yaml rename to content/en/examples/podpreset/replicaset-merged.yaml diff --git a/content/en/docs/tasks/inject-data-application/podpreset-replicaset.yaml b/content/en/examples/podpreset/replicaset.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/podpreset-replicaset.yaml rename to content/en/examples/podpreset/replicaset.yaml diff --git a/content/en/docs/tasks/inject-data-application/dapi-envars-container.yaml b/content/en/examples/pods/inject/dapi-envars-container.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/dapi-envars-container.yaml rename to content/en/examples/pods/inject/dapi-envars-container.yaml diff --git a/content/en/docs/tasks/inject-data-application/dapi-envars-pod.yaml b/content/en/examples/pods/inject/dapi-envars-pod.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/dapi-envars-pod.yaml rename to content/en/examples/pods/inject/dapi-envars-pod.yaml diff --git a/content/en/docs/tasks/inject-data-application/dapi-volume-resources.yaml b/content/en/examples/pods/inject/dapi-volume-resources.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/dapi-volume-resources.yaml rename to content/en/examples/pods/inject/dapi-volume-resources.yaml diff --git a/content/en/docs/tasks/inject-data-application/dapi-volume.yaml b/content/en/examples/pods/inject/dapi-volume.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/dapi-volume.yaml rename to content/en/examples/pods/inject/dapi-volume.yaml diff --git a/content/en/docs/tasks/inject-data-application/envars.yaml b/content/en/examples/pods/inject/envars.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/envars.yaml rename to content/en/examples/pods/inject/envars.yaml diff --git a/content/en/docs/tasks/inject-data-application/secret-envars-pod.yaml b/content/en/examples/pods/inject/secret-envars-pod.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/secret-envars-pod.yaml rename to content/en/examples/pods/inject/secret-envars-pod.yaml diff --git a/content/en/docs/tasks/inject-data-application/secret-pod.yaml b/content/en/examples/pods/inject/secret-pod.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/secret-pod.yaml rename to content/en/examples/pods/inject/secret-pod.yaml diff --git a/content/en/docs/tasks/inject-data-application/secret.yaml b/content/en/examples/pods/inject/secret.yaml similarity index 100% rename from content/en/docs/tasks/inject-data-application/secret.yaml rename to content/en/examples/pods/inject/secret.yaml diff --git a/test/examples_test.go b/test/examples_test.go index 028222f681..b92a39fbf7 100644 --- a/test/examples_test.go +++ b/test/examples_test.go @@ -412,30 +412,6 @@ func TestExampleObjectSchemas(t *testing.T) { "task-pv-volume": {&api.PersistentVolume{}}, "tcp-liveness-readiness": {&api.Pod{}}, }, - // TODO: decide whether federation examples should be added - "docs/tasks/inject-data-application": { - "commands": {&api.Pod{}}, - "dapi-envars-container": {&api.Pod{}}, - "dapi-envars-pod": {&api.Pod{}}, - "dapi-volume": {&api.Pod{}}, - "dapi-volume-resources": {&api.Pod{}}, - "envars": {&api.Pod{}}, - "podpreset-allow-db": {&settings.PodPreset{}}, - "podpreset-allow-db-merged": {&api.Pod{}}, - "podpreset-configmap": {&api.ConfigMap{}}, - "podpreset-conflict-pod": {&api.Pod{}}, - "podpreset-conflict-preset": {&settings.PodPreset{}}, - "podpreset-merged": {&api.Pod{}}, - "podpreset-multi-merged": {&api.Pod{}}, - "podpreset-pod": {&api.Pod{}}, - "podpreset-preset": {&settings.PodPreset{}}, - "podpreset-proxy": {&settings.PodPreset{}}, - "podpreset-replicaset-merged": {&api.Pod{}}, - "podpreset-replicaset": {&extensions.ReplicaSet{}}, - "secret": {&api.Secret{}}, - "secret-envars-pod": {&api.Pod{}}, - "secret-pod": {&api.Pod{}}, - }, "examples/application/job": { "job-tmpl": {&batch.Job{}}, "cronjob": {&batch.CronJob{}}, @@ -488,12 +464,36 @@ func TestExampleObjectSchemas(t *testing.T) { "replication": {&api.ReplicationController{}}, "nginx-deployment": {&extensions.Deployment{}}, }, + "examples/podpreset": { + "allow-db": {&settings.PodPreset{}}, + "allow-db-merged": {&api.Pod{}}, + "configmap": {&api.ConfigMap{}}, + "conflict-pod": {&api.Pod{}}, + "conflict-preset": {&settings.PodPreset{}}, + "merged": {&api.Pod{}}, + "multi-merged": {&api.Pod{}}, + "pod": {&api.Pod{}}, + "preset": {&settings.PodPreset{}}, + "proxy": {&settings.PodPreset{}}, + "replicaset-merged": {&api.Pod{}}, + "replicaset": {&extensions.ReplicaSet{}}, + }, "examples/pods": { "commands": {&api.Pod{}}, "pod-nginx": {&api.Pod{}}, "pod-with-node-affinity": {&api.Pod{}}, "pod-with-pod-affinity": {&api.Pod{}}, }, + "examples/pods/inject": { + "dapi-envars-container": {&api.Pod{}}, + "dapi-envars-pod": {&api.Pod{}}, + "dapi-volume": {&api.Pod{}}, + "dapi-volume-resources": {&api.Pod{}}, + "envars": {&api.Pod{}}, + "secret": {&api.Secret{}}, + "secret-envars-pod": {&api.Pod{}}, + "secret-pod": {&api.Pod{}}, + }, "examples/policy": { "privileged-psp": {&policy.PodSecurityPolicy{}}, "restricted-psp": {&policy.PodSecurityPolicy{}}, From 0f5f027aeecaf58c0ee159bc129a4c2691fa18d4 Mon Sep 17 00:00:00 2001 From: Alex Contini Date: Tue, 3 Jul 2018 15:04:20 -0400 Subject: [PATCH 094/102] update content for Northwestern Mutual case study (#9372) --- .../en/case-studies/northwestern-mutual.html | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/content/en/case-studies/northwestern-mutual.html b/content/en/case-studies/northwestern-mutual.html index 4e5803ea9d..dac0ef0d66 100644 --- a/content/en/case-studies/northwestern-mutual.html +++ b/content/en/case-studies/northwestern-mutual.html @@ -22,17 +22,18 @@ css: /css/style_case_studies.css

Challenge

- In the spring of 2015, Northwestern Mutual acquired a fintech startup, LearnVest, and decided to take "Northwestern Mutual’s leading products and services and meld it with LearnVest’s digital experience and innovative financial planning platform," says Brad Williams, Director of Engineering for Client Experience, Northwestern Mutual. The company’s existing infrastructure had been optimized for batch workflows hosted on on-prem networks; deployments were very traditional, and had to be initiated in the company’s Milwaukee headquarters. "We had to build a platform that was elastically scalable, but also much more responsive, so we could quickly get data to the client website so that our end customers have the experience that they’ve grown to expect," says Williams. + In the spring of 2015, Northwestern Mutual acquired a fintech startup, LearnVest, and decided to take "Northwestern Mutual’s leading products and services and meld it with LearnVest’s digital experience and innovative financial planning platform," says Brad Williams, Director of Engineering for Client Experience, Northwestern Mutual. The company’s existing infrastructure had been optimized for batch workflows hosted on on-prem networks; deployments were very traditional, focused on following a process instead of providing deployment agility. "We had to build a platform that was elastically scalable, but also much more responsive, so we could quickly get data to the client website so our end-customers have the experience they expect," says Williams.

Solution

- The platform team came up with a plan for using the public cloud (AWS), Docker containers, and Kubernetes for orchestration. "Kubernetes gave us that base framework so teams can be very autonomous in what they’re building and deliver very quickly and frequently," says Northwestern Mutual Cloud Native Engineer Frank Greco Jr. The team also built and open sourced Kanali, a Kubernetes-native API management tool that uses OpenTracing, Jaeger, and gRPC. + The platform team came up with a plan for using the public cloud (AWS), Docker containers, and Kubernetes for orchestration. "Kubernetes gave us that base framework so teams can be very autonomous in what they’re building and deliver very quickly and frequently," says Northwestern Mutual Cloud Native Engineer Frank Greco Jr. The team also built and open-sourced Kanali, a Kubernetes-native API management tool that uses OpenTracing, Jaeger, and gRPC. +

Impact

- Before, infrastructure deployments could take two weeks; now, it is done in a matter of minutes. The number of deployments has increased dramatically, from about 24 a year to more than 500 in just the first 10 months of 2017. Availability has also increased: There used to be a six-hour control window for commits every Sunday morning, as well as other periods of general maintenance during which outages could happen. "Now there’s no such thing because there’s no outage window," says Bryan Pfremmer, App Platform Teams Manager, Northwestern Mutual. Kanali has had an impact on the bottom line. The vendor API management product that the company previously used required 23 servers in production, "dedicated, doing nothing but that," says Pfremmer. "Now it’s all integrated in the existing stack, so that many EC2 instances every month are gone. And that’s just one environment. Between the three that we had plus the test, that’s hard dollar savings." + Before, infrastructure deployments could take weeks; now, it is done in a matter of minutes. The number of deployments has increased dramatically, from about 24 a year to over 500 in just the first 10 months of 2017. Availability has also increased: There used to be a six-hour control window for commits every Sunday morning, as well as other periods of general maintenance, during which outages could happen. "Now we have eliminated the planned outage windows," says Bryan Pfremmer, App Platform Teams Manager, Northwestern Mutual. Kanali has had an impact on the bottom line. The vendor API management product that the company previously used required 23 servers, "dedicated, to only API management," says Pfremmer. "Now it’s all integrated in the existing stack and running as another deployment on Kubernetes. And that’s just one environment. Between the three that we had plus the test, that’s hard dollar savings."
@@ -40,14 +41,15 @@ css: /css/style_case_studies.css
-"You may not be at a point where your whole stack can be cloud native. What if you can take your API management tool and make it cloud native, but still proxy to legacy systems? Using different pieces that are cloud native, open source and Kubernetes native, you can do pretty innovative stuff."
+"In a large enterprise, you’re going to have people using Kubernetes, but then you’re also going to have people using WAS and .NET. You may not be at a point where your whole stack can be cloud native. What if you can take your API management tool and make it cloud native, but still proxy to legacy systems? Using different pieces that are cloud native, open source and Kubernetes native, you can do pretty innovative stuff." — Frank Greco Jr., Cloud Native Engineer at Northwestern Mutual
-

For more than 160 years, Northwestern Mutual has maintained its industry leadership by keeping a strong focus on risk management, and for a long time, the company took a similar approach to managing its technology.

- With a recent transformation to advance its digital strategy, the company has been making a lot of noise in the cloud native world.

- In the spring of 2015, this insurance and financial services company acquired a fintech startup, LearnVest, and decided to take "Northwestern Mutual’s leading products and services and meld it with LearnVest’s digital experience and innovative financial planning platform," says Brad Williams, Director of Engineering for Client Experience, Northwestern Mutual. The company’s existing infrastructure had been optimized for batch workflows hosted on an on-premise datacenter; deployments were very traditional, and had to be initiated in the company’s Milwaukee headquarters.

- In order to give the company’s 4.5 million clients the digital experience they’d come to expect, says Williams, "We had to build a platform that was elastically scalable, but also much more responsive, so we could quickly get data to the client website. We essentially said, ‘All the controls are off. You build the system that you think is necessary to support a new, modern-facing one.’ That’s why we departed from anything legacy." +

For more than 160 years, Northwestern Mutual has maintained its industry leadership in part by keeping a strong focus on risk management.

+ For many years, the company took a similar approach to managing its technology and has recently undergone a digital transformation to advance the company’s digital strategy - including making a lot of noise in the cloud-native world.

+In the spring of 2015, this insurance and financial services company acquired a fintech startup, LearnVest, and decided to take "Northwestern Mutual’s leading products and services and meld it with LearnVest’s digital experience and innovative financial planning platform," says Brad Williams, Director of Engineering for Client Experience, Northwestern Mutual. The company’s existing infrastructure had been optimized for batch workflows hosted on an on-premise datacenter; deployments were very traditional and had to many manual steps that were error prone.

+In order to give the company’s 4.5 million clients the digital experience they’d come to expect, says Williams, "We had to build a platform that was elastically scalable, but also much more responsive, so we could quickly get data to the client website. We essentially said, 'You build the system that you think is necessary to support a new, modern-facing one.’ That’s why we departed from anything legacy." +
@@ -59,37 +61,38 @@ css: /css/style_case_studies.css
- Williams and the rest of the platform team decided that the first step would be to start moving from private data centers to AWS. With a new microservice architecture in mind—and the company’s headquarters taken out of the equation—they began using Docker containers. After looking into the various container orchestration options, they went with Kubernetes, even though it was still in beta at the time. "There was some debate whether we should build something ourselves, or just leverage that product and evolve with it," says Northwestern Mutual Cloud Native Engineer Frank Greco Jr. "Kubernetes has definitely been the right choice for us. It gave us that base framework so teams can be autonomous in what they’re building and deliver very quickly and frequently."

- As early adopters, the team had to do a lot of work with Ansible scripts to stand up the cluster. "We had a lot of hard security requirements given the nature of our business," says Northwestern Mutual App Platform Teams Manager Bryan Pfremmer. "We found ourselves running a configuration that very few other people ever tried." The client experience group was the first to use the new platform; today, a few hundred of the company’s 1,500 engineers are using it and more are eager to get on board.

- The results have been dramatic. Before, infrastructure deployments could take two weeks; now, it is done in a matter of minutes. Without the bottleneck that was created at the company’s headquarters, "You can take an app to production in that same day if you want to," says Pfremmer.

- The process used to be so cumbersome that minor bug releases would be bundled with feature releases. With the new streamlined system enabled by Kubernetes, the number of deployments has increased from about 24 a year to more than 500 in just the first 10 months of 2017. Availability has also been improved: There used to be a six-hour control window for commits every early Sunday morning, as well as other periods of general maintenance during which outages could happen. "Now there’s no such thing because there’s no outage window," says Pfremmer. + Williams and the rest of the platform team decided that the first step would be to start moving from private data centers to AWS. With a new microservice architecture in mind—and the freedom to implement what was best for the organization—they began using Docker containers. After looking into the various container orchestration options, they went with Kubernetes, even though it was still in beta at the time. "There was some debate whether we should build something ourselves, or just leverage that product and evolve with it," says Northwestern Mutual Cloud Native Engineer Frank Greco Jr. "Kubernetes has definitely been the right choice for us. It gave us that base framework so teams can be autonomous in what they’re building and deliver very quickly and frequently."

+As early adopters, the team had to do a lot of work with Ansible scripts to stand up the cluster. "We had a lot of hard security requirements given the nature of our business," explains Bryan Pfremmer, App Platform Teams Manager, Northwestern Mutual. "We found ourselves running a configuration that very few other people ever tried." The client experience group was the first to use the new platform; today, a few hundred of the company’s 1,500 engineers are using it and more are eager to get on board. +The results have been dramatic. Before, infrastructure deployments could take two weeks; now, it is done in a matter of minutes. Now with a focus on Infrastructure automation, and self-service, "You can take an app to production in that same day if you want to," says Pfremmer. +
-"Now the API management is all integrated in the existing stack, so that many EC2 instances every month are gone. And that’s just one environment. Between the three that we had plus the test, that’s hard dollar savings." +"Now, developers have autonomy, they can use this whenever they want, however they want. It becomes more valuable the more instrumentation downstream that happens, as we mature in it."
- Northwestern Mutual built that API management tool—called Kanali—and open sourced it in the summer of 2017. The team took on the project because the vendor product that they’d been using worked in an "anti-cloud native way that was different than everything else we were doing," says Greco. It required 23 servers in production, "dedicated, doing nothing but that," says Pfremmer. "Now the API management is all integrated in the existing stack, so that many EC2 instances every month are gone. And that’s just one environment. Between the three that we had plus the test, that’s hard dollar savings."

- Kanali has OpenTracing and Jaeger built in. "We wanted to do cloud native, open source tracing," says Greco. "We found that there was a CNCF project, OpenTracing, and it made sense because it was vendor agnostic and that speaks for itself. You only have to instrument it once, and then you control whatever you write on top of it. Then as I was looking at the different UIs that implemented OpenTracing, Jaeger seemed to be the one that looked the best."

- Now the engineers using the Kubernetes deployment platform have the added benefit of visibility in production—and autonomy. "Before, if you wanted to trace, you had to go to the centralized team that managed the vendor product and have them run a trace for you," says Greco. "Now, developers can just use this whenever they want, however they want. It becomes more valuable the more instrumentation downstream that happens, as we mature in it." + The process used to be so cumbersome that minor bug releases would be bundled with feature releases. With the new streamlined system enabled by Kubernetes, the number of deployments has increased from about 24 a year to more than 500 in just the first 10 months of 2017. Availability has also been improved: There used to be a six-hour control window for commits every early Sunday morning, as well as other periods of general maintenance, during which outages could happen. "Now there’s no planned outage window," notes Pfremmer.

+Northwestern Mutual built that API management tool—called Kanali—and open sourced it in the summer of 2017. The team took on the project because it was a key capability for what they were building and prior the solution worked in an "anti-cloud native way that was different than everything else we were doing," says Greco. Now API management is just another container deployed to Kubernetes along with a separate Jaeger deployment.

+Now the engineers using the Kubernetes deployment platform have the added benefit of visibility in production—and autonomy. Before, a centralized team and would have to run a trace. "Now, developers have autonomy, they can use this whenever they want, however they want. It becomes more valuable the more instrumentation downstream that happens, as we mature in it." says Greco. +
- As the team continues to improve its stack and share its Kubernetes best practices, it feels that Northwestern Mutual’s reputation as a technology-first company is evolving too. "No one would think a company that’s 160-plus years old is foraying this deep into the cloud and infrastructure stack."
- — APP PLATFORM TEAMS MANAGER, BRYAN PFREMMER + "We’re trying to make what we’re doing known so that we can find people who are like, 'Yeah, that’s interesting. I want to come do it!’"
But the team didn’t stop there. "In a large enterprise, you’re going to have people using Kubernetes, but then you’re also going to have people using WAS and .NET," says Greco. "You may not be at a point where your whole stack can be cloud native. What if you can take your API management tool and make it cloud native, but still proxy to legacy systems? Using different pieces that are cloud native, open source and Kubernetes native, you can do pretty innovative stuff."

- As the team continues to improve its stack and share its Kubernetes best practices, it feels that Northwestern Mutual’s reputation as a technology-first company is evolving too. "No one would think a company that’s 160-plus years old is foraying this deep into the cloud and infrastructure stack," says Pfremmer. And they’re hoping that means they’ll be able to attract new talent. "We’re trying to make what we’re doing known so that we can find people who are like, ‘Yeah, that’s interesting. I want to come do it!’" + As the team continues to improve its stack and share its Kubernetes best practices, it feels that Northwestern Mutual’s reputation as a technology-first company is evolving too. "No one would think a company that’s 160-plus years old is foraying this deep into the cloud and infrastructure stack," says Pfremmer. And they’re hoping that means they’ll be able to attract new talent. "We’re trying to make what we’re doing known so that we can find people who are like, 'Yeah, that’s interesting. I want to come do it!’" +
From 9b81aa7ccd912c13594e56b0f6d6461c5641c47c Mon Sep 17 00:00:00 2001 From: Qiming Date: Wed, 4 Jul 2018 04:31:20 +0800 Subject: [PATCH 095/102] Consolidate YAML files [part-10] (#9362) * Consolidate YAML files [part-10] This PR relocates the YAML files used by the pod configuration topic. * Update examples_test.go * Update examples_test.go * Update examples_test.go * Update examples_test.go * Update examples_test.go --- .../assign-cpu-resource.md | 8 +- .../assign-memory-resource.md | 12 +- .../attach-handler-lifecycle-event.md | 4 +- .../configure-liveness-readiness-probes.md | 12 +- .../configure-persistent-volume-storage.md | 12 +- .../configure-pod-initialization.md | 4 +- .../configure-projected-volume-storage.md | 4 +- .../configure-volume-storage.md | 4 +- .../extended-resource.md | 8 +- .../mem-limit-range.yaml | 11 -- .../pull-image-private-registry.md | 5 +- .../quality-service-pod.md | 16 +- .../rq-compute-resources.yaml | 11 -- .../security-context.md | 16 +- .../share-process-namespace.md | 12 +- .../pods}/init-containers.yaml | 0 .../pods}/lifecycle-events.yaml | 0 .../pods}/private-reg-pod.yaml | 0 .../pods/probe}/exec-liveness.yaml | 0 .../pods/probe}/http-liveness.yaml | 0 .../pods/probe}/tcp-liveness-readiness.yaml | 0 .../pods/qos}/qos-pod-2.yaml | 0 .../pods/qos}/qos-pod-3.yaml | 0 .../pods/qos}/qos-pod-4.yaml | 0 .../pods/qos}/qos-pod.yaml | 0 .../pods/resource}/cpu-request-limit-2.yaml | 0 .../pods/resource}/cpu-request-limit.yaml | 0 .../resource}/extended-resource-pod-2.yaml | 0 .../pods/resource}/extended-resource-pod.yaml | 0 .../resource}/memory-request-limit-2.yaml | 0 .../resource}/memory-request-limit-3.yaml | 0 .../pods/resource}/memory-request-limit.yaml | 0 .../pods/security}/security-context-2.yaml | 0 .../pods/security}/security-context-3.yaml | 0 .../pods/security}/security-context-4.yaml | 0 .../pods/security}/security-context.yaml | 0 .../pods}/share-process-namespace.yaml | 0 .../pods/storage/projected.yaml} | 0 .../pods/storage/pv-claim.yaml} | 0 .../pods/storage/pv-pod.yaml} | 0 .../pods/storage/pv-volume.yaml} | 0 .../pods/storage/redis.yaml} | 0 test/examples_test.go | 154 +++++++++--------- 43 files changed, 140 insertions(+), 153 deletions(-) delete mode 100644 content/en/docs/tasks/configure-pod-container/mem-limit-range.yaml delete mode 100644 content/en/docs/tasks/configure-pod-container/rq-compute-resources.yaml rename content/en/{docs/tasks/configure-pod-container => examples/pods}/init-containers.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods}/lifecycle-events.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods}/private-reg-pod.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/probe}/exec-liveness.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/probe}/http-liveness.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/probe}/tcp-liveness-readiness.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/qos}/qos-pod-2.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/qos}/qos-pod-3.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/qos}/qos-pod-4.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/qos}/qos-pod.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/resource}/cpu-request-limit-2.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/resource}/cpu-request-limit.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/resource}/extended-resource-pod-2.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/resource}/extended-resource-pod.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/resource}/memory-request-limit-2.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/resource}/memory-request-limit-3.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/resource}/memory-request-limit.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/security}/security-context-2.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/security}/security-context-3.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/security}/security-context-4.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods/security}/security-context.yaml (100%) rename content/en/{docs/tasks/configure-pod-container => examples/pods}/share-process-namespace.yaml (100%) rename content/en/{docs/tasks/configure-pod-container/projected-volume.yaml => examples/pods/storage/projected.yaml} (100%) rename content/en/{docs/tasks/configure-pod-container/task-pv-claim.yaml => examples/pods/storage/pv-claim.yaml} (100%) rename content/en/{docs/tasks/configure-pod-container/task-pv-pod.yaml => examples/pods/storage/pv-pod.yaml} (100%) rename content/en/{docs/tasks/configure-pod-container/task-pv-volume.yaml => examples/pods/storage/pv-volume.yaml} (100%) rename content/en/{docs/tasks/configure-pod-container/pod-redis.yaml => examples/pods/storage/redis.yaml} (100%) diff --git a/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md b/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md index e5abfb736d..a45fe770b4 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md +++ b/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md @@ -71,7 +71,7 @@ In this exercise, you create a Pod that has one Container. The Container has a C request of 0.5 cpu and a CPU limit of 1 cpu. Here's the configuration file for the Pod: -{{< code file="cpu-request-limit.yaml" >}} +{{< codenew file="pods/resource/cpu-request-limit.yaml" >}} In the configuration file, the `args` section provides arguments for the Container when it starts. The `-cpus "2"` argument tells the Container to attempt to use 2 cpus. @@ -79,7 +79,7 @@ The `-cpus "2"` argument tells the Container to attempt to use 2 cpus. Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/cpu-request-limit.yaml --namespace=cpu-example +kubectl create -f https://k8s.io/examples/pods/resource/cpu-request-limit.yaml --namespace=cpu-example ``` Verify that the Pod's Container is running: @@ -167,12 +167,12 @@ the capacity of any Node in your cluster. Here is the configuration file for a P that has one Container. The Container requests 100 cpu, which is likely to exceed the capacity of any Node in your cluster. -{{< code file="cpu-request-limit-2.yaml" >}} +{{< codenew file="pods/resource/cpu-request-limit-2.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/cpu-request-limit-2.yaml --namespace=cpu-example +kubectl create -f https://k8s.io/examples/pods/resource/cpu-request-limit-2.yaml --namespace=cpu-example ``` View the Pod's status: diff --git a/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md b/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md index 6120b3a460..8d03fc86b9 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md +++ b/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md @@ -71,7 +71,7 @@ In this exercise, you create a Pod that has one Container. The Container has a m request of 100 MiB and a memory limit of 200 MiB. Here's the configuration file for the Pod: -{{< code file="memory-request-limit.yaml" >}} +{{< codenew file="pods/resource/memory-request-limit.yaml" >}} In the configuration file, the `args` section provides arguments for the Container when it starts. The `"--vm-bytes", "150M"` arguments tell the Container to attempt to allocate 150 MiB of memory. @@ -79,7 +79,7 @@ The `"--vm-bytes", "150M"` arguments tell the Container to attempt to allocate 1 Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/memory-request-limit.yaml --namespace=mem-example +kubectl create -f https://k8s.io/examples/pods/resource/memory-request-limit.yaml --namespace=mem-example ``` Verify that the Pod's Container is running: @@ -142,7 +142,7 @@ In this exercise, you create a Pod that attempts to allocate more memory than it Here is the configuration file for a Pod that has one Container. The Container has a memory request of 50 MiB and a memory limit of 100 MiB. -{{< code file="memory-request-limit-2.yaml" >}} +{{< codenew file="pods/resource/memory-request-limit-2.yaml" >}} In the configuration file, in the `args` section, you can see that the Container will attempt to allocate 250 MiB of memory, which is well above the 100 MiB limit. @@ -150,7 +150,7 @@ will attempt to allocate 250 MiB of memory, which is well above the 100 MiB limi Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/memory-request-limit-2.yaml --namespace=mem-example +kubectl create -f https://k8s.io/examples/pods/resource/memory-request-limit-2.yaml --namespace=mem-example ``` View detailed information about the Pod: @@ -253,12 +253,12 @@ capacity of any Node in your cluster. Here is the configuration file for a Pod t Container. The Container requests 1000 GiB of memory, which is likely to exceed the capacity of any Node in your cluster. -{{< code file="memory-request-limit-3.yaml" >}} +{{< codenew file="pods/resource/memory-request-limit-3.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/memory-request-limit-3.yaml --namespace=mem-example +kubectl create -f https://k8s.io/examples/pods/resource/memory-request-limit-3.yaml --namespace=mem-example ``` View the Pod's status: diff --git a/content/en/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md b/content/en/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md index c85f18bbe1..85dc63d6ab 100644 --- a/content/en/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md +++ b/content/en/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md @@ -30,7 +30,7 @@ for the postStart and preStop events. Here is the configuration file for the Pod: -{{< code file="lifecycle-events.yaml" >}} +{{< codenew file="pods/lifecycle-events.yaml" >}} In the configuration file, you can see that the postStart command writes a `message` file to the Container's `/usr/share` directory. The preStop command shuts down @@ -38,7 +38,7 @@ nginx gracefully. This is helpful if the Container is being terminated because o Create the Pod: - kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/lifecycle-events.yaml + kubectl create -f https://k8s.io/examples/pods/lifecycle-events.yaml Verify that the Container in the Pod is running: diff --git a/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-probes.md b/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-probes.md index 8a8768302e..d3e09d1208 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-probes.md +++ b/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-probes.md @@ -38,7 +38,7 @@ liveness probes to detect and remedy such situations. In this exercise, you create a Pod that runs a Container based on the `k8s.gcr.io/busybox` image. Here is the configuration file for the Pod: -{{< code file="exec-liveness.yaml" >}} +{{< codenew file="pods/probe/exec-liveness.yaml" >}} In the configuration file, you can see that the Pod has a single Container. The `periodSeconds` field specifies that the kubelet should perform a liveness @@ -62,7 +62,7 @@ code. After 30 seconds, `cat /tmp/healthy` returns a failure code. Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/exec-liveness.yaml +kubectl create -f https://k8s.io/examples/pods/probe/exec-liveness.yaml ``` Within 30 seconds, view the Pod events: @@ -122,7 +122,7 @@ Another kind of liveness probe uses an HTTP GET request. Here is the configurati file for a Pod that runs a container based on the `k8s.gcr.io/liveness` image. -{{< code file="http-liveness.yaml" >}} +{{< codenew file="pods/probe/http-liveness.yaml" >}} In the configuration file, you can see that the Pod has a single Container. The `periodSeconds` field specifies that the kubelet should perform a liveness @@ -163,7 +163,7 @@ checks will fail, and the kubelet will kill and restart the Container. To try the HTTP liveness check, create a Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/http-liveness.yaml +kubectl create -f https://k8s.io/examples/pods/probe/http-liveness.yaml ``` After 10 seconds, view Pod events to verify that liveness probes have failed and @@ -180,7 +180,7 @@ kubelet will attempt to open a socket to your container on the specified port. If it can establish a connection, the container is considered healthy, if it can’t it is considered a failure. -{{< code file="tcp-liveness-readiness.yaml" >}} +{{< codenew file="pods/probe/tcp-liveness-readiness.yaml" >}} As you can see, configuration for a TCP check is quite similar to an HTTP check. This example uses both readiness and liveness probes. The kubelet will send the @@ -198,7 +198,7 @@ will be restarted. To try the TCP liveness check, create a Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/tcp-liveness-readiness.yaml +kubectl create -f https://k8s.io/examples/pods/probe/tcp-liveness-readiness.yaml ``` After 15 seconds, view Pod events to verify that liveness probes: diff --git a/content/en/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md b/content/en/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md index 7d2e6802e8..f770eacfbc 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md +++ b/content/en/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md @@ -62,7 +62,7 @@ to set up Here is the configuration file for the hostPath PersistentVolume: -{{< code file="task-pv-volume.yaml" >}} +{{< codenew file="pods/storage/pv-volume.yaml" >}} The configuration file specifies that the volume is at `/mnt/data` on the cluster's Node. The configuration also specifies a size of 10 gibibytes and @@ -73,7 +73,7 @@ PersistentVolumeClaim requests to this PersistentVolume. Create the PersistentVolume: - kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/task-pv-volume.yaml + kubectl create -f https://k8s.io/examples/pods/storage/pv-volume.yaml View information about the PersistentVolume: @@ -94,11 +94,11 @@ access for at least one Node. Here is the configuration file for the PersistentVolumeClaim: -{{< code file="task-pv-claim.yaml" >}} +{{< codenew file="pods/storage/pv-claim.yaml" >}} Create the PersistentVolumeClaim: - kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/task-pv-claim.yaml + kubectl create -f https://k8s.io/examples/pods/storage/pv-claim.yaml After you create the PersistentVolumeClaim, the Kubernetes control plane looks for a PersistentVolume that satisfies the claim's requirements. If the control @@ -130,7 +130,7 @@ The next step is to create a Pod that uses your PersistentVolumeClaim as a volum Here is the configuration file for the Pod: -{{< code file="task-pv-pod.yaml" >}} +{{< codenew file="pods/storage/pv-pod.yaml" >}} Notice that the Pod's configuration file specifies a PersistentVolumeClaim, but it does not specify a PersistentVolume. From the Pod's point of view, the claim @@ -138,7 +138,7 @@ is a volume. Create the Pod: - kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/task-pv-pod.yaml + kubectl create -f https://k8s.io/examples/pods/storage/pv-pod.yaml Verify that the Container in the Pod is running; diff --git a/content/en/docs/tasks/configure-pod-container/configure-pod-initialization.md b/content/en/docs/tasks/configure-pod-container/configure-pod-initialization.md index c5ac3a2101..6ab76afd09 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-pod-initialization.md +++ b/content/en/docs/tasks/configure-pod-container/configure-pod-initialization.md @@ -26,7 +26,7 @@ container starts. Here is the configuration file for the Pod: -{{< code file="init-containers.yaml" >}} +{{< codenew file="pods/init-containers.yaml" >}} In the configuration file, you can see that the Pod has a Volume that the init container and the application container share. @@ -43,7 +43,7 @@ of the nginx server. Create the Pod: - kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/init-containers.yaml + kubectl create -f https://k8s.io/examples/pods/init-containers.yaml Verify that the nginx container is running: diff --git a/content/en/docs/tasks/configure-pod-container/configure-projected-volume-storage.md b/content/en/docs/tasks/configure-pod-container/configure-projected-volume-storage.md index 8e43e6ef40..19c5ecc744 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-projected-volume-storage.md +++ b/content/en/docs/tasks/configure-pod-container/configure-projected-volume-storage.md @@ -28,7 +28,7 @@ In this exercise, you create username and password Secrets from local files. You Here is the configuration file for the Pod: -{{< code file="projected-volume.yaml" >}} +{{< codenew file="pods/storage/projected.yaml" >}} 1. Create the Secrets: ```shell @@ -42,7 +42,7 @@ Here is the configuration file for the Pod: ``` 1. Create the Pod: ```shell - kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/projected-volume.yaml + kubectl create -f https://k8s.io/examples/pods/storage/projected.yaml ``` 1. Verify that the Pod's Container is running, and then watch for changes to the Pod: diff --git a/content/en/docs/tasks/configure-pod-container/configure-volume-storage.md b/content/en/docs/tasks/configure-pod-container/configure-volume-storage.md index e3a73199ae..32db31cdbb 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-volume-storage.md +++ b/content/en/docs/tasks/configure-pod-container/configure-volume-storage.md @@ -33,11 +33,11 @@ Volume of type that lasts for the life of the Pod, even if the Container terminates and restarts. Here is the configuration file for the Pod: -{{< code file="pod-redis.yaml" >}} +{{< codenew file="pods/storage/redis.yaml" >}} 1. Create the Pod: - kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/pod-redis.yaml + kubectl create -f https://k8s.io/examples/pods/storage/redis.yaml 1. Verify that the Pod's Container is running, and then watch for changes to the Pod: diff --git a/content/en/docs/tasks/configure-pod-container/extended-resource.md b/content/en/docs/tasks/configure-pod-container/extended-resource.md index 108927af1e..53484c9f45 100644 --- a/content/en/docs/tasks/configure-pod-container/extended-resource.md +++ b/content/en/docs/tasks/configure-pod-container/extended-resource.md @@ -36,14 +36,14 @@ descriptive resource name. Here is the configuration file for a Pod that has one Container: -{{< code file="extended-resource-pod.yaml" >}} +{{< codenew file="pods/resource/extended-resource-pod.yaml" >}} In the configuration file, you can see that the Container requests 3 dongles. Create a Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/extended-resource-pod.yaml +kubectl create -f https://k8s.io/examples/pods/resource/extended-resource-pod.yaml ``` Verify that the Pod is running: @@ -72,7 +72,7 @@ Requests: Here is the configuration file for a Pod that has one Container. The Container requests two dongles. -{{< code file="extended-resource-pod-2.yaml" >}} +{{< codenew file="pods/resource/extended-resource-pod-2.yaml" >}} Kubernetes will not be able to satisfy the request for two dongles, because the first Pod used three of the four available dongles. @@ -80,7 +80,7 @@ used three of the four available dongles. Attempt to create a Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/extended-resource-pod-2.yaml +kubectl create -f https://k8s.io/examples/pods/resource/extended-resource-pod-2.yaml ``` Describe the Pod diff --git a/content/en/docs/tasks/configure-pod-container/mem-limit-range.yaml b/content/en/docs/tasks/configure-pod-container/mem-limit-range.yaml deleted file mode 100644 index b98a5ae262..0000000000 --- a/content/en/docs/tasks/configure-pod-container/mem-limit-range.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: LimitRange -metadata: - name: mem-limit-range -spec: - limits: - - default: - memory: 512Mi - defaultRequest: - memory: 256Mi - type: Container diff --git a/content/en/docs/tasks/configure-pod-container/pull-image-private-registry.md b/content/en/docs/tasks/configure-pod-container/pull-image-private-registry.md index f502294894..877b577cb8 100644 --- a/content/en/docs/tasks/configure-pod-container/pull-image-private-registry.md +++ b/content/en/docs/tasks/configure-pod-container/pull-image-private-registry.md @@ -112,11 +112,11 @@ You have successfully set your Docker credentials as a Secret called `regcred` i Here is a configuration file for a Pod that needs access to your Docker credentials in `regcred`: -{{< code file="private-reg-pod.yaml" >}} +{{< codenew file="pods/private-reg-pod.yaml" >}} Download the above file: - wget -O my-private-reg-pod.yaml https://k8s.io/docs/tasks/configure-pod-container/private-reg-pod.yaml + wget -O my-private-reg-pod.yaml https://k8s.io/examples/pods/private-reg-pod.yaml In file `my-private-reg-pod.yaml`, replace `` with the path to an image in a private registry such as: @@ -142,4 +142,3 @@ Create a Pod that uses your Secret, and verify that the Pod is running: {{% /capture %}} - diff --git a/content/en/docs/tasks/configure-pod-container/quality-service-pod.md b/content/en/docs/tasks/configure-pod-container/quality-service-pod.md index 27356fed82..14d44096bc 100644 --- a/content/en/docs/tasks/configure-pod-container/quality-service-pod.md +++ b/content/en/docs/tasks/configure-pod-container/quality-service-pod.md @@ -50,12 +50,12 @@ For a Pod to be given a QoS class of Guaranteed: Here is the configuration file for a Pod that has one Container. The Container has a memory limit and a memory request, both equal to 200 MiB. The Container has a cpu limit and a cpu request, both equal to 700 millicpu: -{{< code file="qos-pod.yaml" >}} +{{< codenew file="pods/qos/qos-pod.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/qos-pod.yaml --namespace=qos-example +kubectl create -f https://k8s.io/examples/pods/qos/qos-pod.yaml --namespace=qos-example ``` View detailed information about the Pod: @@ -106,12 +106,12 @@ A Pod is given a QoS class of Burstable if: Here is the configuration file for a Pod that has one Container. The Container has a memory limit of 200 MiB and a memory request of 100 MiB. -{{< code file="qos-pod-2.yaml" >}} +{{< codenew file="pods/qos/qos-pod-2.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/qos-pod-2.yaml --namespace=qos-example +kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-2.yaml --namespace=qos-example ``` View detailed information about the Pod: @@ -151,12 +151,12 @@ have any memory or cpu limits or requests. Here is the configuration file for a Pod that has one Container. The Container has no memory or cpu limits or requests: -{{< code file="qos-pod-3.yaml" >}} +{{< codenew file="pods/qos/qos-pod-3.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/qos-pod-3.yaml --namespace=qos-example +kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-3.yaml --namespace=qos-example ``` View detailed information about the Pod: @@ -187,7 +187,7 @@ kubectl delete pod qos-demo-3 --namespace=qos-example Here is the configuration file for a Pod that has two Containers. One container specifies a memory request of 200 MiB. The other Container does not specify any requests or limits. -{{< code file="qos-pod-4.yaml" >}} +{{< codenew file="pods/qos/qos-pod-4.yaml" >}} Notice that this Pod meets the criteria for QoS class Burstable. That is, it does not meet the criteria for QoS class Guaranteed, and one of its Containers has a memory request. @@ -195,7 +195,7 @@ criteria for QoS class Guaranteed, and one of its Containers has a memory reques Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/qos-pod-4.yaml --namespace=qos-example +kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-4.yaml --namespace=qos-example ``` View detailed information about the Pod: diff --git a/content/en/docs/tasks/configure-pod-container/rq-compute-resources.yaml b/content/en/docs/tasks/configure-pod-container/rq-compute-resources.yaml deleted file mode 100644 index 9757018f19..0000000000 --- a/content/en/docs/tasks/configure-pod-container/rq-compute-resources.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: ResourceQuota -metadata: - name: compute-resources -spec: - hard: - pods: "4" - requests.cpu: "1" - requests.memory: 1Gi - limits.cpu: "2" - limits.memory: 2Gi diff --git a/content/en/docs/tasks/configure-pod-container/security-context.md b/content/en/docs/tasks/configure-pod-container/security-context.md index 662ba725a1..a89e0dfa53 100644 --- a/content/en/docs/tasks/configure-pod-container/security-context.md +++ b/content/en/docs/tasks/configure-pod-container/security-context.md @@ -49,7 +49,7 @@ in the Pod specification. The `securityContext` field is a The security settings that you specify for a Pod apply to all Containers in the Pod. Here is a configuration file for a Pod that has a `securityContext` and an `emptyDir` volume: -{{< code file="security-context.yaml" >}} +{{< codenew file="pods/security/security-context.yaml" >}} In the configuration file, the `runAsUser` field specifies that for any Containers in the Pod, the first process runs with user ID 1000. The `fsGroup` field specifies that @@ -60,7 +60,7 @@ volume. Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/security-context.yaml +kubectl create -f https://k8s.io/examples/pods/security/security-context.yaml ``` Verify that the Pod's Container is running: @@ -141,12 +141,12 @@ there is overlap. Container settings do not affect the Pod's Volumes. Here is the configuration file for a Pod that has one Container. Both the Pod and the Container have a `securityContext` field: -{{< code file="security-context-2.yaml" >}} +{{< codenew file="pods/security/security-context-2.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/security-context-2.yaml +kubectl create -f https://k8s.io/examples/pods/security/security-context-2.yaml ``` Verify that the Pod's Container is running: @@ -194,12 +194,12 @@ of the root user. To add or remove Linux capabilities for a Container, include t First, see what happens when you don't include a `capabilities` field. Here is configuration file that does not add or remove any Container capabilities: -{{< code file="security-context-3.yaml" >}} +{{< codenew file="pods/security/security-context-3.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/security-context-3.yaml +kubectl create -f https://k8s.io/examples/pods/security/security-context-3.yaml ``` Verify that the Pod's Container is running: @@ -256,12 +256,12 @@ that it has additional capabilities set. Here is the configuration file for a Pod that runs one Container. The configuration adds the `CAP_NET_ADMIN` and `CAP_SYS_TIME` capabilities: -{{< code file="security-context-4.yaml" >}} +{{< codenew file="pods/security/security-context-4.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/security-context-4.yaml +kubectl create -f https://k8s.io/examples/pods/security/security-context-4.yaml ``` Get a shell into the running Container: diff --git a/content/en/docs/tasks/configure-pod-container/share-process-namespace.md b/content/en/docs/tasks/configure-pod-container/share-process-namespace.md index 01b18a6d63..1e8d902384 100644 --- a/content/en/docs/tasks/configure-pod-container/share-process-namespace.md +++ b/content/en/docs/tasks/configure-pod-container/share-process-namespace.md @@ -39,16 +39,21 @@ across the system: `--feature-gates=PodShareProcessNamespace=true`. Process Namespace Sharing is enabled using the `ShareProcessNamespace` field of `v1.PodSpec`. For example: -{{< code file="share-process-namespace.yaml" >}} +{{< codenew file="pods/share-process-namespace.yaml" >}} 1. Create the pod `nginx` on your cluster: - $ kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/share-process-namespace.yaml + kubectl create -f https://k8s.io/examples/pods/share-process-namespace.yaml 1. Attach to the `shell` container and run `ps`: - $ kubectl attach -it nginx -c shell + ``` + kubectl attach -it nginx -c shell + ``` + If you don't see a command prompt, try pressing enter. + + ``` / # ps ax PID USER TIME COMMAND 1 root 0:00 /pause @@ -56,6 +61,7 @@ Process Namespace Sharing is enabled using the `ShareProcessNamespace` field of 14 101 0:00 nginx: worker process 15 root 0:00 sh 21 root 0:00 ps ax + ``` You can signal processes in other containers. For example, send `SIGHUP` to nginx to restart the worker process. This requires the `SYS_PTRACE` capability. diff --git a/content/en/docs/tasks/configure-pod-container/init-containers.yaml b/content/en/examples/pods/init-containers.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/init-containers.yaml rename to content/en/examples/pods/init-containers.yaml diff --git a/content/en/docs/tasks/configure-pod-container/lifecycle-events.yaml b/content/en/examples/pods/lifecycle-events.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/lifecycle-events.yaml rename to content/en/examples/pods/lifecycle-events.yaml diff --git a/content/en/docs/tasks/configure-pod-container/private-reg-pod.yaml b/content/en/examples/pods/private-reg-pod.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/private-reg-pod.yaml rename to content/en/examples/pods/private-reg-pod.yaml diff --git a/content/en/docs/tasks/configure-pod-container/exec-liveness.yaml b/content/en/examples/pods/probe/exec-liveness.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/exec-liveness.yaml rename to content/en/examples/pods/probe/exec-liveness.yaml diff --git a/content/en/docs/tasks/configure-pod-container/http-liveness.yaml b/content/en/examples/pods/probe/http-liveness.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/http-liveness.yaml rename to content/en/examples/pods/probe/http-liveness.yaml diff --git a/content/en/docs/tasks/configure-pod-container/tcp-liveness-readiness.yaml b/content/en/examples/pods/probe/tcp-liveness-readiness.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/tcp-liveness-readiness.yaml rename to content/en/examples/pods/probe/tcp-liveness-readiness.yaml diff --git a/content/en/docs/tasks/configure-pod-container/qos-pod-2.yaml b/content/en/examples/pods/qos/qos-pod-2.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/qos-pod-2.yaml rename to content/en/examples/pods/qos/qos-pod-2.yaml diff --git a/content/en/docs/tasks/configure-pod-container/qos-pod-3.yaml b/content/en/examples/pods/qos/qos-pod-3.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/qos-pod-3.yaml rename to content/en/examples/pods/qos/qos-pod-3.yaml diff --git a/content/en/docs/tasks/configure-pod-container/qos-pod-4.yaml b/content/en/examples/pods/qos/qos-pod-4.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/qos-pod-4.yaml rename to content/en/examples/pods/qos/qos-pod-4.yaml diff --git a/content/en/docs/tasks/configure-pod-container/qos-pod.yaml b/content/en/examples/pods/qos/qos-pod.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/qos-pod.yaml rename to content/en/examples/pods/qos/qos-pod.yaml diff --git a/content/en/docs/tasks/configure-pod-container/cpu-request-limit-2.yaml b/content/en/examples/pods/resource/cpu-request-limit-2.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/cpu-request-limit-2.yaml rename to content/en/examples/pods/resource/cpu-request-limit-2.yaml diff --git a/content/en/docs/tasks/configure-pod-container/cpu-request-limit.yaml b/content/en/examples/pods/resource/cpu-request-limit.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/cpu-request-limit.yaml rename to content/en/examples/pods/resource/cpu-request-limit.yaml diff --git a/content/en/docs/tasks/configure-pod-container/extended-resource-pod-2.yaml b/content/en/examples/pods/resource/extended-resource-pod-2.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/extended-resource-pod-2.yaml rename to content/en/examples/pods/resource/extended-resource-pod-2.yaml diff --git a/content/en/docs/tasks/configure-pod-container/extended-resource-pod.yaml b/content/en/examples/pods/resource/extended-resource-pod.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/extended-resource-pod.yaml rename to content/en/examples/pods/resource/extended-resource-pod.yaml diff --git a/content/en/docs/tasks/configure-pod-container/memory-request-limit-2.yaml b/content/en/examples/pods/resource/memory-request-limit-2.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/memory-request-limit-2.yaml rename to content/en/examples/pods/resource/memory-request-limit-2.yaml diff --git a/content/en/docs/tasks/configure-pod-container/memory-request-limit-3.yaml b/content/en/examples/pods/resource/memory-request-limit-3.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/memory-request-limit-3.yaml rename to content/en/examples/pods/resource/memory-request-limit-3.yaml diff --git a/content/en/docs/tasks/configure-pod-container/memory-request-limit.yaml b/content/en/examples/pods/resource/memory-request-limit.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/memory-request-limit.yaml rename to content/en/examples/pods/resource/memory-request-limit.yaml diff --git a/content/en/docs/tasks/configure-pod-container/security-context-2.yaml b/content/en/examples/pods/security/security-context-2.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/security-context-2.yaml rename to content/en/examples/pods/security/security-context-2.yaml diff --git a/content/en/docs/tasks/configure-pod-container/security-context-3.yaml b/content/en/examples/pods/security/security-context-3.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/security-context-3.yaml rename to content/en/examples/pods/security/security-context-3.yaml diff --git a/content/en/docs/tasks/configure-pod-container/security-context-4.yaml b/content/en/examples/pods/security/security-context-4.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/security-context-4.yaml rename to content/en/examples/pods/security/security-context-4.yaml diff --git a/content/en/docs/tasks/configure-pod-container/security-context.yaml b/content/en/examples/pods/security/security-context.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/security-context.yaml rename to content/en/examples/pods/security/security-context.yaml diff --git a/content/en/docs/tasks/configure-pod-container/share-process-namespace.yaml b/content/en/examples/pods/share-process-namespace.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/share-process-namespace.yaml rename to content/en/examples/pods/share-process-namespace.yaml diff --git a/content/en/docs/tasks/configure-pod-container/projected-volume.yaml b/content/en/examples/pods/storage/projected.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/projected-volume.yaml rename to content/en/examples/pods/storage/projected.yaml diff --git a/content/en/docs/tasks/configure-pod-container/task-pv-claim.yaml b/content/en/examples/pods/storage/pv-claim.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/task-pv-claim.yaml rename to content/en/examples/pods/storage/pv-claim.yaml diff --git a/content/en/docs/tasks/configure-pod-container/task-pv-pod.yaml b/content/en/examples/pods/storage/pv-pod.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/task-pv-pod.yaml rename to content/en/examples/pods/storage/pv-pod.yaml diff --git a/content/en/docs/tasks/configure-pod-container/task-pv-volume.yaml b/content/en/examples/pods/storage/pv-volume.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/task-pv-volume.yaml rename to content/en/examples/pods/storage/pv-volume.yaml diff --git a/content/en/docs/tasks/configure-pod-container/pod-redis.yaml b/content/en/examples/pods/storage/redis.yaml similarity index 100% rename from content/en/docs/tasks/configure-pod-container/pod-redis.yaml rename to content/en/examples/pods/storage/redis.yaml diff --git a/test/examples_test.go b/test/examples_test.go index b92a39fbf7..32b2cac3aa 100644 --- a/test/examples_test.go +++ b/test/examples_test.go @@ -379,45 +379,36 @@ func TestExampleObjectSchemas(t *testing.T) { "quota-pod-deployment": {&extensions.Deployment{}}, "quota-pvc-2": {&api.PersistentVolumeClaim{}}, }, - "docs/tasks/configure-pod-container": { - "cpu-request-limit": {&api.Pod{}}, - "cpu-request-limit-2": {&api.Pod{}}, - "exec-liveness": {&api.Pod{}}, - "extended-resource-pod": {&api.Pod{}}, - "extended-resource-pod-2": {&api.Pod{}}, - "http-liveness": {&api.Pod{}}, - "init-containers": {&api.Pod{}}, - "lifecycle-events": {&api.Pod{}}, - "mem-limit-range": {&api.LimitRange{}}, - "memory-request-limit": {&api.Pod{}}, - "memory-request-limit-2": {&api.Pod{}}, - "memory-request-limit-3": {&api.Pod{}}, - "oir-pod": {&api.Pod{}}, - "oir-pod-2": {&api.Pod{}}, - "pod-redis": {&api.Pod{}}, - "private-reg-pod": {&api.Pod{}}, - "projected-volume": {&api.Pod{}}, - "qos-pod": {&api.Pod{}}, - "qos-pod-2": {&api.Pod{}}, - "qos-pod-3": {&api.Pod{}}, - "qos-pod-4": {&api.Pod{}}, - "rq-compute-resources": {&api.ResourceQuota{}}, - "security-context": {&api.Pod{}}, - "security-context-2": {&api.Pod{}}, - "security-context-3": {&api.Pod{}}, - "security-context-4": {&api.Pod{}}, - "share-process-namespace": {&api.Pod{}}, - "task-pv-claim": {&api.PersistentVolumeClaim{}}, - "task-pv-pod": {&api.Pod{}}, - "task-pv-volume": {&api.PersistentVolume{}}, - "tcp-liveness-readiness": {&api.Pod{}}, + // TODO: decide whether federation examples should be added + "docs/tasks/inject-data-application": { + "commands": {&api.Pod{}}, + "dapi-envars-container": {&api.Pod{}}, + "dapi-envars-pod": {&api.Pod{}}, + "dapi-volume": {&api.Pod{}}, + "dapi-volume-resources": {&api.Pod{}}, + "envars": {&api.Pod{}}, + "podpreset-allow-db": {&settings.PodPreset{}}, + "podpreset-allow-db-merged": {&api.Pod{}}, + "podpreset-configmap": {&api.ConfigMap{}}, + "podpreset-conflict-pod": {&api.Pod{}}, + "podpreset-conflict-preset": {&settings.PodPreset{}}, + "podpreset-merged": {&api.Pod{}}, + "podpreset-multi-merged": {&api.Pod{}}, + "podpreset-pod": {&api.Pod{}}, + "podpreset-preset": {&settings.PodPreset{}}, + "podpreset-proxy": {&settings.PodPreset{}}, + "podpreset-replicaset-merged": {&api.Pod{}}, + "podpreset-replicaset": {&extensions.ReplicaSet{}}, + "secret": {&api.Secret{}}, + "secret-envars-pod": {&api.Pod{}}, + "secret-pod": {&api.Pod{}}, }, "examples/application/job": { - "job-tmpl": {&batch.Job{}}, - "cronjob": {&batch.CronJob{}}, + "job-tmpl": {&batch.Job{}}, + "cronjob": {&batch.CronJob{}}, }, "examples/application/job/rabbitmq": { - "job": {&batch.Job{}}, + "job": {&batch.Job{}}, }, "examples/application/job/redis": { "job": {&batch.Job{}}, @@ -425,12 +416,12 @@ func TestExampleObjectSchemas(t *testing.T) { "redis-service": {&api.Service{}}, }, "examples/application": { - "deployment": {&extensions.Deployment{}}, - "deployment-patch": {&extensions.Deployment{}}, - "deployment-scale": {&extensions.Deployment{}}, - "deployment-update": {&extensions.Deployment{}}, - "nginx-with-request": {&extensions.Deployment{}}, - "shell-demo": {&api.Pod{}}, + "deployment": {&extensions.Deployment{}}, + "deployment-patch": {&extensions.Deployment{}}, + "deployment-scale": {&extensions.Deployment{}}, + "deployment-update": {&extensions.Deployment{}}, + "nginx-with-request": {&extensions.Deployment{}}, + "shell-demo": {&api.Pod{}}, }, "examples/application/guestbook": { "frontend-deployment": {&extensions.Deployment{}}, @@ -445,8 +436,8 @@ func TestExampleObjectSchemas(t *testing.T) { "cassandra-statefulset": {&apps.StatefulSet{}, &storage.StorageClass{}}, }, "examples/application/web": { - "web": {&api.Service{}, &apps.StatefulSet{}}, - "web-parallel": {&api.Service{}, &apps.StatefulSet{}}, + "web": {&api.Service{}, &apps.StatefulSet{}}, + "web-parallel": {&api.Service{}, &apps.StatefulSet{}}, }, "examples/application/wordpress": { "mysql-deployment": {&api.Service{}, &api.PersistentVolumeClaim{}, &extensions.Deployment{}}, @@ -464,35 +455,48 @@ func TestExampleObjectSchemas(t *testing.T) { "replication": {&api.ReplicationController{}}, "nginx-deployment": {&extensions.Deployment{}}, }, - "examples/podpreset": { - "allow-db": {&settings.PodPreset{}}, - "allow-db-merged": {&api.Pod{}}, - "configmap": {&api.ConfigMap{}}, - "conflict-pod": {&api.Pod{}}, - "conflict-preset": {&settings.PodPreset{}}, - "merged": {&api.Pod{}}, - "multi-merged": {&api.Pod{}}, - "pod": {&api.Pod{}}, - "preset": {&settings.PodPreset{}}, - "proxy": {&settings.PodPreset{}}, - "replicaset-merged": {&api.Pod{}}, - "replicaset": {&extensions.ReplicaSet{}}, - }, "examples/pods": { - "commands": {&api.Pod{}}, - "pod-nginx": {&api.Pod{}}, - "pod-with-node-affinity": {&api.Pod{}}, - "pod-with-pod-affinity": {&api.Pod{}}, + "commands": {&api.Pod{}}, + "init-containers": {&api.Pod{}}, + "lifecycle-events": {&api.Pod{}}, + "pod-nginx": {&api.Pod{}}, + "pod-with-node-affinity": {&api.Pod{}}, + "pod-with-pod-affinity": {&api.Pod{}}, + "private-reg-pod": {&api.Pod{}}, + "share-process-namespace": {&api.Pod{}}, }, - "examples/pods/inject": { - "dapi-envars-container": {&api.Pod{}}, - "dapi-envars-pod": {&api.Pod{}}, - "dapi-volume": {&api.Pod{}}, - "dapi-volume-resources": {&api.Pod{}}, - "envars": {&api.Pod{}}, - "secret": {&api.Secret{}}, - "secret-envars-pod": {&api.Pod{}}, - "secret-pod": {&api.Pod{}}, + "examples/pods/probe": { + "exec-liveness": {&api.Pod{}}, + "http-liveness": {&api.Pod{}}, + "tcp-liveness-readiness": {&api.Pod{}}, + }, + "examples/pods/qos": { + "qos-pod": {&api.Pod{}}, + "qos-pod-2": {&api.Pod{}}, + "qos-pod-3": {&api.Pod{}}, + "qos-pod-4": {&api.Pod{}}, + }, + "examples/pods/resource": { + "cpu-request-limit": {&api.Pod{}}, + "cpu-request-limit-2": {&api.Pod{}}, + "memory-request-limit": {&api.Pod{}}, + "memory-request-limit-2": {&api.Pod{}}, + "memory-request-limit-3": {&api.Pod{}}, + "extended-resource-pod": {&api.Pod{}}, + "extended-resource-pod-2": {&api.Pod{}}, + }, + "examples/pods/security": { + "security-context": {&api.Pod{}}, + "security-context-2": {&api.Pod{}}, + "security-context-3": {&api.Pod{}}, + "security-context-4": {&api.Pod{}}, + }, + "examples/pods/storage": { + "projected": {&api.Pod{}}, + "pv-claim": {&api.PersistentVolumeClaim{}}, + "pv-pod": {&api.Pod{}}, + "pv-volume": {&api.PersistentVolume{}}, + "redis": {&api.Pod{}}, }, "examples/policy": { "privileged-psp": {&policy.PodSecurityPolicy{}}, @@ -513,11 +517,11 @@ func TestExampleObjectSchemas(t *testing.T) { "termination": {&api.Pod{}}, }, "examples/application/mysql": { - "mysql-configmap": {&api.ConfigMap{}}, - "mysql-deployment": {&api.Service{}, &extensions.Deployment{}}, - "mysql-pv": {&api.PersistentVolume{}, &api.PersistentVolumeClaim{}}, - "mysql-services": {&api.Service{}, &api.Service{}}, - "mysql-statefulset": {&apps.StatefulSet{}}, + "mysql-configmap": {&api.ConfigMap{}}, + "mysql-deployment": {&api.Service{}, &extensions.Deployment{}}, + "mysql-pv": {&api.PersistentVolume{}, &api.PersistentVolumeClaim{}}, + "mysql-services": {&api.Service{}, &api.Service{}}, + "mysql-statefulset": {&apps.StatefulSet{}}, }, "examples/application/hpa": { "php-apache": {&autoscaling.HorizontalPodAutoscaler{}}, From 4962ffabbf4b8032b55dc07dbc7feba5eaa00a0d Mon Sep 17 00:00:00 2001 From: Qiming Date: Wed, 4 Jul 2018 04:39:21 +0800 Subject: [PATCH 096/102] Consolidate YAML files [part-11] (#9363) This PR relocates some of the YAML files used by the administer cluster topic. One yaml file not used is deleted. --- .../cpu-constraint-namespace.md | 24 ++++---- .../manage-resources/cpu-default-namespace.md | 16 +++--- .../memory-constraint-namespace.md | 24 ++++---- .../memory-default-namespace.md | 16 +++--- .../quota-memory-cpu-namespace.md | 14 ++--- .../manage-resources/quota-pod-namespace.md | 8 +-- .../manage-resources/quota-pvc-2.yaml | 11 ---- .../administer-cluster/quota-api-object.md | 12 ++-- .../resource}/cpu-constraints-pod-2.yaml | 0 .../resource}/cpu-constraints-pod-3.yaml | 0 .../resource}/cpu-constraints-pod-4.yaml | 0 .../admin/resource}/cpu-constraints-pod.yaml | 0 .../admin/resource}/cpu-constraints.yaml | 0 .../admin/resource}/cpu-defaults-pod-2.yaml | 0 .../admin/resource}/cpu-defaults-pod-3.yaml | 0 .../admin/resource}/cpu-defaults-pod.yaml | 0 .../admin/resource}/cpu-defaults.yaml | 0 .../resource}/memory-constraints-pod-2.yaml | 0 .../resource}/memory-constraints-pod-3.yaml | 0 .../resource}/memory-constraints-pod-4.yaml | 0 .../resource}/memory-constraints-pod.yaml | 0 .../admin/resource}/memory-constraints.yaml | 0 .../resource}/memory-defaults-pod-2.yaml | 0 .../resource}/memory-defaults-pod-3.yaml | 0 .../admin/resource}/memory-defaults-pod.yaml | 0 .../admin/resource}/memory-defaults.yaml | 0 .../admin/resource}/quota-mem-cpu-pod-2.yaml | 0 .../admin/resource}/quota-mem-cpu-pod.yaml | 0 .../admin/resource}/quota-mem-cpu.yaml | 0 .../admin/resource}/quota-objects-pvc-2.yaml | 0 .../admin/resource}/quota-objects-pvc.yaml | 0 .../admin/resource}/quota-objects.yaml | 0 .../admin/resource}/quota-pod-deployment.yaml | 0 .../admin/resource}/quota-pod.yaml | 0 test/examples_test.go | 55 ++++++++++--------- 35 files changed, 85 insertions(+), 95 deletions(-) delete mode 100644 content/en/docs/tasks/administer-cluster/manage-resources/quota-pvc-2.yaml rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/cpu-constraints-pod-2.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/cpu-constraints-pod-3.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/cpu-constraints-pod-4.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/cpu-constraints-pod.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/cpu-constraints.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/cpu-defaults-pod-2.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/cpu-defaults-pod-3.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/cpu-defaults-pod.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/cpu-defaults.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/memory-constraints-pod-2.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/memory-constraints-pod-3.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/memory-constraints-pod-4.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/memory-constraints-pod.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/memory-constraints.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/memory-defaults-pod-2.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/memory-defaults-pod-3.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/memory-defaults-pod.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/memory-defaults.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/quota-mem-cpu-pod-2.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/quota-mem-cpu-pod.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/quota-mem-cpu.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/quota-objects-pvc-2.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/quota-objects-pvc.yaml (100%) rename content/en/{docs/tasks/administer-cluster => examples/admin/resource}/quota-objects.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/quota-pod-deployment.yaml (100%) rename content/en/{docs/tasks/administer-cluster/manage-resources => examples/admin/resource}/quota-pod.yaml (100%) diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md index 3b615f0d86..d840b61371 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md @@ -40,12 +40,12 @@ kubectl create namespace constraints-cpu-example Here's the configuration file for a LimitRange: -{{< code file="cpu-constraints.yaml" >}} +{{< codenew file="admin/resource/cpu-constraints.yaml" >}} Create the LimitRange: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/cpu-constraints.yaml --namespace=constraints-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/cpu-constraints.yaml --namespace=constraints-cpu-example ``` View detailed information about the LimitRange: @@ -91,12 +91,12 @@ Here's the configuration file for a Pod that has one Container. The Container ma specifies a CPU request of 500 millicpu and a CPU limit of 800 millicpu. These satisfy the minimum and maximum CPU constraints imposed by the LimitRange. -{{< code file="cpu-constraints-pod.yaml" >}} +{{< codenew file="admin/resource/cpu-constraints-pod.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/cpu-constraints-pod.yaml --namespace=constraints-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/cpu-constraints-pod.yaml --namespace=constraints-cpu-example ``` Verify that the Pod's Container is running: @@ -133,19 +133,19 @@ kubectl delete pod constraints-cpu-demo --namespace=constraints-cpu-example Here's the configuration file for a Pod that has one Container. The Container specifies a CPU request of 500 millicpu and a cpu limit of 1.5 cpu. -{{< code file="cpu-constraints-pod-2.yaml" >}} +{{< codenew file="admin/resource/cpu-constraints-pod-2.yaml" >}} Attempt to create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/cpu-constraints-pod-2.yaml --namespace=constraints-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/cpu-constraints-pod-2.yaml --namespace=constraints-cpu-example ``` The output shows that the Pod does not get created, because the Container specifies a CPU limit that is too large: ``` -Error from server (Forbidden): error when creating "docs/tasks/administer-cluster/cpu-constraints-pod-2.yaml": +Error from server (Forbidden): error when creating "examples/admin/resource/cpu-constraints-pod-2.yaml": pods "constraints-cpu-demo-2" is forbidden: maximum cpu usage per Container is 800m, but limit is 1500m. ``` @@ -154,19 +154,19 @@ pods "constraints-cpu-demo-2" is forbidden: maximum cpu usage per Container is 8 Here's the configuration file for a Pod that has one Container. The Container specifies a CPU request of 100 millicpu and a CPU limit of 800 millicpu. -{{< code file="cpu-constraints-pod-3.yaml" >}} +{{< codenew file="admin/resource/cpu-constraints-pod-3.yaml" >}} Attempt to create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/cpu-constraints-pod-3.yaml --namespace=constraints-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/cpu-constraints-pod-3.yaml --namespace=constraints-cpu-example ``` The output shows that the Pod does not get created, because the Container specifies a CPU request that is too small: ``` -Error from server (Forbidden): error when creating "docs/tasks/administer-cluster/cpu-constraints-pod-3.yaml": +Error from server (Forbidden): error when creating "examples/admin/resource/cpu-constraints-pod-3.yaml": pods "constraints-cpu-demo-4" is forbidden: minimum cpu usage per Container is 200m, but request is 100m. ``` @@ -175,12 +175,12 @@ pods "constraints-cpu-demo-4" is forbidden: minimum cpu usage per Container is 2 Here's the configuration file for a Pod that has one Container. The Container does not specify a CPU request, and it does not specify a CPU limit. -{{< code file="cpu-constraints-pod-4.yaml" >}} +{{< codenew file="admin/resource/cpu-constraints-pod-4.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/cpu-constraints-pod-4.yaml --namespace=constraints-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/cpu-constraints-pod-4.yaml --namespace=constraints-cpu-example ``` View detailed information about the Pod: diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md index c701a8eddd..725083d688 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md @@ -35,12 +35,12 @@ kubectl create namespace default-cpu-example Here's the configuration file for a LimitRange object. The configuration specifies a default CPU request and a default CPU limit. -{{< code file="cpu-defaults.yaml" >}} +{{< codenew file="admin/resource/cpu-defaults.yaml" >}} Create the LimitRange in the default-cpu-example namespace: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/cpu-defaults.yaml --namespace=default-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/cpu-defaults.yaml --namespace=default-cpu-example ``` Now if a Container is created in the default-cpu-example namespace, and the @@ -51,12 +51,12 @@ CPU limit of 1. Here's the configuration file for a Pod that has one Container. The Container does not specify a CPU request and limit. -{{< code file="cpu-defaults-pod.yaml" >}} +{{< codenew file="admin/resource/cpu-defaults-pod.yaml" >}} Create the Pod. ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/cpu-defaults-pod.yaml --namespace=default-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/cpu-defaults-pod.yaml --namespace=default-cpu-example ``` View the Pod's specification: @@ -85,13 +85,13 @@ containers: Here's the configuration file for a Pod that has one Container. The Container specifies a CPU limit, but not a request: -{{< code file="cpu-defaults-pod-2.yaml" >}} +{{< codenew file="admin/resource/cpu-defaults-pod-2.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/cpu-defaults-pod-2.yaml --namespace=default-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/cpu-defaults-pod-2.yaml --namespace=default-cpu-example ``` View the Pod specification: @@ -116,12 +116,12 @@ resources: Here's the configuration file for a Pod that has one Container. The Container specifies a CPU request, but not a limit: -{{< code file="cpu-defaults-pod-3.yaml" >}} +{{< codenew file="admin/resource/cpu-defaults-pod-3.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/cpu-defaults-pod-3.yaml --namespace=default-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/cpu-defaults-pod-3.yaml --namespace=default-cpu-example ``` View the Pod specification: diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md index d6e7e68551..80480ee00f 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md @@ -40,12 +40,12 @@ kubectl create namespace constraints-mem-example Here's the configuration file for a LimitRange: -{{< code file="memory-constraints.yaml" >}} +{{< codenew file="admin/resource/memory-constraints.yaml" >}} Create the LimitRange: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/memory-constraints.yaml --namespace=constraints-mem-example +kubectl create -f https://k8s.io/examples/admin/resource/memory-constraints.yaml --namespace=constraints-mem-example ``` View detailed information about the LimitRange: @@ -85,12 +85,12 @@ Here's the configuration file for a Pod that has one Container. The Container ma specifies a memory request of 600 MiB and a memory limit of 800 MiB. These satisfy the minimum and maximum memory constraints imposed by the LimitRange. -{{< code file="memory-constraints-pod.yaml" >}} +{{< codenew file="admin/resource/memory-constraints-pod.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/memory-constraints-pod.yaml --namespace=constraints-mem-example +kubectl create -f https://k8s.io/examples/admin/resource/memory-constraints-pod.yaml --namespace=constraints-mem-example ``` Verify that the Pod's Container is running: @@ -127,19 +127,19 @@ kubectl delete pod constraints-mem-demo --namespace=constraints-mem-example Here's the configuration file for a Pod that has one Container. The Container specifies a memory request of 800 MiB and a memory limit of 1.5 GiB. -{{< code file="memory-constraints-pod-2.yaml" >}} +{{< codenew file="admin/resource/memory-constraints-pod-2.yaml" >}} Attempt to create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/memory-constraints-pod-2.yaml --namespace=constraints-mem-example +kubectl create -f https://k8s.io/examples/admin/resource/memory-constraints-pod-2.yaml --namespace=constraints-mem-example ``` The output shows that the Pod does not get created, because the Container specifies a memory limit that is too large: ``` -Error from server (Forbidden): error when creating "docs/tasks/administer-cluster/memory-constraints-pod-2.yaml": +Error from server (Forbidden): error when creating "examples/admin/resource/memory-constraints-pod-2.yaml": pods "constraints-mem-demo-2" is forbidden: maximum memory usage per Container is 1Gi, but limit is 1536Mi. ``` @@ -148,19 +148,19 @@ pods "constraints-mem-demo-2" is forbidden: maximum memory usage per Container i Here's the configuration file for a Pod that has one Container. The Container specifies a memory request of 200 MiB and a memory limit of 800 MiB. -{{< code file="memory-constraints-pod-3.yaml" >}} +{{< codenew file="admin/resource/memory-constraints-pod-3.yaml" >}} Attempt to create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/memory-constraints-pod-3.yaml --namespace=constraints-mem-example +kubectl create -f https://k8s.io/examples/admin/resource/memory-constraints-pod-3.yaml --namespace=constraints-mem-example ``` The output shows that the Pod does not get created, because the Container specifies a memory request that is too small: ``` -Error from server (Forbidden): error when creating "docs/tasks/administer-cluster/memory-constraints-pod-3.yaml": +Error from server (Forbidden): error when creating "examples/admin/resource/memory-constraints-pod-3.yaml": pods "constraints-mem-demo-3" is forbidden: minimum memory usage per Container is 500Mi, but request is 100Mi. ``` @@ -171,12 +171,12 @@ pods "constraints-mem-demo-3" is forbidden: minimum memory usage per Container i Here's the configuration file for a Pod that has one Container. The Container does not specify a memory request, and it does not specify a memory limit. -{{< code file="memory-constraints-pod-4.yaml" >}} +{{< codenew file="admin/resource/memory-constraints-pod-4.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/memory-constraints-pod-4.yaml --namespace=constraints-mem-example +kubectl create -f https://k8s.io/examples/admin/resource/memory-constraints-pod-4.yaml --namespace=constraints-mem-example ``` View detailed information about the Pod: diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md index 75bcfdc555..ab43f8a34c 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md @@ -37,12 +37,12 @@ kubectl create namespace default-mem-example Here's the configuration file for a LimitRange object. The configuration specifies a default memory request and a default memory limit. -{{< code file="memory-defaults.yaml" >}} +{{< codenew file="admin/resource/memory-defaults.yaml" >}} Create the LimitRange in the default-mem-example namespace: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/memory-defaults.yaml --namespace=default-mem-example +kubectl create -f https://k8s.io/examples/admin/resource/memory-defaults.yaml --namespace=default-mem-example ``` Now if a Container is created in the default-mem-example namespace, and the @@ -53,12 +53,12 @@ memory limit of 512 MiB. Here's the configuration file for a Pod that has one Container. The Container does not specify a memory request and limit. -{{< code file="memory-defaults-pod.yaml" >}} +{{< codenew file="admin/resource/memory-defaults-pod.yaml" >}} Create the Pod. ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/memory-defaults-pod.yaml --namespace=default-mem-example +kubectl create -f https://k8s.io/examples/admin/resource/memory-defaults-pod.yaml --namespace=default-mem-example ``` View detailed information about the Pod: @@ -93,13 +93,13 @@ kubectl delete pod default-mem-demo --namespace=default-mem-example Here's the configuration file for a Pod that has one Container. The Container specifies a memory limit, but not a request: -{{< code file="memory-defaults-pod-2.yaml" >}} +{{< codenew file="admin/resource/memory-defaults-pod-2.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/memory-defaults-pod-2.yaml --namespace=default-mem-example +kubectl create -f https://k8s.io/examples/admin/resource/memory-defaults-pod-2.yaml --namespace=default-mem-example ``` View detailed information about the Pod: @@ -124,12 +124,12 @@ resources: Here's the configuration file for a Pod that has one Container. The Container specifies a memory request, but not a limit: -{{< code file="memory-defaults-pod-3.yaml" >}} +{{< codenew file="admin/resource/memory-defaults-pod-3.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/memory-defaults-pod-3.yaml --namespace=default-mem-example +kubectl create -f https://k8s.io/examples/admin/resource/memory-defaults-pod-3.yaml --namespace=default-mem-example ``` View the Pod's specification: diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md index 01d0a81d6c..4bdc646742 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md @@ -39,12 +39,12 @@ kubectl create namespace quota-mem-cpu-example Here is the configuration file for a ResourceQuota object: -{{< code file="quota-mem-cpu.yaml" >}} +{{< codenew file="admin/resource/quota-mem-cpu.yaml" >}} Create the ResourceQuota: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-mem-cpu.yaml --namespace=quota-mem-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/quota-mem-cpu.yaml --namespace=quota-mem-cpu-example ``` View detailed information about the ResourceQuota: @@ -65,13 +65,13 @@ The ResourceQuota places these requirements on the quota-mem-cpu-example namespa Here is the configuration file for a Pod: -{{< code file="quota-mem-cpu-pod.yaml" >}} +{{< codenew file="admin/resource/quota-mem-cpu-pod.yaml" >}} Create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-mem-cpu-pod.yaml --namespace=quota-mem-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/quota-mem-cpu-pod.yaml --namespace=quota-mem-cpu-example ``` Verify that the Pod's Container is running: @@ -108,7 +108,7 @@ status: Here is the configuration file for a second Pod: -{{< code file="quota-mem-cpu-pod-2.yaml" >}} +{{< codenew file="admin/resource/quota-mem-cpu-pod-2.yaml" >}} In the configuration file, you can see that the Pod has a memory request of 700 MiB. Notice that the sum of the used memory request and this new memory @@ -117,14 +117,14 @@ request exceeds the memory request quota. 600 MiB + 700 MiB > 1 GiB. Attempt to create the Pod: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-mem-cpu-pod-2.yaml --namespace=quota-mem-cpu-example +kubectl create -f https://k8s.io/examples/admin/resource/quota-mem-cpu-pod-2.yaml --namespace=quota-mem-cpu-example ``` The second Pod does not get created. The output shows that creating the second Pod would cause the memory request total to exceed the memory request quota. ``` -Error from server (Forbidden): error when creating "docs/tasks/administer-cluster/quota-mem-cpu-pod-2.yaml": +Error from server (Forbidden): error when creating "examples/admin/resource/quota-mem-cpu-pod-2.yaml": pods "quota-mem-cpu-demo-2" is forbidden: exceeded quota: mem-cpu-demo, requested: requests.memory=700Mi,used: requests.memory=600Mi, limited: requests.memory=1Gi ``` diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md index 5c68391880..1cad0ee7bd 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md @@ -37,12 +37,12 @@ kubectl create namespace quota-pod-example Here is the configuration file for a ResourceQuota object: -{{< code file="quota-pod.yaml" >}} +{{< codenew file="admin/resource/quota-pod.yaml" >}} Create the ResourceQuota: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-pod.yaml --namespace=quota-pod-example +kubectl create -f https://k8s.io/examples/admin/resource/quota-pod.yaml --namespace=quota-pod-example ``` View detailed information about the ResourceQuota: @@ -67,14 +67,14 @@ status: Here is the configuration file for a Deployment: -{{< code file="quota-pod-deployment.yaml" >}} +{{< codenew file="admin/resource/quota-pod-deployment.yaml" >}} In the configuration file, `replicas: 3` tells Kubernetes to attempt to create three Pods, all running the same application. Create the Deployment: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-pod-deployment.yaml --namespace=quota-pod-example +kubectl create -f https://k8s.io/examples/admin/resource/quota-pod-deployment.yaml --namespace=quota-pod-example ``` View detailed information about the Deployment: diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-pvc-2.yaml b/content/en/docs/tasks/administer-cluster/manage-resources/quota-pvc-2.yaml deleted file mode 100644 index 88c165d144..0000000000 --- a/content/en/docs/tasks/administer-cluster/manage-resources/quota-pvc-2.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: pvc-quota-demo-2 -spec: - storageClassName: manual - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 4Gi diff --git a/content/en/docs/tasks/administer-cluster/quota-api-object.md b/content/en/docs/tasks/administer-cluster/quota-api-object.md index b8e1745072..971a4901eb 100644 --- a/content/en/docs/tasks/administer-cluster/quota-api-object.md +++ b/content/en/docs/tasks/administer-cluster/quota-api-object.md @@ -38,12 +38,12 @@ kubectl create namespace quota-object-example Here is the configuration file for a ResourceQuota object: -{{< code file="quota-objects.yaml" >}} +{{< codenew file="admin/resource/quota-objects.yaml" >}} Create the ResourceQuota: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-objects.yaml --namespace=quota-object-example +kubectl create -f https://k8s.io/examples/admin/resource/quota-objects.yaml --namespace=quota-object-example ``` View detailed information about the ResourceQuota: @@ -72,12 +72,12 @@ status: Here is the configuration file for a PersistentVolumeClaim object: -{{< code file="quota-objects-pvc.yaml" >}} +{{< codenew file="admin/resource/quota-objects-pvc.yaml" >}} Create the PersistentVolumeClaim: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-objects-pvc.yaml --namespace=quota-object-example +kubectl create -f https://k8s.io/examples/admin/resource/quota-objects-pvc.yaml --namespace=quota-object-example ``` Verify that the PersistentVolumeClaim was created: @@ -97,12 +97,12 @@ pvc-quota-demo Pending Here is the configuration file for a second PersistentVolumeClaim: -{{< code file="quota-objects-pvc-2.yaml" >}} +{{< codenew file="admin/resource/quota-objects-pvc-2.yaml" >}} Attempt to create the second PersistentVolumeClaim: ```shell -kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-objects-pvc-2.yaml --namespace=quota-object-example +kubectl create -f https://k8s.io/examples/admin/resource/quota-objects-pvc-2.yaml --namespace=quota-object-example ``` The output shows that the second PersistentVolumeClaim was not created, diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraints-pod-2.yaml b/content/en/examples/admin/resource/cpu-constraints-pod-2.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraints-pod-2.yaml rename to content/en/examples/admin/resource/cpu-constraints-pod-2.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraints-pod-3.yaml b/content/en/examples/admin/resource/cpu-constraints-pod-3.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraints-pod-3.yaml rename to content/en/examples/admin/resource/cpu-constraints-pod-3.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraints-pod-4.yaml b/content/en/examples/admin/resource/cpu-constraints-pod-4.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraints-pod-4.yaml rename to content/en/examples/admin/resource/cpu-constraints-pod-4.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraints-pod.yaml b/content/en/examples/admin/resource/cpu-constraints-pod.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraints-pod.yaml rename to content/en/examples/admin/resource/cpu-constraints-pod.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraints.yaml b/content/en/examples/admin/resource/cpu-constraints.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraints.yaml rename to content/en/examples/admin/resource/cpu-constraints.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-defaults-pod-2.yaml b/content/en/examples/admin/resource/cpu-defaults-pod-2.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/cpu-defaults-pod-2.yaml rename to content/en/examples/admin/resource/cpu-defaults-pod-2.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-defaults-pod-3.yaml b/content/en/examples/admin/resource/cpu-defaults-pod-3.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/cpu-defaults-pod-3.yaml rename to content/en/examples/admin/resource/cpu-defaults-pod-3.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-defaults-pod.yaml b/content/en/examples/admin/resource/cpu-defaults-pod.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/cpu-defaults-pod.yaml rename to content/en/examples/admin/resource/cpu-defaults-pod.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-defaults.yaml b/content/en/examples/admin/resource/cpu-defaults.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/cpu-defaults.yaml rename to content/en/examples/admin/resource/cpu-defaults.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraints-pod-2.yaml b/content/en/examples/admin/resource/memory-constraints-pod-2.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/memory-constraints-pod-2.yaml rename to content/en/examples/admin/resource/memory-constraints-pod-2.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraints-pod-3.yaml b/content/en/examples/admin/resource/memory-constraints-pod-3.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/memory-constraints-pod-3.yaml rename to content/en/examples/admin/resource/memory-constraints-pod-3.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraints-pod-4.yaml b/content/en/examples/admin/resource/memory-constraints-pod-4.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/memory-constraints-pod-4.yaml rename to content/en/examples/admin/resource/memory-constraints-pod-4.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraints-pod.yaml b/content/en/examples/admin/resource/memory-constraints-pod.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/memory-constraints-pod.yaml rename to content/en/examples/admin/resource/memory-constraints-pod.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraints.yaml b/content/en/examples/admin/resource/memory-constraints.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/memory-constraints.yaml rename to content/en/examples/admin/resource/memory-constraints.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-defaults-pod-2.yaml b/content/en/examples/admin/resource/memory-defaults-pod-2.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/memory-defaults-pod-2.yaml rename to content/en/examples/admin/resource/memory-defaults-pod-2.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-defaults-pod-3.yaml b/content/en/examples/admin/resource/memory-defaults-pod-3.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/memory-defaults-pod-3.yaml rename to content/en/examples/admin/resource/memory-defaults-pod-3.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-defaults-pod.yaml b/content/en/examples/admin/resource/memory-defaults-pod.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/memory-defaults-pod.yaml rename to content/en/examples/admin/resource/memory-defaults-pod.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-defaults.yaml b/content/en/examples/admin/resource/memory-defaults.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/memory-defaults.yaml rename to content/en/examples/admin/resource/memory-defaults.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-mem-cpu-pod-2.yaml b/content/en/examples/admin/resource/quota-mem-cpu-pod-2.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/quota-mem-cpu-pod-2.yaml rename to content/en/examples/admin/resource/quota-mem-cpu-pod-2.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-mem-cpu-pod.yaml b/content/en/examples/admin/resource/quota-mem-cpu-pod.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/quota-mem-cpu-pod.yaml rename to content/en/examples/admin/resource/quota-mem-cpu-pod.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-mem-cpu.yaml b/content/en/examples/admin/resource/quota-mem-cpu.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/quota-mem-cpu.yaml rename to content/en/examples/admin/resource/quota-mem-cpu.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-objects-pvc-2.yaml b/content/en/examples/admin/resource/quota-objects-pvc-2.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/quota-objects-pvc-2.yaml rename to content/en/examples/admin/resource/quota-objects-pvc-2.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-objects-pvc.yaml b/content/en/examples/admin/resource/quota-objects-pvc.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/quota-objects-pvc.yaml rename to content/en/examples/admin/resource/quota-objects-pvc.yaml diff --git a/content/en/docs/tasks/administer-cluster/quota-objects.yaml b/content/en/examples/admin/resource/quota-objects.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/quota-objects.yaml rename to content/en/examples/admin/resource/quota-objects.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-deployment.yaml b/content/en/examples/admin/resource/quota-pod-deployment.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-deployment.yaml rename to content/en/examples/admin/resource/quota-pod-deployment.yaml diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-pod.yaml b/content/en/examples/admin/resource/quota-pod.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/manage-resources/quota-pod.yaml rename to content/en/examples/admin/resource/quota-pod.yaml diff --git a/test/examples_test.go b/test/examples_test.go index 32b2cac3aa..bbeb694352 100644 --- a/test/examples_test.go +++ b/test/examples_test.go @@ -343,25 +343,7 @@ func TestExampleObjectSchemas(t *testing.T) { "docs/tasks/administer-cluster": { "busybox": {&api.Pod{}}, "cloud-controller-manager-daemonset-example": {&api.ServiceAccount{}, &rbac.ClusterRoleBinding{}, &extensions.DaemonSet{}}, - "cpu-constraints": {&api.LimitRange{}}, - "cpu-constraints-pod": {&api.Pod{}}, - "cpu-constraints-pod-2": {&api.Pod{}}, - "cpu-constraints-pod-3": {&api.Pod{}}, - "cpu-constraints-pod-4": {&api.Pod{}}, - "cpu-defaults": {&api.LimitRange{}}, - "cpu-defaults-pod": {&api.Pod{}}, - "cpu-defaults-pod-2": {&api.Pod{}}, - "cpu-defaults-pod-3": {&api.Pod{}}, "dns-horizontal-autoscaler": {&extensions.Deployment{}}, - "memory-constraints": {&api.LimitRange{}}, - "memory-constraints-pod": {&api.Pod{}}, - "memory-constraints-pod-2": {&api.Pod{}}, - "memory-constraints-pod-3": {&api.Pod{}}, - "memory-constraints-pod-4": {&api.Pod{}}, - "memory-defaults": {&api.LimitRange{}}, - "memory-defaults-pod": {&api.Pod{}}, - "memory-defaults-pod-2": {&api.Pod{}}, - "memory-defaults-pod-3": {&api.Pod{}}, "my-scheduler": {&api.ServiceAccount{}, &rbac.ClusterRoleBinding{}, &extensions.Deployment{}}, "namespace-dev": {&api.Namespace{}}, "namespace-prod": {&api.Namespace{}}, @@ -369,15 +351,6 @@ func TestExampleObjectSchemas(t *testing.T) { "pod1": {&api.Pod{}}, "pod2": {&api.Pod{}}, "pod3": {&api.Pod{}}, - "quota-mem-cpu": {&api.ResourceQuota{}}, - "quota-mem-cpu-pod": {&api.Pod{}}, - "quota-mem-cpu-pod-2": {&api.Pod{}}, - "quota-objects": {&api.ResourceQuota{}}, - "quota-objects-pvc": {&api.PersistentVolumeClaim{}}, - "quota-objects-pvc-2": {&api.PersistentVolumeClaim{}}, - "quota-pod": {&api.ResourceQuota{}}, - "quota-pod-deployment": {&extensions.Deployment{}}, - "quota-pvc-2": {&api.PersistentVolumeClaim{}}, }, // TODO: decide whether federation examples should be added "docs/tasks/inject-data-application": { @@ -403,6 +376,34 @@ func TestExampleObjectSchemas(t *testing.T) { "secret-envars-pod": {&api.Pod{}}, "secret-pod": {&api.Pod{}}, }, + "examples/admin/resource": { + "cpu-constraints": {&api.LimitRange{}}, + "cpu-constraints-pod": {&api.Pod{}}, + "cpu-constraints-pod-2": {&api.Pod{}}, + "cpu-constraints-pod-3": {&api.Pod{}}, + "cpu-constraints-pod-4": {&api.Pod{}}, + "cpu-defaults": {&api.LimitRange{}}, + "cpu-defaults-pod": {&api.Pod{}}, + "cpu-defaults-pod-2": {&api.Pod{}}, + "cpu-defaults-pod-3": {&api.Pod{}}, + "memory-constraints": {&api.LimitRange{}}, + "memory-constraints-pod": {&api.Pod{}}, + "memory-constraints-pod-2": {&api.Pod{}}, + "memory-constraints-pod-3": {&api.Pod{}}, + "memory-constraints-pod-4": {&api.Pod{}}, + "memory-defaults": {&api.LimitRange{}}, + "memory-defaults-pod": {&api.Pod{}}, + "memory-defaults-pod-2": {&api.Pod{}}, + "memory-defaults-pod-3": {&api.Pod{}}, + "quota-mem-cpu": {&api.ResourceQuota{}}, + "quota-mem-cpu-pod": {&api.Pod{}}, + "quota-mem-cpu-pod-2": {&api.Pod{}}, + "quota-objects": {&api.ResourceQuota{}}, + "quota-objects-pvc": {&api.PersistentVolumeClaim{}}, + "quota-objects-pvc-2": {&api.PersistentVolumeClaim{}}, + "quota-pod": {&api.ResourceQuota{}}, + "quota-pod-deployment": {&extensions.Deployment{}}, + }, "examples/application/job": { "job-tmpl": {&batch.Job{}}, "cronjob": {&batch.CronJob{}}, From aed6732b4e3d539be85042ba3ba2ddcbdb4b012b Mon Sep 17 00:00:00 2001 From: Jim Angel Date: Tue, 3 Jul 2018 16:46:20 -0500 Subject: [PATCH 097/102] adding discuss kubernetes link to community page (#9133) * adding discuss kubernetes link to community page addressing https://github.com/kubernetes/website/issues/8578 * moving to bullet list and changing caps * removing caps * resetting back to original PR and removing caps --- content/en/community/_index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/community/_index.html b/content/en/community/_index.html index 96845f4029..ad8829affb 100644 --- a/content/en/community/_index.html +++ b/content/en/community/_index.html @@ -8,7 +8,7 @@ cid: community

Ensuring Kubernetes works well everywhere and for everyone.

-

Connect with the Kubernetes community on our Slack channel or join the +

Connect with the Kubernetes community on our Slack channel, discussion board, or join the Kubernetes-dev Google group. A weekly community meeting takes place via video conference to discuss the state of affairs, see these instructions for information From ea6004bd4f0eea57f40a7c1790d9252d6c80e5d0 Mon Sep 17 00:00:00 2001 From: Qiming Date: Wed, 4 Jul 2018 14:19:23 +0800 Subject: [PATCH 098/102] Consolidate YAML files [part-12] (#9364) * Consolidate YAML files [part-12] Relocate YAML files referenced by the accessing application topic and the rest of cluster administration. * Adjust json shortcodes. --- ...icate-containers-same-pod-shared-volume.md | 4 +- .../connecting-frontend-backend.md | 16 +- .../hello/Dockerfile | 4 - .../access-application-cluster/hello/README | 7 - .../access-application-cluster/hello/main.go | 74 ------- .../redis-master.yaml | 33 --- .../configure-multiple-schedulers.md | 10 +- .../dns-debugging-resolution.md | 4 +- .../dns-horizontal-autoscaling.md | 2 +- .../namespaces-walkthrough.md | 12 +- .../tasks/administer-cluster/namespaces.md | 8 +- .../running-cloud-controller.md | 4 +- .../admin/cloud/ccm-example.yaml} | 0 .../admin/cloud/pvl-initializer-config.yaml} | 0 .../admin/dns}/busybox.yaml | 0 .../admin/dns}/dns-horizontal-autoscaler.yaml | 0 .../admin}/namespace-dev.json | 0 .../admin}/namespace-prod.json | 0 .../admin/sched}/my-scheduler.yaml | 0 .../admin/sched}/pod1.yaml | 0 .../admin/sched}/pod2.yaml | 0 .../admin/sched}/pod3.yaml | 0 .../pods}/two-container-pod.yaml | 0 .../service/access}/Dockerfile | 0 .../service/access}/frontend.conf | 0 .../service/access}/frontend.yaml | 0 .../service/access}/hello-service.yaml | 0 .../service/access}/hello.yaml | 0 test/examples_test.go | 191 ++++++++---------- 29 files changed, 118 insertions(+), 251 deletions(-) delete mode 100644 content/en/docs/tasks/access-application-cluster/hello/Dockerfile delete mode 100644 content/en/docs/tasks/access-application-cluster/hello/README delete mode 100644 content/en/docs/tasks/access-application-cluster/hello/main.go delete mode 100644 content/en/docs/tasks/access-application-cluster/redis-master.yaml rename content/en/{docs/tasks/administer-cluster/cloud-controller-manager-daemonset-example.yaml => examples/admin/cloud/ccm-example.yaml} (100%) rename content/en/{docs/tasks/administer-cluster/persistent-volume-label-initializer-config.yaml => examples/admin/cloud/pvl-initializer-config.yaml} (100%) rename content/en/{docs/tasks/administer-cluster => examples/admin/dns}/busybox.yaml (100%) rename content/en/{docs/tasks/administer-cluster => examples/admin/dns}/dns-horizontal-autoscaler.yaml (100%) rename content/en/{docs/tasks/administer-cluster => examples/admin}/namespace-dev.json (100%) rename content/en/{docs/tasks/administer-cluster => examples/admin}/namespace-prod.json (100%) rename content/en/{docs/tasks/administer-cluster => examples/admin/sched}/my-scheduler.yaml (100%) rename content/en/{docs/tasks/administer-cluster => examples/admin/sched}/pod1.yaml (100%) rename content/en/{docs/tasks/administer-cluster => examples/admin/sched}/pod2.yaml (100%) rename content/en/{docs/tasks/administer-cluster => examples/admin/sched}/pod3.yaml (100%) rename content/en/{docs/tasks/access-application-cluster => examples/pods}/two-container-pod.yaml (100%) rename content/en/{docs/tasks/access-application-cluster/frontend => examples/service/access}/Dockerfile (100%) rename content/en/{docs/tasks/access-application-cluster/frontend => examples/service/access}/frontend.conf (100%) rename content/en/{docs/tasks/access-application-cluster => examples/service/access}/frontend.yaml (100%) rename content/en/{docs/tasks/access-application-cluster => examples/service/access}/hello-service.yaml (100%) rename content/en/{docs/tasks/access-application-cluster => examples/service/access}/hello.yaml (100%) diff --git a/content/en/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md b/content/en/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md index 4fff0221f8..edf999f3ca 100644 --- a/content/en/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md +++ b/content/en/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md @@ -27,7 +27,7 @@ In this exercise, you create a Pod that runs two Containers. The two containers share a Volume that they can use to communicate. Here is the configuration file for the Pod: -{{< code file="two-container-pod.yaml" >}} +{{< codenew file="pods/two-container-pod.yaml" >}} In the configuration file, you can see that the Pod has a Volume named `shared-data`. @@ -44,7 +44,7 @@ directory of the nginx server. Create the Pod and the two Containers: - kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/two-container-pod.yaml + kubectl create -f https://k8s.io/examples/pods/two-container-pod.yaml View information about the Pod and the Containers: diff --git a/content/en/docs/tasks/access-application-cluster/connecting-frontend-backend.md b/content/en/docs/tasks/access-application-cluster/connecting-frontend-backend.md index c877a14e02..992560d286 100644 --- a/content/en/docs/tasks/access-application-cluster/connecting-frontend-backend.md +++ b/content/en/docs/tasks/access-application-cluster/connecting-frontend-backend.md @@ -43,12 +43,12 @@ frontend and backend are connected using a Kubernetes Service object. The backend is a simple hello greeter microservice. Here is the configuration file for the backend Deployment: -{{< code file="hello.yaml" >}} +{{< codenew file="service/access/hello.yaml" >}} Create the backend Deployment: ``` -kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/hello.yaml +kubectl create -f https://k8s.io/examples/service/access/hello.yaml ``` View information about the backend Deployment: @@ -103,7 +103,7 @@ selector labels to find the Pods that it routes traffic to. First, explore the Service configuration file: -{{< code file="hello-service.yaml" >}} +{{< codenew file="service/access/hello-service.yaml" >}} In the configuration file, you can see that the Service routes traffic to Pods that have the labels `app: hello` and `tier: backend`. @@ -111,7 +111,7 @@ that have the labels `app: hello` and `tier: backend`. Create the `hello` Service: ``` -kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/hello-service.yaml +kubectl create -f https://k8s.io/examples/service/access/hello-service.yaml ``` At this point, you have a backend Deployment running, and you have a @@ -127,18 +127,18 @@ of the `name` field in the preceding Service configuration file. The Pods in the frontend Deployment run an nginx image that is configured to find the hello backend Service. Here is the nginx configuration file: -{{< code file="frontend/frontend.conf" >}} +{{< codenew file="service/access/frontend.conf" >}} Similar to the backend, the frontend has a Deployment and a Service. The configuration for the Service has `type: LoadBalancer`, which means that the Service uses the default load balancer of your cloud provider. -{{< code file="frontend.yaml" >}} +{{< codenew file="service/access/frontend.yaml" >}} Create the frontend Deployment and Service: ``` -kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/frontend.yaml +kubectl create -f https://k8s.io/examples/service/access/frontend.yaml ``` The output verifies that both resources were created: @@ -149,7 +149,7 @@ service "frontend" created ``` **Note**: The nginx configuration is baked into the -[container image](/docs/tasks/access-application-cluster/frontend/Dockerfile). +[container image](/examples/service/access/Dockerfile). A better way to do this would be to use a [ConfigMap](/docs/tasks/configure-pod-container/configure-pod-configmap/), so that you can change the configuration more easily. diff --git a/content/en/docs/tasks/access-application-cluster/hello/Dockerfile b/content/en/docs/tasks/access-application-cluster/hello/Dockerfile deleted file mode 100644 index 405ee2a05c..0000000000 --- a/content/en/docs/tasks/access-application-cluster/hello/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM alpine:3.1 -MAINTAINER Carter Morgan -COPY hello /usr/bin/ -CMD ["/usr/bin/hello"] diff --git a/content/en/docs/tasks/access-application-cluster/hello/README b/content/en/docs/tasks/access-application-cluster/hello/README deleted file mode 100644 index 023bd03781..0000000000 --- a/content/en/docs/tasks/access-application-cluster/hello/README +++ /dev/null @@ -1,7 +0,0 @@ -Build hello go binary first - - go build -tags netgo -ldflags "-extldflags '-lm -lstdc++ -static'" . - -Then build docker image - - docker build -t hello . diff --git a/content/en/docs/tasks/access-application-cluster/hello/main.go b/content/en/docs/tasks/access-application-cluster/hello/main.go deleted file mode 100644 index cb5cf18dc6..0000000000 --- a/content/en/docs/tasks/access-application-cluster/hello/main.go +++ /dev/null @@ -1,74 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "log" - "net/http" - "os" - "os/signal" - "syscall" - - "github.com/braintree/manners" - "github.com/GoogleCloudPlatform/kubernetes-workshops/bundles/kubernetes-101/workshop/app/handlers" - "github.com/GoogleCloudPlatform/kubernetes-workshops/bundles/kubernetes-101/workshop/app/health" -) - -const version = "1.0.0" - -func main() { - var ( - httpAddr = flag.String("http", "0.0.0.0:80", "HTTP service address.") - healthAddr = flag.String("health", "0.0.0.0:81", "Health service address.") - ) - flag.Parse() - - log.Println("Starting server...") - log.Printf("Health service listening on %s", *healthAddr) - log.Printf("HTTP service listening on %s", *httpAddr) - - errChan := make(chan error, 10) - - hmux := http.NewServeMux() - hmux.HandleFunc("/healthz", health.HealthzHandler) - hmux.HandleFunc("/readiness", health.ReadinessHandler) - hmux.HandleFunc("/healthz/status", health.HealthzStatusHandler) - hmux.HandleFunc("/readiness/status", health.ReadinessStatusHandler) - healthServer := manners.NewServer() - healthServer.Addr = *healthAddr - healthServer.Handler = handlers.LoggingHandler(hmux) - - go func() { - errChan <- healthServer.ListenAndServe() - }() - - mux := http.NewServeMux() - mux.HandleFunc("/", handlers.HelloHandler) - mux.Handle("/secure", handlers.JWTAuthHandler(handlers.HelloHandler)) - mux.Handle("/version", handlers.VersionHandler(version)) - - httpServer := manners.NewServer() - httpServer.Addr = *httpAddr - httpServer.Handler = handlers.LoggingHandler(mux) - - go func() { - errChan <- httpServer.ListenAndServe() - }() - - signalChan := make(chan os.Signal, 1) - signal.Notify(signalChan, syscall.SIGINT, syscall.SIGTERM) - - for { - select { - case err := <-errChan: - if err != nil { - log.Fatal(err) - } - case s := <-signalChan: - log.Println(fmt.Sprintf("Captured %v. Exiting...", s)) - health.SetReadinessStatus(http.StatusServiceUnavailable) - httpServer.BlockingClose() - os.Exit(0) - } - } -} diff --git a/content/en/docs/tasks/access-application-cluster/redis-master.yaml b/content/en/docs/tasks/access-application-cluster/redis-master.yaml deleted file mode 100644 index 589de648f5..0000000000 --- a/content/en/docs/tasks/access-application-cluster/redis-master.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - labels: - name: redis - redis-sentinel: "true" - role: master - name: redis-master -spec: - containers: - - name: master - image: k8s.gcr.io/redis:v1 - env: - - name: MASTER - value: "true" - ports: - - containerPort: 6379 - resources: - limits: - cpu: "0.1" - volumeMounts: - - mountPath: /redis-master-data - name: data - - name: sentinel - image: kubernetes/redis:v1 - env: - - name: SENTINEL - value: "true" - ports: - - containerPort: 26379 - volumes: - - name: data - emptyDir: {} diff --git a/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md b/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md index e1b55f3b28..95c2150684 100644 --- a/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md +++ b/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md @@ -73,7 +73,7 @@ for this example. A [Deployment](/docs/concepts/workloads/controllers/deployment thereby making the scheduler resilient to failures. Here is the deployment config. Save it as `my-scheduler.yaml`: -{{< code file="my-scheduler.yaml" >}} +{{< codenew file="admin/sched/my-scheduler.yaml" >}} An important thing to note here is that the name of the scheduler specified as an argument to the scheduler command in the container spec should be unique. This is the name that is matched against the value of the optional `spec.schedulerName` on pods, to determine whether this scheduler is responsible for scheduling a particular pod. @@ -149,7 +149,7 @@ scheduler in that pod spec. Let's look at three examples. - Pod spec without any scheduler name - {{< code file="pod1.yaml" >}} + {{< codenew file="admin/sched/pod1.yaml" >}} When no scheduler name is supplied, the pod is automatically scheduled using the default-scheduler. @@ -162,7 +162,7 @@ kubectl create -f pod1.yaml - Pod spec with `default-scheduler` - {{< code file="pod2.yaml" >}} + {{< codenew file="admin/sched/pod2.yaml" >}} A scheduler is specified by supplying the scheduler name as a value to `spec.schedulerName`. In this case, we supply the name of the default scheduler which is `default-scheduler`. @@ -175,7 +175,7 @@ kubectl create -f pod2.yaml - Pod spec with `my-scheduler` - {{< code file="pod3.yaml" >}} + {{< codenew file="admin/sched/pod3.yaml" >}} In this case, we specify that this pod should be scheduled using the scheduler that we deployed - `my-scheduler`. Note that the value of `spec.schedulerName` should match the name supplied to the scheduler @@ -215,4 +215,4 @@ verify that the pods were scheduled by the desired schedulers. kubectl get events ``` -{{% /capture %}} \ No newline at end of file +{{% /capture %}} diff --git a/content/en/docs/tasks/administer-cluster/dns-debugging-resolution.md b/content/en/docs/tasks/administer-cluster/dns-debugging-resolution.md index 0bca12b1ce..2178d86775 100644 --- a/content/en/docs/tasks/administer-cluster/dns-debugging-resolution.md +++ b/content/en/docs/tasks/administer-cluster/dns-debugging-resolution.md @@ -22,12 +22,12 @@ This page provides hints on diagnosing DNS problems. Create a file named busybox.yaml with the following contents: -{{< code file="busybox.yaml" >}} +{{< codenew file="admin/dns/busybox.yaml" >}} Then create a pod using this file and verify its status: ```shell -$ kubectl create -f busybox.yaml +$ kubectl create -f https://k8s.io/examples/admin/dns/busybox.yaml pod "busybox" created $ kubectl get pods busybox diff --git a/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md b/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md index 27d0107cd6..1eddf4edd6 100644 --- a/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md +++ b/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md @@ -94,7 +94,7 @@ container based on the `cluster-proportional-autoscaler-amd64` image. Create a file named `dns-horizontal-autoscaler.yaml` with this content: -{{< code file="dns-horizontal-autoscaler.yaml" >}} +{{< codenew file="admin/dns/dns-horizontal-autoscaler.yaml" >}} In the file, replace `` with your scale target. diff --git a/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md b/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md index 898d8ff029..9d3de79c39 100644 --- a/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md +++ b/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md @@ -67,24 +67,24 @@ One pattern this organization could follow is to partition the Kubernetes cluste Let's create two new namespaces to hold our work. -Use the file [`namespace-dev.json`](/docs/tasks/administer-cluster/namespace-dev.json) which describes a development namespace: +Use the file [`namespace-dev.json`](/examples/admin/namespace-dev.json) which describes a development namespace: -{{< code language="json" file="namespace-dev.json" >}} +{{< codenew language="json" file="admin/namespace-dev.json" >}} Create the development namespace using kubectl. ```shell -$ kubectl create -f https://k8s.io/docs/tasks/administer-cluster/namespace-dev.json +$ kubectl create -f https://k8s.io/examples/admin/namespace-dev.json ``` -Save the following contents into file [`namespace-prod.json`](/docs/tasks/administer-cluster/namespace-prod.json) which describes a production namespace: +Save the following contents into file [`namespace-prod.json`](/examples/admin/namespace-prod.json) which describes a production namespace: -{{< code language="json" file="namespace-prod.json" >}} +{{< codenew language="json" file="admin/namespace-prod.json" >}} And then let's create the production namespace using kubectl. ```shell -$ kubectl create -f https://k8s.io/docs/tasks/administer-cluster/namespace-prod.json +$ kubectl create -f https://k8s.io/examples/admin/namespace-prod.json ``` To be sure things are right, let's list all of the namespaces in our cluster. diff --git a/content/en/docs/tasks/administer-cluster/namespaces.md b/content/en/docs/tasks/administer-cluster/namespaces.md index 28dba04206..77fbc63422 100644 --- a/content/en/docs/tasks/administer-cluster/namespaces.md +++ b/content/en/docs/tasks/administer-cluster/namespaces.md @@ -140,20 +140,20 @@ One pattern this organization could follow is to partition the Kubernetes cluste Let's create two new namespaces to hold our work. -Use the file [`namespace-dev.json`](/docs/tasks/administer-cluster/namespace-dev.json) which describes a development namespace: +Use the file [`namespace-dev.json`](/examples/admin/namespace-dev.json) which describes a development namespace: -{{< code language="json" file="namespace-dev.json" >}} +{{< codenew language="json" file="admin/namespace-dev.json" >}} Create the development namespace using kubectl. ```shell -$ kubectl create -f docs/tasks/administer-cluster/namespace-dev.json +$ kubectl create -f https://k8s.io/examples/admin/namespace-dev.json ``` And then let's create the production namespace using kubectl. ```shell -$ kubectl create -f docs/tasks/administer-cluster/namespace-prod.json +$ kubectl create -f https://k8s.io/examples/admin/namespace-prod.json ``` To be sure things are right, list all of the namespaces in our cluster. diff --git a/content/en/docs/tasks/administer-cluster/running-cloud-controller.md b/content/en/docs/tasks/administer-cluster/running-cloud-controller.md index 56615de4ba..d6c3eec480 100644 --- a/content/en/docs/tasks/administer-cluster/running-cloud-controller.md +++ b/content/en/docs/tasks/administer-cluster/running-cloud-controller.md @@ -41,7 +41,7 @@ Successfully running cloud-controller-manager requires some changes to your clus since the cloud controller manager takes over labeling persistent volumes. * For the `cloud-controller-manager` to label persistent volumes, initializers will need to be enabled and an InitializerConifguration needs to be added to the system. Follow [these instructions](/docs/admin/extensible-admission-controllers.md#enable-initializers-alpha-feature) to enable initializers. Use the following YAML to create the InitializerConfiguration: -{{< code file="persistent-volume-label-initializer-config.yaml" >}} +{{< codenew file="admin/cloud/pvl-initializer-config.yaml" >}} Keep in mind that setting up your cluster to use cloud controller manager will change your cluster behaviour in a few ways: @@ -71,7 +71,7 @@ For cloud controller managers not in Kubernetes core, you can find the respectiv For providers already in Kubernetes core, you can run the in-tree cloud controller manager as a Daemonset in your cluster, use the following as a guideline: -{{< code file="cloud-controller-manager-daemonset-example.yaml" >}} +{{< codenew file="admin/cloud/ccm-example.yaml" >}} ## Limitations diff --git a/content/en/docs/tasks/administer-cluster/cloud-controller-manager-daemonset-example.yaml b/content/en/examples/admin/cloud/ccm-example.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/cloud-controller-manager-daemonset-example.yaml rename to content/en/examples/admin/cloud/ccm-example.yaml diff --git a/content/en/docs/tasks/administer-cluster/persistent-volume-label-initializer-config.yaml b/content/en/examples/admin/cloud/pvl-initializer-config.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/persistent-volume-label-initializer-config.yaml rename to content/en/examples/admin/cloud/pvl-initializer-config.yaml diff --git a/content/en/docs/tasks/administer-cluster/busybox.yaml b/content/en/examples/admin/dns/busybox.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/busybox.yaml rename to content/en/examples/admin/dns/busybox.yaml diff --git a/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaler.yaml b/content/en/examples/admin/dns/dns-horizontal-autoscaler.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaler.yaml rename to content/en/examples/admin/dns/dns-horizontal-autoscaler.yaml diff --git a/content/en/docs/tasks/administer-cluster/namespace-dev.json b/content/en/examples/admin/namespace-dev.json similarity index 100% rename from content/en/docs/tasks/administer-cluster/namespace-dev.json rename to content/en/examples/admin/namespace-dev.json diff --git a/content/en/docs/tasks/administer-cluster/namespace-prod.json b/content/en/examples/admin/namespace-prod.json similarity index 100% rename from content/en/docs/tasks/administer-cluster/namespace-prod.json rename to content/en/examples/admin/namespace-prod.json diff --git a/content/en/docs/tasks/administer-cluster/my-scheduler.yaml b/content/en/examples/admin/sched/my-scheduler.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/my-scheduler.yaml rename to content/en/examples/admin/sched/my-scheduler.yaml diff --git a/content/en/docs/tasks/administer-cluster/pod1.yaml b/content/en/examples/admin/sched/pod1.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/pod1.yaml rename to content/en/examples/admin/sched/pod1.yaml diff --git a/content/en/docs/tasks/administer-cluster/pod2.yaml b/content/en/examples/admin/sched/pod2.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/pod2.yaml rename to content/en/examples/admin/sched/pod2.yaml diff --git a/content/en/docs/tasks/administer-cluster/pod3.yaml b/content/en/examples/admin/sched/pod3.yaml similarity index 100% rename from content/en/docs/tasks/administer-cluster/pod3.yaml rename to content/en/examples/admin/sched/pod3.yaml diff --git a/content/en/docs/tasks/access-application-cluster/two-container-pod.yaml b/content/en/examples/pods/two-container-pod.yaml similarity index 100% rename from content/en/docs/tasks/access-application-cluster/two-container-pod.yaml rename to content/en/examples/pods/two-container-pod.yaml diff --git a/content/en/docs/tasks/access-application-cluster/frontend/Dockerfile b/content/en/examples/service/access/Dockerfile similarity index 100% rename from content/en/docs/tasks/access-application-cluster/frontend/Dockerfile rename to content/en/examples/service/access/Dockerfile diff --git a/content/en/docs/tasks/access-application-cluster/frontend/frontend.conf b/content/en/examples/service/access/frontend.conf similarity index 100% rename from content/en/docs/tasks/access-application-cluster/frontend/frontend.conf rename to content/en/examples/service/access/frontend.conf diff --git a/content/en/docs/tasks/access-application-cluster/frontend.yaml b/content/en/examples/service/access/frontend.yaml similarity index 100% rename from content/en/docs/tasks/access-application-cluster/frontend.yaml rename to content/en/examples/service/access/frontend.yaml diff --git a/content/en/docs/tasks/access-application-cluster/hello-service.yaml b/content/en/examples/service/access/hello-service.yaml similarity index 100% rename from content/en/docs/tasks/access-application-cluster/hello-service.yaml rename to content/en/examples/service/access/hello-service.yaml diff --git a/content/en/docs/tasks/access-application-cluster/hello.yaml b/content/en/examples/service/access/hello.yaml similarity index 100% rename from content/en/docs/tasks/access-application-cluster/hello.yaml rename to content/en/examples/service/access/hello.yaml diff --git a/test/examples_test.go b/test/examples_test.go index bbeb694352..278a72e1af 100644 --- a/test/examples_test.go +++ b/test/examples_test.go @@ -309,11 +309,6 @@ func TestExampleObjectSchemas(t *testing.T) { "docs/concepts/overview/working-with-objects": { "nginx-deployment": {&extensions.Deployment{}}, }, - "docs/concepts/policy": { - "privileged-psp": {&policy.PodSecurityPolicy{}}, - "restricted-psp": {&policy.PodSecurityPolicy{}}, - "example-psp": {&policy.PodSecurityPolicy{}}, - }, "docs/concepts/services-networking": { "curlpod": {&extensions.Deployment{}}, "custom-dns": {&api.Pod{}}, @@ -323,58 +318,27 @@ func TestExampleObjectSchemas(t *testing.T) { "nginx-svc": {&api.Service{}}, "run-my-nginx": {&extensions.Deployment{}}, }, - "docs/concepts/workloads/controllers": { - "cronjob": {&batch.CronJob{}}, - "daemonset": {&extensions.DaemonSet{}}, - "frontend": {&extensions.ReplicaSet{}}, - "hpa-rs": {&autoscaling.HorizontalPodAutoscaler{}}, - "job": {&batch.Job{}}, - "nginx-deployment": {&extensions.Deployment{}}, - "my-repset": {&extensions.ReplicaSet{}}, - "replication": {&api.ReplicationController{}}, + "docs/tutorials/clusters": { + "hello-apparmor-pod": {&api.Pod{}}, }, - "docs/tasks/access-application-cluster": { - "frontend": {&api.Service{}, &extensions.Deployment{}}, - "hello-service": {&api.Service{}}, - "hello": {&extensions.Deployment{}}, - "redis-master": {&api.Pod{}}, - "two-container-pod": {&api.Pod{}}, + "docs/tutorials/configuration/configmap/redis": { + "redis-pod": {&api.Pod{}}, }, - "docs/tasks/administer-cluster": { - "busybox": {&api.Pod{}}, - "cloud-controller-manager-daemonset-example": {&api.ServiceAccount{}, &rbac.ClusterRoleBinding{}, &extensions.DaemonSet{}}, - "dns-horizontal-autoscaler": {&extensions.Deployment{}}, - "my-scheduler": {&api.ServiceAccount{}, &rbac.ClusterRoleBinding{}, &extensions.Deployment{}}, - "namespace-dev": {&api.Namespace{}}, - "namespace-prod": {&api.Namespace{}}, - "persistent-volume-label-initializer-config": {&admissionregistration.InitializerConfiguration{}}, - "pod1": {&api.Pod{}}, - "pod2": {&api.Pod{}}, - "pod3": {&api.Pod{}}, + "docs/concepts/overview/object-management-kubectl": { + "simple_deployment": {&extensions.Deployment{}}, + "update_deployment": {&extensions.Deployment{}}, }, - // TODO: decide whether federation examples should be added - "docs/tasks/inject-data-application": { - "commands": {&api.Pod{}}, - "dapi-envars-container": {&api.Pod{}}, - "dapi-envars-pod": {&api.Pod{}}, - "dapi-volume": {&api.Pod{}}, - "dapi-volume-resources": {&api.Pod{}}, - "envars": {&api.Pod{}}, - "podpreset-allow-db": {&settings.PodPreset{}}, - "podpreset-allow-db-merged": {&api.Pod{}}, - "podpreset-configmap": {&api.ConfigMap{}}, - "podpreset-conflict-pod": {&api.Pod{}}, - "podpreset-conflict-preset": {&settings.PodPreset{}}, - "podpreset-merged": {&api.Pod{}}, - "podpreset-multi-merged": {&api.Pod{}}, - "podpreset-pod": {&api.Pod{}}, - "podpreset-preset": {&settings.PodPreset{}}, - "podpreset-proxy": {&settings.PodPreset{}}, - "podpreset-replicaset-merged": {&api.Pod{}}, - "podpreset-replicaset": {&extensions.ReplicaSet{}}, - "secret": {&api.Secret{}}, - "secret-envars-pod": {&api.Pod{}}, - "secret-pod": {&api.Pod{}}, + "examples/admin": { + "namespace-dev": {&api.Namespace{}}, + "namespace-prod": {&api.Namespace{}}, + }, + "examples/admin/cloud": { + "ccm-example": {&api.ServiceAccount{}, &rbac.ClusterRoleBinding{}, &extensions.DaemonSet{}}, + "pvl-initializer-config": {&admissionregistration.InitializerConfiguration{}}, + }, + "examples/admin/dns": { + "busybox": {&api.Pod{}}, + "dns-horizontal-autoscaler": {&extensions.Deployment{}}, }, "examples/admin/resource": { "cpu-constraints": {&api.LimitRange{}}, @@ -404,17 +368,11 @@ func TestExampleObjectSchemas(t *testing.T) { "quota-pod": {&api.ResourceQuota{}}, "quota-pod-deployment": {&extensions.Deployment{}}, }, - "examples/application/job": { - "job-tmpl": {&batch.Job{}}, - "cronjob": {&batch.CronJob{}}, - }, - "examples/application/job/rabbitmq": { - "job": {&batch.Job{}}, - }, - "examples/application/job/redis": { - "job": {&batch.Job{}}, - "redis-pod": {&api.Pod{}}, - "redis-service": {&api.Service{}}, + "examples/admin/sched": { + "my-scheduler": {&api.ServiceAccount{}, &rbac.ClusterRoleBinding{}, &extensions.Deployment{}}, + "pod1": {&api.Pod{}}, + "pod2": {&api.Pod{}}, + "pod3": {&api.Pod{}}, }, "examples/application": { "deployment": {&extensions.Deployment{}}, @@ -424,6 +382,10 @@ func TestExampleObjectSchemas(t *testing.T) { "nginx-with-request": {&extensions.Deployment{}}, "shell-demo": {&api.Pod{}}, }, + "examples/application/cassandra": { + "cassandra-service": {&api.Service{}}, + "cassandra-statefulset": {&apps.StatefulSet{}, &storage.StorageClass{}}, + }, "examples/application/guestbook": { "frontend-deployment": {&extensions.Deployment{}}, "frontend-service": {&api.Service{}}, @@ -432,9 +394,27 @@ func TestExampleObjectSchemas(t *testing.T) { "redis-slave-deployment": {&extensions.Deployment{}}, "redis-slave-service": {&api.Service{}}, }, - "examples/application/cassandra": { - "cassandra-service": {&api.Service{}}, - "cassandra-statefulset": {&apps.StatefulSet{}, &storage.StorageClass{}}, + "examples/application/hpa": { + "php-apache": {&autoscaling.HorizontalPodAutoscaler{}}, + }, + "examples/application/job": { + "cronjob": {&batch.CronJob{}}, + "job-tmpl": {&batch.Job{}}, + }, + "examples/application/job/rabbitmq": { + "job": {&batch.Job{}}, + }, + "examples/application/job/redis": { + "job": {&batch.Job{}}, + "redis-pod": {&api.Pod{}}, + "redis-service": {&api.Service{}}, + }, + "examples/application/mysql": { + "mysql-configmap": {&api.ConfigMap{}}, + "mysql-deployment": {&api.Service{}, &extensions.Deployment{}}, + "mysql-pv": {&api.PersistentVolume{}, &api.PersistentVolumeClaim{}}, + "mysql-services": {&api.Service{}, &api.Service{}}, + "mysql-statefulset": {&apps.StatefulSet{}}, }, "examples/application/web": { "web": {&api.Service{}, &apps.StatefulSet{}}, @@ -456,6 +436,29 @@ func TestExampleObjectSchemas(t *testing.T) { "replication": {&api.ReplicationController{}}, "nginx-deployment": {&extensions.Deployment{}}, }, + "examples/debug": { + "counter-pod": {&api.Pod{}}, + "event-exporter": {&api.ServiceAccount{}, &rbac.ClusterRoleBinding{}, &extensions.Deployment{}}, + "fluentd-gcp-configmap": {&api.ConfigMap{}}, + "fluentd-gcp-ds": {&extensions.DaemonSet{}}, + "node-problem-detector": {&extensions.DaemonSet{}}, + "node-problem-detector-configmap": {&extensions.DaemonSet{}}, + "termination": {&api.Pod{}}, + }, + "examples/podpreset": { + "allow-db": {&settings.PodPreset{}}, + "allow-db-merged": {&api.Pod{}}, + "configmap": {&api.ConfigMap{}}, + "conflict-pod": {&api.Pod{}}, + "conflict-preset": {&settings.PodPreset{}}, + "merged": {&api.Pod{}}, + "multi-merged": {&api.Pod{}}, + "pod": {&api.Pod{}}, + "preset": {&settings.PodPreset{}}, + "proxy": {&settings.PodPreset{}}, + "replicaset-merged": {&api.Pod{}}, + "replicaset": {&extensions.ReplicaSet{}}, + }, "examples/pods": { "commands": {&api.Pod{}}, "init-containers": {&api.Pod{}}, @@ -465,6 +468,17 @@ func TestExampleObjectSchemas(t *testing.T) { "pod-with-pod-affinity": {&api.Pod{}}, "private-reg-pod": {&api.Pod{}}, "share-process-namespace": {&api.Pod{}}, + "two-container-pod": {&api.Pod{}}, + }, + "examples/pods/inject": { + "dapi-envars-container": {&api.Pod{}}, + "dapi-envars-pod": {&api.Pod{}}, + "dapi-volume": {&api.Pod{}}, + "dapi-volume-resources": {&api.Pod{}}, + "envars": {&api.Pod{}}, + "secret": {&api.Secret{}}, + "secret-envars-pod": {&api.Pod{}}, + "secret-pod": {&api.Pod{}}, }, "examples/pods/probe": { "exec-liveness": {&api.Pod{}}, @@ -480,11 +494,11 @@ func TestExampleObjectSchemas(t *testing.T) { "examples/pods/resource": { "cpu-request-limit": {&api.Pod{}}, "cpu-request-limit-2": {&api.Pod{}}, + "extended-resource-pod": {&api.Pod{}}, + "extended-resource-pod-2": {&api.Pod{}}, "memory-request-limit": {&api.Pod{}}, "memory-request-limit-2": {&api.Pod{}}, "memory-request-limit-3": {&api.Pod{}}, - "extended-resource-pod": {&api.Pod{}}, - "extended-resource-pod-2": {&api.Pod{}}, }, "examples/pods/security": { "security-context": {&api.Pod{}}, @@ -504,39 +518,10 @@ func TestExampleObjectSchemas(t *testing.T) { "restricted-psp": {&policy.PodSecurityPolicy{}}, "example-psp": {&policy.PodSecurityPolicy{}}, }, - "docs/tasks/run-application": { - "deployment-patch-demo": {&extensions.Deployment{}}, - "hpa-php-apache": {&autoscaling.HorizontalPodAutoscaler{}}, - }, - "examples/debug": { - "counter-pod": {&api.Pod{}}, - "event-exporter": {&api.ServiceAccount{}, &rbac.ClusterRoleBinding{}, &extensions.Deployment{}}, - "fluentd-gcp-configmap": {&api.ConfigMap{}}, - "fluentd-gcp-ds": {&extensions.DaemonSet{}}, - "node-problem-detector": {&extensions.DaemonSet{}}, - "node-problem-detector-configmap": {&extensions.DaemonSet{}}, - "termination": {&api.Pod{}}, - }, - "examples/application/mysql": { - "mysql-configmap": {&api.ConfigMap{}}, - "mysql-deployment": {&api.Service{}, &extensions.Deployment{}}, - "mysql-pv": {&api.PersistentVolume{}, &api.PersistentVolumeClaim{}}, - "mysql-services": {&api.Service{}, &api.Service{}}, - "mysql-statefulset": {&apps.StatefulSet{}}, - }, - "examples/application/hpa": { - "php-apache": {&autoscaling.HorizontalPodAutoscaler{}}, - }, - "docs/tutorials/clusters": { - "hello-apparmor-pod": {&api.Pod{}}, - "my-scheduler": {&extensions.Deployment{}}, - }, - "docs/tutorials/configuration/configmap/redis": { - "redis-pod": {&api.Pod{}}, - }, - "docs/concepts/overview/object-management-kubectl": { - "simple_deployment": {&extensions.Deployment{}}, - "update_deployment": {&extensions.Deployment{}}, + "examples/service/access": { + "frontend": {&api.Service{}, &extensions.Deployment{}}, + "hello-service": {&api.Service{}}, + "hello": {&extensions.Deployment{}}, }, } From 3dd65e4e953842ff8be11a7b33d7698c952e9675 Mon Sep 17 00:00:00 2001 From: Qiming Date: Wed, 4 Jul 2018 14:58:20 +0800 Subject: [PATCH 099/102] Consolidate YAML files [part-14] (#9379) This PR deals with the getting started guides (windows) and tutorials sections. Since the YAML files in the windows directory currently are not referenced at all, this PR refactored the markdown file to correct this problem. When appropriate, we use the YAML content from the markdown in the extracted version. --- .../getting-started-guides/windows/_index.md | 217 ++---------------- .../windows/emptydir-pod.yaml | 20 -- content/en/docs/tutorials/hello-minikube.md | 4 +- content/en/docs/tutorials/k8s101.md | 38 ++- content/en/docs/tutorials/k8s201.md | 34 +-- .../docs/tutorials/pod-nginx-with-label.yaml | 12 - content/en/docs/tutorials/pod-redis.yaml | 14 -- .../minikube}/Dockerfile | 0 .../tutorials => examples/minikube}/server.js | 0 .../probe}/pod-with-http-healthcheck.yaml | 0 .../pod-with-tcp-socket-healthcheck.yaml | 0 .../pods/simple-pod.yaml} | 0 .../service/nginx-service.yaml} | 0 .../windows/configmap-pod.yaml | 0 content/en/examples/windows/daemonset.yaml | 21 ++ .../en/examples/windows/deploy-hyperv.yaml | 22 ++ .../en/examples/windows/deploy-resource.yaml | 24 ++ content/en/examples/windows/emptydir-pod.yaml | 20 ++ .../windows/hostpath-volume-pod.yaml | 10 +- .../windows/secret-pod.yaml | 8 +- content/en/examples/windows/simple-pod.yaml | 14 ++ test/examples_test.go | 16 ++ 22 files changed, 180 insertions(+), 294 deletions(-) delete mode 100644 content/en/docs/getting-started-guides/windows/emptydir-pod.yaml delete mode 100644 content/en/docs/tutorials/pod-nginx-with-label.yaml delete mode 100644 content/en/docs/tutorials/pod-redis.yaml rename content/en/{docs/tutorials => examples/minikube}/Dockerfile (100%) rename content/en/{docs/tutorials => examples/minikube}/server.js (100%) rename content/en/{docs/tutorials => examples/pods/probe}/pod-with-http-healthcheck.yaml (100%) rename content/en/{docs/tutorials => examples/pods/probe}/pod-with-tcp-socket-healthcheck.yaml (100%) rename content/en/{docs/tutorials/pod-nginx.yaml => examples/pods/simple-pod.yaml} (100%) rename content/en/{docs/tutorials/service.yaml => examples/service/nginx-service.yaml} (100%) rename content/en/{docs/getting-started-guides => examples}/windows/configmap-pod.yaml (100%) create mode 100644 content/en/examples/windows/daemonset.yaml create mode 100644 content/en/examples/windows/deploy-hyperv.yaml create mode 100644 content/en/examples/windows/deploy-resource.yaml create mode 100644 content/en/examples/windows/emptydir-pod.yaml rename content/en/{docs/getting-started-guides => examples}/windows/hostpath-volume-pod.yaml (63%) rename content/en/{docs/getting-started-guides => examples}/windows/secret-pod.yaml (78%) create mode 100644 content/en/examples/windows/simple-pod.yaml diff --git a/content/en/docs/getting-started-guides/windows/_index.md b/content/en/docs/getting-started-guides/windows/_index.md index 5256a9a5dd..5efb00af98 100644 --- a/content/en/docs/getting-started-guides/windows/_index.md +++ b/content/en/docs/getting-started-guides/windows/_index.md @@ -261,112 +261,24 @@ The examples listed below assume running Windows nodes on Windows Server 1709. I ### Scheduling Pods on Windows Because your cluster has both Linux and Windows nodes, you must explicitly set the `nodeSelector` constraint to be able to schedule pods to Windows nodes. You must set nodeSelector with the label `beta.kubernetes.io/os` to the value `windows`; see the following example: -```yaml -{ - "apiVersion": "v1", - "kind": "Pod", - "metadata": { - "name": "iis", - "labels": { - "name": "iis" - } - }, - "spec": { - "containers": [ - { - "name": "iis", - "image": "microsoft/iis:windowsservercore-1709", - "ports": [ - { - "containerPort": 80 - } - ] - } - ], - "nodeSelector": { - "beta.kubernetes.io/os": "windows" - } - } -} -``` +{{< codenew file="windows/simple-pod.yaml" >}} + +{{< note >}} **Note:** This example assumes you are running on Windows Server 1709, so uses the image tag to support that. If you are on a different version, you will need to update the tag. For example, if on Windows Server 2016, update to use `"image": "microsoft/iis"` which will default to that OS version. +{{< /note >}} ### Secrets and ConfigMaps Secrets and ConfigMaps can be utilized in Windows Server Containers, but must be used as environment variables. See limitations section below for additional details. **Examples:** - Windows pod with secrets mapped to environment variables - ```yaml - apiVersion: v1 - kind: Secret - metadata: - name: mysecret - type: Opaque - data: - username: YWRtaW4= - password: MWYyZDFlMmU2N2Rm +Windows pod with secrets mapped to environment variables - --- +{{< codenew file="windows/secret-pod.yaml" >}} - apiVersion: v1 - kind: Pod - metadata: - name: my-secret-pod - spec: - containers: - - name: my-secret-pod - image: microsoft/windowsservercore:1709 - env: - - name: USERNAME - valueFrom: - secretKeyRef: - name: mysecret - key: username - - name: PASSWORD - valueFrom: - secretKeyRef: - name: mysecret - key: password - nodeSelector: - beta.kubernetes.io/os: windows -``` +Windows Pod with configMap values mapped to environment variables - Windows pod with configMap values mapped to environment variables - -```yaml -kind: ConfigMap -apiVersion: v1 -metadata: - name: example-config -data: - example.property.1: hello - example.property.2: world - ---- - -apiVersion: v1 -kind: Pod -metadata: - name: my-configmap-pod -spec: - containers: - - name: my-configmap-pod - image: microsoft/windowsservercore:1709 - env: - - name: EXAMPLE_PROPERTY_1 - valueFrom: - configMapKeyRef: - name: example-config - key: example.property.1 - - name: EXAMPLE_PROPERTY_2 - valueFrom: - configMapKeyRef: - name: example-config - key: example.property.2 - nodeSelector: - beta.kubernetes.io/os: windows -``` +{{< codenew file="windows/configmap-pod.yaml" >}} ### Volumes Some supported Volume Mounts are local, emptyDir, hostPath. One thing to remember is that paths must either be escaped, or use forward slashes, for example `mountPath: "C:\\etc\\foo"` or `mountPath: "C:/etc/foo"`. @@ -375,76 +287,19 @@ Persistent Volume Claims are supported for supported volume types. **Examples:** - Windows pod with a hostPath volume - ```yaml - apiVersion: v1 - kind: Pod - metadata: - name: my-hostpath-volume-pod - spec: - containers: - - name: my-hostpath-volume-pod - image: microsoft/windowsservercore:1709 - volumeMounts: - - name: foo - mountPath: "C:\\etc\\foo" - readOnly: true - nodeSelector: - beta.kubernetes.io/os: windows - volumes: - - name: foo - hostPath: - path: "C:\\etc\\foo" - ``` +Windows pod with a hostPath volume - Windows pod with multiple emptyDir volumes +{{< codenew file="windows/hostpath-volume-pod.yaml" >}} - ```yaml - apiVersion: v1 - kind: Pod - metadata: - name: my-empty-dir-pod - spec: - containers: - - image: microsoft/windowsservercore:1709 - name: my-empty-dir-pod - volumeMounts: - - mountPath: /cache - name: cache-volume - - mountPath: C:/scratch - name: scratch-volume - volumes: - - name: cache-volume - emptyDir: {} - - name: scratch-volume - emptyDir: {} - nodeSelector: - beta.kubernetes.io/os: windows - ``` +Windows pod with multiple emptyDir volumes + +{{< codenew file="windows/emptydir-pod.yaml" >}} ### DaemonSets DaemonSets are supported -```yaml -apiVersion: extensions/v1beta1 -kind: DaemonSet -metadata: - name: my-DaemonSet - labels: - app: foo -spec: - template: - metadata: - labels: - app: foo - spec: - containers: - - name: foo - image: microsoft/windowsservercore:1709 - nodeSelector: - beta.kubernetes.io/os: windows -``` +{{< codenew file="windows/daemonset.yaml" >}} ### Metrics @@ -454,53 +309,13 @@ Windows Stats use a hybrid model: pod and container level stats come from CRI (v Container resources (CPU and memory) could be set now for windows containers in v1.10. -```yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: iis -spec: - replicas: 3 - template: - metadata: - labels: - app: iis - spec: - containers: - - name: iis - image: microsoft/iis - resources: - limits: - memory: "128Mi" - cpu: 2 - ports: - - containerPort: 80 -``` +{{< codenew file="windows/deploy-resource.yaml" >}} ### Hyper-V Containers Hyper-V containers are supported as experimental in v1.10. To create a Hyper-V container, kubelet should be started with feature gates `HyperVContainer=true` and Pod should include annotation `experimental.windows.kubernetes.io/isolation-type=hyperv`. -```yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: iis -spec: - replicas: 3 - template: - metadata: - labels: - app: iis - annotations: - experimental.windows.kubernetes.io/isolation-type: hyperv - spec: - containers: - - name: iis - image: microsoft/iis - ports: - - containerPort: 80 -``` +{{< codenew file="windows/deploy-hyperv.yaml" >}} ### Kubelet and kube-proxy can now run as Windows services diff --git a/content/en/docs/getting-started-guides/windows/emptydir-pod.yaml b/content/en/docs/getting-started-guides/windows/emptydir-pod.yaml deleted file mode 100644 index 8a3a2133a6..0000000000 --- a/content/en/docs/getting-started-guides/windows/emptydir-pod.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: empty-dir-pod -spec: - containers: - - image: redis:3.0-nanoserver - name: empty-dir-redis - volumeMounts: - - mountPath: /cache - name: cache-volume - - mountPath: C:/scratch - name: scratch-volume - volumes: - - name: cache-volume - emptyDir: {} - - name: scratch-volume - emptyDir: {} - nodeSelector: - beta.kubernetes.io/os: windows \ No newline at end of file diff --git a/content/en/docs/tutorials/hello-minikube.md b/content/en/docs/tutorials/hello-minikube.md index edd5c9a31d..4e99229e8f 100644 --- a/content/en/docs/tutorials/hello-minikube.md +++ b/content/en/docs/tutorials/hello-minikube.md @@ -148,7 +148,7 @@ minikube dashboard The next step is to write the application. Save this code in a folder named `hellonode` with the filename `server.js`: -{{< code language="js" file="server.js" >}} +{{< codenew language="js" file="minikube/server.js" >}} Run your application: @@ -168,7 +168,7 @@ Create a file, also in the `hellonode` folder, named `Dockerfile`. A Dockerfile the image that you want to build. You can build a Docker container image by extending an existing image. The image in this tutorial extends an existing Node.js image. -{{< code language="conf" file="Dockerfile" >}} +{{< codenew language="conf" file="minikube/Dockerfile" >}} This recipe for the Docker image starts from the official Node.js LTS image found in the Docker registry, exposes port 8080, copies your `server.js` file diff --git a/content/en/docs/tutorials/k8s101.md b/content/en/docs/tutorials/k8s101.md index 20b686121f..1498254078 100644 --- a/content/en/docs/tutorials/k8s101.md +++ b/content/en/docs/tutorials/k8s101.md @@ -35,7 +35,7 @@ For more information, see [Pods](/docs/concepts/workloads/pods/pod/). The simplest Pod definition describes the deployment of a single container. For example, an nginx web server Pod might be defined as: -{{< code file="pod-nginx.yaml" >}} +{{< codenew file="pods/simple-pod.yaml" >}} A Pod definition is a declaration of a _desired state_. Desired state is a very important concept in the Kubernetes model. Many things present a desired state to the system, and Kubernetes' ensures that the current state matches the desired state. For example, when you create a Pod and declare that the containers in it to be running. If the containers happen not to be running because of a program failure, Kubernetes continues to (re-)create the Pod in order to drive the pod to the desired state. This process continues until you delete the Pod. @@ -44,10 +44,10 @@ For more information, see [Kubernetes Design Documents and Proposals](https://gi #### Pod Management -Create a Pod containing an nginx server ([pod-nginx.yaml](/docs/tutorials/pod-nginx.yaml)): +Create a Pod containing an nginx server ([simple-pod.yaml](/examples/pods/simple-pod.yaml)): ```shell -$ kubectl create -f docs/tutorials/pod-nginx.yaml +$ kubectl create -f https://k8s.io/examples/pods/simple-pod.yaml ``` List all Pods: @@ -85,27 +85,25 @@ In this example you can create a Redis Pod with a named volume, and a volume mou 1. Define a Volume: -```yaml -volumes: - - name: redis-persistent-storage - emptyDir: {} -``` + ```yaml + volumes: + - name: redis-storage + emptyDir: {} + ``` -2. Define a Volume mount within a container definition: +1. Define a Volume mount within a container definition: -```yaml -volumeMounts: -    # name must match the volume name defined in volumes -    - name: redis-persistent-storage - # mount path within the container - mountPath: /data/redis -``` + ```yaml + volumeMounts: +  # name must match the volume name defined in volumes +  - name: redis-storage + # mount path within the container + mountPath: /data/redis + ``` +Here is an example of Redis Pod definition with a persistent storage volume ([redis.yaml](/examples/pods/storage/redis.yaml)): -Here is an example of Redis Pod definition with a persistent storage volume ([pod-redis.yaml](/docs/tutorials/pod-redis.yaml)): - - -{{< code file="pod-redis.yaml" >}} +{{< codenew file="pods/storage/redis.yaml" >}} Where: diff --git a/content/en/docs/tutorials/k8s201.md b/content/en/docs/tutorials/k8s201.md index 899b6399b9..fe62d1a04c 100644 --- a/content/en/docs/tutorials/k8s201.md +++ b/content/en/docs/tutorials/k8s201.md @@ -26,29 +26,29 @@ To add a label, add a labels section under metadata in the Pod definition: ```yaml labels: - app: nginx + env: test ``` -For example, here is the nginx Pod definition with labels ([pod-nginx-with-label.yaml](/docs/tutorials/pod-nginx-with-label.yaml)): +For example, here is the nginx Pod definition with labels ([pod-nginx.yaml](/examples/pods/pod-nginx.yaml)): -{{< code file="pod-nginx-with-label.yaml" >}} +{{< codenew file="pods/pod-nginx.yaml" >}} -Create the labeled Pod ([pod-nginx-with-label.yaml](/docs/tutorials/pod-nginx-with-label.yaml)): +Create the labeled Pod: ```shell -kubectl create -f https://k8s.io/docs/tutorials/pod-nginx-with-label.yaml +kubectl create -f https://k8s.io/examples/pods/pod-nginx.yaml ``` -List all Pods with the label `app=nginx`: +List all Pods with the label `env=test`: ```shell -kubectl get pods -l app=nginx +kubectl get pods -l env=test ``` Delete the Pod by label: ```shell -kubectl delete pod -l app=nginx +kubectl delete pod -l env=test ``` For more information, see [Labels](/docs/concepts/overview/working-with-objects/labels/). @@ -116,17 +116,17 @@ For more information, such as how to rollback Deployment changes to a previous v Once you have a replicated set of Pods, you need an abstraction that enables connectivity between the layers of your application. For example, if you have a Deployment managing your backend jobs, you don't want to have to reconfigure your front-ends whenever you re-scale your backends. Likewise, if the Pods in your backends are scheduled (or rescheduled) onto different machines, you can't be required to re-configure your front-ends. In Kubernetes, the service abstraction achieves these goals. A service provides a way to refer to a set of Pods (selected by labels) with a single static IP address. It may also provide load balancing, if supported by the provider. -For example, here is a service that balances across the Pods created in the previous nginx Deployment example ([service.yaml](/docs/tutorials/service.yaml)): +For example, here is a service that balances across the Pods created in the previous nginx Deployment example ([service.yaml](/examples/service/nginx-service.yaml)): -{{< code file="service.yaml" >}} +{{< codenew file="service/nginx-service.yaml" >}} ### Service Management -Create an nginx service ([service.yaml](/docs/tutorials/service.yaml)): +Create an nginx Service: ```shell -kubectl create -f https://k8s.io/docs/tutorials/service.yaml +kubectl create -f https://k8s.io/examples/service/nginx-service.yaml ``` List all services: @@ -221,13 +221,15 @@ In all cases, if the Kubelet discovers a failure the container is restarted. The container health checks are configured in the `livenessProbe` section of your container config. There you can also specify an `initialDelaySeconds` that is a grace period from when the container is started to when health checks are performed, to enable your container to perform any necessary initialization. -Here is an example config for a Pod with an HTTP health check ([pod-with-http-healthcheck.yaml](/docs/tutorials/pod-with-http-healthcheck.yaml)): +Here is an example config for a Pod with an HTTP health check +([pod-with-http-healthcheck.yaml](/examples/pods/probe/pod-with-http-healthcheck.yaml)): -{{< code file="pod-with-http-healthcheck.yaml" >}} +{{< codenew file="pods/probe/pod-with-http-healthcheck.yaml" >}} -And here is an example config for a Pod with a TCP Socket health check ([pod-with-tcp-socket-healthcheck.yaml](/docs/tutorials/pod-with-tcp-socket-healthcheck.yaml)): +And here is an example config for a Pod with a TCP Socket health check +([pod-with-tcp-socket-healthcheck.yaml](/examples/pods/probe/pod-with-tcp-socket-healthcheck.yaml)): -{{< code file="pod-with-tcp-socket-healthcheck.yaml" >}} +{{< codenew file="pods/probe/pod-with-tcp-socket-healthcheck.yaml" >}} For more information about health checking, see [Container Probes](/docs/user-guide/pod-states/#container-probes). diff --git a/content/en/docs/tutorials/pod-nginx-with-label.yaml b/content/en/docs/tutorials/pod-nginx-with-label.yaml deleted file mode 100644 index 7053af0be4..0000000000 --- a/content/en/docs/tutorials/pod-nginx-with-label.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: nginx - labels: - app: nginx -spec: - containers: - - name: nginx - image: nginx - ports: - - containerPort: 80 diff --git a/content/en/docs/tutorials/pod-redis.yaml b/content/en/docs/tutorials/pod-redis.yaml deleted file mode 100644 index f000658079..0000000000 --- a/content/en/docs/tutorials/pod-redis.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: redis -spec: - containers: - - name: redis - image: redis - volumeMounts: - - name: redis-persistent-storage - mountPath: /data/redis - volumes: - - name: redis-persistent-storage - emptyDir: {} diff --git a/content/en/docs/tutorials/Dockerfile b/content/en/examples/minikube/Dockerfile similarity index 100% rename from content/en/docs/tutorials/Dockerfile rename to content/en/examples/minikube/Dockerfile diff --git a/content/en/docs/tutorials/server.js b/content/en/examples/minikube/server.js similarity index 100% rename from content/en/docs/tutorials/server.js rename to content/en/examples/minikube/server.js diff --git a/content/en/docs/tutorials/pod-with-http-healthcheck.yaml b/content/en/examples/pods/probe/pod-with-http-healthcheck.yaml similarity index 100% rename from content/en/docs/tutorials/pod-with-http-healthcheck.yaml rename to content/en/examples/pods/probe/pod-with-http-healthcheck.yaml diff --git a/content/en/docs/tutorials/pod-with-tcp-socket-healthcheck.yaml b/content/en/examples/pods/probe/pod-with-tcp-socket-healthcheck.yaml similarity index 100% rename from content/en/docs/tutorials/pod-with-tcp-socket-healthcheck.yaml rename to content/en/examples/pods/probe/pod-with-tcp-socket-healthcheck.yaml diff --git a/content/en/docs/tutorials/pod-nginx.yaml b/content/en/examples/pods/simple-pod.yaml similarity index 100% rename from content/en/docs/tutorials/pod-nginx.yaml rename to content/en/examples/pods/simple-pod.yaml diff --git a/content/en/docs/tutorials/service.yaml b/content/en/examples/service/nginx-service.yaml similarity index 100% rename from content/en/docs/tutorials/service.yaml rename to content/en/examples/service/nginx-service.yaml diff --git a/content/en/docs/getting-started-guides/windows/configmap-pod.yaml b/content/en/examples/windows/configmap-pod.yaml similarity index 100% rename from content/en/docs/getting-started-guides/windows/configmap-pod.yaml rename to content/en/examples/windows/configmap-pod.yaml diff --git a/content/en/examples/windows/daemonset.yaml b/content/en/examples/windows/daemonset.yaml new file mode 100644 index 0000000000..d3a7bb6636 --- /dev/null +++ b/content/en/examples/windows/daemonset.yaml @@ -0,0 +1,21 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: my-daemonset + labels: + app: foo +spec: + selector: + matchLabels: + app: foo + template: + metadata: + labels: + app: foo + spec: + containers: + - name: foo + image: microsoft/windowsservercore:1709 + nodeSelector: + beta.kubernetes.io/os: windows + diff --git a/content/en/examples/windows/deploy-hyperv.yaml b/content/en/examples/windows/deploy-hyperv.yaml new file mode 100644 index 0000000000..c8b71ce8cb --- /dev/null +++ b/content/en/examples/windows/deploy-hyperv.yaml @@ -0,0 +1,22 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: iis +spec: + selector: + matchLabels: + app: iis + replicas: 3 + template: + metadata: + labels: + app: iis + annotations: + experimental.windows.kubernetes.io/isolation-type: hyperv + spec: + containers: + - name: iis + image: microsoft/iis + ports: + - containerPort: 80 + diff --git a/content/en/examples/windows/deploy-resource.yaml b/content/en/examples/windows/deploy-resource.yaml new file mode 100644 index 0000000000..81207a3804 --- /dev/null +++ b/content/en/examples/windows/deploy-resource.yaml @@ -0,0 +1,24 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: iis +spec: + replicas: 3 + selector: + matchLabels: + app: iis + template: + metadata: + labels: + app: iis + spec: + containers: + - name: iis + image: microsoft/iis + resources: + limits: + memory: "128Mi" + cpu: 2 + ports: + - containerPort: 80 + diff --git a/content/en/examples/windows/emptydir-pod.yaml b/content/en/examples/windows/emptydir-pod.yaml new file mode 100644 index 0000000000..3210576a59 --- /dev/null +++ b/content/en/examples/windows/emptydir-pod.yaml @@ -0,0 +1,20 @@ + apiVersion: v1 + kind: Pod + metadata: + name: my-empty-dir-pod + spec: + containers: + - image: microsoft/windowsservercore:1709 + name: my-empty-dir-pod + volumeMounts: + - mountPath: /cache + name: cache-volume + - mountPath: C:/scratch + name: scratch-volume + volumes: + - name: cache-volume + emptyDir: {} + - name: scratch-volume + emptyDir: {} + nodeSelector: + beta.kubernetes.io/os: windows diff --git a/content/en/docs/getting-started-guides/windows/hostpath-volume-pod.yaml b/content/en/examples/windows/hostpath-volume-pod.yaml similarity index 63% rename from content/en/docs/getting-started-guides/windows/hostpath-volume-pod.yaml rename to content/en/examples/windows/hostpath-volume-pod.yaml index 994b48e6f0..843250c80c 100644 --- a/content/en/docs/getting-started-guides/windows/hostpath-volume-pod.yaml +++ b/content/en/examples/windows/hostpath-volume-pod.yaml @@ -4,15 +4,15 @@ metadata: name: hostpath-volume-pod spec: containers: - - name: hostpath-redis - image: redis:3.0-nanoserver + - name: my-hostpath-volume-pod + image: microsoft/windowsservercore:1709 volumeMounts: - - name: blah + - name: foo mountPath: "C:\\etc\\foo" readOnly: true nodeSelector: beta.kubernetes.io/os: windows volumes: - - name: blah + - name: foo hostPath: - path: "C:\\etc\\foo" + path: "C:\\etc\\foo" diff --git a/content/en/docs/getting-started-guides/windows/secret-pod.yaml b/content/en/examples/windows/secret-pod.yaml similarity index 78% rename from content/en/docs/getting-started-guides/windows/secret-pod.yaml rename to content/en/examples/windows/secret-pod.yaml index 4bbfb671b2..f4a8122c0a 100644 --- a/content/en/docs/getting-started-guides/windows/secret-pod.yaml +++ b/content/en/examples/windows/secret-pod.yaml @@ -12,11 +12,11 @@ data: apiVersion: v1 kind: Pod metadata: - name: mypod-secret + name: my-secret-pod spec: containers: - - name: mypod-secret - image: redis:3.0-nanoserver + - name: my-secret-pod + image: microsoft/windowsservercore:1709 env: - name: USERNAME valueFrom: @@ -29,4 +29,4 @@ spec: name: mysecret key: password nodeSelector: - beta.kubernetes.io/os: windows \ No newline at end of file + beta.kubernetes.io/os: windows diff --git a/content/en/examples/windows/simple-pod.yaml b/content/en/examples/windows/simple-pod.yaml new file mode 100644 index 0000000000..f056f3cf0a --- /dev/null +++ b/content/en/examples/windows/simple-pod.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Pod +metadata: + name: iis + labels: + name: iis +spec: + containers: + - name: iis + image: microsoft/iis:windowsservercore-1709 + ports: + - containerPort: 80 + nodeSelector: + "beta.kubernetes.io/os": windows diff --git a/test/examples_test.go b/test/examples_test.go index 278a72e1af..a639ee5a8e 100644 --- a/test/examples_test.go +++ b/test/examples_test.go @@ -468,6 +468,7 @@ func TestExampleObjectSchemas(t *testing.T) { "pod-with-pod-affinity": {&api.Pod{}}, "private-reg-pod": {&api.Pod{}}, "share-process-namespace": {&api.Pod{}}, + "simple-pod": {&api.Pod{}}, "two-container-pod": {&api.Pod{}}, }, "examples/pods/inject": { @@ -483,6 +484,8 @@ func TestExampleObjectSchemas(t *testing.T) { "examples/pods/probe": { "exec-liveness": {&api.Pod{}}, "http-liveness": {&api.Pod{}}, + "pod-with-http-healthcheck": {&api.Pod{}}, + "pod-with-tcp-socket-healthcheck": {&api.Pod{}}, "tcp-liveness-readiness": {&api.Pod{}}, }, "examples/pods/qos": { @@ -518,11 +521,24 @@ func TestExampleObjectSchemas(t *testing.T) { "restricted-psp": {&policy.PodSecurityPolicy{}}, "example-psp": {&policy.PodSecurityPolicy{}}, }, + "examples/service": { + "nginx-service": {&api.Service{}}, + }, "examples/service/access": { "frontend": {&api.Service{}, &extensions.Deployment{}}, "hello-service": {&api.Service{}}, "hello": {&extensions.Deployment{}}, }, + "examples/windows": { + "configmap-pod": {&api.ConfigMap{}, &api.Pod{}}, + "daemonset": {&extensions.DaemonSet{}}, + "deploy-hyperv": {&extensions.Deployment{}}, + "deploy-resource": {&extensions.Deployment{}}, + "emptydir-pod": {&api.Pod{}}, + "hostpath-volume-pod": {&api.Pod{}}, + "secret-pod": {&api.Secret{}, &api.Pod{}}, + "simple-pod": {&api.Pod{}}, + }, } // Note a key in the following map has to be complete relative path From 3d01d17b694263f9a8cca8ec0fdb46ebc903e21e Mon Sep 17 00:00:00 2001 From: Ben Chelli Date: Wed, 4 Jul 2018 03:02:21 -0400 Subject: [PATCH 100/102] Swap memory-demo by cpu-demo in the assign-cpu-resource page (#9376) * Swap memory-demo by cpu-demo * Make the number match --- .../docs/tasks/configure-pod-container/assign-cpu-resource.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md b/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md index a45fe770b4..6c9769ec40 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md +++ b/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md @@ -108,7 +108,7 @@ resources: Use `kubectl top` to fetch the metrics for the pod: ```shell -kubectl top pod memory-demo +kubectl top pod cpu-demo --namespace=cpu-example ``` The output shows that the Pod is using 974 millicpu, which is just a bit less than @@ -116,7 +116,7 @@ the limit of 1 cpu specified in the Pod's configuration file. ``` NAME CPU(cores) MEMORY(bytes) -memory-demo 794m +cpu-demo 974m ``` Recall that by setting `-cpu "2"`, you configured the Container to attempt to use 2 cpus. From fee1cfafddfe89a1d9f818d243c2e1bcfce3e445 Mon Sep 17 00:00:00 2001 From: daemon <19921207pq@gmail.com> Date: Thu, 5 Jul 2018 17:04:19 +0800 Subject: [PATCH 101/102] Fix example error about selector duplicated #8199 (#9388) --- .../overview/object-management-kubectl/declarative-config.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/content/en/docs/concepts/overview/object-management-kubectl/declarative-config.md b/content/en/docs/concepts/overview/object-management-kubectl/declarative-config.md index fda41e836f..d46638acbe 100644 --- a/content/en/docs/concepts/overview/object-management-kubectl/declarative-config.md +++ b/content/en/docs/concepts/overview/object-management-kubectl/declarative-config.md @@ -743,9 +743,6 @@ spec: app: nginx minReadySeconds: 5 replicas: 1 # defaulted by apiserver - selector: - matchLabels: - app: nginx strategy: rollingUpdate: # defaulted by apiserver - derived from strategy.type maxSurge: 1 From a0ec957fde39be3a290cf4a629e92d10e78fb1d2 Mon Sep 17 00:00:00 2001 From: AgentK Date: Thu, 5 Jul 2018 10:19:22 -0500 Subject: [PATCH 102/102] Fix typo in example script (#9381) Variable reference should be $ETCDHOSTS, not $ETCDHOST --- .../docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md b/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md index 2183108df5..c8915627ac 100644 --- a/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md +++ b/content/en/docs/tasks/administer-cluster/setup-ha-etcd-with-kubeadm.md @@ -91,7 +91,7 @@ this example. peerCertSANs: - "${HOST}" extraArgs: - initial-cluster: infra0=https://${ETCDHOST[0]}:2380,infra1=https://${ETCDHOST[1]}:2380,infra2=https://${ETCDHOST[2]}:2380 + initial-cluster: infra0=https://${ETCDHOSTS[0]}:2380,infra1=https://${ETCDHOSTS[1]}:2380,infra2=https://${ETCDHOSTS[2]}:2380 initial-cluster-state: new name: ${NAME} listen-peer-urls: https://${HOST}:2380