Paths -> Absolute

This commit is contained in:
John Mulhausen
2016-02-18 19:56:19 -08:00
parent f9d5238c50
commit d63d674cde
56 changed files with 103 additions and 99 deletions
+12
View File
@@ -111,6 +111,8 @@ toc:
path: /v1.1/docs/user-guide/downward-api/
- title: Updating Live Pods
path: /v1.1/docs/user-guide/update-demo/
- title: Running Commands in a Container with kubectl exec
path: /v1.1/docs/user-guide/getting-into-containers/
- title: Networking
section:
@@ -124,6 +126,10 @@ toc:
path: https://github.com/kubernetes/kubernetes/blob/release-1.1/examples/simple-nginx.md
- title: Using DNS Pods and Services
path: /v1.1/docs/admin/dns/
- title: Connect with Proxies
path: /v1.1/docs/user-guide/connecting-to-applications-proxy/
- title: Connect with Port Forwarding
path: /v1.1/docs/user-guide/connecting-to-applications-port-forward/
- title: Configuring Kubernetes
section:
@@ -143,9 +149,13 @@ toc:
path: /v1.1/docs/admin/garbage-collection/
- title: Configuring Kubernetes with Salt
path: /v1.1/docs/admin/salt/
- title: Best Practices for Configuration
path: /v1.1/docs/user-guide/config-best-practices/
- title: Application Management and Deployment
section:
- title: Managing Applications: Prerequisites
path: /v1.1/docs/user-guide/prereqs/
- title: Managing Deployments
path: /v1.1/docs/user-guide/managing-deployments/
- title: Deploying Applications
@@ -163,3 +173,5 @@ toc:
path: https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/explorer
- title: Resource Usage Monitoring
path: /v1.1/docs/user-guide/monitoring/
- title: Logging
path: /v1.1/docs/user-guide/logging/
+2 -10
View File
@@ -6,22 +6,14 @@ toc:
- title: Troubleshooting
section:
- title: Troubleshooting Overview
path: /v1.1/docs/troubleshooting/
- title: Web Interface
path: /v1.1/docs/user-guide/ui/
- title: Logging
path: /v1.1/docs/user-guide/logging/
- title: Container Access (exec)
path: /v1.1/docs/user-guide/getting-into-containers/
- title: Connect with Proxies
path: /v1.1/docs/user-guide/connecting-to-applications-proxy/
- title: Connect with Port Forwarding
path: /v1.1/docs/user-guide/connecting-to-applications-port-forward/
- title: Troubleshooting Applications
path: /v1.1/docs/user-guide/application-troubleshooting/
- title: Troubleshooting Clusters
path: /v1.1/docs/admin/cluster-troubleshooting/
- title: Best Practices for Configuration
path: /v1.1/docs/user-guide/config-best-practices/
- title: Frequently Asked Questions
section:
+1 -1
View File
@@ -97,7 +97,7 @@ then the plug-in auto-populates a compute resource request based on historical u
If there is not enough data to make a decision the Request is left unchanged.
When the plug-in sets a compute resource request, it annotates the pod with information on what compute resources it auto-populated.
See the [InitialResouces proposal](../proposals/initial-resources) for more details.
See the [InitialResouces proposal](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/proposals/initial-resources.md) for more details.
### NamespaceExists (deprecated)
+1 -1
View File
@@ -4,7 +4,7 @@ title: "Cluster Troubleshooting"
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](/{{page.version}}/docs/user-guide/application-troubleshooting) for tips on application debugging.
You may also visit [troubleshooting document](../troubleshooting) for more information.
You may also visit [troubleshooting document](/{{page.version}}/docs/troubleshooting/) for more information.
## Listing your cluster
+2 -2
View File
@@ -158,12 +158,12 @@ all or certain hosts, and when it needs to start before other pods.
## Caveats
DaemonSet objects are in the [`extensions` API Group](../api/#api-groups).
DaemonSet objects are in the [`extensions` API Group](/{{page.version}}/docs/api/)#api-groups).
DaemonSet is not enabled by default. Enable it by setting
`--runtime-config=extensions/v1beta1/daemonsets=true` on the api server. This can be
achieved by exporting ENABLE_DAEMONSETS=true before running kube-up.sh script
on GCE.
DaemonSet objects effectively have [API version `v1alpha1`](../api/#api-versioning).
DaemonSet objects effectively have [API version `v1alpha1`](/{{page.version}}/docs/api/)#api-versioning).
Alpha objects may change or even be discontinued in future software releases.
However, due to to a known issue, they will appear as API version `v1beta1` if enabled.
+1 -1
View File
@@ -185,7 +185,7 @@ master election. On each of the three apiserver nodes, we run a small utility a
election protocol using etcd "compare and swap". If the apiserver node wins the election, it starts the master component it is managing (e.g. the scheduler), if it
loses the election, it ensures that any master components running on the node (e.g. the scheduler) are stopped.
In the future, we expect to more tightly integrate this lease-locking into the scheduler and controller-manager binaries directly, as described in the [high availability design proposal](../proposals/high-availability)
In the future, we expect to more tightly integrate this lease-locking into the scheduler and controller-manager binaries directly, as described in the [high availability design proposal](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/proposals/high-availability.md)
### Installing configuration files
+1 -1
View File
@@ -7,7 +7,7 @@ This document describes some of the issues to consider when making a decision ab
Note that at present,
Kubernetes does not offer a mechanism to aggregate multiple clusters into a single virtual cluster. However,
we [plan to do this in the future](../proposals/federation).
we [plan to do this in the future](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/proposals/federation.md).
## Scope of a single cluster
+1 -1
View File
@@ -60,7 +60,7 @@ in more detail in the [API Changes documentation](/{{page.version}}/docs/devel/a
## API groups
To make it easier to extend the Kubernetes API, we are in the process of implementing [*API
groups*](proposals/api-group). These are simply different interfaces to read and/or modify the
groups*](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/proposals/api-group.md). These are simply different interfaces to read and/or modify the
same underlying resources. The API group is specified in a REST path and in the `apiVersion` field
of a serialized object.
+1 -1
View File
@@ -10,7 +10,7 @@ using resources with kubectl can be found in [Working with resources](/{{page.ve
* TOC
{:toc}
The conventions of the [Kubernetes API](../api) (and related APIs in the ecosystem) are intended to ease client development and ensure that configuration mechanisms can be implemented that work across a diverse set of use cases consistently.
The conventions of the [Kubernetes API](/{{page.version}}/docs/api/) (and related APIs in the ecosystem) are intended to ease client development and ensure that configuration mechanisms can be implemented that work across a diverse set of use cases consistently.
The general style of the Kubernetes API is RESTful - clients create, update, delete, or retrieve a description of an object via the standard HTTP verbs (POST, PUT, DELETE, and GET) - and those APIs preferentially accept and return JSON. Kubernetes also exposes additional endpoints for non-standard verbs and allows alternative content types. All of the JSON accepted and returned by the server has a schema, identified by the "kind" and "apiVersion" fields. Where relevant HTTP header fields exist, they should mirror the content of JSON fields, but the information should not be represented only in the HTTP header.
+2 -2
View File
@@ -252,7 +252,7 @@ Compatibility for experimental or alpha APIs is not strictly required, but
breaking compatibility should not be done lightly, as it disrupts all users of the
feature. Experimental APIs may be removed. Alpha and beta API versions may be deprecated
and eventually removed wholesale, as described in the [versioning document](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/design/versioning.md).
Document incompatible changes across API versions under the [conversion tips](../api).
Document incompatible changes across API versions under the [conversion tips](/{{page.version}}/docs/api/).
If your change is going to be backward incompatible or might be a breaking change for API
consumers, please send an announcement to `kubernetes-dev@googlegroups.com` before
@@ -564,7 +564,7 @@ New feature development proceeds through a series of stages of increasing maturi
upgrade may require downtime for anything relying on the new feature, and may require
manual conversion of objects to the new version; when manual conversion is necessary, the
project will provide documentation on the process (for an example, see [v1 conversion
tips](../api))
tips](/{{page.version}}/docs/api/))
- Cluster Reliability: since the feature has e2e tests, enabling the feature via a flag should not
create new bugs in unrelated features; because the feature is new, it may have minor bugs
- Support: the project commits to complete the feature, in some form, in a subsequent Stable
+1 -1
View File
@@ -251,7 +251,7 @@ my-nginx nginx run=my-nginx 3
```
We did not start any services, hence there are none listed. But we see three replicas displayed properly.
Check the [guestbook](https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook/) application to learn how to create a service.
Check the [guestbook](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/guestbook/) application to learn how to create a service.
You can already play with scaling the replicas with:
```shell
+1 -1
View File
@@ -35,7 +35,7 @@ the policies used are selected by the functions `defaultPredicates()` and `defau
However, the choice of policies
can be overridden by passing the command-line flag `--policy-config-file` to the scheduler, pointing to a JSON
file specifying which scheduling policies to use. See
[examples/scheduler-policy-config.json](https://github.com/kubernetes/kubernetes/tree/master/examples/scheduler-policy-config.json) for an example
[examples/scheduler-policy-config.json](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/scheduler-policy-config.json) for an example
config file. (Note that the config file format is versioned; the API is defined in
[plugin/pkg/scheduler/api](http://releases.k8s.io/release-1.1/plugin/pkg/scheduler/api/)).
Thus to add a new scheduling policy, you should modify predicates.go or priorities.go,
+1 -1
View File
@@ -8,7 +8,7 @@ For each unscheduled Pod, the Kubernetes scheduler tries to find a node across t
The purpose of filtering the nodes is to filter out the nodes that do not meet certain requirements of the Pod. For example, if the free resource on a node (measured by the capacity minus the sum of the resource requests of all the Pods that already run on the node) is less than the Pod's required resource, the node should not be considered in the ranking phase so it is filtered out. Currently, there are several "predicates" implementing different filtering policies, including:
- `NoDiskConflict`: Evaluate if a pod can fit due to the volumes it requests, and those that are already mounted.
- `PodFitsResources`: Check if the free resource (CPU and Memory) meets the requirement of the Pod. The free resource is measured by the capacity minus the sum of requests of all Pods on the node. To learn more about the resource QoS in Kubernetes, please check [QoS proposal](../proposals/resource-qos).
- `PodFitsResources`: Check if the free resource (CPU and Memory) meets the requirement of the Pod. The free resource is measured by the capacity minus the sum of requests of all Pods on the node. To learn more about the resource QoS in Kubernetes, please check [QoS proposal](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/proposals/resource-qos.md).
- `PodFitsHostPorts`: Check if any HostPort required by the Pod is already occupied on the node.
- `PodFitsHost`: Filter out all nodes except the one specified in the PodSpec's NodeName field.
- `PodSelectorMatches`: Check if the labels of the node match the labels specified in the Pod's `nodeSelector` field ([Here](/{{page.version}}/docs/user-guide/node-selection/) is an example of how to use `nodeSelector` field).
@@ -46,7 +46,7 @@ These guidelines say *what* to do. See the Rationale section for *why*.
If you have a cluster partially working, but doing all the above steps seems like too much work,
we still want to hear from you. We suggest you write a blog post or a Gist, and we will link to it on our wiki page.
Just file an issue or chat us on [Slack](../troubleshooting/#slack) and one of the committers will link to it from the wiki.
Just file an issue or chat us on [Slack](/{{page.version}}/docs/troubleshooting/)#slack) and one of the committers will link to it from the wiki.
## Development Distro Guidelines
+2 -2
View File
@@ -84,9 +84,9 @@ For more information, please read [kubeconfig files](/{{page.version}}/docs/user
See [a simple nginx example](/{{page.version}}/docs/user-guide/simple-nginx) to try out your new cluster.
The "Guestbook" application is another popular example to get started with Kubernetes: [guestbook example](https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook/)
The "Guestbook" application is another popular example to get started with Kubernetes: [guestbook example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/guestbook/)
For more complete applications, please look in the [examples directory](https://github.com/kubernetes/kubernetes/tree/master/examples/)
For more complete applications, please look in the [examples directory](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/)
## Tearing down the cluster
@@ -212,7 +212,7 @@ You then should be able to access it from anywhere via the Azure virtual IP for
You now have a full-blow cluster running in Azure, congrats!
You should probably try deploy other [example apps](../../../../examples/) or write your own ;)
You should probably try deploy other [example apps](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/) or write your own ;)
## Tear down...
@@ -117,4 +117,4 @@ Once complete, restart the server. When it comes back up, you should have SSH a
## Testing the Cluster
You should now have a functional bare-metal Kubernetes cluster with one master and two compute hosts.
Try running the [guestbook demo](https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook/) to test out your new cluster!
Try running the [guestbook demo](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/guestbook/) to test out your new cluster!
@@ -648,7 +648,7 @@ Now that the CoreOS with Kubernetes installed is up and running lets spin up som
See [a simple nginx example](/{{page.version}}/docs/user-guide/simple-nginx) to try out your new cluster.
For more complete applications, please look in the [examples directory](https://github.com/kubernetes/kubernetes/tree/master/examples/).
For more complete applications, please look in the [examples directory](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/).
## Helping commands for debugging
+2 -2
View File
@@ -28,7 +28,7 @@ Explore the following resources for more information about Kubernetes, Kubernete
- [DCOS Documentation](https://docs.mesosphere.com/)
- [Managing DCOS Services](https://docs.mesosphere.com/services/kubernetes/)
- [Kubernetes Examples](https://github.com/kubernetes/kubernetes/tree/master/examples/)
- [Kubernetes Examples](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/)
- [Kubernetes on Mesos Documentation](https://releases.k8s.io/release-1.1/contrib/mesos/README.md)
- [Kubernetes on Mesos Release Notes](https://github.com/mesosphere/kubernetes-mesos/releases)
- [Kubernetes on DCOS Package Source](https://github.com/mesosphere/kubernetes-mesos)
@@ -105,7 +105,7 @@ $ dcos kubectl get pods --namespace=kube-system
Names and ages may vary.
Now that Kubernetes is installed on DCOS, you may wish to explore the [Kubernetes Examples](https://github.com/kubernetes/kubernetes/tree/master/examples/) or the [Kubernetes User Guide](/{{page.version}}/docs/user-guide/).
Now that Kubernetes is installed on DCOS, you may wish to explore the [Kubernetes Examples](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/) or the [Kubernetes User Guide](/{{page.version}}/docs/user-guide/).
## Uninstall
@@ -81,4 +81,4 @@ See [here](/{{page.version}}/docs/getting-started-guides/docker-multinode/deploy
Once your cluster has been created you can [test it out](/{{page.version}}/docs/getting-started-guides/docker-multinode/testing)
For more complete applications, please look in the [examples directory](https://github.com/kubernetes/kubernetes/tree/master/examples/)
For more complete applications, please look in the [examples directory](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/)
@@ -171,7 +171,7 @@ NAME LABELS STATUS
```
If the status of the node is `NotReady` or `Unknown` please check that all of the containers you created are successfully running.
If all else fails, ask questions on [Slack](../../troubleshooting/#slack).
If all else fails, ask questions on [Slack](/{{page.version}}/docs/troubleshooting/)#slack).
### Next steps
@@ -15,7 +15,7 @@ NAME LABELS STATUS
127.0.0.1 kubernetes.io/hostname=127.0.0.1 Ready
```
If the status of any node is `Unknown` or `NotReady` your cluster is broken, double check that all containers are running properly, and if all else fails, contact us on [Slack](../../troubleshooting/#slack).
If the status of any node is `Unknown` or `NotReady` your cluster is broken, double check that all containers are running properly, and if all else fails, contact us on [Slack](/{{page.version}}/docs/troubleshooting/)#slack).
### Run an application
+2 -2
View File
@@ -54,7 +54,7 @@ cluster/kube-up.sh
If you want more than one cluster running in your project, want to use a different name, or want a different number of worker nodes, see the `<kubernetes>/cluster/gce/config-default.sh` file for more fine-grained configuration before you start up your cluster.
If you run into trouble, please see the section on [troubleshooting](gce/#troubleshooting), post to the
[google-containers group](https://groups.google.com/forum/#!forum/google-containers), or come ask questions on [Slack](../troubleshooting/#slack).
[google-containers group](https://groups.google.com/forum/#!forum/google-containers), or come ask questions on [Slack](/{{page.version}}/docs/troubleshooting/)#slack).
The next few steps will show you:
@@ -152,7 +152,7 @@ Some of the pods may take a few seconds to start up (during this time they'll sh
Then, see [a simple nginx example](/{{page.version}}/docs/user-guide/simple-nginx) to try out your new cluster.
For more complete applications, please look in the [examples directory](https://github.com/kubernetes/kubernetes/tree/master/examples/). The [guestbook example](https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook/) is a good "getting started" walkthrough.
For more complete applications, please look in the [examples directory](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/). The [guestbook example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/guestbook/) is a good "getting started" walkthrough.
### Tearing down the cluster
+1 -1
View File
@@ -192,7 +192,7 @@ juju add-unit docker # creates unit docker/2, kubernetes/2, docker-flannel/2
## Launch the "k8petstore" example app
The [k8petstore example](https://github.com/kubernetes/kubernetes/tree/master/examples/k8petstore/) is available as a
The [k8petstore example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/k8petstore/) is available as a
[juju action](https://jujucharms.com/docs/devel/actions).
```shell
+4 -4
View File
@@ -19,12 +19,12 @@ monitoring-heapster-v1-20ej 0/1 Running 9 32
Here is the same information in a picture which shows how the pods might be placed on specific nodes.
![Cluster](https://github.com/kubernetes/kubernetes/tree/master/examples/blog-logging/diagrams/cloud-logging.png)
![Cluster](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/blog-logging/diagrams/cloud-logging.png)
This diagram shows four nodes created on a Google Compute Engine cluster with the name of each VM node on a purple background. The internal and public IPs of each node are shown on gray boxes and the pods running in each node are shown in green boxes. Each pod box shows the name of the pod and the namespace it runs in, the IP address of the pod and the images which are run as part of the pod's execution. Here we see that every node is running a fluentd-cloud-logging pod which is collecting the log output of the containers running on the same node and sending them to Google Cloud Logging. A pod which provides the
[cluster DNS service](/{{page.version}}/docs/admin/dns) runs on one of the nodes and a pod which provides monitoring support runs on another node.
To help explain how cluster level logging works let's start off with a synthetic log generator pod specification [counter-pod.yaml](https://github.com/kubernetes/kubernetes/tree/master/examples/blog-logging/counter-pod.yaml):
To help explain how cluster level logging works let's start off with a synthetic log generator pod specification [counter-pod.yaml](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/blog-logging/counter-pod.yaml):
<!-- BEGIN MUNGE: EXAMPLE ../../examples/blog-logging/counter-pod.yaml -->
@@ -41,7 +41,7 @@ spec:
'for ((i = 0; ; i++)); do echo "$i: $(date)"; sleep 1; done']
```
[Download example](https://github.com/kubernetes/kubernetes/tree/master/examples/blog-logging/counter-pod.yaml)
[Download example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/blog-logging/counter-pod.yaml)
<!-- END MUNGE: EXAMPLE ../../examples/blog-logging/counter-pod.yaml -->
This pod specification has one container which runs a bash script when the container is born. This script simply writes out the value of a counter and the date once per second and runs indefinitely. Let's create the pod in the default
@@ -64,7 +64,7 @@ This step may take a few minutes to download the ubuntu:14.04 image during which
One of the nodes is now running the counter pod:
![Counter Pod](https://github.com/kubernetes/kubernetes/tree/master/examples/blog-logging/diagrams/27gf-counter.png)
![Counter Pod](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/blog-logging/diagrams/27gf-counter.png)
When the pod status changes to `Running` we can use the kubectl logs command to view the output of this counter pod.
@@ -184,7 +184,7 @@ host machine (mac).
To learn more about Pods, Volumes, Labels, Services, and Replication Controllers, start with the
[Kubernetes Walkthrough](/{{page.version}}/docs/user-guide/walkthrough/).
To skip to a more advanced example, see the [Guestbook Example](https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook/)
To skip to a more advanced example, see the [Guestbook Example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/guestbook/)
1. Destroy cluster
@@ -94,7 +94,7 @@ scripts. The master node is always Ubuntu.
See [a simple nginx example](/{{page.version}}/docs/user-guide/simple-nginx) to try out your new cluster.
For more complete applications, please look in the [examples directory](https://github.com/kubernetes/kubernetes/tree/master/examples/).
For more complete applications, please look in the [examples directory](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/).
### Debugging
@@ -242,7 +242,7 @@ Replace `<MASTER_IP>` in `calico-kubernetes-ubuntu-demo-master/dns/skydns-rc.yam
## Launch other Services With Calico-Kubernetes
At this point, you have a fully functioning cluster running on kubernetes with a master and 2 nodes networked with Calico. You can now follow any of the [standard documentation](https://github.com/kubernetes/kubernetes/tree/master/examples/) to set up other services on your cluster.
At this point, you have a fully functioning cluster running on kubernetes with a master and 2 nodes networked with Calico. You can now follow any of the [standard documentation](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/) to set up other services on your cluster.
## Connectivity to outside the cluster
+1 -1
View File
@@ -139,7 +139,7 @@ NAME LABELS STATUS
10.10.103.250 kubernetes.io/hostname=10.10.103.250 Ready
```
Also you can run Kubernetes [guest-example](https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook/) to build a redis backend cluster on the k8s
Also you can run Kubernetes [guest-example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/guestbook/) to build a redis backend cluster on the k8s
### Deploy addons
+1 -1
View File
@@ -240,7 +240,7 @@ my-nginx 10.0.0.1 <none> 80/TCP run=my-nginx
```
We did not start any services, hence there are none listed. But we see three replicas displayed properly.
Check the [guestbook](https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook/) application to learn how to create a service.
Check the [guestbook](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/guestbook/) application to learn how to create a service.
You can already play with scaling the replicas with:
```shell
+1 -1
View File
@@ -19,7 +19,7 @@ title: "Kubernetes Documentation: releases.k8s.io/release-1.1"
* An overview of the [Design of Kubernetes](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/design/)
* There are example files and walkthroughs in the [examples](https://github.com/kubernetes/kubernetes/tree/master/examples)
* There are example files and walkthroughs in the [examples](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples)
folder.
* If something went wrong, see the [troubleshooting](troubleshooting) document for how to debug.
@@ -22,7 +22,7 @@ Check the location and credentials that kubectl knows about with this command:
$ kubectl config view
```
Many of the [examples](https://github.com/kubernetes/kubernetes/tree/master/examples/) provide an introduction to using
Many of the [examples](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/) provide an introduction to using
kubectl and complete documentation is found in the [kubectl manual](kubectl/kubectl).
### Directly accessing the REST API
@@ -125,7 +125,7 @@ From within a pod the recommended ways to connect to API are:
process within a container. This proxies the
Kubernetes API to the localhost interface of the pod, so that other processes
in any container of the pod can access it. See this [example of using kubectl proxy
in a pod](https://github.com/kubernetes/kubernetes/tree/master/examples/kubectl-container/).
in a pod](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/kubectl-container/).
- use the Go client library, and create a client using the `client.NewInCluster()` factory.
This handles locating and authenticating to the apiserver.
@@ -188,4 +188,4 @@ check:
If none of the above solves your problem, follow the instructions in [Debugging Service document](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](../troubleshooting) for more information.
You may also visit [troubleshooting document](/{{page.version}}/docs/troubleshooting/) for more information.
+1 -1
View File
@@ -9,7 +9,7 @@ container needs. When containers have their resource requests specified, the sc
able to make better decisions about which nodes to place pods on; and when containers have their
limits specified, contention for resources on a node can be handled in a specified manner. For
more details about the difference between requests and limits, please refer to
[Resource QoS](../proposals/resource-qos).
[Resource QoS](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/proposals/resource-qos.md).
*CPU* and *memory* are each a *resource type*. A resource type has a base unit. CPU is specified
in units of cores. Memory is specified in units of bytes.
@@ -198,7 +198,7 @@ Till now we have only accessed the nginx server from within the cluster. Before
* An nginx server configured to use the certificates
* A [secret](secrets) that makes the certificates accessible to pods
You can acquire all these from the [nginx https example](https://github.com/kubernetes/kubernetes/tree/master/examples/https-nginx/), in short:
You can acquire all these from the [nginx https example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/https-nginx/), in short:
```shell
$ make keys secret KEY=/tmp/nginx.key CERT=/tmp/nginx.crt SECRET=/tmp/secret.json
@@ -262,7 +262,7 @@ spec:
Noteworthy points about the nginx-app manifest:
- It contains both rc and service specification in the same file
- The [nginx server](https://github.com/kubernetes/kubernetes/tree/master/examples/https-nginx/default.conf) serves http traffic on port 80 and https traffic on 443, and nginx Service exposes both ports.
- The [nginx server](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/https-nginx/default.conf) serves http traffic on port 80 and https traffic on 443, and nginx Service exposes both ports.
- Each container has access to the keys through a volume mounted at /etc/nginx/ssl. This is setup *before* the nginx server is started.
```shell
+2 -2
View File
@@ -494,10 +494,10 @@ misbehaving. And yet your `Service` is not working. You should probably let
us know, so we can help investigate!
Contact us on
[Slack](../troubleshooting/#slack) or
[Slack](/{{page.version}}/docs/troubleshooting/)#slack) or
[email](https://groups.google.com/forum/#!forum/google-containers) or
[GitHub](https://github.com/kubernetes/kubernetes).
## More information
Visit [troubleshooting document](../troubleshooting) for more information.
Visit [troubleshooting document](/{{page.version}}/docs/troubleshooting/) for more information.
+2 -2
View File
@@ -19,14 +19,14 @@ A typical use case is:
## Enabling Deployments on kubernetes cluster
Deployments is part of the [`extensions` API Group](../api/#api-groups) and is not enabled by default.
Deployments is part of the [`extensions` API Group](/{{page.version}}/docs/api/)#api-groups) and is not enabled by default.
Set `--runtime-config=extensions/v1beta1/deployments=true` on API server to
enable it.
This can be achieved by exporting `ENABLE_DEPLOYMENTS=true` before running
`kube-up.sh` script on GCE.
Note that Deployment objects effectively have [API version
`v1alpha1`](../api/#api-versioning).
`v1alpha1`](/{{page.version}}/docs/api/)#api-versioning).
Alpha objects may change or even be discontinued in future software releases.
However, due to to a known issue, they will appear as API version `v1beta1` if
enabled.
+1 -1
View File
@@ -2,7 +2,7 @@
title: "Downward API example"
---
Following this example, you will create a pod with a container that consumes the pod's name and
namespace using the [downward API](../downward-api).
namespace using the [downward API](/{{page.version}}/docs/user-guide/downward-api/).
## Step Zero: Prerequisites
@@ -14,7 +14,7 @@ Supported metadata fields:
### Step Zero: Prerequisites
This example assumes you have a Kubernetes cluster installed and running, and the `kubectl`
command line tool somewhere in your path. Please see the [gettingstarted](..//{{page.version}}/docs/getting-started-guides/) for installation instructions for your platform.
command line tool somewhere in your path. Please see the [gettingstarted](/{{page.version}}/docs/getting-started-guides/) for installation instructions for your platform.
### Step One: Create the pod
@@ -7,7 +7,7 @@ This document describes the current state of Horizontal Pod Autoscaler in Kubern
Horizontal pod autoscaling allows the number of pods in a replication controller or deployment
to scale automatically based on observed CPU utilization.
It is a [beta](../api/#api-versioning) feature in Kubernetes 1.1.
It is a [beta](/{{page.version}}/docs/api/)#api-versioning) feature in Kubernetes 1.1.
The autoscaler is implemented as a Kubernetes API resource and a controller.
The resource describes behavior of the controller.
@@ -40,7 +40,7 @@ More details on scale sub-resource can be found [here](https://github.com/kubern
## API Object
Horizontal pod autoscaler is a top-level resource in the Kubernetes REST API (currently in [beta](../api/#api-versioning)).
Horizontal pod autoscaler is a top-level resource in the Kubernetes REST API (currently in [beta](/{{page.version}}/docs/api/)#api-versioning)).
More details about the API object can be found at
[HorizontalPodAutoscaler Object](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/design/horizontal-pod-autoscaler.md#horizontalpodautoscaler-object).
@@ -102,7 +102,7 @@ $ kubectl create -f docs/user-guide/horizontal-pod-autoscaling/hpa-php-apache.ya
horizontalpodautoscaler "php-apache" created
```
Alternatively, we can create the autoscaler using [kubectl autoscale](../kubectl/kubectl_autoscale).
Alternatively, we can create the autoscaler using [kubectl autoscale](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/user-guide/kubectl/kubectl_autoscale.md).
The following command will create the equivalent autoscaler as defined in the [hpa-php-apache.yaml](hpa-php-apache.yaml) file:
```shell
+2 -2
View File
@@ -198,9 +198,9 @@ value is `Always`.)
## Caveats
Job objects are in the [`extensions` API Group](../api/#api-groups).
Job objects are in the [`extensions` API Group](/{{page.version}}/docs/api/)#api-groups).
Job objects have [API version `v1beta1`](../api/#api-versioning). Beta objects may
Job objects have [API version `v1beta1`](/{{page.version}}/docs/api/)#api-versioning). Beta objects may
undergo changes to their schema and/or semantics in future software releases, but
similar functionality will be supported.
+2 -2
View File
@@ -1,7 +1,7 @@
---
title: "Overview"
---
This example shows two types of pod [health checks](../production-pods/#liveness-and-readiness-probes-aka-health-checks): HTTP checks and container execution checks.
This example shows two types of pod [health checks](/{{page.version}}/docs/user-guide/production-pods/#liveness-and-readiness-probes-aka-health-checks): HTTP checks and container execution checks.
The [exec-liveness.yaml](exec-liveness.yaml) demonstrates the container execution check.
@@ -39,7 +39,7 @@ livenessProbe:
The Kubelet sends an HTTP request to the specified path and port to perform the health check. If you take a look at image/server.go, you will see the server starts to respond with an error code 500 after 10 seconds, so the check fails. The Kubelet sends the probe to the container's ip address by default which could be specified with `host` as part of httpGet probe. If the container listens on `127.0.0.1`, `host` should be specified as `127.0.0.1`. In general, if the container listens on its ip address or on all interfaces (0.0.0.0), there is no need to specify the `host` as part of the httpGet probe.
This [guide](../walkthrough/k8s201/#health-checking) has more information on health checks.
This [guide](/{{page.version}}/docs/user-guide/k8s201/#health-checking) has more information on health checks.
## Get your hands dirty
+1 -1
View File
@@ -7,7 +7,7 @@ describes a pod that just emits a log message once every 4 seconds. The pod spec
[synthetic_10lps.yaml](synthetic_10lps.yaml)
describes a pod that just emits 10 log lines per second.
See [logging document](../logging) for more details about logging. To observe the ingested log lines when using Google Cloud Logging please see the getting
See [logging document](/{{page.version}}/docs/user-guide/logging/) for more details about logging. To observe the ingested log lines when using Google Cloud Logging please see the getting
started instructions
at [Cluster Level Logging to Google Cloud Logging](/{{page.version}}/docs/getting-started-guides/logging).
To observe the ingested log lines when using Elasticsearch and Kibana please see the getting
+2 -2
View File
@@ -10,7 +10,7 @@ Kubernetes components, such as kubelet and apiserver, use the [glog](https://god
## Examining the logs of running containers
The logs of a running container may be fetched using the command `kubectl logs`. For example, given
this pod specification [counter-pod.yaml](https://github.com/kubernetes/kubernetes/tree/master/examples/blog-logging/counter-pod.yaml), which has a container which writes out some text to standard
this pod specification [counter-pod.yaml](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/blog-logging/counter-pod.yaml), which has a container which writes out some text to standard
output every second. (You can find different pod specifications [here](logging-demo/).)
<!-- BEGIN MUNGE: EXAMPLE ../../examples/blog-logging/counter-pod.yaml -->
@@ -28,7 +28,7 @@ spec:
'for ((i = 0; ; i++)); do echo "$i: $(date)"; sleep 1; done']
```
[Download example](https://github.com/kubernetes/kubernetes/tree/master/examples/blog-logging/counter-pod.yaml)
[Download example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/blog-logging/counter-pod.yaml)
<!-- END MUNGE: EXAMPLE ../../examples/blog-logging/counter-pod.yaml -->
we can run the pod:
+1 -1
View File
@@ -113,7 +113,7 @@ my-nginx-svc app=nginx app=nginx 10.0.152.174 80/TCP
The examples we've used so far apply at most a single label to any resource. There are many scenarios where multiple labels should be used to distinguish sets from one another.
For instance, different applications would use different values for the `app` label, but a multi-tier application, such as the [guestbook example](https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook/), would additionally need to distinguish each tier. The frontend could carry the following labels:
For instance, different applications would use different values for the `app` label, but a multi-tier application, such as the [guestbook example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/guestbook/), would additionally need to distinguish each tier. The frontend could carry the following labels:
```yaml
labels:
+1 -1
View File
@@ -53,7 +53,7 @@ Here is a snapshot of the a Google Cloud Monitoring dashboard showing cluster-wi
## Try it out!
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](../troubleshooting).
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](/{{page.version}}/docs/troubleshooting/).
***
*Authors: Vishnu Kannan and Victor Marmol, Google Software Engineers.*
+1 -1
View File
@@ -1,7 +1,7 @@
---
title: "Node selection example"
---
This example shows how to assign a [pod](../pods) to a specific [node](/{{page.version}}/docs/admin/node) or to one of a set of nodes using node labels and the nodeSelector field in a pod specification. Generally this is unnecessary, as the scheduler will take care of things for you, but you may want to do so in certain circumstances like to ensure that your pod ends up on a machine with an SSD attached to it.
This example shows how to assign a [pod](/{{page.version}}/docs/user-guide/pods/) to a specific [node](/{{page.version}}/docs/admin/node/) or to one of a set of nodes using node labels and the nodeSelector field in a pod specification. Generally this is unnecessary, as the scheduler will take care of things for you, but you may want to do so in certain circumstances like to ensure that your pod ends up on a machine with an SSD attached to it.
### Step Zero: Prerequisites
@@ -1,7 +1,7 @@
---
title: "How To Use Persistent Volumes"
---
The purpose of this guide is to help you become familiar with [Kubernetes Persistent Volumes](../persistent-volumes). By the end of the guide, we'll have
The purpose of this guide is to help you become familiar with [Kubernetes Persistent Volumes](/{{page.version}}/docs/user-guide/persistent-volumes/). By the end of the guide, we'll have
nginx serving content from your persistent volume.
This guide assumes knowledge of Kubernetes fundamentals and that you have a cluster up and running.
@@ -88,6 +88,6 @@ $ curl 10.0.0.241:3000
I love Kubernetes storage!
```
Hopefully this simple guide is enough to get you started with PersistentVolumes. If you have any questions, join the team on [Slack](../../troubleshooting/#slack) and ask!
Hopefully this simple guide is enough to get you started with PersistentVolumes. If you have any questions, join the team on [Slack](/{{page.version}}/docs/troubleshooting/)#slack) and ask!
Enjoy!
+2 -2
View File
@@ -10,7 +10,7 @@ You've seen [how to configure and deploy pods and containers](configuring-contai
The container file system only lives as long as the container does, so when a container crashes and restarts, changes to the filesystem will be lost and the container will restart from a clean slate. To access more-persistent storage, outside the container file system, you need a [*volume*](volumes). This is especially important to stateful applications, such as key-value stores and databases.
For example, [Redis](http://redis.io/) is a key-value cache and store, which we use in the [guestbook](https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook/) and other examples. We can add a volume to it to store persistent data as follows:
For example, [Redis](http://redis.io/) is a key-value cache and store, which we use in the [guestbook](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/guestbook/) and other examples. We can add a volume to it to store persistent data as follows:
```yaml
apiVersion: v1
@@ -234,7 +234,7 @@ spec:
memory: 64Mi
```
The container will die due to OOM (out of memory) if it exceeds its specified limit, so specifying a value a little higher than expected generally improves reliability. By specifying request, pod is guaranteed to be able to use that much of resource when needed. See [Resource QoS](../proposals/resource-qos) for the difference between resource limits and requests.
The container will die due to OOM (out of memory) if it exceeds its specified limit, so specifying a value a little higher than expected generally improves reliability. By specifying request, pod is guaranteed to be able to use that much of resource when needed. See [Resource QoS](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/proposals/resource-qos.md) for the difference between resource limits and requests.
If you're not sure how much resources to request, you can first launch the application without specifying resources, and use [resource usage monitoring](monitoring) to determine appropriate values.
+1 -1
View File
@@ -1,7 +1,7 @@
---
title: "Secrets example"
---
Following this example, you will create a [secret](../secrets) and a [pod](../pods) that consumes that secret in a [volume](../volumes). See [Secrets design document](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/design/secrets.md) for more information.
Following this example, you will create a [secret](/{{page.version}}/docs/user-guide/secrets/) and a [pod](/{{page.version}}/docs/user-guide/pods/) that consumes that secret in a [volume](/{{page.version}}/docs/user-guide/volumes/). See [Secrets design document](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/design/secrets.md) for more information.
## Step Zero: Prerequisites
+2 -2
View File
@@ -19,7 +19,7 @@ limitations under the License.
-->
This example demonstrates the usage of Kubernetes to perform a [rolling update](../kubectl/kubectl_rolling-update) on a running group of [pods](/{{page.version}}/docs/user-guide/pods). See [here](../managing-deployments/#updating-your-application-without-a-service-outage) to understand why you need a rolling update. Also check [rolling update design document](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/design/simple-rolling-update.md) for more information.
This example demonstrates the usage of Kubernetes to perform a [rolling update](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/user-guide/kubectl/kubectl_rolling-update.md) on a running group of [pods](/{{page.version}}/docs/user-guide/pods). See [here](/{{page.version}}/docs/user-guide/managing-deployments/#updating-your-application-without-a-service-outage) to understand why you need a rolling update. Also check [rolling update design document](https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/design/simple-rolling-update.md) for more information.
### Step Zero: Prerequisites
@@ -46,7 +46,7 @@ Now visit the the [demo website](http://localhost:8001/static). You won't see a
### Step Two: Run the replication controller
Now we will turn up two replicas of an [image](../images). They all serve on internal port 80.
Now we will turn up two replicas of an [image](/{{page.version}}/docs/user-guide/images/). They all serve on internal port 80.
```shell
$ kubectl create -f docs/user-guide/update-demo/nautilus-rc.yaml
+5 -5
View File
@@ -235,7 +235,7 @@ writers simultaneously.
__Important: You must have your own NFS server running with the share exported
before you can use it__
See the [NFS example](https://github.com/kubernetes/kubernetes/tree/master/examples/nfs/) for more details.
See the [NFS example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/nfs/) for more details.
### iscsi
@@ -254,7 +254,7 @@ and then serve it in parallel from as many pods as you need. Unfortunately,
iSCSI volumes can only be mounted by a single consumer in read-write mode - no
simultaneous readers allowed.
See the [iSCSI example](https://github.com/kubernetes/kubernetes/tree/master/examples/iscsi/) for more details.
See the [iSCSI example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/iscsi/) for more details.
### flocker
@@ -269,7 +269,7 @@ can be "handed off" between pods as required.
__Important: You must have your own Flocker installation running before you can use it__
See the [Flocker example](https://github.com/kubernetes/kubernetes/tree/master/examples/flocker/) for more details.
See the [Flocker example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/flocker/) for more details.
### glusterfs
@@ -284,7 +284,7 @@ simultaneously.
__Important: You must have your own GlusterFS installation running before you
can use it__
See the [GlusterFS example](https://github.com/kubernetes/kubernetes/tree/master/examples/glusterfs/) for more details.
See the [GlusterFS example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/glusterfs/) for more details.
### rbd
@@ -304,7 +304,7 @@ and then serve it in parallel from as many pods as you need. Unfortunately,
RBD volumes can only be mounted by a single consumer in read-write mode - no
simultaneous writers allowed.
See the [RBD example](https://github.com/kubernetes/kubernetes/tree/master/examples/rbd/) for more details.
See the [RBD example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/rbd/) for more details.
### gitRepo
+6 -6
View File
@@ -11,17 +11,17 @@ In order for the kubectl usage examples to work, make sure you have an examples
## Kubectl CLI
The easiest way to interact with Kubernetes is via the [kubectl](../kubectl/kubectl) command-line interface.
The easiest way to interact with Kubernetes is via the [kubectl](/{{page.version}}/docs/user-guide/kubectl-overview/) command-line interface.
For more info about kubectl, including its usage, commands, and parameters, see the [kubectl CLI reference](../kubectl/kubectl).
For more info about kubectl, including its usage, commands, and parameters, see the [kubectl CLI reference](/{{page.version}}/docs/user-guide/kubectl-overview/).
If you haven't installed and configured kubectl, finish the [prerequisites](../prereqs) before continuing.
If you haven't installed and configured kubectl, finish the [prerequisites](/{{page.version}}/docs/user-guide/prereqs/) before continuing.
## Pods
In Kubernetes, a group of one or more containers is called a _pod_. Containers in a pod are deployed together, and are started, stopped, and replicated as a group.
See [pods](/{{page.version}}/docs/user-guide/pods) for more details.
See [pods](/{{page.version}}/docs/user-guide/pods/) for more details.
#### Pod Definition
@@ -60,7 +60,7 @@ List all pods:
$ kubectl get pods
```
On most providers, the pod IPs are not externally accessible. The easiest way to test that the pod is working is to create a busybox pod and exec commands on it remotely. See the [command execution documentation](../kubectl/kubectl_exec) for details.
On most providers, the pod IPs are not externally accessible. The easiest way to test that the pod is working is to create a busybox pod and exec commands on it remotely. See the [command execution documentation](/{{page.version}}/docs/user-guide/getting-into-containers/) for details.
Provided the pod IP is accessible, you should be able to access its http endpoint with curl on port 80:
@@ -179,4 +179,4 @@ Finally, we have also introduced an environment variable to the `git-monitor` co
## What's Next?
Continue on to [Kubernetes 201](k8s201) or
for a complete application see the [guestbook example](https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook/)
for a complete application see the [guestbook example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/guestbook/)
+8 -8
View File
@@ -56,7 +56,7 @@ List all pods with the label `app=nginx`:
$ kubectl get pods -l app=nginx
```
For more information, see [Labels](../labels).
For more information, see [Labels](/{{page.version}}/docs/user-guide/labels).
They are a core concept used by two additional Kubernetes building blocks: Replication Controllers and Services.
@@ -120,7 +120,7 @@ Delete the replication controller by name:
$ kubectl delete rc nginx-controller
```
For more information, see [Replication Controllers](../replication-controller).
For more information, see [Replication Controllers](/{{page.version}}/docs/user-guide/replication-controller).
## Services
@@ -167,7 +167,7 @@ List all services:
$ kubectl get services
```
On most providers, the service IPs are not externally accessible. The easiest way to test that the service is working is to create a busybox pod and exec commands on it remotely. See the [command execution documentation](../kubectl/kubectl_exec) for details.
On most providers, the service IPs are not externally accessible. The easiest way to test that the service is working is to create a busybox pod and exec commands on it remotely. See the [command execution documentation](/{{page.version}}/docs/user-guide/kubectl-overview/) for details.
Provided the service IP is accessible, you should be able to access its http endpoint with curl on port 80:
@@ -185,7 +185,7 @@ $ kubectl delete service nginx-service
When created, each service is assigned a unique IP address. This address is tied to the lifespan of the Service, and will not change while the Service is alive. Pods can be configured to talk to the service, and know that communication to the service will be automatically load-balanced out to some pod that is a member of the set identified by the label selector in the Service.
For more information, see [Services](../services).
For more information, see [Services](/{{page.version}}/docs/user-guide/services/).
## Health Checking
@@ -231,8 +231,8 @@ Kubelet to ensure that your application is operating correctly for a definition
Currently, there are three types of application health checks that you can choose from:
* HTTP Health Checks - The Kubelet will call a web hook. If it returns between 200 and 399, it is considered success, failure otherwise. See health check examples [here](../liveness/).
* Container Exec - The Kubelet will execute a command inside your container. If it exits with status 0 it will be considered a success. See health check examples [here](../liveness/).
* HTTP Health Checks - The Kubelet will call a web hook. If it returns between 200 and 399, it is considered success, failure otherwise. See health check examples [here](/{{page.version}}/docs/user-guide/liveness/).
* Container Exec - The Kubelet will execute a command inside your container. If it exits with status 0 it will be considered a success. See health check examples [here](/{{page.version}}/docs/user-guide/liveness/).
* TCP Socket - The Kubelet will attempt to open a socket to your container. If it can establish a connection, the container is considered healthy, if it can't it is considered a failure.
In all cases, if the Kubelet discovers a failure the container is restarted.
@@ -269,9 +269,9 @@ spec:
[Download example](pod-with-http-healthcheck.yaml)
<!-- END MUNGE: EXAMPLE pod-with-http-healthcheck.yaml -->
For more information about health checking, see [Container Probes](../pod-states/#container-probes).
For more information about health checking, see [Container Probes](/{{page.version}}/docs/user-guide/pod-states/#container-probes).
## What's Next?
For a complete application see the [guestbook example](https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook/).
For a complete application see the [guestbook example](https://github.com/kubernetes/kubernetes/tree/release-1.1/examples/guestbook/).
@@ -6,7 +6,7 @@ and who want to learn more about using kubectl to manage resources such
as pods and services. Users who want to access the REST API directly,
and developers who want to extend the Kubernetes API should
refer to the [api conventions](/{{page.version}}/docs/devel/api-conventions) and
the [api document](../api).*
the [api document](/{{page.version}}/docs/api/).*
## Resources are Automatically Modified